
package.cjs.yaml.schemas.json.index.cjs Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of apidom-ast Show documentation
Show all versions of apidom-ast Show documentation
Tools necessary for parsing stage of ApiDOM, specifically for syntactic analysis.
The newest version!
"use strict";
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
exports.__esModule = true;
exports.default = void 0;
var _index = _interopRequireDefault(require("../failsafe/index.cjs"));
var _Boolean = _interopRequireDefault(require("./Boolean.cjs"));
var _FloatingPoint = _interopRequireDefault(require("./FloatingPoint.cjs"));
var _Integer = _interopRequireDefault(require("./Integer.cjs"));
var _Null = _interopRequireDefault(require("./Null.cjs"));
var _YamlTag = require("../../nodes/YamlTag.cjs");
var _GenericSequence = _interopRequireDefault(require("../failsafe/GenericSequence.cjs"));
var _GenericMapping = _interopRequireDefault(require("../failsafe/GenericMapping.cjs"));
class JsonSchema extends _index.default {
constructor() {
super();
/**
* We're registering more specific tags before more generic ones from Failsafe schema.
*/
this.registerTag(new _Boolean.default(), true);
this.registerTag(new _FloatingPoint.default(), true);
this.registerTag(new _Integer.default(), true);
this.registerTag(new _Null.default(), true);
}
toSpecificTagName(node) {
let specificTagName = super.toSpecificTagName(node);
if (specificTagName === '?') {
if (node.tag.vkind === _YamlTag.YamlNodeKind.Sequence) {
specificTagName = _GenericSequence.default.uri;
} else if (node.tag.kind === _YamlTag.YamlNodeKind.Mapping) {
specificTagName = _GenericMapping.default.uri;
} else if (node.tag.kind === _YamlTag.YamlNodeKind.Scalar) {
const foundTag = this.tags.find(tag => tag.test(node));
specificTagName = (foundTag == null ? void 0 : foundTag.tag) || '?';
}
}
return specificTagName;
}
}
var _default = exports.default = JsonSchema;
© 2015 - 2025 Weber Informatics LLC | Privacy Policy