UNPKG

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