takin
Version:
Front end engineering base toolchain and scaffold
18 lines (17 loc) • 739 B
TypeScript
export interface IHash<T> {
[name: string]: T;
}
export declare type Json = IHash<string | number | boolean | Date | Json | JsonArray>;
export declare type JsonArray = (string | number | boolean | Date | Json | JsonArray)[];
export declare type JsonValue = Json[keyof Json];
export declare type MaybeArray<T> = T | T[];
export declare type MaybePromise<T> = T | Promise<T>;
export declare type AnyFunc = (...args: any[]) => any;
export declare type UserConfig = Record<string, any>;
export declare type ConstEnumValues = readonly [string, ...string[]];
export declare type ConstObject<T extends ConstEnumValues> = {
[k in T[number]]: k;
};
export declare type ObjectValues<T> = T extends {
[k: string]: infer U;
} ? U : never;