UNPKG

ts-ioc-container

Version:
27 lines (26 loc) 997 B
import type { IContainer } from '../container/IContainer'; export type InjectFn<T = unknown> = (s: IContainer) => T; export interface IHookContext { instance: object; scope: IContainer; methodName?: string; resolveArgs(...args: unknown[]): unknown[]; invokeMethod({ args }: { args?: unknown[]; }): unknown; setProperty(fn: InjectFn): void; } export declare class HookContext implements IHookContext { instance: object; scope: IContainer; methodName?: string | undefined; constructor(instance: object, scope: IContainer, methodName?: string | undefined); resolveArgs(...args: unknown[]): unknown[]; invokeMethod({ args }: { args?: unknown[]; }): unknown; setProperty(fn: InjectFn): void; } export type CreateHookContext = (Target: object, scope: IContainer, methodName?: string) => IHookContext; export declare const createHookContext: CreateHookContext; export declare const hookMetaKey: (methodName?: string) => string;