Type alias IRecursive<T>

IRecursive<T>: {
    [key in keyof T]: T[key] extends IAnyFunction
        ? ((...args) => IRecursive<T>)
        : T[key]
} & {
    [ASSIGN]: ((...objs) => IRecursive<T>);
    [SET]: ((arg) => IRecursive<T>);
    [WITH]: ((arg) => IRecursive<T>);
    (arg, ...args): IRecursive<T>;
    (): T;
}

An object whose methods returns itself

Type Parameters

  • T

Type declaration