UNPKG

1.52 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.createPipesRpcParamDecorator = exports.createRpcParamDecorator = void 0;
4const route_params_decorator_1 = require("@nestjs/common/decorators/http/route-params.decorator");
5const shared_utils_1 = require("@nestjs/common/utils/shared.utils");
6require("reflect-metadata");
7const constants_1 = require("../constants");
8function createRpcParamDecorator(paramtype) {
9 return (...pipes) => (target, key, index) => {
10 const args = Reflect.getMetadata(constants_1.PARAM_ARGS_METADATA, target.constructor, key) || {};
11 Reflect.defineMetadata(constants_1.PARAM_ARGS_METADATA, (0, route_params_decorator_1.assignMetadata)(args, paramtype, index, undefined, ...pipes), target.constructor, key);
12 };
13}
14exports.createRpcParamDecorator = createRpcParamDecorator;
15const createPipesRpcParamDecorator = (paramtype) => (data, ...pipes) => (target, key, index) => {
16 const args = Reflect.getMetadata(constants_1.PARAM_ARGS_METADATA, target.constructor, key) || {};
17 const hasParamData = (0, shared_utils_1.isNil)(data) || (0, shared_utils_1.isString)(data);
18 const paramData = hasParamData ? data : undefined;
19 const paramPipes = hasParamData ? pipes : [data, ...pipes];
20 Reflect.defineMetadata(constants_1.PARAM_ARGS_METADATA, (0, route_params_decorator_1.assignMetadata)(args, paramtype, index, paramData, ...paramPipes), target.constructor, key);
21};
22exports.createPipesRpcParamDecorator = createPipesRpcParamDecorator;