@joist/di
Version:
Dependency Injection for Vanilla JS classes
34 lines • 979 B
JavaScript
export function injected(condition) {
return function onInjectDecorator(val, ctx) {
const metadata = ctx.metadata;
metadata.onInjected ??= [];
metadata.onInjected.push({
callback: val,
condition,
});
};
}
export function created(condition) {
return function onInjectDecorator(val, ctx) {
const metadata = ctx.metadata;
metadata.onCreated ??= [];
metadata.onCreated.push({
callback: val,
condition,
});
};
}
export function callLifecycle(instance, injector, methods) {
if (methods) {
for (const { callback, condition } of methods) {
if (condition) {
const result = condition({ injector, instance });
if (result.enabled === false) {
continue;
}
}
callback.call(instance, injector);
}
}
}
//# sourceMappingURL=lifecycle.js.map