@speclynx/apidom-parser-adapter-yaml-1-2 4.0.2 → 4.0.3

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 (133) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/package.json +6 -7
  3. package/src/adapter.cjs +66 -0
  4. package/src/adapter.mjs +56 -0
  5. package/src/adapter.ts +75 -0
  6. package/src/media-types.cjs +20 -0
  7. package/src/media-types.mjs +16 -0
  8. package/src/media-types.ts +17 -0
  9. package/src/tree-sitter/index.cjs +46 -0
  10. package/src/tree-sitter/index.mjs +40 -0
  11. package/src/tree-sitter/index.ts +46 -0
  12. package/src/tree-sitter/lexical-analysis/index.cjs +44 -0
  13. package/src/tree-sitter/lexical-analysis/index.mjs +40 -0
  14. package/src/tree-sitter/lexical-analysis/index.ts +49 -0
  15. package/src/tree-sitter/lexical-analysis/tree-sitter-yaml.wasm +0 -0
  16. package/src/tree-sitter/syntactic-analysis/CstTransformer.cjs +697 -0
  17. package/src/tree-sitter/syntactic-analysis/CstTransformer.mjs +690 -0
  18. package/src/tree-sitter/syntactic-analysis/CstTransformer.ts +840 -0
  19. package/src/tree-sitter/syntactic-analysis/YamlAstTransformer.cjs +483 -0
  20. package/src/tree-sitter/syntactic-analysis/YamlAstTransformer.mjs +475 -0
  21. package/src/tree-sitter/syntactic-analysis/YamlAstTransformer.ts +602 -0
  22. package/src/tree-sitter/syntactic-analysis/ast/Error.cjs +30 -0
  23. package/src/tree-sitter/syntactic-analysis/ast/Error.mjs +24 -0
  24. package/src/tree-sitter/syntactic-analysis/ast/Error.ts +29 -0
  25. package/src/tree-sitter/syntactic-analysis/ast/Literal.cjs +27 -0
  26. package/src/tree-sitter/syntactic-analysis/ast/Literal.mjs +21 -0
  27. package/src/tree-sitter/syntactic-analysis/ast/Literal.ts +25 -0
  28. package/src/tree-sitter/syntactic-analysis/ast/Node.cjs +60 -0
  29. package/src/tree-sitter/syntactic-analysis/ast/Node.mjs +56 -0
  30. package/src/tree-sitter/syntactic-analysis/ast/Node.ts +78 -0
  31. package/src/tree-sitter/syntactic-analysis/ast/ParseResult.cjs +17 -0
  32. package/src/tree-sitter/syntactic-analysis/ast/ParseResult.mjs +12 -0
  33. package/src/tree-sitter/syntactic-analysis/ast/ParseResult.ts +16 -0
  34. package/src/tree-sitter/syntactic-analysis/ast/anchors-aliases/ReferenceManager.cjs +23 -0
  35. package/src/tree-sitter/syntactic-analysis/ast/anchors-aliases/ReferenceManager.mjs +18 -0
  36. package/src/tree-sitter/syntactic-analysis/ast/anchors-aliases/ReferenceManager.ts +23 -0
  37. package/src/tree-sitter/syntactic-analysis/ast/errors/YamlError.cjs +10 -0
  38. package/src/tree-sitter/syntactic-analysis/ast/errors/YamlError.mjs +7 -0
  39. package/src/tree-sitter/syntactic-analysis/ast/errors/YamlError.ts +8 -0
  40. package/src/tree-sitter/syntactic-analysis/ast/errors/YamlSchemaError.cjs +11 -0
  41. package/src/tree-sitter/syntactic-analysis/ast/errors/YamlSchemaError.mjs +6 -0
  42. package/src/tree-sitter/syntactic-analysis/ast/errors/YamlSchemaError.ts +8 -0
  43. package/src/tree-sitter/syntactic-analysis/ast/errors/YamlTagError.cjs +43 -0
  44. package/src/tree-sitter/syntactic-analysis/ast/errors/YamlTagError.mjs +37 -0
  45. package/src/tree-sitter/syntactic-analysis/ast/errors/YamlTagError.ts +68 -0
  46. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlAlias.cjs +27 -0
  47. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlAlias.mjs +21 -0
  48. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlAlias.ts +25 -0
  49. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlAnchor.cjs +27 -0
  50. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlAnchor.mjs +21 -0
  51. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlAnchor.ts +25 -0
  52. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlCollection.cjs +11 -0
  53. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlCollection.mjs +6 -0
  54. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlCollection.ts +8 -0
  55. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlComment.cjs +27 -0
  56. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlComment.mjs +21 -0
  57. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlComment.ts +25 -0
  58. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlDirective.cjs +39 -0
  59. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlDirective.mjs +32 -0
  60. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlDirective.ts +47 -0
  61. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlDocument.cjs +13 -0
  62. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlDocument.mjs +8 -0
  63. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlDocument.ts +10 -0
  64. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlKeyValuePair.cjs +48 -0
  65. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlKeyValuePair.mjs +42 -0
  66. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlKeyValuePair.ts +52 -0
  67. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlMapping.cjs +20 -0
  68. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlMapping.mjs +15 -0
  69. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlMapping.ts +19 -0
  70. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlNode.cjs +37 -0
  71. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlNode.mjs +31 -0
  72. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlNode.ts +42 -0
  73. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlScalar.cjs +28 -0
  74. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlScalar.mjs +22 -0
  75. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlScalar.ts +27 -0
  76. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlSequence.cjs +23 -0
  77. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlSequence.mjs +18 -0
  78. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlSequence.ts +27 -0
  79. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlStream.cjs +20 -0
  80. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlStream.mjs +15 -0
  81. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlStream.ts +22 -0
  82. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlStyle.cjs +27 -0
  83. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlStyle.mjs +24 -0
  84. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlStyle.ts +22 -0
  85. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlTag.cjs +38 -0
  86. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlTag.mjs +35 -0
  87. package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlTag.ts +38 -0
  88. package/src/tree-sitter/syntactic-analysis/ast/nodes/predicates.cjs +26 -0
  89. package/src/tree-sitter/syntactic-analysis/ast/nodes/predicates.mjs +14 -0
  90. package/src/tree-sitter/syntactic-analysis/ast/nodes/predicates.ts +16 -0
  91. package/src/tree-sitter/syntactic-analysis/ast/schemas/ScalarTag.cjs +33 -0
  92. package/src/tree-sitter/syntactic-analysis/ast/schemas/ScalarTag.mjs +29 -0
  93. package/src/tree-sitter/syntactic-analysis/ast/schemas/ScalarTag.ts +42 -0
  94. package/src/tree-sitter/syntactic-analysis/ast/schemas/Tag.cjs +20 -0
  95. package/src/tree-sitter/syntactic-analysis/ast/schemas/Tag.mjs +16 -0
  96. package/src/tree-sitter/syntactic-analysis/ast/schemas/Tag.ts +20 -0
  97. package/src/tree-sitter/syntactic-analysis/ast/schemas/canonical-format.cjs +127 -0
  98. package/src/tree-sitter/syntactic-analysis/ast/schemas/canonical-format.mjs +122 -0
  99. package/src/tree-sitter/syntactic-analysis/ast/schemas/canonical-format.ts +185 -0
  100. package/src/tree-sitter/syntactic-analysis/ast/schemas/failsafe/GenericMapping.cjs +14 -0
  101. package/src/tree-sitter/syntactic-analysis/ast/schemas/failsafe/GenericMapping.mjs +9 -0
  102. package/src/tree-sitter/syntactic-analysis/ast/schemas/failsafe/GenericMapping.ts +12 -0
  103. package/src/tree-sitter/syntactic-analysis/ast/schemas/failsafe/GenericSequence.cjs +14 -0
  104. package/src/tree-sitter/syntactic-analysis/ast/schemas/failsafe/GenericSequence.mjs +9 -0
  105. package/src/tree-sitter/syntactic-analysis/ast/schemas/failsafe/GenericSequence.ts +12 -0
  106. package/src/tree-sitter/syntactic-analysis/ast/schemas/failsafe/GenericString.cjs +10 -0
  107. package/src/tree-sitter/syntactic-analysis/ast/schemas/failsafe/GenericString.mjs +5 -0
  108. package/src/tree-sitter/syntactic-analysis/ast/schemas/failsafe/GenericString.ts +7 -0
  109. package/src/tree-sitter/syntactic-analysis/ast/schemas/failsafe/index.cjs +116 -0
  110. package/src/tree-sitter/syntactic-analysis/ast/schemas/failsafe/index.mjs +111 -0
  111. package/src/tree-sitter/syntactic-analysis/ast/schemas/failsafe/index.ts +126 -0
  112. package/src/tree-sitter/syntactic-analysis/ast/schemas/json/Boolean.cjs +19 -0
  113. package/src/tree-sitter/syntactic-analysis/ast/schemas/json/Boolean.mjs +14 -0
  114. package/src/tree-sitter/syntactic-analysis/ast/schemas/json/Boolean.ts +20 -0
  115. package/src/tree-sitter/syntactic-analysis/ast/schemas/json/FloatingPoint.cjs +19 -0
  116. package/src/tree-sitter/syntactic-analysis/ast/schemas/json/FloatingPoint.mjs +14 -0
  117. package/src/tree-sitter/syntactic-analysis/ast/schemas/json/FloatingPoint.ts +20 -0
  118. package/src/tree-sitter/syntactic-analysis/ast/schemas/json/Integer.cjs +19 -0
  119. package/src/tree-sitter/syntactic-analysis/ast/schemas/json/Integer.mjs +14 -0
  120. package/src/tree-sitter/syntactic-analysis/ast/schemas/json/Integer.ts +20 -0
  121. package/src/tree-sitter/syntactic-analysis/ast/schemas/json/Null.cjs +18 -0
  122. package/src/tree-sitter/syntactic-analysis/ast/schemas/json/Null.mjs +13 -0
  123. package/src/tree-sitter/syntactic-analysis/ast/schemas/json/Null.ts +19 -0
  124. package/src/tree-sitter/syntactic-analysis/ast/schemas/json/index.cjs +43 -0
  125. package/src/tree-sitter/syntactic-analysis/ast/schemas/json/index.mjs +38 -0
  126. package/src/tree-sitter/syntactic-analysis/ast/schemas/json/index.ts +43 -0
  127. package/src/tree-sitter/syntactic-analysis/index.cjs +41 -0
  128. package/src/tree-sitter/syntactic-analysis/index.mjs +35 -0
  129. package/src/tree-sitter/syntactic-analysis/index.ts +36 -0
  130. package/src/wasm.d.ts +18 -0
  131. package/src/yaml/index.cjs +56 -0
  132. package/src/yaml/index.mjs +51 -0
  133. package/src/yaml/index.ts +53 -0
package/CHANGELOG.md CHANGED
@@ -3,6 +3,12 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [4.0.3](https://github.com/speclynx/apidom/compare/v4.0.2...v4.0.3) (2026-03-11)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **release:** fix v4.0.2 failed release ([b4dc1c4](https://github.com/speclynx/apidom/commit/b4dc1c48e8d9b2986a70e49b5554eb0a166d7528))
11
+
6
12
  ## [4.0.2](https://github.com/speclynx/apidom/compare/v4.0.1...v4.0.2) (2026-03-11)
7
13
 
8
14
  **Note:** Version bump only for package @speclynx/apidom-parser-adapter-yaml-1-2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@speclynx/apidom-parser-adapter-yaml-1-2",
3
- "version": "4.0.2",
3
+ "version": "4.0.3",
4
4
  "description": "Parser adapter for parsing YAML documents into base namespace.",
5
5
  "keywords": [
6
6
  "apidom",
@@ -58,9 +58,9 @@
58
58
  "license": "Apache-2.0",
59
59
  "dependencies": {
60
60
  "@babel/runtime-corejs3": "^7.28.4",
61
- "@speclynx/apidom-core": "4.0.2",
62
- "@speclynx/apidom-datamodel": "4.0.2",
63
- "@speclynx/apidom-error": "4.0.2",
61
+ "@speclynx/apidom-core": "4.0.3",
62
+ "@speclynx/apidom-datamodel": "4.0.3",
63
+ "@speclynx/apidom-error": "4.0.3",
64
64
  "ramda": "~0.32.0",
65
65
  "ramda-adjunct": "^6.0.0",
66
66
  "unraw": "^3.0.0",
@@ -71,8 +71,7 @@
71
71
  "@types/emscripten": "^1.41.2"
72
72
  },
73
73
  "files": [
74
- "src/**/*.mjs",
75
- "src/**/*.cjs",
74
+ "src/",
76
75
  "dist/",
77
76
  "types/apidom-parser-adapter-yaml-1-2.d.ts",
78
77
  "LICENSES",
@@ -80,5 +79,5 @@
80
79
  "README.md",
81
80
  "CHANGELOG.md"
82
81
  ],
83
- "gitHead": "af1b05d4d5e48a11a3a03cd5699324e0f1b62765"
82
+ "gitHead": "6ccfa09c02232516215e7de3ead276641957e626"
84
83
  }
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime-corejs3/helpers/interopRequireWildcard").default;
5
+ exports.__esModule = true;
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;
13
+ var _mediaTypes = _interopRequireDefault(require("./media-types.cjs"));
14
+ exports.mediaTypes = _mediaTypes.default;
15
+ /**
16
+ * @public
17
+ */
18
+
19
+ /**
20
+ * @public
21
+ */
22
+ const namespace = exports.namespace = new _apidomDatamodel.Namespace();
23
+
24
+ /**
25
+ * @public
26
+ */
27
+
28
+ /**
29
+ * @public
30
+ */
31
+ const detect = async (source, {
32
+ strict = false
33
+ } = {}) => {
34
+ if (strict) {
35
+ return yaml.detect(source);
36
+ }
37
+ return treeSitter.detect(source);
38
+ };
39
+
40
+ /**
41
+ * @public
42
+ */
43
+ exports.detect = detect;
44
+ /**
45
+ * @public
46
+ */
47
+ const parse = async (source, {
48
+ sourceMap = false,
49
+ style = false,
50
+ strict = false
51
+ } = {}) => {
52
+ if (strict && sourceMap) {
53
+ throw new _apidomError.UnsupportedOperationError('Cannot use sourceMap with strict parsing. Strict parsing does not support source maps.');
54
+ }
55
+ if (strict && style) {
56
+ throw new _apidomError.UnsupportedOperationError('Cannot use style with strict parsing. Strict parsing does not support style preservation.');
57
+ }
58
+ if (strict) {
59
+ return yaml.parse(source);
60
+ }
61
+ return treeSitter.parse(source, {
62
+ sourceMap,
63
+ style
64
+ });
65
+ };
66
+ exports.parse = parse;
@@ -0,0 +1,56 @@
1
+ import { Namespace } from '@speclynx/apidom-datamodel';
2
+ import { UnsupportedOperationError } 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
+ /**
7
+ * @public
8
+ */
9
+ export { default as mediaTypes } from "./media-types.mjs";
10
+ /**
11
+ * @public
12
+ */
13
+ export const namespace = new Namespace();
14
+
15
+ /**
16
+ * @public
17
+ */
18
+
19
+ /**
20
+ * @public
21
+ */
22
+ export const detect = async (source, {
23
+ strict = false
24
+ } = {}) => {
25
+ if (strict) {
26
+ return yaml.detect(source);
27
+ }
28
+ return treeSitter.detect(source);
29
+ };
30
+
31
+ /**
32
+ * @public
33
+ */
34
+
35
+ /**
36
+ * @public
37
+ */
38
+ export const parse = async (source, {
39
+ sourceMap = false,
40
+ style = false,
41
+ strict = false
42
+ } = {}) => {
43
+ if (strict && sourceMap) {
44
+ throw new UnsupportedOperationError('Cannot use sourceMap with strict parsing. Strict parsing does not support source maps.');
45
+ }
46
+ if (strict && style) {
47
+ throw new UnsupportedOperationError('Cannot use style with strict parsing. Strict parsing does not support style preservation.');
48
+ }
49
+ if (strict) {
50
+ return yaml.parse(source);
51
+ }
52
+ return treeSitter.parse(source, {
53
+ sourceMap,
54
+ style
55
+ });
56
+ };
package/src/adapter.ts ADDED
@@ -0,0 +1,75 @@
1
+ import { ParseResultElement, Namespace } from '@speclynx/apidom-datamodel';
2
+ import { UnsupportedOperationError } from '@speclynx/apidom-error';
3
+
4
+ import * as yaml from './yaml/index.ts';
5
+ import * as treeSitter from './tree-sitter/index.ts';
6
+
7
+ export type { YamlMediaTypes } from './media-types.ts';
8
+ export type { Tree } from './tree-sitter/index.ts';
9
+
10
+ export { lexicalAnalysis, syntacticAnalysis } from './tree-sitter/index.ts';
11
+
12
+ /**
13
+ * @public
14
+ */
15
+ export { default as mediaTypes } from './media-types.ts';
16
+
17
+ /**
18
+ * @public
19
+ */
20
+ export const namespace = new Namespace();
21
+
22
+ /**
23
+ * @public
24
+ */
25
+ export interface ParseDetectOptions {
26
+ strict?: boolean;
27
+ }
28
+
29
+ /**
30
+ * @public
31
+ */
32
+ export const detect = async (
33
+ source: string,
34
+ { strict = false }: ParseDetectOptions = {},
35
+ ): Promise<boolean> => {
36
+ if (strict) {
37
+ return yaml.detect(source);
38
+ }
39
+ return treeSitter.detect(source);
40
+ };
41
+
42
+ /**
43
+ * @public
44
+ */
45
+ export interface ParseOptions {
46
+ sourceMap?: boolean;
47
+ style?: boolean;
48
+ strict?: boolean;
49
+ }
50
+
51
+ /**
52
+ * @public
53
+ */
54
+ export const parse = async (
55
+ source: string,
56
+ { sourceMap = false, style = false, strict = false }: ParseOptions = {},
57
+ ): Promise<ParseResultElement> => {
58
+ if (strict && sourceMap) {
59
+ throw new UnsupportedOperationError(
60
+ 'Cannot use sourceMap with strict parsing. Strict parsing does not support source maps.',
61
+ );
62
+ }
63
+
64
+ if (strict && style) {
65
+ throw new UnsupportedOperationError(
66
+ 'Cannot use style with strict parsing. Strict parsing does not support style preservation.',
67
+ );
68
+ }
69
+
70
+ if (strict) {
71
+ return yaml.parse(source);
72
+ }
73
+
74
+ return treeSitter.parse(source, { sourceMap, style });
75
+ };
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = exports.YamlMediaTypes = void 0;
5
+ var _apidomCore = require("@speclynx/apidom-core");
6
+ /**
7
+ * @public
8
+ */
9
+ class YamlMediaTypes extends _apidomCore.MediaTypes {
10
+ latest() {
11
+ return this[1];
12
+ }
13
+ }
14
+
15
+ /**
16
+ * @public
17
+ */
18
+ exports.YamlMediaTypes = YamlMediaTypes;
19
+ const mediaTypes = new YamlMediaTypes('text/yaml', 'application/yaml');
20
+ var _default = exports.default = mediaTypes;
@@ -0,0 +1,16 @@
1
+ import { MediaTypes } from '@speclynx/apidom-core';
2
+
3
+ /**
4
+ * @public
5
+ */
6
+ export class YamlMediaTypes extends MediaTypes {
7
+ latest() {
8
+ return this[1];
9
+ }
10
+ }
11
+
12
+ /**
13
+ * @public
14
+ */
15
+ const mediaTypes = new YamlMediaTypes('text/yaml', 'application/yaml');
16
+ export default mediaTypes;
@@ -0,0 +1,17 @@
1
+ import { MediaTypes } from '@speclynx/apidom-core';
2
+
3
+ /**
4
+ * @public
5
+ */
6
+ export class YamlMediaTypes extends MediaTypes<string> {
7
+ latest() {
8
+ return this[1];
9
+ }
10
+ }
11
+
12
+ /**
13
+ * @public
14
+ */
15
+ const mediaTypes = new YamlMediaTypes('text/yaml', 'application/yaml');
16
+
17
+ export default mediaTypes;
@@ -0,0 +1,46 @@
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
+ style = false
35
+ } = {}) => {
36
+ const cst = await (0, _index.default)(source);
37
+ try {
38
+ return (0, _index2.default)(cst, {
39
+ sourceMap,
40
+ style
41
+ });
42
+ } finally {
43
+ cst.delete();
44
+ }
45
+ };
46
+ exports.parse = parse;
@@ -0,0 +1,40 @@
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
+ style = false
30
+ } = {}) => {
31
+ const cst = await lexicalAnalysis(source);
32
+ try {
33
+ return syntacticAnalysis(cst, {
34
+ sourceMap,
35
+ style
36
+ });
37
+ } finally {
38
+ cst.delete();
39
+ }
40
+ };
@@ -0,0 +1,46 @@
1
+ import { ParseResultElement } from '@speclynx/apidom-datamodel';
2
+ import type { Tree } from 'web-tree-sitter';
3
+
4
+ import lexicalAnalysis from './lexical-analysis/index.ts';
5
+ import syntacticAnalysis from './syntactic-analysis/index.ts';
6
+
7
+ export type { Tree };
8
+ export { lexicalAnalysis, syntacticAnalysis };
9
+
10
+ /**
11
+ * @public
12
+ */
13
+ export const detect = async (source: string): Promise<boolean> => {
14
+ let cst: Tree | null = null;
15
+ try {
16
+ cst = await lexicalAnalysis(source);
17
+ return !cst.rootNode.isError;
18
+ } catch {
19
+ return false;
20
+ } finally {
21
+ cst?.delete();
22
+ }
23
+ };
24
+
25
+ /**
26
+ * @public
27
+ */
28
+ export interface ParseOptions {
29
+ sourceMap?: boolean;
30
+ style?: boolean;
31
+ }
32
+
33
+ /**
34
+ * @public
35
+ */
36
+ export const parse = async (
37
+ source: string,
38
+ { sourceMap = false, style = false }: ParseOptions = {},
39
+ ): Promise<ParseResultElement> => {
40
+ const cst = await lexicalAnalysis(source);
41
+ try {
42
+ return syntacticAnalysis(cst, { sourceMap, style });
43
+ } finally {
44
+ cst.delete();
45
+ }
46
+ };