@stnekroman/tstools
Version:
Set of handy tools for TypeScript development
13 lines (12 loc) • 742 B
TypeScript
import { type Types } from '../Types';
interface DeferInstanceDecoratorsMetadata<C extends Object> {
decorators: [propertyName: keyof C | string, decorator: PropertyDecorator | MethodDecorator][];
}
export declare function applyInstanceDecorators<C extends Object, CTR extends Types.Newable<C> | {
prototype: unknown;
}>(instance: C, ctr: CTR, metadata?: DeferInstanceDecoratorsMetadata<C> | undefined): void;
export declare function RunInstanceDecorators<C extends Object>(): <CTR extends Types.Newable<C> | {
prototype: unknown;
}>(ctr: CTR) => CTR;
export declare function DeferInstanceDecorator<C extends Object>(decorator: PropertyDecorator | MethodDecorator): (target: C, propertyName: keyof C | string) => void;
export {};