@nova-ts/context
Version:
A TypeScript library for Dependency Injection
34 lines (32 loc) • 917 B
JavaScript
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