UNPKG

@slowvoid.dev/express

Version:

node decorators - decorators for express library

59 lines 6.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Cookies = exports.Headers = exports.Body = exports.Query = exports.Params = exports.Next = exports.Res = exports.Response = exports.Req = exports.Request = void 0; const meta_1 = require("../meta"); /** * Parameter decorator factory, creates parameter decorator */ function decoratorFactory(type) { return function (name) { return function (target, methodName, index) { const meta = (0, meta_1.getMeta)(target); if (meta.params[methodName] === undefined) { meta.params[methodName] = []; } meta.params[methodName].push({ index, type, name }); }; }; } /** * Express req object */ exports.Request = decoratorFactory(meta_1.ParameterType.REQUEST); /** * Express req object in short form */ exports.Req = exports.Request; /** * Express res object */ exports.Response = decoratorFactory(meta_1.ParameterType.RESPONSE); /** * Express res object in short form */ exports.Res = exports.Response; /** * Express next function */ exports.Next = decoratorFactory(meta_1.ParameterType.NEXT); /** * Express req.params object or single param, if param name was specified */ exports.Params = decoratorFactory(meta_1.ParameterType.PARAMS); /** * Express req.query object or single query param, if query param name was specified */ exports.Query = decoratorFactory(meta_1.ParameterType.QUERY); /** * Express req.body object or single body param, if body param name was specified */ exports.Body = decoratorFactory(meta_1.ParameterType.BODY); /** * Express req.headers object or single headers param, if headers param name was specified */ exports.Headers = decoratorFactory(meta_1.ParameterType.HEADERS); /** * Express req.body object or single cookies param, if cookies param name was specified */ exports.Cookies = decoratorFactory(meta_1.ParameterType.COOKIES); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RlY29yYXRvcnMvcGFyYW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGtDQUE4RDtBQUU5RDs7R0FFRztBQUNILFNBQVMsZ0JBQWdCLENBQUMsSUFBbUI7SUFDM0MsT0FBTyxVQUFVLElBQWE7UUFDNUIsT0FBTyxVQUFVLE1BQWMsRUFBRSxVQUFrQixFQUFFLEtBQWE7WUFDaEUsTUFBTSxJQUFJLEdBQWdCLElBQUEsY0FBTyxFQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRTFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxTQUFTLEVBQUU7Z0JBQ3pDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDO2FBQzlCO1lBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdEQsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBQ1UsUUFBQSxPQUFPLEdBQUcsZ0JBQWdCLENBQUMsb0JBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUUvRDs7R0FFRztBQUNVLFFBQUEsR0FBRyxHQUFHLGVBQU8sQ0FBQztBQUUzQjs7R0FFRztBQUNVLFFBQUEsUUFBUSxHQUFHLGdCQUFnQixDQUFDLG9CQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7QUFFakU7O0dBRUc7QUFDVSxRQUFBLEdBQUcsR0FBRyxnQkFBUSxDQUFDO0FBRTVCOztHQUVHO0FBQ1UsUUFBQSxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsb0JBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUV6RDs7R0FFRztBQUNVLFFBQUEsTUFBTSxHQUFHLGdCQUFnQixDQUFDLG9CQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7QUFFN0Q7O0dBRUc7QUFDVSxRQUFBLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxvQkFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBRTNEOztHQUVHO0FBQ1UsUUFBQSxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsb0JBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUV6RDs7R0FFRztBQUNVLFFBQUEsT0FBTyxHQUFHLGdCQUFnQixDQUFDLG9CQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7QUFFL0Q7O0dBRUc7QUFDVSxRQUFBLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQyxvQkFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXhwcmVzc01ldGEsIFBhcmFtZXRlclR5cGUsIGdldE1ldGEgfSBmcm9tICcuLi9tZXRhJztcblxuLyoqXG4gKiBQYXJhbWV0ZXIgZGVjb3JhdG9yIGZhY3RvcnksIGNyZWF0ZXMgcGFyYW1ldGVyIGRlY29yYXRvclxuICovXG5mdW5jdGlvbiBkZWNvcmF0b3JGYWN0b3J5KHR5cGU6IFBhcmFtZXRlclR5cGUpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChuYW1lPzogc3RyaW5nKTogUGFyYW1ldGVyRGVjb3JhdG9yIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogb2JqZWN0LCBtZXRob2ROYW1lOiBzdHJpbmcsIGluZGV4OiBudW1iZXIpIHtcbiAgICAgIGNvbnN0IG1ldGE6IEV4cHJlc3NNZXRhID0gZ2V0TWV0YSh0YXJnZXQpO1xuXG4gICAgICBpZiAobWV0YS5wYXJhbXNbbWV0aG9kTmFtZV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBtZXRhLnBhcmFtc1ttZXRob2ROYW1lXSA9IFtdO1xuICAgICAgfVxuXG4gICAgICBtZXRhLnBhcmFtc1ttZXRob2ROYW1lXS5wdXNoKHsgaW5kZXgsIHR5cGUsIG5hbWUgfSk7XG4gICAgfTtcbiAgfTtcbn1cblxuLyoqXG4gKiBFeHByZXNzIHJlcSBvYmplY3RcbiAqL1xuZXhwb3J0IGNvbnN0IFJlcXVlc3QgPSBkZWNvcmF0b3JGYWN0b3J5KFBhcmFtZXRlclR5cGUuUkVRVUVTVCk7XG5cbi8qKlxuICogRXhwcmVzcyByZXEgb2JqZWN0IGluIHNob3J0IGZvcm1cbiAqL1xuZXhwb3J0IGNvbnN0IFJlcSA9IFJlcXVlc3Q7XG5cbi8qKlxuICogRXhwcmVzcyByZXMgb2JqZWN0XG4gKi9cbmV4cG9ydCBjb25zdCBSZXNwb25zZSA9IGRlY29yYXRvckZhY3RvcnkoUGFyYW1ldGVyVHlwZS5SRVNQT05TRSk7XG5cbi8qKlxuICogRXhwcmVzcyByZXMgb2JqZWN0IGluIHNob3J0IGZvcm1cbiAqL1xuZXhwb3J0IGNvbnN0IFJlcyA9IFJlc3BvbnNlO1xuXG4vKipcbiAqIEV4cHJlc3MgbmV4dCBmdW5jdGlvblxuICovXG5leHBvcnQgY29uc3QgTmV4dCA9IGRlY29yYXRvckZhY3RvcnkoUGFyYW1ldGVyVHlwZS5ORVhUKTtcblxuLyoqXG4gKiBFeHByZXNzIHJlcS5wYXJhbXMgb2JqZWN0IG9yIHNpbmdsZSBwYXJhbSwgaWYgcGFyYW0gbmFtZSB3YXMgc3BlY2lmaWVkXG4gKi9cbmV4cG9ydCBjb25zdCBQYXJhbXMgPSBkZWNvcmF0b3JGYWN0b3J5KFBhcmFtZXRlclR5cGUuUEFSQU1TKTtcblxuLyoqXG4gKiBFeHByZXNzIHJlcS5xdWVyeSBvYmplY3Qgb3Igc2luZ2xlIHF1ZXJ5IHBhcmFtLCBpZiBxdWVyeSBwYXJhbSBuYW1lIHdhcyBzcGVjaWZpZWRcbiAqL1xuZXhwb3J0IGNvbnN0IFF1ZXJ5ID0gZGVjb3JhdG9yRmFjdG9yeShQYXJhbWV0ZXJUeXBlLlFVRVJZKTtcblxuLyoqXG4gKiBFeHByZXNzIHJlcS5ib2R5IG9iamVjdCBvciBzaW5nbGUgYm9keSBwYXJhbSwgaWYgYm9keSBwYXJhbSBuYW1lIHdhcyBzcGVjaWZpZWRcbiAqL1xuZXhwb3J0IGNvbnN0IEJvZHkgPSBkZWNvcmF0b3JGYWN0b3J5KFBhcmFtZXRlclR5cGUuQk9EWSk7XG5cbi8qKlxuICogRXhwcmVzcyByZXEuaGVhZGVycyBvYmplY3Qgb3Igc2luZ2xlIGhlYWRlcnMgcGFyYW0sIGlmIGhlYWRlcnMgcGFyYW0gbmFtZSB3YXMgc3BlY2lmaWVkXG4gKi9cbmV4cG9ydCBjb25zdCBIZWFkZXJzID0gZGVjb3JhdG9yRmFjdG9yeShQYXJhbWV0ZXJUeXBlLkhFQURFUlMpO1xuXG4vKipcbiAqIEV4cHJlc3MgcmVxLmJvZHkgb2JqZWN0IG9yIHNpbmdsZSBjb29raWVzIHBhcmFtLCBpZiBjb29raWVzIHBhcmFtIG5hbWUgd2FzIHNwZWNpZmllZFxuICovXG5leHBvcnQgY29uc3QgQ29va2llcyA9IGRlY29yYXRvckZhY3RvcnkoUGFyYW1ldGVyVHlwZS5DT09LSUVTKTtcbiJdfQ==