UNPKG

reest

Version:

A library inspired by NestJS's elegance, specifically designed for efficient serverless API development on AWS Lambda. It streamlines the creation of microservices with automated Swagger documentation and enhanced decorator-based middleware support, makin

44 lines 1.62 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Multer = void 0; const multer_1 = __importDefault(require("multer")); const Multer = (path, options) => { return (target, key, descriptor) => { const upload = (0, multer_1.default)({ storage: multer_1.default.memoryStorage() }); const type = typeof options?.single === "undefined" || options?.single ? "single" : "array"; if (!Reflect.hasMetadata("routes", target.constructor)) { Reflect.defineMetadata("routes", [], target.constructor); } if (!Reflect.hasMetadata("multer", target.constructor)) { Reflect.defineMetadata("multer", { path, options, type: type, }, target.constructor); } const routes = Reflect.getMetadata("routes", target.constructor); const route = routes.find((route) => route.methodName === key) || { methodName: key, middlewares: [], }; if (route.middlewares) { route.middlewares.push(upload[type](path)); } else { route.middlewares = [upload[type](path)]; } route.multer = { path, options, type: type, }; Reflect.defineMetadata("routes", [...routes, route], target.constructor); }; }; exports.Multer = Multer; //# sourceMappingURL=Multer.js.map