| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 | 
							- "use strict";
 
- Object.defineProperty(exports, "__esModule", { value: true });
 
- exports.Validator = void 0;
 
- const address_js_1 = require("../utils/address.js");
 
- const validations_js_1 = require("../utils/validations.js");
 
- class Validator {
 
-     invalid(param) {
 
-         return param.msg || `Invalid ${param.name}${param.type === 'address' ? ' address' : ''} provided`;
 
-     }
 
-     notPositive(param) {
 
-         return `${param.name} must be a positive integer`;
 
-     }
 
-     notEqual(param) {
 
-         return param.msg || `${param.names?.[0]} can not be equal to ${param.names?.[1]}`;
 
-     }
 
-     notValid(params) {
 
-         const normalized = {};
 
-         let no = false;
 
-         for (const param of params) {
 
-             const { name, names, value, type, gt, lt, gte, lte, optional } = param;
 
-             if (optional && (!(0, validations_js_1.isNotNullOrUndefined)(value) || (type !== 'boolean' && value === false)))
 
-                 continue;
 
-             normalized[name] = param.value;
 
-             switch (type) {
 
-                 case 'address':
 
-                     if (!(0, address_js_1.isAddress)(value)) {
 
-                         no = true;
 
-                     }
 
-                     else {
 
-                         normalized[name] = (0, address_js_1.toHex)(value);
 
-                     }
 
-                     break;
 
-                 case 'integer':
 
-                     if (!(0, validations_js_1.isInteger)(value) ||
 
-                         (typeof gt === 'number' && value <= gt) ||
 
-                         (typeof lt === 'number' && value >= lt) ||
 
-                         (typeof gte === 'number' && value < gte) ||
 
-                         (typeof lte === 'number' && value > lte)) {
 
-                         no = true;
 
-                     }
 
-                     break;
 
-                 case 'positive-integer':
 
-                     if (!(0, validations_js_1.isInteger)(value) || value <= 0) {
 
-                         throw new Error(this.notPositive(param));
 
-                     }
 
-                     break;
 
-                 case 'tokenId':
 
-                     if (!(0, validations_js_1.isString)(value) || !value.length) {
 
-                         no = true;
 
-                     }
 
-                     break;
 
-                 case 'notEmptyObject':
 
-                     if (!(0, validations_js_1.isObject)(value) || !Object.keys(value).length) {
 
-                         no = true;
 
-                     }
 
-                     break;
 
-                 case 'notEqual':
 
-                     if (names && normalized[names[0]] === normalized[names[1]]) {
 
-                         throw new Error(this.notEqual(param));
 
-                     }
 
-                     break;
 
-                 case 'resource':
 
-                     if (!['BANDWIDTH', 'ENERGY'].includes(value)) {
 
-                         no = true;
 
-                     }
 
-                     break;
 
-                 case 'url':
 
-                     if (!(0, validations_js_1.isValidURL)(value)) {
 
-                         no = true;
 
-                     }
 
-                     break;
 
-                 case 'hex':
 
-                     if (!(0, validations_js_1.isHex)(value)) {
 
-                         no = true;
 
-                     }
 
-                     break;
 
-                 case 'array':
 
-                     if (!Array.isArray(value)) {
 
-                         no = true;
 
-                     }
 
-                     break;
 
-                 case 'not-empty-string':
 
-                     if (!(0, validations_js_1.isString)(value) || !value.length) {
 
-                         no = true;
 
-                     }
 
-                     break;
 
-                 case 'boolean':
 
-                     if (!(0, validations_js_1.isBoolean)(value)) {
 
-                         no = true;
 
-                     }
 
-                     break;
 
-                 case 'string':
 
-                     if (!(0, validations_js_1.isString)(value) ||
 
-                         (typeof gt === 'number' && value.length <= gt) ||
 
-                         (typeof lt === 'number' && value.length >= lt) ||
 
-                         (typeof gte === 'number' && value.length < gte) ||
 
-                         (typeof lte === 'number' && value.length > lte)) {
 
-                         no = true;
 
-                     }
 
-                     break;
 
-             }
 
-             if (no) {
 
-                 throw new Error(this.invalid(param));
 
-             }
 
-         }
 
-         return false;
 
-     }
 
- }
 
- exports.Validator = Validator;
 
- //# sourceMappingURL=index.js.map
 
 
  |