@slowvoid.dev/express
Version:
node decorators - decorators for express library
39 lines • 4.32 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getMeta = exports.ParameterType = void 0;
/**
* All possible parameter decorator types
*
* @export
* @enum {number}
*/
var ParameterType;
(function (ParameterType) {
ParameterType[ParameterType["REQUEST"] = 0] = "REQUEST";
ParameterType[ParameterType["RESPONSE"] = 1] = "RESPONSE";
ParameterType[ParameterType["PARAMS"] = 2] = "PARAMS";
ParameterType[ParameterType["QUERY"] = 3] = "QUERY";
ParameterType[ParameterType["BODY"] = 4] = "BODY";
ParameterType[ParameterType["HEADERS"] = 5] = "HEADERS";
ParameterType[ParameterType["COOKIES"] = 6] = "COOKIES";
ParameterType[ParameterType["NEXT"] = 7] = "NEXT";
})(ParameterType = exports.ParameterType || (exports.ParameterType = {}));
/**
* Get or initiate metadata on a target
*
* @param {ExpressClass} target
* @returns {ExpressMeta}
*/
function getMeta(target) {
if (!target.__express_meta__) {
target.__express_meta__ = {
url: '',
middleware: [],
routes: {},
params: {},
};
}
return target.__express_meta__;
}
exports.getMeta = getMeta;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tZXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBOzs7OztHQUtHO0FBQ0gsSUFBWSxhQVNYO0FBVEQsV0FBWSxhQUFhO0lBQ3ZCLHVEQUFPLENBQUE7SUFDUCx5REFBUSxDQUFBO0lBQ1IscURBQU0sQ0FBQTtJQUNOLG1EQUFLLENBQUE7SUFDTCxpREFBSSxDQUFBO0lBQ0osdURBQU8sQ0FBQTtJQUNQLHVEQUFPLENBQUE7SUFDUCxpREFBSSxDQUFBO0FBQ04sQ0FBQyxFQVRXLGFBQWEsR0FBYixxQkFBYSxLQUFiLHFCQUFhLFFBU3hCO0FBbUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsT0FBTyxDQUFDLE1BQW9CO0lBQzFDLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUU7UUFDNUIsTUFBTSxDQUFDLGdCQUFnQixHQUFHO1lBQ3hCLEdBQUcsRUFBRSxFQUFFO1lBQ1AsVUFBVSxFQUFFLEVBQUU7WUFDZCxNQUFNLEVBQUUsRUFBRTtZQUNWLE1BQU0sRUFBRSxFQUFFO1NBQ1gsQ0FBQztLQUNIO0lBQ0QsT0FBTyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7QUFDakMsQ0FBQztBQVZELDBCQVVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm91dGVyT3B0aW9ucyB9IGZyb20gJ2V4cHJlc3MnO1xuXG5pbXBvcnQgeyBNaWRkbGV3YXJlIH0gZnJvbSAnLi9taWRkbGV3YXJlJztcblxuLyoqXG4gKiBBbGwgcG9zc2libGUgcGFyYW1ldGVyIGRlY29yYXRvciB0eXBlc1xuICpcbiAqIEBleHBvcnRcbiAqIEBlbnVtIHtudW1iZXJ9XG4gKi9cbmV4cG9ydCBlbnVtIFBhcmFtZXRlclR5cGUge1xuICBSRVFVRVNULFxuICBSRVNQT05TRSxcbiAgUEFSQU1TLFxuICBRVUVSWSxcbiAgQk9EWSxcbiAgSEVBREVSUyxcbiAgQ09PS0lFUyxcbiAgTkVYVFxufVxuXG4vKipcbiAqIENhY2hlZChtZXRhKSBwYXJhbWV0ZXIgY29uZmlndXJhdGlvblxuICpcbiAqIEBleHBvcnRcbiAqIEBpbnRlcmZhY2UgUGFyYW1ldGVyQ29uZmlndXJhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcmFtZXRlckNvbmZpZ3VyYXRpb24ge1xuICBpbmRleDogbnVtYmVyO1xuICB0eXBlOiBQYXJhbWV0ZXJUeXBlO1xuICBuYW1lPzogc3RyaW5nO1xuICBkYXRhPzogYW55O1xufVxuXG4vKipcbiAqIENhY2hlZChtZXRhKSByb3V0ZSBjb25maWd1cmF0aW9uXG4gKlxuICogQGV4cG9ydFxuICogQGludGVyZmFjZSBSb3V0ZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJvdXRlIHtcbiAgbWV0aG9kOiBzdHJpbmc7XG4gIHVybDogc3RyaW5nO1xuICBtaWRkbGV3YXJlOiBNaWRkbGV3YXJlW107XG59XG5cbi8qKlxuICogTWV0aG9kIG1ldGFkYXRhIG9iamVjdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1ldGhvZE1ldGEge1xuICByb3V0ZXM6IFJvdXRlW107XG4gIHN0YXR1cz86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBFeHByZXNzIGRlY29yYXRvcnMgY29udHJvbGxlciBtZXRhZGF0YVxuICpcbiAqIEBleHBvcnRcbiAqIEBpbnRlcmZhY2UgRXhwcmVzc01ldGFcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFeHByZXNzTWV0YSB7XG4gIHVybDogc3RyaW5nO1xuXG4gIHJvdXRlck9wdGlvbnM/OiBSb3V0ZXJPcHRpb25zO1xuXG4gIHJvdXRlczoge1xuICAgIFtpbnN0YW5jZU1ldGhvZE5hbWU6IHN0cmluZ106IE1ldGhvZE1ldGE7XG4gIH07XG5cbiAgbWlkZGxld2FyZTogTWlkZGxld2FyZVtdO1xuXG4gIHBhcmFtczoge1xuICAgIFtrZXk6IHN0cmluZ106IFBhcmFtZXRlckNvbmZpZ3VyYXRpb25bXTtcbiAgfTtcbn1cblxuLyoqXG4gKiBFeHByZXNzIGRlY29yYXRvcnMgY29udHJvbGxlclxuICpcbiAqIEBleHBvcnRcbiAqIEBpbnRlcmZhY2UgRXhwcmVzc01ldGFcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFeHByZXNzQ2xhc3Mge1xuICBfX2V4cHJlc3NfbWV0YV9fPzogRXhwcmVzc01ldGE7XG59XG5cbi8qKlxuICogR2V0IG9yIGluaXRpYXRlIG1ldGFkYXRhIG9uIGEgdGFyZ2V0XG4gKlxuICogQHBhcmFtIHtFeHByZXNzQ2xhc3N9IHRhcmdldFxuICogQHJldHVybnMge0V4cHJlc3NNZXRhfVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWV0YSh0YXJnZXQ6IEV4cHJlc3NDbGFzcyk6IEV4cHJlc3NNZXRhIHtcbiAgaWYgKCF0YXJnZXQuX19leHByZXNzX21ldGFfXykge1xuICAgIHRhcmdldC5fX2V4cHJlc3NfbWV0YV9fID0ge1xuICAgICAgdXJsOiAnJyxcbiAgICAgIG1pZGRsZXdhcmU6IFtdLFxuICAgICAgcm91dGVzOiB7fSxcbiAgICAgIHBhcmFtczoge30sXG4gICAgfTtcbiAgfVxuICByZXR1cm4gdGFyZ2V0Ll9fZXhwcmVzc19tZXRhX187XG59XG4iXX0=