UNPKG

@nestjs/core

Version:

Nest - modern, fast, powerful node.js web framework (@core)

30 lines (29 loc) 863 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const shared_utils_1 = require("@nestjs/common/utils/shared.utils"); const uuid = require("uuid/v4"); exports.filterMiddleware = (middleware) => { return [] .concat(middleware) .filter(shared_utils_1.isFunction) .map(exports.mapToClass); }; exports.mapToClass = (middleware) => { if (isClass(middleware)) { return middleware; } return assignToken(class { constructor() { this.use = (...params) => middleware(...params); } }); }; function isClass(middleware) { return middleware.toString().substring(0, 5) === 'class'; } exports.isClass = isClass; function assignToken(metatype) { Object.defineProperty(metatype, 'name', { value: uuid() }); return metatype; } exports.assignToken = assignToken;