| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- // tslint:disable:no-shadowed-variable
- // prettier-ignore
- /**
- * A recursive implementation of the Partial<T> type.
- * Source: https://stackoverflow.com/a/49936686/772859
- */
- export type DeepPartial<T> = {
- [P in keyof T]?: null | (T[P] extends Array<infer U>
- ? Array<DeepPartial<U>>
- : T[P] extends ReadonlyArray<infer U>
- ? ReadonlyArray<DeepPartial<U>>
- : DeepPartial<T[P]>)
- };
- // tslint:enable:no-shadowed-variable
- /**
- * A type representing the type rather than instance of a class.
- */
- export interface Type<T> extends Function {
- // tslint:disable-next-line:callable-types
- new (...args: any[]): T;
- }
- /**
- * A type describing the shape of a paginated list response
- */
- export type PaginatedList<T> = {
- items: T[];
- totalItems: number;
- };
- /**
- * @description
- * An entity ID. Depending on the configured {@link EntityIdStrategy}, it will be either
- * a `string` or a `number`;
- *
- * @docsCategory entities
- * @docsWeight 0
- */
- export type ID = string | number;
- /**
- * @description
- * A data type for a custom field.
- *
- * @docsCategory custom-fields
- */
- export type CustomFieldType = 'string' | 'localeString' | 'int' | 'float' | 'boolean' | 'datetime';
- export type CustomFieldsObject = { [key: string]: any; };
- /**
- * This interface describes the shape of the JSON config file used by the Admin UI.
- */
- export interface AdminUiConfig {
- apiHost: string | 'auto';
- apiPort: number | 'auto';
- adminApiPath: string;
- }
|