UNPKG

1.36 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const constants_1 = require("@nestjs/common/constants");
4const shared_utils_1 = require("@nestjs/common/utils/shared.utils");
5class ContextUtils {
6 mapParamType(key) {
7 const keyPair = key.split(':');
8 return keyPair[0];
9 }
10 reflectCallbackParamtypes(instance, methodName) {
11 return Reflect.getMetadata(constants_1.PARAMTYPES_METADATA, instance, methodName);
12 }
13 reflectCallbackMetadata(instance, methodName, metadataKey) {
14 return Reflect.getMetadata(metadataKey, instance.constructor, methodName);
15 }
16 getArgumentsLength(keys, metadata) {
17 return Math.max(...keys.map(key => metadata[key].index)) + 1;
18 }
19 createNullArray(length) {
20 // eslint-disable-next-line prefer-spread
21 return Array.apply(null, { length }).fill(undefined);
22 }
23 mergeParamsMetatypes(paramsProperties, paramtypes) {
24 if (!paramtypes) {
25 return paramsProperties;
26 }
27 return paramsProperties.map(param => (Object.assign(Object.assign({}, param), { metatype: paramtypes[param.index] })));
28 }
29 getCustomFactory(factory, data) {
30 return shared_utils_1.isFunction(factory)
31 ? (...args) => factory(data, args)
32 : () => null;
33 }
34}
35exports.ContextUtils = ContextUtils;