UNPKG

1.04 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.ApiParam = void 0;
4const lodash_1 = require("lodash");
5const enum_utils_1 = require("../utils/enum.utils");
6const helpers_1 = require("./helpers");
7const defaultParamOptions = {
8 name: '',
9 required: true
10};
11function ApiParam(options) {
12 const param = Object.assign({ name: lodash_1.isNil(options.name) ? defaultParamOptions.name : options.name, in: 'path' }, lodash_1.omit(options, 'enum'));
13 const apiParamMetadata = options;
14 if (apiParamMetadata.enum) {
15 param.schema = param.schema || {};
16 const paramSchema = param.schema;
17 const enumValues = enum_utils_1.getEnumValues(apiParamMetadata.enum);
18 paramSchema.type = enum_utils_1.getEnumType(enumValues);
19 paramSchema.enum = enumValues;
20 if (apiParamMetadata.enumName) {
21 param.enumName = apiParamMetadata.enumName;
22 }
23 }
24 return helpers_1.createParamDecorator(param, defaultParamOptions);
25}
26exports.ApiParam = ApiParam;