2a0c629c1bfb1b14b3041a542f461af5dc3d1c57f1991c86e4e5b7fbc07c6aca64c9da68c312a01aee9ef695d685b4b620feef6ae0cb2863a26c6fc2c818ac 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = validate;
  6. exports.validateChild = validateChild;
  7. exports.validateField = validateField;
  8. exports.validateInternal = validateInternal;
  9. var _index = require("../definitions/index.js");
  10. function validate(node, key, val) {
  11. if (!node) return;
  12. const fields = _index.NODE_FIELDS[node.type];
  13. if (!fields) return;
  14. const field = fields[key];
  15. validateField(node, key, val, field);
  16. validateChild(node, key, val);
  17. }
  18. function validateInternal(field, node, key, val, maybeNode) {
  19. if (!(field != null && field.validate)) return;
  20. if (field.optional && val == null) return;
  21. field.validate(node, key, val);
  22. if (maybeNode) {
  23. var _NODE_PARENT_VALIDATI;
  24. const type = val.type;
  25. if (type == null) return;
  26. (_NODE_PARENT_VALIDATI = _index.NODE_PARENT_VALIDATIONS[type]) == null || _NODE_PARENT_VALIDATI.call(_index.NODE_PARENT_VALIDATIONS, node, key, val);
  27. }
  28. }
  29. function validateField(node, key, val, field) {
  30. if (!(field != null && field.validate)) return;
  31. if (field.optional && val == null) return;
  32. field.validate(node, key, val);
  33. }
  34. function validateChild(node, key, val) {
  35. var _NODE_PARENT_VALIDATI2;
  36. const type = val == null ? void 0 : val.type;
  37. if (type == null) return;
  38. (_NODE_PARENT_VALIDATI2 = _index.NODE_PARENT_VALIDATIONS[type]) == null || _NODE_PARENT_VALIDATI2.call(_index.NODE_PARENT_VALIDATIONS, node, key, val);
  39. }
  40. //# sourceMappingURL=validate.js.map