@slowvoid.dev/express
Version:
node decorators - decorators for express library
59 lines • 6.01 kB
JavaScript
;
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==