@speclynx/apidom-parser-adapter-yaml-1-2 1.12.2 → 2.1.0
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.
- package/CHANGELOG.md +24 -0
- package/NOTICE +16 -7
- package/README.md +34 -7
- package/dist/167.apidom-parser-adapter-yaml-1-2.browser.min.js +1 -1
- package/dist/451.apidom-parser-adapter-yaml-1-2.browser.min.js +1 -1
- package/dist/apidom-parser-adapter-yaml-1-2.browser.js +19340 -16731
- package/dist/apidom-parser-adapter-yaml-1-2.browser.min.js +1 -1
- package/package.json +10 -9
- package/src/adapter.cjs +28 -16
- package/src/adapter.mjs +25 -15
- package/src/tree-sitter/index.cjs +44 -0
- package/src/tree-sitter/index.mjs +38 -0
- package/src/{lexical-analysis → tree-sitter/lexical-analysis}/index.cjs +1 -1
- package/src/{lexical-analysis → tree-sitter/lexical-analysis}/index.mjs +1 -1
- package/src/tree-sitter/syntactic-analysis/CstTransformer.cjs +625 -0
- package/src/tree-sitter/syntactic-analysis/CstTransformer.mjs +618 -0
- package/src/tree-sitter/syntactic-analysis/YamlAstTransformer.cjs +271 -0
- package/src/tree-sitter/syntactic-analysis/YamlAstTransformer.mjs +263 -0
- package/src/tree-sitter/syntactic-analysis/ast/Error.cjs +30 -0
- package/src/tree-sitter/syntactic-analysis/ast/Error.mjs +24 -0
- package/src/tree-sitter/syntactic-analysis/ast/Literal.cjs +27 -0
- package/src/tree-sitter/syntactic-analysis/ast/Literal.mjs +21 -0
- package/src/tree-sitter/syntactic-analysis/ast/Node.cjs +60 -0
- package/src/tree-sitter/syntactic-analysis/ast/Node.mjs +56 -0
- package/src/tree-sitter/syntactic-analysis/ast/ParseResult.cjs +17 -0
- package/src/tree-sitter/syntactic-analysis/ast/ParseResult.mjs +12 -0
- package/src/tree-sitter/syntactic-analysis/ast/anchors-aliases/ReferenceManager.cjs +23 -0
- package/src/tree-sitter/syntactic-analysis/ast/anchors-aliases/ReferenceManager.mjs +18 -0
- package/src/tree-sitter/syntactic-analysis/ast/errors/YamlError.cjs +10 -0
- package/src/tree-sitter/syntactic-analysis/ast/errors/YamlError.mjs +7 -0
- package/src/tree-sitter/syntactic-analysis/ast/errors/YamlSchemaError.cjs +11 -0
- package/src/tree-sitter/syntactic-analysis/ast/errors/YamlSchemaError.mjs +6 -0
- package/src/tree-sitter/syntactic-analysis/ast/errors/YamlTagError.cjs +43 -0
- package/src/tree-sitter/syntactic-analysis/ast/errors/YamlTagError.mjs +37 -0
- package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlAlias.cjs +27 -0
- package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlAlias.mjs +21 -0
- package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlAnchor.cjs +27 -0
- package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlAnchor.mjs +21 -0
- package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlCollection.cjs +11 -0
- package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlCollection.mjs +6 -0
- package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlComment.cjs +27 -0
- package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlComment.mjs +21 -0
- package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlDirective.cjs +39 -0
- package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlDirective.mjs +32 -0
- package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlDocument.cjs +13 -0
- package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlDocument.mjs +8 -0
- package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlKeyValuePair.cjs +48 -0
- package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlKeyValuePair.mjs +42 -0
- package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlMapping.cjs +20 -0
- package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlMapping.mjs +15 -0
- package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlNode.cjs +35 -0
- package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlNode.mjs +29 -0
- package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlScalar.cjs +27 -0
- package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlScalar.mjs +21 -0
- package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlSequence.cjs +23 -0
- package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlSequence.mjs +18 -0
- package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlStream.cjs +20 -0
- package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlStream.mjs +15 -0
- package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlStyle.cjs +27 -0
- package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlStyle.mjs +24 -0
- package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlTag.cjs +38 -0
- package/src/tree-sitter/syntactic-analysis/ast/nodes/YamlTag.mjs +35 -0
- package/src/tree-sitter/syntactic-analysis/ast/nodes/predicates.cjs +26 -0
- package/src/tree-sitter/syntactic-analysis/ast/nodes/predicates.mjs +14 -0
- package/src/tree-sitter/syntactic-analysis/ast/schemas/ScalarTag.cjs +33 -0
- package/src/tree-sitter/syntactic-analysis/ast/schemas/ScalarTag.mjs +29 -0
- package/src/tree-sitter/syntactic-analysis/ast/schemas/Tag.cjs +20 -0
- package/src/tree-sitter/syntactic-analysis/ast/schemas/Tag.mjs +16 -0
- package/src/tree-sitter/syntactic-analysis/ast/schemas/canonical-format.cjs +127 -0
- package/src/tree-sitter/syntactic-analysis/ast/schemas/canonical-format.mjs +122 -0
- package/src/tree-sitter/syntactic-analysis/ast/schemas/failsafe/GenericMapping.cjs +14 -0
- package/src/tree-sitter/syntactic-analysis/ast/schemas/failsafe/GenericMapping.mjs +9 -0
- package/src/tree-sitter/syntactic-analysis/ast/schemas/failsafe/GenericSequence.cjs +14 -0
- package/src/tree-sitter/syntactic-analysis/ast/schemas/failsafe/GenericSequence.mjs +9 -0
- package/src/tree-sitter/syntactic-analysis/ast/schemas/failsafe/GenericString.cjs +10 -0
- package/src/tree-sitter/syntactic-analysis/ast/schemas/failsafe/GenericString.mjs +5 -0
- package/src/tree-sitter/syntactic-analysis/ast/schemas/failsafe/index.cjs +116 -0
- package/src/tree-sitter/syntactic-analysis/ast/schemas/failsafe/index.mjs +111 -0
- package/src/tree-sitter/syntactic-analysis/ast/schemas/json/Boolean.cjs +19 -0
- package/src/tree-sitter/syntactic-analysis/ast/schemas/json/Boolean.mjs +14 -0
- package/src/tree-sitter/syntactic-analysis/ast/schemas/json/FloatingPoint.cjs +19 -0
- package/src/tree-sitter/syntactic-analysis/ast/schemas/json/FloatingPoint.mjs +14 -0
- package/src/tree-sitter/syntactic-analysis/ast/schemas/json/Integer.cjs +19 -0
- package/src/tree-sitter/syntactic-analysis/ast/schemas/json/Integer.mjs +14 -0
- package/src/tree-sitter/syntactic-analysis/ast/schemas/json/Null.cjs +18 -0
- package/src/tree-sitter/syntactic-analysis/ast/schemas/json/Null.mjs +13 -0
- package/src/tree-sitter/syntactic-analysis/ast/schemas/json/index.cjs +43 -0
- package/src/tree-sitter/syntactic-analysis/ast/schemas/json/index.mjs +38 -0
- package/src/tree-sitter/syntactic-analysis/index.cjs +39 -0
- package/src/tree-sitter/syntactic-analysis/index.mjs +33 -0
- package/src/yaml/index.cjs +31 -0
- package/src/yaml/index.mjs +26 -0
- package/types/apidom-parser-adapter-yaml-1-2.d.ts +11 -3
- package/src/syntactic-analysis/TreeCursorIterator.cjs +0 -93
- package/src/syntactic-analysis/TreeCursorIterator.mjs +0 -88
- package/src/syntactic-analysis/TreeCursorSyntaxNode.cjs +0 -80
- package/src/syntactic-analysis/TreeCursorSyntaxNode.mjs +0 -76
- package/src/syntactic-analysis/indirect/index.cjs +0 -51
- package/src/syntactic-analysis/indirect/index.mjs +0 -44
- package/src/syntactic-analysis/indirect/visitors/CstVisitor.cjs +0 -553
- package/src/syntactic-analysis/indirect/visitors/CstVisitor.mjs +0 -547
- package/src/syntactic-analysis/indirect/visitors/YamlAstVisitor.cjs +0 -164
- 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.
|
|
3
|
+
"version": "2.1.0",
|
|
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
|
|
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:
|
|
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-
|
|
46
|
-
"@speclynx/apidom-
|
|
47
|
-
"@speclynx/apidom-error": "^1.
|
|
48
|
-
"@types/ramda": "~0.30.0",
|
|
45
|
+
"@speclynx/apidom-core": "^2.1.0",
|
|
46
|
+
"@speclynx/apidom-datamodel": "^2.1.0",
|
|
47
|
+
"@speclynx/apidom-error": "^2.1.0",
|
|
49
48
|
"ramda": "~0.32.0",
|
|
50
49
|
"ramda-adjunct": "^6.0.0",
|
|
51
|
-
"
|
|
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": "
|
|
68
|
+
"gitHead": "dd02cfbbe82b0a31c6e7c444cec140e740e1c6e9"
|
|
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
|
|
7
|
-
var
|
|
8
|
-
|
|
9
|
-
var
|
|
10
|
-
exports.
|
|
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 =
|
|
22
|
+
const namespace = exports.namespace = new _apidomDatamodel.Namespace();
|
|
21
23
|
|
|
22
24
|
/**
|
|
23
25
|
* @public
|
|
24
26
|
*/
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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
|
-
|
|
49
|
-
|
|
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 {
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
|
|
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 =
|
|
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
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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
|
-
|
|
42
|
-
|
|
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
|
+
};
|