UNPKG

1.04 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.ApiQuery = void 0;
4const lodash_1 = require("lodash");
5const enum_utils_1 = require("../utils/enum.utils");
6const helpers_1 = require("./helpers");
7const defaultQueryOptions = {
8 name: '',
9 required: true
10};
11function ApiQuery(options) {
12 const apiQueryMetadata = options;
13 const [type, isArray] = helpers_1.getTypeIsArrayTuple(apiQueryMetadata.type, apiQueryMetadata.isArray);
14 const param = Object.assign(Object.assign({ name: lodash_1.isNil(options.name) ? defaultQueryOptions.name : options.name, in: 'query' }, lodash_1.omit(options, 'enum')), { type });
15 if (enum_utils_1.isEnumArray(options)) {
16 enum_utils_1.addEnumArraySchema(param, options);
17 }
18 else if (enum_utils_1.isEnumDefined(options)) {
19 enum_utils_1.addEnumSchema(param, options);
20 }
21 if (isArray) {
22 param.isArray = isArray;
23 }
24 return helpers_1.createParamDecorator(param, defaultQueryOptions);
25}
26exports.ApiQuery = ApiQuery;