jtd.js 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.CodeGen = exports.Name = exports.nil = exports.stringify = exports.str = exports._ = exports.KeywordCxt = void 0;
  4. const context_1 = require("./compile/context");
  5. exports.KeywordCxt = context_1.default;
  6. // export {DefinedError} from "./vocabularies/errors"
  7. var codegen_1 = require("./compile/codegen");
  8. Object.defineProperty(exports, "_", { enumerable: true, get: function () { return codegen_1._; } });
  9. Object.defineProperty(exports, "str", { enumerable: true, get: function () { return codegen_1.str; } });
  10. Object.defineProperty(exports, "stringify", { enumerable: true, get: function () { return codegen_1.stringify; } });
  11. Object.defineProperty(exports, "nil", { enumerable: true, get: function () { return codegen_1.nil; } });
  12. Object.defineProperty(exports, "Name", { enumerable: true, get: function () { return codegen_1.Name; } });
  13. Object.defineProperty(exports, "CodeGen", { enumerable: true, get: function () { return codegen_1.CodeGen; } });
  14. const core_1 = require("./core");
  15. const jtd_1 = require("./vocabularies/jtd");
  16. const jtd_schema_1 = require("./refs/jtd-schema");
  17. const serialize_1 = require("./compile/jtd/serialize");
  18. const parse_1 = require("./compile/jtd/parse");
  19. // const META_SUPPORT_DATA = ["/properties"]
  20. const META_SCHEMA_ID = "JTD-meta-schema";
  21. class Ajv extends core_1.default {
  22. constructor(opts = {}) {
  23. var _a;
  24. super({
  25. ...opts,
  26. jtd: true,
  27. messages: (_a = opts.messages) !== null && _a !== void 0 ? _a : false,
  28. });
  29. }
  30. _addVocabularies() {
  31. super._addVocabularies();
  32. this.addVocabulary(jtd_1.default);
  33. }
  34. _addDefaultMetaSchema() {
  35. super._addDefaultMetaSchema();
  36. if (!this.opts.meta)
  37. return;
  38. this.addMetaSchema(jtd_schema_1.default, META_SCHEMA_ID, false);
  39. }
  40. defaultMeta() {
  41. return (this.opts.defaultMeta =
  42. super.defaultMeta() || (this.getSchema(META_SCHEMA_ID) ? META_SCHEMA_ID : undefined));
  43. }
  44. compileSerializer(schema) {
  45. const sch = this._addSchema(schema);
  46. return sch.serialize || this._compileSerializer(sch);
  47. }
  48. compileParser(schema) {
  49. const sch = this._addSchema(schema);
  50. return (sch.parse || this._compileParser(sch));
  51. }
  52. _compileSerializer(sch) {
  53. serialize_1.default.call(this, sch, sch.schema.definitions || {});
  54. /* istanbul ignore if */
  55. if (!sch.serialize)
  56. throw new Error("ajv implementation error");
  57. return sch.serialize;
  58. }
  59. _compileParser(sch) {
  60. parse_1.default.call(this, sch, sch.schema.definitions || {});
  61. /* istanbul ignore if */
  62. if (!sch.parse)
  63. throw new Error("ajv implementation error");
  64. return sch.parse;
  65. }
  66. }
  67. exports.default = Ajv;
  68. //# sourceMappingURL=jtd.js.map