UNPKG

@nova-ts/context

Version:

A TypeScript library for Dependency Injection

34 lines (32 loc) 917 B
import { NovaContextCreator } from "./chunk-HIAVSFYB.js"; import { CLASS_HOOKS_KEY, METHOD_HOOKS_KEY } from "./chunk-KUU7OMXG.js"; // src/Abstract/ProxyFactory.ts function createHookedProxy(instance) { return new Proxy(instance, { get(target, prop, receiver) { const original = Reflect.get(target, prop, receiver); if (typeof original === "function") { const methodHooks = Reflect.getMetadata(METHOD_HOOKS_KEY, target, prop) || []; const classHooks = Reflect.getMetadata(CLASS_HOOKS_KEY, target.constructor) || []; if (methodHooks.length > 0 || classHooks.length > 0) { const handler = NovaContextCreator.createInvocationHandler( target, prop, original ); return handler; } } return original; } }); } export { createHookedProxy }; //# sourceMappingURL=chunk-5SUV5YGE.js.map