UNPKG

nats-micro

Version:

NATS micro compatible extra-lightweight microservice library

19 lines 1.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.middleware = void 0; /* eslint-disable @typescript-eslint/no-explicit-any */ const storage_js_1 = require("./storage.js"); function middleware(middlewares, postMiddlewares = []) { return (target, key, descriptor) => { var _a, _b; if (!descriptor.value) throw new Error('Use method decorators only on class methods'); const storedMethod = storage_js_1.storage.ensureClassMethodAdded(target, descriptor.value); storedMethod.config = Object.assign(Object.assign({}, storedMethod.config), { middlewares: [...((_a = storedMethod.config.middlewares) !== null && _a !== void 0 ? _a : []), ...middlewares], postMiddlewares: [...((_b = storedMethod.config.postMiddlewares) !== null && _b !== void 0 ? _b : []), ...postMiddlewares] }); return descriptor; }; } exports.middleware = middleware; middleware.pre = (...middlewares) => middleware(middlewares, []); middleware.post = (...middlewares) => middleware([], middlewares); //# sourceMappingURL=middleware.js.map