UNPKG

@tsclean/core

Version:

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

22 lines 5.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createPipesWsParamDecorator = void 0; exports.createWsParamDecorator = createWsParamDecorator; const decorators_1 = require("../../decorators"); const helpers_1 = require("../../helpers"); const utils_1 = require("../../utils"); function createWsParamDecorator(paramtype) { return (...pipes) => (target, key, index) => { const args = Reflect.getMetadata(helpers_1.PARAM_ARGS_METADATA, target.constructor, key) || {}; Reflect.defineMetadata(helpers_1.PARAM_ARGS_METADATA, (0, decorators_1.assignMetadata)(args, paramtype, index, undefined, ...pipes), target.constructor, key); }; } const createPipesWsParamDecorator = (paramtype) => (data, ...pipes) => (target, key, index) => { const args = Reflect.getMetadata(helpers_1.PARAM_ARGS_METADATA, target.constructor, key) || {}; const hasParamData = (0, utils_1.isNil)(data) || (0, utils_1.isString)(data); const paramData = hasParamData ? data : undefined; const paramPipes = hasParamData ? pipes : [data, ...pipes]; Reflect.defineMetadata(helpers_1.PARAM_ARGS_METADATA, (0, decorators_1.assignMetadata)(args, paramtype, index, paramData, ...paramPipes), target.constructor, key); }; exports.createPipesWsParamDecorator = createPipesWsParamDecorator; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW0udXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvd2Vic29ja2V0cy91dGlscy9wYXJhbS51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFNQSx3REFnQkM7QUFyQkQsaURBQWlEO0FBQ2pELDJDQUFtRDtBQUNuRCx1Q0FBNkM7QUFHN0MsU0FBZ0Isc0JBQXNCLENBQ3BDLFNBQXNCO0lBSXRCLE9BQU8sQ0FBQyxHQUFHLEtBQW9ELEVBQUUsRUFBRSxDQUNqRSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDckIsTUFBTSxJQUFJLEdBQ1IsT0FBTyxDQUFDLFdBQVcsQ0FBQyw2QkFBbUIsRUFBRSxNQUFNLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUN6RSxPQUFPLENBQUMsY0FBYyxDQUNwQiw2QkFBbUIsRUFDbkIsSUFBQSwyQkFBYyxFQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEtBQUssQ0FBQyxFQUMzRCxNQUFNLENBQUMsV0FBVyxFQUNsQixHQUFHLENBQ0osQ0FBQTtJQUNILENBQUMsQ0FBQTtBQUNMLENBQUM7QUFFTSxNQUFNLDJCQUEyQixHQUN0QyxDQUFDLFNBQXNCLEVBQUUsRUFBRSxDQUMzQixDQUNFLElBQVUsRUFDVixHQUFHLEtBQW9ELEVBQ25DLEVBQUUsQ0FDeEIsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFO0lBQ3JCLE1BQU0sSUFBSSxHQUNSLE9BQU8sQ0FBQyxXQUFXLENBQUMsNkJBQW1CLEVBQUUsTUFBTSxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDekUsTUFBTSxZQUFZLEdBQUcsSUFBQSxhQUFLLEVBQUMsSUFBSSxDQUFDLElBQUksSUFBQSxnQkFBUSxFQUFDLElBQUksQ0FBQyxDQUFBO0lBQ2xELE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7SUFDakQsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUE7SUFFMUQsT0FBTyxDQUFDLGNBQWMsQ0FDcEIsNkJBQW1CLEVBQ25CLElBQUEsMkJBQWMsRUFBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxVQUFVLENBQUMsRUFDaEUsTUFBTSxDQUFDLFdBQVcsRUFDbEIsR0FBRyxDQUNKLENBQUE7QUFDSCxDQUFDLENBQUE7QUFuQlUsUUFBQSwyQkFBMkIsK0JBbUJyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhbmRsZXJUcmFuc2Zvcm0sIFR5cGUgfSBmcm9tICcuLi8uLi9jb250cmFjdHMnXG5pbXBvcnQgeyBhc3NpZ25NZXRhZGF0YSB9IGZyb20gJy4uLy4uL2RlY29yYXRvcnMnXG5pbXBvcnQgeyBQQVJBTV9BUkdTX01FVEFEQVRBIH0gZnJvbSAnLi4vLi4vaGVscGVycydcbmltcG9ydCB7IGlzTmlsLCBpc1N0cmluZyB9IGZyb20gJy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgV3NQYXJhbVR5cGUgfSBmcm9tICcuLi8uLi93ZWJzb2NrZXRzL2VudW1zL3dzLXBhcmFtdHlwZS5lbnVtJ1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlV3NQYXJhbURlY29yYXRvciAoXG4gIHBhcmFtdHlwZTogV3NQYXJhbVR5cGVcbik6IChcbiAgLi4ucGlwZXM6IChUeXBlPEhhbmRsZXJUcmFuc2Zvcm0+IHwgSGFuZGxlclRyYW5zZm9ybSlbXVxuKSA9PiBQYXJhbWV0ZXJEZWNvcmF0b3Ige1xuICByZXR1cm4gKC4uLnBpcGVzOiAoVHlwZTxIYW5kbGVyVHJhbnNmb3JtPiB8IEhhbmRsZXJUcmFuc2Zvcm0pW10pID0+XG4gICAgKHRhcmdldCwga2V5LCBpbmRleCkgPT4ge1xuICAgICAgY29uc3QgYXJncyA9XG4gICAgICAgIFJlZmxlY3QuZ2V0TWV0YWRhdGEoUEFSQU1fQVJHU19NRVRBREFUQSwgdGFyZ2V0LmNvbnN0cnVjdG9yLCBrZXkpIHx8IHt9XG4gICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKFxuICAgICAgICBQQVJBTV9BUkdTX01FVEFEQVRBLFxuICAgICAgICBhc3NpZ25NZXRhZGF0YShhcmdzLCBwYXJhbXR5cGUsIGluZGV4LCB1bmRlZmluZWQsIC4uLnBpcGVzKSxcbiAgICAgICAgdGFyZ2V0LmNvbnN0cnVjdG9yLFxuICAgICAgICBrZXlcbiAgICAgIClcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVQaXBlc1dzUGFyYW1EZWNvcmF0b3IgPVxuICAocGFyYW10eXBlOiBXc1BhcmFtVHlwZSkgPT5cbiAgKFxuICAgIGRhdGE/OiBhbnksXG4gICAgLi4ucGlwZXM6IChUeXBlPEhhbmRsZXJUcmFuc2Zvcm0+IHwgSGFuZGxlclRyYW5zZm9ybSlbXVxuICApOiBQYXJhbWV0ZXJEZWNvcmF0b3IgPT5cbiAgKHRhcmdldCwga2V5LCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IGFyZ3MgPVxuICAgICAgUmVmbGVjdC5nZXRNZXRhZGF0YShQQVJBTV9BUkdTX01FVEFEQVRBLCB0YXJnZXQuY29uc3RydWN0b3IsIGtleSkgfHwge31cbiAgICBjb25zdCBoYXNQYXJhbURhdGEgPSBpc05pbChkYXRhKSB8fCBpc1N0cmluZyhkYXRhKVxuICAgIGNvbnN0IHBhcmFtRGF0YSA9IGhhc1BhcmFtRGF0YSA/IGRhdGEgOiB1bmRlZmluZWRcbiAgICBjb25zdCBwYXJhbVBpcGVzID0gaGFzUGFyYW1EYXRhID8gcGlwZXMgOiBbZGF0YSwgLi4ucGlwZXNdXG5cbiAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKFxuICAgICAgUEFSQU1fQVJHU19NRVRBREFUQSxcbiAgICAgIGFzc2lnbk1ldGFkYXRhKGFyZ3MsIHBhcmFtdHlwZSwgaW5kZXgsIHBhcmFtRGF0YSwgLi4ucGFyYW1QaXBlcyksXG4gICAgICB0YXJnZXQuY29uc3RydWN0b3IsXG4gICAgICBrZXlcbiAgICApXG4gIH1cbiJdfQ==