@versatiledatakit/shared
Version:
Versatile Data Kit Shared library enables reusability of shared features like: NgRx Redux, Error Handlers, Utils, Generic Components, etc.
27 lines (26 loc) • 1.15 kB
TypeScript
export declare type Nil = null | undefined;
export declare type Primitives = string | number | boolean;
export declare type PrimitivesDate = Primitives | Date;
export declare type PrimitivesNil = Primitives | Nil;
export declare type LiteralObject<T = unknown> = {
[p: string]: T;
};
export declare type LiteralObjectOrNull = LiteralObject | null;
export declare type LiteralObjectNull = LiteralObject | null;
export declare type PrimitivesNilArrays = PrimitivesNil | PrimitivesNil[];
export declare type PrimitivesNilObject = PrimitivesNil | LiteralObject<PrimitivesNil>;
export declare type Collections<T = unknown> = LiteralObject | T[] | Map<any, T> | WeakMap<any, T> | Set<T> | {
[key: string]: T;
};
export declare type ArrayElement<ArrayType extends ArrayLike<any>> = ArrayType[number];
/**
* The state of a DataSource.
*/
export interface DataSource<T = DataSource<any>> {
/**
* ** Map of DataSource.
*
* - Each DataSource can be either a primitive, null or undefined, other DataSource or array of DataSources.
*/
readonly [key: string]: PrimitivesNilArrays | DataSource<T> | Array<DataSource<T>> | T;
}