@tsed/common
Version:
A TypeScript Framework on top of Express
39 lines • 1.46 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Req = exports.Request = void 0;
const core_1 = require("@tsed/core");
const http_1 = require("http");
const ParamTypes_1 = require("../../models/ParamTypes");
const mapParamsOptions_1 = require("../../utils/mapParamsOptions");
const useParam_1 = require("./useParam");
function getParamType(target, propertyKey, parameterIndex) {
const type = core_1.Metadata.getOwnParamTypes(target, propertyKey)[parameterIndex];
if (core_1.isClass(type)) {
if (core_1.nameOf(type) === "PlatformRequest") {
return ParamTypes_1.ParamTypes.PLATFORM_REQUEST;
}
if (type === http_1.IncomingMessage) {
return ParamTypes_1.ParamTypes.NODE_REQUEST;
}
}
return ParamTypes_1.ParamTypes.REQUEST;
}
function Request(...args) {
// @ts-ignore
return Req(...args);
}
exports.Request = Request;
function Req(...args) {
const { expression, useType, useConverter = false, useValidation = false } = mapParamsOptions_1.mapParamsOptions(args);
return (target, propertyKey, parameterIndex) => {
const paramType = getParamType(target, propertyKey, parameterIndex);
useParam_1.UseParam(paramType, {
expression,
useType,
useConverter,
useValidation
})(target, propertyKey, parameterIndex);
};
}
exports.Req = Req;
//# sourceMappingURL=request.js.map