UNPKG

space-lift

Version:

TypeScript Array, Object, Map, Set, Union, Enum utils

27 lines (26 loc) 1.2 kB
export { lift } from './lift'; export { update, toDraft } from './immupdate'; export { range } from './array'; export { createUnion } from './union'; export { createEnum } from './enum'; export { identity, noop } from './function'; import * as isType from './is'; export declare const is: typeof isType; export declare function immutable<T>(obj: T): Immutable<T>; export declare type Immutable<T> = T extends ImmutablePrimitive ? T : T extends Array<infer U> ? ImmutableArray<U> : T extends Map<infer K, infer V> ? ImmutableMap<K, V> : T extends Set<infer M> ? ImmutableSet<M> : ImmutableObject<T>; declare type ImmutablePrimitive = undefined | null | boolean | string | number | Function; declare type ImmutableArray<T> = ReadonlyArray<Immutable<T>>; declare type ImmutableMap<K, V> = ReadonlyMap<Immutable<K>, Immutable<V>>; declare type ImmutableSet<T> = ReadonlySet<Immutable<T>>; declare type ImmutableObject<T> = { readonly [K in keyof T]: Immutable<T[K]>; }; export declare type Result<T, E = unknown> = { ok: true; value: T; } | { ok: false; error: E; }; export declare function Ok<T>(value: T): Result<T, never>; export declare function Err<E>(error: E): Result<never, E>;