source: node_modules/@swagger-api/apidom-ast/cjs/yaml/schemas/json/index.cjs

main
Last change on this file was d24f17c, checked in by Aleksandar Panovski <apano77@…>, 15 months ago

Initial commit

  • Property mode set to 100644
File size: 1.8 KB
RevLine 
[d24f17c]1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4exports.__esModule = true;
5exports.default = void 0;
6var _index = _interopRequireDefault(require("../failsafe/index.cjs"));
7var _Boolean = _interopRequireDefault(require("./Boolean.cjs"));
8var _FloatingPoint = _interopRequireDefault(require("./FloatingPoint.cjs"));
9var _Integer = _interopRequireDefault(require("./Integer.cjs"));
10var _Null = _interopRequireDefault(require("./Null.cjs"));
11var _YamlTag = require("../../nodes/YamlTag.cjs");
12var _GenericSequence = _interopRequireDefault(require("../failsafe/GenericSequence.cjs"));
13var _GenericMapping = _interopRequireDefault(require("../failsafe/GenericMapping.cjs"));
14class 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}
40var _default = exports.default = JsonSchema;
Note: See TracBrowser for help on using the repository browser.