UNPKG

mock-violentmonkey

Version:

Mock violentmonkey's globals for testing userscripts

12 lines (11 loc) 657 B
export type JsonValue = number | null | string | boolean | JsonObject | JsonArray; export type JsonArray = readonly JsonValue[]; export type JsonObject = { [key: string]: JsonValue; }; type IsPrimitive<T> = T extends number | boolean | string | null | undefined ? true : false; type PartialDeepUnionValues<T> = IsPrimitive<T> extends true ? T : T extends Array<infer V> ? Array<PartialDeep<V>> : T extends ReadonlyArray<infer V> ? ReadonlyArray<PartialDeep<V>> : T extends Record<string, unknown> ? PartialDeep<T> : never; export type PartialDeep<T> = { [Key in keyof T]?: T[Key] extends infer V1 ? PartialDeepUnionValues<V1> : never; }; export {};