UNPKG

@tsclean/core

Version:

Plugin for API Rest Full development, based on Clean Architecture, IoC and Dependency Injection.

22 lines 3.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.HandlerConsumer = void 0; const core_1 = require("../../core"); class HandlerConsumer { constructor() { this.paramsTokenFactory = new core_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.HandlerConsumer = HandlerConsumer; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlci1jb25zdW1lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy93ZWJzb2NrZXRzL2hhbmRsZXIvaGFuZGxlci1jb25zdW1lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxQ0FBK0M7QUFHL0MsTUFBYSxlQUFlO0lBQTVCO1FBQ21CLHVCQUFrQixHQUFHLElBQUkseUJBQWtCLEVBQUUsQ0FBQTtJQXdCaEUsQ0FBQztJQXRCUSxLQUFLLENBQUMsS0FBSyxDQUNoQixLQUFhLEVBQ2IsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBb0IsRUFDMUMsS0FBeUI7UUFFekIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLHFCQUFxQixDQUN6RCxJQUE4QixDQUMvQixDQUFBO1FBQ0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQ3ZFLENBQUM7SUFFTSxLQUFLLENBQUMsVUFBVSxDQUNyQixLQUFhLEVBQ2IsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBNkMsRUFDbkUsVUFBOEI7UUFFOUIsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDckQsTUFBTSxHQUFHLEdBQUcsTUFBTSxhQUFhLENBQUE7WUFDL0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7WUFDNUQsT0FBTyxNQUFNLENBQUE7UUFDZixDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO0lBQzVCLENBQUM7Q0FDRjtBQXpCRCwwQ0F5QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcmd1bWVudE1ldGFkYXRhLCBIYW5kbGVyVHJhbnNmb3JtIH0gZnJvbSAnLi4vLi4vY29udHJhY3RzJ1xuaW1wb3J0IHsgUGFyYW1zVG9rZW5GYWN0b3J5IH0gZnJvbSAnLi4vLi4vY29yZSdcbmltcG9ydCB7IFJvdXRlUGFyYW1UeXBlcyB9IGZyb20gJy4uLy4uL2VudW1zJ1xuXG5leHBvcnQgY2xhc3MgSGFuZGxlckNvbnN1bWVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBwYXJhbXNUb2tlbkZhY3RvcnkgPSBuZXcgUGFyYW1zVG9rZW5GYWN0b3J5KClcblxuICBwdWJsaWMgYXN5bmMgYXBwbHk8VElucHV0ID0gdW5rbm93bj4gKFxuICAgIHZhbHVlOiBUSW5wdXQsXG4gICAgeyBtZXRhVHlwZSwgdHlwZSwgZGF0YSB9OiBBcmd1bWVudE1ldGFkYXRhLFxuICAgIHBpcGVzOiBIYW5kbGVyVHJhbnNmb3JtW11cbiAgKSB7XG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLnBhcmFtc1Rva2VuRmFjdG9yeS5leGNoYW5nZUVudW1Gb3JTdHJpbmcoXG4gICAgICB0eXBlIGFzIGFueSBhcyBSb3V0ZVBhcmFtVHlwZXNcbiAgICApXG4gICAgcmV0dXJuIHRoaXMuYXBwbHlQaXBlcyh2YWx1ZSwgeyBtZXRhVHlwZSwgdHlwZTogdG9rZW4sIGRhdGEgfSwgcGlwZXMpXG4gIH1cblxuICBwdWJsaWMgYXN5bmMgYXBwbHlQaXBlczxUSW5wdXQgPSB1bmtub3duPiAoXG4gICAgdmFsdWU6IFRJbnB1dCxcbiAgICB7IG1ldGFUeXBlLCB0eXBlLCBkYXRhIH06IHsgbWV0YVR5cGU6IGFueTsgdHlwZT86IGFueTsgZGF0YT86IGFueSB9LFxuICAgIHRyYW5zZm9ybXM6IEhhbmRsZXJUcmFuc2Zvcm1bXVxuICApIHtcbiAgICByZXR1cm4gdHJhbnNmb3Jtcy5yZWR1Y2UoYXN5bmMgKGRlZmVycmVkVmFsdWUsIHBpcGUpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IGF3YWl0IGRlZmVycmVkVmFsdWVcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHBpcGUudHJhbnNmb3JtKHZhbCwgeyBtZXRhVHlwZSwgdHlwZSwgZGF0YSB9KVxuICAgICAgcmV0dXJuIHJlc3VsdFxuICAgIH0sIFByb21pc2UucmVzb2x2ZSh2YWx1ZSkpXG4gIH1cbn1cbiJdfQ==