UNPKG

887 BJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.PipesConsumer = void 0;
4const params_token_factory_1 = require("./params-token-factory");
5class PipesConsumer {
6 constructor() {
7 this.paramsTokenFactory = new params_token_factory_1.ParamsTokenFactory();
8 }
9 async apply(value, { metatype, type, data }, pipes) {
10 const token = this.paramsTokenFactory.exchangeEnumForString(type);
11 return this.applyPipes(value, { metatype, type: token, data }, pipes);
12 }
13 async applyPipes(value, { metatype, type, data }, transforms) {
14 return transforms.reduce(async (deferredValue, pipe) => {
15 const val = await deferredValue;
16 const result = pipe.transform(val, { metatype, type, data });
17 return result;
18 }, Promise.resolve(value));
19 }
20}
21exports.PipesConsumer = PipesConsumer;