@tsclean/core
Version:
Plugin for API Rest Full development, based on Clean Architecture, IoC and Dependency Injection.
24 lines • 2.92 kB
JavaScript
;
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