UNPKG

@d3vtool/ex-frame

Version:

This library enhances Express.js by providing a more organized structure for web API projects, along with improved control and error handling capabilities.

32 lines (31 loc) 901 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.asyncHandler = void 0; exports.Middlewares = Middlewares; exports.ErrorHandler = ErrorHandler; function Middlewares(...handlers) { return function (targetFn, _propertyKey, descriptor) { if (descriptor?.value) { descriptor.value["handlers"] = handlers; } else { targetFn["handlers"] = handlers; } }; } function ErrorHandler(handlers) { return function (targetFn, _propertyKey, descriptor) { if (descriptor?.value) { descriptor.value["errorHandler"] = handlers; } else { targetFn["errorHandler"] = handlers; } }; } const asyncHandler = (fn) => (req, res, next) => { Promise.resolve(fn(req, res, next)).catch((err) => { next(err); }); }; exports.asyncHandler = asyncHandler;