UNPKG

@nestjs/core

Version:

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

22 lines (21 loc) 887 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PipesConsumer = void 0; const params_token_factory_1 = require("./params-token-factory"); class PipesConsumer { constructor() { this.paramsTokenFactory = new params_token_factory_1.ParamsTokenFactory(); } async apply(value, { metatype, type, data }, pipes) { const token = this.paramsTokenFactory.exchangeEnumForString(type); return this.applyPipes(value, { metatype, type: token, data }, pipes); } async applyPipes(value, { metatype, type, data }, transforms) { return transforms.reduce(async (deferredValue, pipe) => { const val = await deferredValue; const result = pipe.transform(val, { metatype, type, data }); return result; }, Promise.resolve(value)); } } exports.PipesConsumer = PipesConsumer;