PATH:
usr
/
lib
/
node_modules
/
forever
/
node_modules
/
call-bind-apply-helpers
type RemoveFromTuple< Tuple extends unknown[], RemoveCount extends number, Index extends 1[] = [] > = Index["length"] extends RemoveCount ? Tuple : Tuple extends [first: unknown, ...infer Rest] ? RemoveFromTuple<Rest, RemoveCount, [...Index, 1]> : Tuple; type ConcatTuples< Prefix extends unknown[], Suffix extends unknown[] > = [...Prefix, ...Suffix]; type ReplaceThis<T, NewThis> = T extends (this: infer OldThis, ...args: infer A) => infer R ? (this: NewThis, ...args: A) => R : never; type BindFunction< TThis, T extends (this: TThis, ...args: any[]) => any, // Allow specific types to propagate TBoundArgs extends unknown[], ReceiverBound extends boolean > = ReceiverBound extends true ? (...args: RemoveFromTuple<Parameters<T>, TBoundArgs["length"] & number>) => ReturnType<ReplaceThis<T, TThis>> : (...args: ConcatTuples<[TThis], RemoveFromTuple<Parameters<T>, TBoundArgs["length"] & number>>) => ReturnType<T>; declare function callBind< TThis, T extends (this: TThis, ...args: any[]) => any, TBoundArgs extends Partial<Parameters<T>> >( args: [fn: T, thisArg: TThis, ...boundArgs: TBoundArgs] ): BindFunction<TThis, T, TBoundArgs, true>; declare function callBind< TThis, T extends (this: TThis, ...args: any[]) => any, TBoundArgs extends Partial<Parameters<T>> >( args: [fn: T, ...boundArgs: TBoundArgs] ): BindFunction<TThis, T, TBoundArgs, false>; export as namespace callBind; export = callBind;
[-] functionCall.js
[edit]
[-] tsconfig.json
[edit]
[-] actualApply.d.ts
[edit]
[-] .nycrc
[edit]
[-] README.md
[edit]
[-] reflectApply.d.ts
[edit]
[-] functionApply.js
[edit]
[-] applyBind.d.ts
[edit]
[-] functionCall.d.ts
[edit]
[-] applyBind.js
[edit]
[-] package.json
[edit]
[+]
.github
[-] functionApply.d.ts
[edit]
[+]
..
[-] reflectApply.js
[edit]
[+]
test
[-] LICENSE
[edit]
[-] .eslintrc
[edit]
[-] index.d.ts
[edit]
[-] actualApply.js
[edit]
[-] index.js
[edit]
[-] CHANGELOG.md
[edit]