UNPKG

mobx

Version:

Simple, scalable state management.

26 lines (25 loc) 1.93 kB
import { IAction } from "../internal"; export interface IActionFactory { <A1, R, T extends (a1: A1) => R>(fn: T): T & IAction; <A1, A2, R, T extends (a1: A1, a2: A2) => R>(fn: T): T & IAction; <A1, A2, A3, R, T extends (a1: A1, a2: A2, a3: A3) => R>(fn: T): T & IAction; <A1, A2, A3, A4, R, T extends (a1: A1, a2: A2, a3: A3, a4: A4) => R>(fn: T): T & IAction; <A1, A2, A3, A4, A5, R, T extends (a1: A1, a2: A2, a3: A3, a4: A4, a5: A5) => R>(fn: T): T & IAction; <A1, A2, A3, A4, A5, A6, R, T extends (a1: A1, a2: A2, a3: A3, a4: A4, a6: A6) => R>(fn: T): T & IAction; <A1, R, T extends (a1: A1) => R>(name: string, fn: T): T & IAction; <A1, A2, R, T extends (a1: A1, a2: A2) => R>(name: string, fn: T): T & IAction; <A1, A2, A3, R, T extends (a1: A1, a2: A2, a3: A3) => R>(name: string, fn: T): T & IAction; <A1, A2, A3, A4, R, T extends (a1: A1, a2: A2, a3: A3, a4: A4) => R>(name: string, fn: T): T & IAction; <A1, A2, A3, A4, A5, R, T extends (a1: A1, a2: A2, a3: A3, a4: A4, a5: A5) => R>(name: string, fn: T): T & IAction; <A1, A2, A3, A4, A5, A6, R, T extends (a1: A1, a2: A2, a3: A3, a4: A4, a6: A6) => R>(name: string, fn: T): T & IAction; <T extends Function>(fn: T): T & IAction; <T extends Function>(name: string, fn: T): T & IAction; (customName: string): (target: Object, key: string | symbol, baseDescriptor?: PropertyDescriptor) => void; (target: Object, propertyKey: string | symbol, descriptor?: PropertyDescriptor): void; bound(target: Object, propertyKey: string | symbol, descriptor?: PropertyDescriptor): void; } export declare const action: IActionFactory; export declare function runInAction<T>(block: () => T): T; export declare function runInAction<T>(name: string, block: () => T): T; export declare function isAction(thing: any): boolean; export declare function defineBoundAction(target: any, propertyName: string, fn: Function): void;