UNPKG

@tsclean/core

Version:

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

21 lines 4.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Interceptors = Interceptors; const utils_1 = require("../utils"); const helpers_1 = require("../helpers"); function Interceptors(...interceptors) { return (target, key, descriptor) => { const isInterceptorValid = (interceptor) => interceptor && ((0, utils_1.isFunction)(interceptor) || (0, utils_1.isFunction)(interceptor.intercept)); if (descriptor) { (0, utils_1.validateEach)(target.constructor, interceptors, isInterceptorValid, '@Interceptors', 'interceptor'); (0, utils_1.extendArrayMetadata)(helpers_1.INTERCEPTORS_METADATA, interceptors, descriptor.value); return descriptor; } (0, utils_1.validateEach)(target, interceptors, isInterceptorValid, '@Interceptors', 'interceptor'); (0, utils_1.extendArrayMetadata)(helpers_1.INTERCEPTORS_METADATA, interceptors, target); return target; }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVjb3JhdG9ycy9pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUlBLG9DQXdDQztBQTVDRCxvQ0FBdUU7QUFFdkUsd0NBQWlEO0FBRWpELFNBQWdCLFlBQVksQ0FDeEIsR0FBRyxZQUFpRDtJQUVwRCxPQUFPLENBQ0gsTUFBVyxFQUNYLEdBQXFCLEVBQ3JCLFVBQXlDLEVBQzNDLEVBQUU7UUFDQSxNQUFNLGtCQUFrQixHQUFHLENBQ3ZCLFdBQWMsRUFDaEIsRUFBRSxDQUNBLFdBQVc7WUFDWCxDQUFDLElBQUEsa0JBQVUsRUFBQyxXQUFXLENBQUM7Z0JBQ3BCLElBQUEsa0JBQVUsRUFBRSxXQUFtQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFFcEUsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNiLElBQUEsb0JBQVksRUFDUixNQUFNLENBQUMsV0FBVyxFQUNsQixZQUFZLEVBQ1osa0JBQWtCLEVBQ2xCLGVBQWUsRUFDZixhQUFhLENBQ2hCLENBQUM7WUFDRixJQUFBLDJCQUFtQixFQUNmLCtCQUFxQixFQUNyQixZQUFZLEVBQ1osVUFBVSxDQUFDLEtBQUssQ0FDbkIsQ0FBQztZQUNGLE9BQU8sVUFBVSxDQUFDO1FBQ3RCLENBQUM7UUFDRCxJQUFBLG9CQUFZLEVBQ1IsTUFBTSxFQUNOLFlBQVksRUFDWixrQkFBa0IsRUFDbEIsZUFBZSxFQUNmLGFBQWEsQ0FDaEIsQ0FBQztRQUNGLElBQUEsMkJBQW1CLEVBQUMsK0JBQXFCLEVBQUUsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2pFLE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2V4dGVuZEFycmF5TWV0YWRhdGEsIGlzRnVuY3Rpb24sIHZhbGlkYXRlRWFjaH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5pbXBvcnQge0ludGVyY2VwdG9ySW50ZXJmYWNlfSBmcm9tIFwiLi4vY29udHJhY3RzXCI7XG5pbXBvcnQge0lOVEVSQ0VQVE9SU19NRVRBREFUQX0gZnJvbSBcIi4uL2hlbHBlcnNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIEludGVyY2VwdG9ycyhcbiAgICAuLi5pbnRlcmNlcHRvcnM6IChJbnRlcmNlcHRvckludGVyZmFjZSB8IEZ1bmN0aW9uKVtdXG4pOiBNZXRob2REZWNvcmF0b3IgJiBDbGFzc0RlY29yYXRvciB7XG4gICAgcmV0dXJuIChcbiAgICAgICAgdGFyZ2V0OiBhbnksXG4gICAgICAgIGtleT86IHN0cmluZyB8IHN5bWJvbCxcbiAgICAgICAgZGVzY3JpcHRvcj86IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPGFueT4sXG4gICAgKSA9PiB7XG4gICAgICAgIGNvbnN0IGlzSW50ZXJjZXB0b3JWYWxpZCA9IDxUIGV4dGVuZHMgRnVuY3Rpb24gfCBSZWNvcmQ8c3RyaW5nLCBhbnk+PihcbiAgICAgICAgICAgIGludGVyY2VwdG9yOiBULFxuICAgICAgICApID0+XG4gICAgICAgICAgICBpbnRlcmNlcHRvciAmJlxuICAgICAgICAgICAgKGlzRnVuY3Rpb24oaW50ZXJjZXB0b3IpIHx8XG4gICAgICAgICAgICAgICAgaXNGdW5jdGlvbigoaW50ZXJjZXB0b3IgYXMgUmVjb3JkPHN0cmluZywgYW55PikuaW50ZXJjZXB0KSk7XG5cbiAgICAgICAgaWYgKGRlc2NyaXB0b3IpIHtcbiAgICAgICAgICAgIHZhbGlkYXRlRWFjaChcbiAgICAgICAgICAgICAgICB0YXJnZXQuY29uc3RydWN0b3IsXG4gICAgICAgICAgICAgICAgaW50ZXJjZXB0b3JzLFxuICAgICAgICAgICAgICAgIGlzSW50ZXJjZXB0b3JWYWxpZCxcbiAgICAgICAgICAgICAgICAnQEludGVyY2VwdG9ycycsXG4gICAgICAgICAgICAgICAgJ2ludGVyY2VwdG9yJyxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBleHRlbmRBcnJheU1ldGFkYXRhKFxuICAgICAgICAgICAgICAgIElOVEVSQ0VQVE9SU19NRVRBREFUQSxcbiAgICAgICAgICAgICAgICBpbnRlcmNlcHRvcnMsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRvci52YWx1ZSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZXR1cm4gZGVzY3JpcHRvcjtcbiAgICAgICAgfVxuICAgICAgICB2YWxpZGF0ZUVhY2goXG4gICAgICAgICAgICB0YXJnZXQsXG4gICAgICAgICAgICBpbnRlcmNlcHRvcnMsXG4gICAgICAgICAgICBpc0ludGVyY2VwdG9yVmFsaWQsXG4gICAgICAgICAgICAnQEludGVyY2VwdG9ycycsXG4gICAgICAgICAgICAnaW50ZXJjZXB0b3InLFxuICAgICAgICApO1xuICAgICAgICBleHRlbmRBcnJheU1ldGFkYXRhKElOVEVSQ0VQVE9SU19NRVRBREFUQSwgaW50ZXJjZXB0b3JzLCB0YXJnZXQpO1xuICAgICAgICByZXR1cm4gdGFyZ2V0O1xuICAgIH07XG59XG4iXX0=