UNPKG

863 BJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const shared_utils_1 = require("@nestjs/common/utils/shared.utils");
4const uuid = require("uuid/v4");
5exports.filterMiddleware = (middleware) => {
6 return []
7 .concat(middleware)
8 .filter(shared_utils_1.isFunction)
9 .map(exports.mapToClass);
10};
11exports.mapToClass = (middleware) => {
12 if (isClass(middleware)) {
13 return middleware;
14 }
15 return assignToken(class {
16 constructor() {
17 this.use = (...params) => middleware(...params);
18 }
19 });
20};
21function isClass(middleware) {
22 return middleware.toString().substring(0, 5) === 'class';
23}
24exports.isClass = isClass;
25function assignToken(metatype) {
26 Object.defineProperty(metatype, 'name', { value: uuid() });
27 return metatype;
28}
29exports.assignToken = assignToken;