UNPKG

@tsed/common

Version:
39 lines 1.46 kB
"use strict"; 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