UNPKG

@kotori-bot/tools

Version:
10 lines (9 loc) 577 B
export type ObjectValue<T extends Record<string, any>> = T extends Record<string, infer V> ? V : never; export type ArrayValue<T extends unknown[]> = T extends (infer E)[] ? E : never; export type ObjectArrayValue<T extends Record<string, any> | unknown[]> = T extends Record<string, any> ? ObjectValue<T> : T extends unknown[] ? ArrayValue<T> : never; type JsonArray = boolean[] | number[] | string[] | JsonMap[] | Date[]; type AnyJson = boolean | number | string | JsonMap | Date | JsonArray | JsonArray[]; export interface JsonMap { [key: string]: AnyJson; } export {};