ts-ioc-container
Version:
Fast, lightweight TypeScript dependency injection container with a clean API, scoped lifecycles, decorators, tokens, hooks, lazy injection, customizable providers, and no global container objects.
30 lines (29 loc) • 1.02 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.handleError = exports.handleAsyncError = void 0;
const handleAsyncError = (errorHandler) => (target, propertyKey, descriptor) => {
const originalMethod = descriptor.value;
descriptor.value = async function (...args) {
try {
return await originalMethod.apply(this, args);
}
catch (e) {
errorHandler(e, { target: target.constructor.name, method: propertyKey });
}
};
return descriptor;
};
exports.handleAsyncError = handleAsyncError;
const handleError = (errorHandler) => (target, propertyKey, descriptor) => {
const originalMethod = descriptor.value;
descriptor.value = function (...args) {
try {
return originalMethod.apply(this, args);
}
catch (e) {
errorHandler(e, { target: target.constructor.name, method: propertyKey });
}
};
return descriptor;
};
exports.handleError = handleError;