UNPKG

@tsclean/core

Version:

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

24 lines 2.92 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.InvalidDecoratorItemException = void 0; exports.validateEach = validateEach; class InvalidDecoratorItemException extends Error { constructor(decorator, item, context) { const message = `Invalid ${item} passed to ${decorator}() decorator (${context}).`; super(message); this.msg = message; } what() { return this.msg; } } exports.InvalidDecoratorItemException = InvalidDecoratorItemException; function validateEach(context, arr, predicate, decorator, item) { if (!context || !context.name) return true; const errors = arr.some(str => !predicate(str)); if (errors) throw new InvalidDecoratorItemException(decorator, item, context.name); return true; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtZWFjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy92YWxpZGF0ZS1lYWNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWVBLG9DQVVDO0FBekJELE1BQWEsNkJBQThCLFNBQVEsS0FBSztJQUdwRCxZQUFZLFNBQWlCLEVBQUUsSUFBWSxFQUFFLE9BQWU7UUFDeEQsTUFBTSxPQUFPLEdBQUcsV0FBVyxJQUFJLGNBQWMsU0FBUyxpQkFBaUIsT0FBTyxJQUFJLENBQUM7UUFDbkYsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsSUFBSSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUM7SUFDdkIsQ0FBQztJQUVNLElBQUk7UUFDUCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDcEIsQ0FBQztDQUNKO0FBYkQsc0VBYUM7QUFFRCxTQUFnQixZQUFZLENBQ3hCLE9BQXlCLEVBQUUsR0FBVSxFQUFFLFNBQW1CLEVBQzFELFNBQWlCLEVBQUUsSUFBWTtJQUUvQixJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUk7UUFBRSxPQUFPLElBQUksQ0FBQztJQUUzQyxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNoRCxJQUFJLE1BQU07UUFBRSxNQUFNLElBQUksNkJBQTZCLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFbkYsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBJbnZhbGlkRGVjb3JhdG9ySXRlbUV4Y2VwdGlvbiBleHRlbmRzIEVycm9yIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1zZzogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IoZGVjb3JhdG9yOiBzdHJpbmcsIGl0ZW06IHN0cmluZywgY29udGV4dDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgSW52YWxpZCAke2l0ZW19IHBhc3NlZCB0byAke2RlY29yYXRvcn0oKSBkZWNvcmF0b3IgKCR7Y29udGV4dH0pLmA7XG4gICAgICAgIHN1cGVyKG1lc3NhZ2UpO1xuXG4gICAgICAgIHRoaXMubXNnID0gbWVzc2FnZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgd2hhdCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5tc2c7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVFYWNoKFxuICAgIGNvbnRleHQ6IHsgbmFtZTogc3RyaW5nIH0sIGFycjogYW55W10sIHByZWRpY2F0ZTogRnVuY3Rpb24sXG4gICAgZGVjb3JhdG9yOiBzdHJpbmcsIGl0ZW06IHN0cmluZyk6IGJvb2xlYW4ge1xuXG4gICAgaWYgKCFjb250ZXh0IHx8ICFjb250ZXh0Lm5hbWUpIHJldHVybiB0cnVlO1xuXG4gICAgY29uc3QgZXJyb3JzID0gYXJyLnNvbWUoc3RyID0+ICFwcmVkaWNhdGUoc3RyKSk7XG4gICAgaWYgKGVycm9ycykgdGhyb3cgbmV3IEludmFsaWREZWNvcmF0b3JJdGVtRXhjZXB0aW9uKGRlY29yYXRvciwgaXRlbSwgY29udGV4dC5uYW1lKTtcblxuICAgIHJldHVybiB0cnVlO1xufVxuIl19