zent
Version:
一套前端设计语言和基于React的实现
13 lines (12 loc) • 447 B
TypeScript
declare const SOME: unique symbol;
export interface ISome<T> {
[SOME]: true;
value: T;
}
export declare type Maybe<T> = ISome<T> | null | undefined;
export declare const Some: <T>(value: T) => ISome<T>;
export declare const None: () => any;
export declare function or<T>(maybe: Maybe<T>, def: () => T): T;
export declare function isSome<T>(maybe: Maybe<T>): maybe is ISome<T>;
export declare function get<T>(some: ISome<T>): T;
export {};