web3_validator.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.Web3Validator = void 0;
  4. const validator_js_1 = require("./validator.js");
  5. const utils_js_1 = require("./utils.js");
  6. const errors_js_1 = require("./errors.js");
  7. class Web3Validator {
  8. constructor() {
  9. this._validator = validator_js_1.Validator.factory();
  10. }
  11. validateJSONSchema(schema, data, options) {
  12. return this._validator.validate(schema, data, options);
  13. }
  14. validate(schema, data, options = { silent: false }) {
  15. var _a, _b;
  16. const jsonSchema = (0, utils_js_1.ethAbiToJsonSchema)(schema);
  17. if (Array.isArray(jsonSchema.items) &&
  18. ((_a = jsonSchema.items) === null || _a === void 0 ? void 0 : _a.length) === 0 &&
  19. data.length === 0) {
  20. return undefined;
  21. }
  22. if (Array.isArray(jsonSchema.items) &&
  23. ((_b = jsonSchema.items) === null || _b === void 0 ? void 0 : _b.length) === 0 &&
  24. data.length !== 0) {
  25. throw new errors_js_1.Web3ValidatorError([
  26. {
  27. instancePath: '/0',
  28. schemaPath: '/',
  29. keyword: 'required',
  30. message: 'empty schema against data can not be validated',
  31. params: data,
  32. },
  33. ]);
  34. }
  35. return this._validator.validate(jsonSchema, data, options);
  36. }
  37. }
  38. exports.Web3Validator = Web3Validator;
  39. //# sourceMappingURL=web3_validator.js.map