UNPKG

nats-micro

Version:

NATS micro compatible extra-lightweight microservice library

16 lines 965 B
/* eslint-disable @typescript-eslint/no-explicit-any */ import { storage } from './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.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; }; } middleware.pre = (...middlewares) => middleware(middlewares, []); middleware.post = (...middlewares) => middleware([], middlewares); export { middleware, }; //# sourceMappingURL=middleware.js.map