@speclynx/apidom-parser-adapter-yaml-1-2 1.12.1 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/NOTICE +16 -7
  3. package/README.md +34 -7
  4. package/dist/167.apidom-parser-adapter-yaml-1-2.browser.min.js +1 -1
  5. package/dist/451.apidom-parser-adapter-yaml-1-2.browser.min.js +1 -1
  6. package/dist/apidom-parser-adapter-yaml-1-2.browser.js +19340 -16731
  7. package/dist/apidom-parser-adapter-yaml-1-2.browser.min.js +1 -1
  8. package/package.json +10 -9
  9. package/src/adapter.cjs +28 -16
  10. package/src/adapter.mjs +25 -15
  11. package/src/tree-sitter/index.cjs +44 -0
  12. package/src/tree-sitter/index.mjs +38 -0
  13. package/src/{lexical-analysis → tree-sitter/lexical-analysis}/index.cjs +1 -1
  14. package/src/{lexical-analysis → tree-sitter/lexical-analysis}/index.mjs +1 -1
  15. package/src/tree-sitter/syntactic-analysis/CstTransformer.cjs +625 -0
  16. package/src/tree-sitter/syntactic-analysis/CstTransformer.mjs +618 -0
  17. package/src/tree-sitter/syntactic-analysis/YamlAstTransformer.cjs +271 -0
  18. package/src/tree-sitter/syntactic-analysis/YamlAstTransformer.mjs +263 -0
  19. package/src/tree-sitter/syntactic-analysis/ast/Error.cjs +30 -0
  20. package/src/tree-sitter/syntactic-analysis/ast/Error.mjs +24 -0
  21. package/src/tree-sitter/syntactic-analysis/ast/Literal.cjs +27 -0
  22. package/src/tree-sitter/syntactic-analysis/ast/Literal.mjs +21 -0
  23. package/src/tree-sitter/syntactic-analysis/ast/Node.cjs +60 -0
  24. package/src/tree-sitter/syntactic-analysis/ast/Node.mjs +56 -0
  25. package/src/tree-sitter/syntactic-analysis/ast/ParseResult.cjs +17 -0
  26. package/src/tree-sitter/syntactic-analysis/ast/ParseResult.mjs +12 -0
  27. package/src/tree-sitter/syntactic-analysis/ast/anchors-aliases/ReferenceManager.cjs +23 -0
  28. package/src/tree-sitter/syntactic-analysis/ast/anchors-aliases/ReferenceManager.mjs +18 -0
  29. package/src/tree-sitter/syntactic-analysis/ast/errors/YamlError.cjs +10 -0
  30. package/src/tree-sitter/syntactic-analysis/ast/errors/YamlError.mjs +7 -0
  31. package/src/tree-sitter/syntactic-analysis/ast/errors/YamlSchemaError.cjs +11 -0
  32. package/src/tree-sitter/syntactic-analysis/ast/errors/YamlSchemaError.mjs +6 -0
  33. package/src/tree-sitter/syntactic-analysis/ast/errors/YamlTagError.cjs +43 -0
  34. package/src/tree-sitter/syntactic-analysis/ast/errors/YamlTagError.mjs +37 -0
  35. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlAlias.cjs +27 -0
  36. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlAlias.mjs +21 -0
  37. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlAnchor.cjs +27 -0
  38. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlAnchor.mjs +21 -0
  39. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlCollection.cjs +11 -0
  40. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlCollection.mjs +6 -0
  41. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlComment.cjs +27 -0
  42. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlComment.mjs +21 -0
  43. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlDirective.cjs +39 -0
  44. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlDirective.mjs +32 -0
  45. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlDocument.cjs +13 -0
  46. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlDocument.mjs +8 -0
  47. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlKeyValuePair.cjs +48 -0
  48. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlKeyValuePair.mjs +42 -0
  49. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlMapping.cjs +20 -0
  50. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlMapping.mjs +15 -0
  51. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlNode.cjs +35 -0
  52. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlNode.mjs +29 -0
  53. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlScalar.cjs +27 -0
  54. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlScalar.mjs +21 -0
  55. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlSequence.cjs +23 -0
  56. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlSequence.mjs +18 -0
  57. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlStream.cjs +20 -0
  58. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlStream.mjs +15 -0
  59. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlStyle.cjs +27 -0
  60. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlStyle.mjs +24 -0
  61. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlTag.cjs +38 -0
  62. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlTag.mjs +35 -0
  63. package/src/tree-sitter/syntactic-analysis/ast/nodes/predicates.cjs +26 -0
  64. package/src/tree-sitter/syntactic-analysis/ast/nodes/predicates.mjs +14 -0
  65. package/src/tree-sitter/syntactic-analysis/ast/schemas/ScalarTag.cjs +33 -0
  66. package/src/tree-sitter/syntactic-analysis/ast/schemas/ScalarTag.mjs +29 -0
  67. package/src/tree-sitter/syntactic-analysis/ast/schemas/Tag.cjs +20 -0
  68. package/src/tree-sitter/syntactic-analysis/ast/schemas/Tag.mjs +16 -0
  69. package/src/tree-sitter/syntactic-analysis/ast/schemas/canonical-format.cjs +127 -0
  70. package/src/tree-sitter/syntactic-analysis/ast/schemas/canonical-format.mjs +122 -0
  71. package/src/tree-sitter/syntactic-analysis/ast/schemas/failsafe/GenericMapping.cjs +14 -0
  72. package/src/tree-sitter/syntactic-analysis/ast/schemas/failsafe/GenericMapping.mjs +9 -0
  73. package/src/tree-sitter/syntactic-analysis/ast/schemas/failsafe/GenericSequence.cjs +14 -0
  74. package/src/tree-sitter/syntactic-analysis/ast/schemas/failsafe/GenericSequence.mjs +9 -0
  75. package/src/tree-sitter/syntactic-analysis/ast/schemas/failsafe/GenericString.cjs +10 -0
  76. package/src/tree-sitter/syntactic-analysis/ast/schemas/failsafe/GenericString.mjs +5 -0
  77. package/src/tree-sitter/syntactic-analysis/ast/schemas/failsafe/index.cjs +116 -0
  78. package/src/tree-sitter/syntactic-analysis/ast/schemas/failsafe/index.mjs +111 -0
  79. package/src/tree-sitter/syntactic-analysis/ast/schemas/json/Boolean.cjs +19 -0
  80. package/src/tree-sitter/syntactic-analysis/ast/schemas/json/Boolean.mjs +14 -0
  81. package/src/tree-sitter/syntactic-analysis/ast/schemas/json/FloatingPoint.cjs +19 -0
  82. package/src/tree-sitter/syntactic-analysis/ast/schemas/json/FloatingPoint.mjs +14 -0
  83. package/src/tree-sitter/syntactic-analysis/ast/schemas/json/Integer.cjs +19 -0
  84. package/src/tree-sitter/syntactic-analysis/ast/schemas/json/Integer.mjs +14 -0
  85. package/src/tree-sitter/syntactic-analysis/ast/schemas/json/Null.cjs +18 -0
  86. package/src/tree-sitter/syntactic-analysis/ast/schemas/json/Null.mjs +13 -0
  87. package/src/tree-sitter/syntactic-analysis/ast/schemas/json/index.cjs +43 -0
  88. package/src/tree-sitter/syntactic-analysis/ast/schemas/json/index.mjs +38 -0
  89. package/src/tree-sitter/syntactic-analysis/index.cjs +39 -0
  90. package/src/tree-sitter/syntactic-analysis/index.mjs +33 -0
  91. package/src/yaml/index.cjs +31 -0
  92. package/src/yaml/index.mjs +26 -0
  93. package/types/apidom-parser-adapter-yaml-1-2.d.ts +11 -3
  94. package/src/syntactic-analysis/TreeCursorIterator.cjs +0 -93
  95. package/src/syntactic-analysis/TreeCursorIterator.mjs +0 -88
  96. package/src/syntactic-analysis/TreeCursorSyntaxNode.cjs +0 -80
  97. package/src/syntactic-analysis/TreeCursorSyntaxNode.mjs +0 -76
  98. package/src/syntactic-analysis/indirect/index.cjs +0 -51
  99. package/src/syntactic-analysis/indirect/index.mjs +0 -44
  100. package/src/syntactic-analysis/indirect/visitors/CstVisitor.cjs +0 -553
  101. package/src/syntactic-analysis/indirect/visitors/CstVisitor.mjs +0 -547
  102. package/src/syntactic-analysis/indirect/visitors/YamlAstVisitor.cjs +0 -164
  103. package/src/syntactic-analysis/indirect/visitors/YamlAstVisitor.mjs +0 -158
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@speclynx/apidom-parser-adapter-yaml-1-2",
3
- "version": "1.12.1",
3
+ "version": "2.0.1",
4
4
  "description": "Parser adapter for parsing YAML documents into base namespace.",
5
5
  "publishConfig": {
6
6
  "access": "public",
@@ -28,9 +28,9 @@
28
28
  "typescript:check-types": "tsc --noEmit && tsc -p ./test/tsconfig.json --noEmit",
29
29
  "typescript:declaration": "tsc -p tsconfig.declaration.json && api-extractor run -l -c ./config/api-extractor/api-extractor.json",
30
30
  "test": "npm run build:es && cross-env BABEL_ENV=es babel test --out-dir test --extensions '.ts' --out-file-extension '.mjs' --root-mode 'upward' && cross-env NODE_ENV=test NODE_NO_WARNINGS=1 mocha",
31
- "perf": "cross-env BABEL_ENV=es babel ./test/perf/index.ts --out-file ./test/perf/index.mjs --root-mode 'upward' && cross-env NODE_ENV=test node ./test/perf/index.mjs",
31
+ "perf": "cross-env BABEL_ENV=es babel ./test/perf --out-dir ./test/perf --extensions '.ts' --out-file-extension '.mjs' --root-mode 'upward' && cross-env NODE_ENV=test node ./test/perf/index.mjs",
32
32
  "perf:lexical-analysis": "cross-env BABEL_ENV=es babel ./test/perf/lexical-analysis.ts --out-file ./test/perf/lexical-analysis.mjs --root-mode 'upward' && cross-env NODE_ENV=test node ./test/perf/lexical-analysis.mjs",
33
- "perf:parse-syntactic-analysis-indirect": "cross-env BABEL_ENV=es babel ./test/perf/parse-syntactic-analysis-indirect.ts --out-file ./test/perf/parse-syntactic-analysis-indirect.mjs --root-mode 'upward' && cross-env NODE_ENV=test node ./test/perf/parse-syntactic-analysis-indirect.mjs",
33
+ "perf:syntactic-analysis": "cross-env BABEL_ENV=es babel ./test/perf/syntactic-analysis.ts --out-file ./test/perf/syntactic-analysis.mjs --root-mode 'upward' && cross-env NODE_ENV=test node ./test/perf/syntactic-analysis.mjs",
34
34
  "prepack": "copyfiles -u 3 ../../LICENSES/* LICENSES && copyfiles -u 2 ../../NOTICE .",
35
35
  "postpack": "rimraf NOTICE LICENSES"
36
36
  },
@@ -42,13 +42,14 @@
42
42
  "license": "Apache-2.0",
43
43
  "dependencies": {
44
44
  "@babel/runtime-corejs3": "^7.28.4",
45
- "@speclynx/apidom-ast": "^1.12.1",
46
- "@speclynx/apidom-core": "^1.12.1",
47
- "@speclynx/apidom-error": "^1.12.1",
48
- "@types/ramda": "~0.30.0",
45
+ "@speclynx/apidom-core": "^2.0.1",
46
+ "@speclynx/apidom-datamodel": "^2.0.1",
47
+ "@speclynx/apidom-error": "^2.0.1",
49
48
  "ramda": "~0.32.0",
50
49
  "ramda-adjunct": "^6.0.0",
51
- "web-tree-sitter": "=0.25.10"
50
+ "unraw": "^3.0.0",
51
+ "web-tree-sitter": "=0.25.10",
52
+ "yaml": "^2.8.2"
52
53
  },
53
54
  "devDependencies": {
54
55
  "@tree-sitter-grammars/tree-sitter-yaml": "=0.7.1",
@@ -64,5 +65,5 @@
64
65
  "README.md",
65
66
  "CHANGELOG.md"
66
67
  ],
67
- "gitHead": "49be88493f922c4ace2e4ebc0f23387ccb62c4fc"
68
+ "gitHead": "6a9caf87f445f76ffd69afa760990ffa784bc82d"
68
69
  }
package/src/adapter.cjs CHANGED
@@ -1,13 +1,15 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime-corejs3/helpers/interopRequireWildcard").default;
4
5
  exports.__esModule = true;
5
- exports.parse = exports.namespace = exports.mediaTypes = exports.detect = void 0;
6
- var _apidomCore = require("@speclynx/apidom-core");
7
- var _index = _interopRequireDefault(require("./lexical-analysis/index.cjs"));
8
- exports.lexicalAnalysis = _index.default;
9
- var _index2 = _interopRequireDefault(require("./syntactic-analysis/indirect/index.cjs"));
10
- exports.syntacticAnalysis = _index2.default;
6
+ exports.syntacticAnalysis = exports.parse = exports.namespace = exports.mediaTypes = exports.lexicalAnalysis = exports.detect = void 0;
7
+ var _apidomDatamodel = require("@speclynx/apidom-datamodel");
8
+ var _apidomError = require("@speclynx/apidom-error");
9
+ var yaml = _interopRequireWildcard(require("./yaml/index.cjs"));
10
+ var treeSitter = _interopRequireWildcard(require("./tree-sitter/index.cjs"));
11
+ exports.lexicalAnalysis = treeSitter.lexicalAnalysis;
12
+ exports.syntacticAnalysis = treeSitter.syntacticAnalysis;
11
13
  var _mediaTypes = _interopRequireDefault(require("./media-types.cjs"));
12
14
  exports.mediaTypes = _mediaTypes.default;
13
15
  /**
@@ -17,18 +19,22 @@ exports.mediaTypes = _mediaTypes.default;
17
19
  /**
18
20
  * @public
19
21
  */
20
- const namespace = exports.namespace = (0, _apidomCore.createNamespace)();
22
+ const namespace = exports.namespace = new _apidomDatamodel.Namespace();
21
23
 
22
24
  /**
23
25
  * @public
24
26
  */
25
- const detect = async source => {
26
- try {
27
- const cst = await (0, _index.default)(source);
28
- return !cst.rootNode.isError;
29
- } catch {
30
- return false;
27
+
28
+ /**
29
+ * @public
30
+ */
31
+ const detect = async (source, {
32
+ strict = false
33
+ } = {}) => {
34
+ if (strict) {
35
+ return yaml.detect(source);
31
36
  }
37
+ return treeSitter.detect(source);
32
38
  };
33
39
 
34
40
  /**
@@ -43,10 +49,16 @@ exports.detect = detect;
43
49
  * @public
44
50
  */
45
51
  const parse = async (source, {
46
- sourceMap = false
52
+ sourceMap = false,
53
+ strict = false
47
54
  } = {}) => {
48
- const cst = await (0, _index.default)(source);
49
- return (0, _index2.default)(cst, {
55
+ if (strict && sourceMap) {
56
+ throw new _apidomError.ApiDOMError('Cannot use sourceMap with strict parsing. Strict parsing does not support source maps.');
57
+ }
58
+ if (strict) {
59
+ return yaml.parse(source);
60
+ }
61
+ return treeSitter.parse(source, {
50
62
  sourceMap
51
63
  });
52
64
  };
package/src/adapter.mjs CHANGED
@@ -1,8 +1,8 @@
1
- import { createNamespace } from '@speclynx/apidom-core';
2
- import lexicalAnalysis from "./lexical-analysis/index.mjs";
3
- import syntacticAnalysis from "./syntactic-analysis/indirect/index.mjs";
4
- export { lexicalAnalysis, syntacticAnalysis };
5
-
1
+ import { Namespace } from '@speclynx/apidom-datamodel';
2
+ import { ApiDOMError } from '@speclynx/apidom-error';
3
+ import * as yaml from "./yaml/index.mjs";
4
+ import * as treeSitter from "./tree-sitter/index.mjs";
5
+ export { lexicalAnalysis, syntacticAnalysis } from "./tree-sitter/index.mjs";
6
6
  /**
7
7
  * @public
8
8
  */
@@ -10,18 +10,22 @@ export { default as mediaTypes } from "./media-types.mjs";
10
10
  /**
11
11
  * @public
12
12
  */
13
- export const namespace = createNamespace();
13
+ export const namespace = new Namespace();
14
+
15
+ /**
16
+ * @public
17
+ */
14
18
 
15
19
  /**
16
20
  * @public
17
21
  */
18
- export const detect = async source => {
19
- try {
20
- const cst = await lexicalAnalysis(source);
21
- return !cst.rootNode.isError;
22
- } catch {
23
- return false;
22
+ export const detect = async (source, {
23
+ strict = false
24
+ } = {}) => {
25
+ if (strict) {
26
+ return yaml.detect(source);
24
27
  }
28
+ return treeSitter.detect(source);
25
29
  };
26
30
 
27
31
  /**
@@ -36,10 +40,16 @@ export const detect = async source => {
36
40
  * @public
37
41
  */
38
42
  export const parse = async (source, {
39
- sourceMap = false
43
+ sourceMap = false,
44
+ strict = false
40
45
  } = {}) => {
41
- const cst = await lexicalAnalysis(source);
42
- return syntacticAnalysis(cst, {
46
+ if (strict && sourceMap) {
47
+ throw new ApiDOMError('Cannot use sourceMap with strict parsing. Strict parsing does not support source maps.');
48
+ }
49
+ if (strict) {
50
+ return yaml.parse(source);
51
+ }
52
+ return treeSitter.parse(source, {
43
53
  sourceMap
44
54
  });
45
55
  };
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
+ exports.__esModule = true;
5
+ exports.parse = exports.detect = void 0;
6
+ var _index = _interopRequireDefault(require("./lexical-analysis/index.cjs"));
7
+ exports.lexicalAnalysis = _index.default;
8
+ var _index2 = _interopRequireDefault(require("./syntactic-analysis/index.cjs"));
9
+ exports.syntacticAnalysis = _index2.default;
10
+ /**
11
+ * @public
12
+ */
13
+ const detect = async source => {
14
+ let cst = null;
15
+ try {
16
+ cst = await (0, _index.default)(source);
17
+ return !cst.rootNode.isError;
18
+ } catch {
19
+ return false;
20
+ } finally {
21
+ cst?.delete();
22
+ }
23
+ };
24
+
25
+ /**
26
+ * @public
27
+ */
28
+ exports.detect = detect;
29
+ /**
30
+ * @public
31
+ */
32
+ const parse = async (source, {
33
+ sourceMap = false
34
+ } = {}) => {
35
+ const cst = await (0, _index.default)(source);
36
+ try {
37
+ return (0, _index2.default)(cst, {
38
+ sourceMap
39
+ });
40
+ } finally {
41
+ cst.delete();
42
+ }
43
+ };
44
+ exports.parse = parse;
@@ -0,0 +1,38 @@
1
+ import lexicalAnalysis from "./lexical-analysis/index.mjs";
2
+ import syntacticAnalysis from "./syntactic-analysis/index.mjs";
3
+ export { lexicalAnalysis, syntacticAnalysis };
4
+
5
+ /**
6
+ * @public
7
+ */
8
+ export const detect = async source => {
9
+ let cst = null;
10
+ try {
11
+ cst = await lexicalAnalysis(source);
12
+ return !cst.rootNode.isError;
13
+ } catch {
14
+ return false;
15
+ } finally {
16
+ cst?.delete();
17
+ }
18
+ };
19
+
20
+ /**
21
+ * @public
22
+ */
23
+
24
+ /**
25
+ * @public
26
+ */
27
+ export const parse = async (source, {
28
+ sourceMap = false
29
+ } = {}) => {
30
+ const cst = await lexicalAnalysis(source);
31
+ try {
32
+ return syntacticAnalysis(cst, {
33
+ sourceMap
34
+ });
35
+ } finally {
36
+ cst.delete();
37
+ }
38
+ };