UNPKG

@effect-ts/system

Version:

Effect-TS is a zero dependency set of libraries to write highly productive, purely functional TypeScript at scale.

26 lines 1.22 kB
/** from ts-toolbelt, minimal port of Compute */ export declare type Depth = "flat" | "deep"; declare type Errors = Error; declare type Numeric = Date; declare type Textual = RegExp; declare type Arrays = Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array; declare type Maps = ReadonlyMap<unknown, unknown> | ReadonlySet<unknown> | WeakMap<object, unknown> | WeakSet<object>; declare type Structures = ArrayBuffer | DataView; declare type Abstractions = Function | Promise<unknown> | Generator; declare type WebAssembly = never; export declare type BuiltInObject = Errors | Numeric | Textual | Arrays | Maps | Structures | Abstractions | WebAssembly; export declare type ComputeRaw<A> = A extends Function ? A : { [K in keyof A]: A[K]; } & {}; export declare type ComputeFlat<A> = A extends BuiltInObject ? A : { [K in keyof A]: A[K]; } & {}; export declare type ComputeDeep<A> = A extends BuiltInObject ? A : { [K in keyof A]: ComputeDeep<A[K]>; } & {}; export declare type Compute<A, depth extends Depth = "deep"> = { flat: ComputeFlat<A>; deep: ComputeDeep<A>; }[depth]; export {}; //# sourceMappingURL=tool.d.ts.map