ts-ioc-container
Version:
Typescript IoC container
27 lines (26 loc) • 997 B
TypeScript
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;