mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-07-01 15:50:13 +00:00
Make BindDecorator type-secure
This commit is contained in:
18
lodash-decorators/lodash-decorators.d.ts
vendored
18
lodash-decorators/lodash-decorators.d.ts
vendored
@@ -21,6 +21,10 @@ declare module "lodash-decorators" {
|
||||
(target: Object, propertyKey: string | symbol, parameterIndex: number): void;
|
||||
}
|
||||
|
||||
export interface TypedMethodDecorator<TFunction extends Function> {
|
||||
(target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<TFunction>): TypedPropertyDescriptor<TFunction> | void;
|
||||
}
|
||||
|
||||
export interface MethodDecoratorWithAccessor extends MethodDecorator, Accessor<MethodDecorator> {
|
||||
}
|
||||
|
||||
@@ -73,7 +77,19 @@ declare module "lodash-decorators" {
|
||||
(...args: any[]): MethodDecorator;
|
||||
}
|
||||
export interface BindDecorator {
|
||||
(...args: any[]): MethodDecorator;
|
||||
(): TypedMethodDecorator<(<R>() => R)>;
|
||||
<T1>(param1?: T1):
|
||||
TypedMethodDecorator<(<R>(param1: T1) => R)>;
|
||||
<T1, T2>(param1?: T1, param2?: T2):
|
||||
TypedMethodDecorator<(<R>(param1: T1, param2: T2) => R)>;
|
||||
<T1, T2, T3>(param1?: T1, param2?: T2, param3?: T3):
|
||||
TypedMethodDecorator<(<R>(param1: T1, param2: T2, param3: T3) => R)>;
|
||||
<T1, T2, T3, T4>(param1?: T1, param2?: T2, param3?: T3, param4?: T4):
|
||||
TypedMethodDecorator<(<R>(param1: T1, param2: T2, param3: T3, param4: T4) => R)>;
|
||||
<T1, T2, T3, T4, T5>(param1?: T1, param2?: T2, param3?: T3, param4?: T4, param5?: T5):
|
||||
TypedMethodDecorator<(<R>(param1: T1, param2: T2, param3: T3, param4: T4, param5: T5) => R)>;
|
||||
<T1, T2, T3, T4, T5, T6>(param1?: T1, param2?: T2, param3?: T3, param4?: T4, param5?: T5, param6?: T6):
|
||||
TypedMethodDecorator<(<R>(param1: T1, param2: T2, param3: T3, param4: T4, param5: T5, param6: T6) => R)>;
|
||||
}
|
||||
export interface BindAllDecorator {
|
||||
(...methodNames: string[]): ClassDecorator;
|
||||
|
||||
Reference in New Issue
Block a user