@nestjs/core
Version:
Nest - modern, fast, powerful node.js web framework (@core)
22 lines (21 loc) • 887 B
JavaScript
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;
;