declare type Fn = (...args: any) => any; export declare type TypeError = 0 | 1; export declare class ResponseMonad { value: any; readonly mapCallbacks: Array; readonly catchCallbacks: Array; readonly effectCallbacks: Array; constructor(v: any); /** * 接收副作用函数 * @param fn */ effect: (fn: Fn) => this; static of: (v: any) => ResponseMonad; map: (fn: Fn) => this; /** * 数据平铺 * @param defaultVale 提供默认值 */ join: () => any; /** * 压平数据 不做LHS赋值 * @param fn */ chain: (fn: Fn) => this; /** * 异常捕获 * @param fn */ catch: (fn: (type: TypeError, msg: any) => any) => this; } export {};