UNPKG

@kitmi/jacaranda

Version:

JavaScript application framework

37 lines (36 loc) 1.16 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function() { return _default; } }); const _types = require("@kitmi/types"); /** * Decorator for adding middlewares to a function. * @param {...any} middlewares * @returns {Function} */ function middleware(...middlewares) { return function(target, name, descriptor) { let targetFunction, isHof = false; // eslint-disable-next-line no-undef if (arguments.length === 1 && typeof target === 'function') { targetFunction = target; isHof = true; } else if (descriptor && descriptor.value) { targetFunction = descriptor.value; descriptor.enumerable = true; } else { throw new _types.ApplicationError('Invalid usage of middleware decorator.'); } if (middlewares.length > 0) { targetFunction.__metaMiddlewares = middlewares; } return isHof ? targetFunction : descriptor; }; } const _default = middleware; //# sourceMappingURL=middleware.js.map