1 | "use strict";
|
---|
2 |
|
---|
3 | var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
---|
4 | exports.__esModule = true;
|
---|
5 | exports.default = void 0;
|
---|
6 | var _index = _interopRequireDefault(require("../failsafe/index.cjs"));
|
---|
7 | var _Boolean = _interopRequireDefault(require("./Boolean.cjs"));
|
---|
8 | var _FloatingPoint = _interopRequireDefault(require("./FloatingPoint.cjs"));
|
---|
9 | var _Integer = _interopRequireDefault(require("./Integer.cjs"));
|
---|
10 | var _Null = _interopRequireDefault(require("./Null.cjs"));
|
---|
11 | var _YamlTag = require("../../nodes/YamlTag.cjs");
|
---|
12 | var _GenericSequence = _interopRequireDefault(require("../failsafe/GenericSequence.cjs"));
|
---|
13 | var _GenericMapping = _interopRequireDefault(require("../failsafe/GenericMapping.cjs"));
|
---|
14 | class JsonSchema extends _index.default {
|
---|
15 | constructor() {
|
---|
16 | super();
|
---|
17 | /**
|
---|
18 | * We're registering more specific tags before more generic ones from Failsafe schema.
|
---|
19 | */
|
---|
20 | this.registerTag(new _Boolean.default(), true);
|
---|
21 | this.registerTag(new _FloatingPoint.default(), true);
|
---|
22 | this.registerTag(new _Integer.default(), true);
|
---|
23 | this.registerTag(new _Null.default(), true);
|
---|
24 | }
|
---|
25 | toSpecificTagName(node) {
|
---|
26 | let specificTagName = super.toSpecificTagName(node);
|
---|
27 | if (specificTagName === '?') {
|
---|
28 | if (node.tag.vkind === _YamlTag.YamlNodeKind.Sequence) {
|
---|
29 | specificTagName = _GenericSequence.default.uri;
|
---|
30 | } else if (node.tag.kind === _YamlTag.YamlNodeKind.Mapping) {
|
---|
31 | specificTagName = _GenericMapping.default.uri;
|
---|
32 | } else if (node.tag.kind === _YamlTag.YamlNodeKind.Scalar) {
|
---|
33 | const foundTag = this.tags.find(tag => tag.test(node));
|
---|
34 | specificTagName = (foundTag == null ? void 0 : foundTag.tag) || '?';
|
---|
35 | }
|
---|
36 | }
|
---|
37 | return specificTagName;
|
---|
38 | }
|
---|
39 | }
|
---|
40 | var _default = exports.default = JsonSchema; |
---|