@swagger-api/apidom-parser-adapter-yaml-1-2 1.7.0 → 1.9.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 +12 -0
- package/dist/{9341421b411b868e3994f2d852da162b.wasm → 77eb67fad227c765659b848dfcc82388.wasm} +0 -0
- package/dist/apidom-parser-adapter-yaml-1-2.browser.js +12 -6
- package/dist/apidom-parser-adapter-yaml-1-2.browser.min.js +1 -1
- package/package.json +5 -5
- package/src/lexical-analysis/analyze.cjs +37 -0
- package/src/lexical-analysis/analyze.mjs +32 -0
- package/src/lexical-analysis/browser.cjs +2 -28
- package/src/lexical-analysis/browser.mjs +3 -31
- package/src/lexical-analysis/node.cjs +11 -9
- package/src/lexical-analysis/node.mjs +11 -9
- package/wasm/tree-sitter-yaml.wasm +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@swagger-api/apidom-parser-adapter-yaml-1-2",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.9.0",
|
|
4
4
|
"description": "Parser adapter for parsing YAML documents into base namespace.",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public",
|
|
@@ -51,9 +51,9 @@
|
|
|
51
51
|
"license": "Apache-2.0",
|
|
52
52
|
"dependencies": {
|
|
53
53
|
"@babel/runtime-corejs3": "^7.26.10",
|
|
54
|
-
"@swagger-api/apidom-ast": "^1.
|
|
55
|
-
"@swagger-api/apidom-core": "^1.
|
|
56
|
-
"@swagger-api/apidom-error": "^1.
|
|
54
|
+
"@swagger-api/apidom-ast": "^1.9.0",
|
|
55
|
+
"@swagger-api/apidom-core": "^1.9.0",
|
|
56
|
+
"@swagger-api/apidom-error": "^1.9.0",
|
|
57
57
|
"@tree-sitter-grammars/tree-sitter-yaml": "=0.7.1",
|
|
58
58
|
"@types/ramda": "~0.30.0",
|
|
59
59
|
"ramda": "~0.30.0",
|
|
@@ -75,5 +75,5 @@
|
|
|
75
75
|
"README.md",
|
|
76
76
|
"CHANGELOG.md"
|
|
77
77
|
],
|
|
78
|
-
"gitHead": "
|
|
78
|
+
"gitHead": "25c005d35205319822eef5ce48cfef2081da7cc3"
|
|
79
79
|
}
|
|
@@ -0,0 +1,37 @@
|
|
|
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 _webTreeSitter = _interopRequireDefault(require("web-tree-sitter"));
|
|
7
|
+
var _apidomError = require("@swagger-api/apidom-error");
|
|
8
|
+
let parser = null;
|
|
9
|
+
let parserInitLock = null;
|
|
10
|
+
let currentTree = null;
|
|
11
|
+
const createAnalyze = treeSitterYaml => async source => {
|
|
12
|
+
if (parser === null && parserInitLock === null) {
|
|
13
|
+
// acquire lock
|
|
14
|
+
parserInitLock = _webTreeSitter.default.init().then(() => _webTreeSitter.default.Language.load(treeSitterYaml)).then(yamlLanguage => {
|
|
15
|
+
const parserInstance = new _webTreeSitter.default();
|
|
16
|
+
parserInstance.setLanguage(yamlLanguage);
|
|
17
|
+
return parserInstance;
|
|
18
|
+
}).finally(() => {
|
|
19
|
+
// release lock
|
|
20
|
+
parserInitLock = null;
|
|
21
|
+
});
|
|
22
|
+
parser = await parserInitLock;
|
|
23
|
+
} else if (parser === null && parserInitLock !== null) {
|
|
24
|
+
// await for lock to be released if there is one
|
|
25
|
+
parser = await parserInitLock;
|
|
26
|
+
}
|
|
27
|
+
if (parser === null) {
|
|
28
|
+
throw new _apidomError.ApiDOMError('Error while initializing web-tree-sitter and loading tree-sitter-yaml grammar.');
|
|
29
|
+
}
|
|
30
|
+
if (currentTree !== null) {
|
|
31
|
+
currentTree.delete();
|
|
32
|
+
}
|
|
33
|
+
currentTree = parser.parse(source);
|
|
34
|
+
parser.reset();
|
|
35
|
+
return currentTree;
|
|
36
|
+
};
|
|
37
|
+
var _default = exports.default = createAnalyze;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import Parser from 'web-tree-sitter';
|
|
2
|
+
import { ApiDOMError } from '@swagger-api/apidom-error';
|
|
3
|
+
let parser = null;
|
|
4
|
+
let parserInitLock = null;
|
|
5
|
+
let currentTree = null;
|
|
6
|
+
const createAnalyze = treeSitterYaml => async source => {
|
|
7
|
+
if (parser === null && parserInitLock === null) {
|
|
8
|
+
// acquire lock
|
|
9
|
+
parserInitLock = Parser.init().then(() => Parser.Language.load(treeSitterYaml)).then(yamlLanguage => {
|
|
10
|
+
const parserInstance = new Parser();
|
|
11
|
+
parserInstance.setLanguage(yamlLanguage);
|
|
12
|
+
return parserInstance;
|
|
13
|
+
}).finally(() => {
|
|
14
|
+
// release lock
|
|
15
|
+
parserInitLock = null;
|
|
16
|
+
});
|
|
17
|
+
parser = await parserInitLock;
|
|
18
|
+
} else if (parser === null && parserInitLock !== null) {
|
|
19
|
+
// await for lock to be released if there is one
|
|
20
|
+
parser = await parserInitLock;
|
|
21
|
+
}
|
|
22
|
+
if (parser === null) {
|
|
23
|
+
throw new ApiDOMError('Error while initializing web-tree-sitter and loading tree-sitter-yaml grammar.');
|
|
24
|
+
}
|
|
25
|
+
if (currentTree !== null) {
|
|
26
|
+
currentTree.delete();
|
|
27
|
+
}
|
|
28
|
+
currentTree = parser.parse(source);
|
|
29
|
+
parser.reset();
|
|
30
|
+
return currentTree;
|
|
31
|
+
};
|
|
32
|
+
export default createAnalyze;
|
|
@@ -4,15 +4,10 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
|
|
|
4
4
|
exports.__esModule = true;
|
|
5
5
|
exports.default = void 0;
|
|
6
6
|
require("./browser-patch.cjs");
|
|
7
|
-
var _webTreeSitter = _interopRequireDefault(require("web-tree-sitter"));
|
|
8
|
-
var _apidomError = require("@swagger-api/apidom-error");
|
|
9
7
|
var _treeSitterYaml = _interopRequireDefault(require("../../wasm/tree-sitter-yaml.wasm"));
|
|
8
|
+
var _analyze = _interopRequireDefault(require("./analyze.cjs"));
|
|
10
9
|
// @ts-ignore
|
|
11
10
|
|
|
12
|
-
let parser = null;
|
|
13
|
-
let parserInitLock = null;
|
|
14
|
-
let currentTree = null;
|
|
15
|
-
|
|
16
11
|
/**
|
|
17
12
|
* Lexical Analysis of source string using WebTreeSitter.
|
|
18
13
|
* This is WebAssembly version of TreeSitters Lexical Analysis.
|
|
@@ -21,26 +16,5 @@ let currentTree = null;
|
|
|
21
16
|
* code should be as lazy as possible and temporal safety should be fine.
|
|
22
17
|
* @public
|
|
23
18
|
*/
|
|
24
|
-
const analyze =
|
|
25
|
-
if (parser === null && parserInitLock === null) {
|
|
26
|
-
// acquire lock
|
|
27
|
-
parserInitLock = _webTreeSitter.default.init().then(() => _webTreeSitter.default.Language.load(_treeSitterYaml.default)).then(jsonLanguage => {
|
|
28
|
-
const parserInstance = new _webTreeSitter.default();
|
|
29
|
-
parserInstance.setLanguage(jsonLanguage);
|
|
30
|
-
return parserInstance;
|
|
31
|
-
}).finally(() => {
|
|
32
|
-
// release lock
|
|
33
|
-
parserInitLock = null;
|
|
34
|
-
});
|
|
35
|
-
parser = await parserInitLock;
|
|
36
|
-
} else if (parser === null && parserInitLock !== null) {
|
|
37
|
-
// await for lock to be released if there is one
|
|
38
|
-
parser = await parserInitLock;
|
|
39
|
-
} else if (parser === null) {
|
|
40
|
-
throw new _apidomError.ApiDOMError('Error while initializing web-tree-sitter and loading tree-sitter-yaml grammar.');
|
|
41
|
-
}
|
|
42
|
-
currentTree = parser.parse(source);
|
|
43
|
-
parser.reset();
|
|
44
|
-
return currentTree;
|
|
45
|
-
};
|
|
19
|
+
const analyze = (0, _analyze.default)(_treeSitterYaml.default);
|
|
46
20
|
var _default = exports.default = analyze;
|
|
@@ -1,13 +1,6 @@
|
|
|
1
|
-
import "./browser-patch.mjs";
|
|
2
|
-
import Parser from 'web-tree-sitter';
|
|
3
|
-
import { ApiDOMError } from '@swagger-api/apidom-error';
|
|
4
|
-
|
|
5
|
-
// @ts-ignore
|
|
1
|
+
import "./browser-patch.mjs"; // @ts-ignore
|
|
6
2
|
import treeSitterYaml from '../../wasm/tree-sitter-yaml.wasm';
|
|
7
|
-
|
|
8
|
-
let parserInitLock = null;
|
|
9
|
-
let currentTree = null;
|
|
10
|
-
|
|
3
|
+
import createAnalyze from "./analyze.mjs";
|
|
11
4
|
/**
|
|
12
5
|
* Lexical Analysis of source string using WebTreeSitter.
|
|
13
6
|
* This is WebAssembly version of TreeSitters Lexical Analysis.
|
|
@@ -16,26 +9,5 @@ let currentTree = null;
|
|
|
16
9
|
* code should be as lazy as possible and temporal safety should be fine.
|
|
17
10
|
* @public
|
|
18
11
|
*/
|
|
19
|
-
const analyze =
|
|
20
|
-
if (parser === null && parserInitLock === null) {
|
|
21
|
-
// acquire lock
|
|
22
|
-
parserInitLock = Parser.init().then(() => Parser.Language.load(treeSitterYaml)).then(jsonLanguage => {
|
|
23
|
-
const parserInstance = new Parser();
|
|
24
|
-
parserInstance.setLanguage(jsonLanguage);
|
|
25
|
-
return parserInstance;
|
|
26
|
-
}).finally(() => {
|
|
27
|
-
// release lock
|
|
28
|
-
parserInitLock = null;
|
|
29
|
-
});
|
|
30
|
-
parser = await parserInitLock;
|
|
31
|
-
} else if (parser === null && parserInitLock !== null) {
|
|
32
|
-
// await for lock to be released if there is one
|
|
33
|
-
parser = await parserInitLock;
|
|
34
|
-
} else if (parser === null) {
|
|
35
|
-
throw new ApiDOMError('Error while initializing web-tree-sitter and loading tree-sitter-yaml grammar.');
|
|
36
|
-
}
|
|
37
|
-
currentTree = parser.parse(source);
|
|
38
|
-
parser.reset();
|
|
39
|
-
return currentTree;
|
|
40
|
-
};
|
|
12
|
+
const analyze = createAnalyze(treeSitterYaml);
|
|
41
13
|
export default analyze;
|
|
@@ -3,17 +3,19 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
4
|
exports.__esModule = true;
|
|
5
5
|
exports.default = void 0;
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
var _nodeFs = _interopRequireDefault(require("node:fs"));
|
|
7
|
+
var _nodeUrl = require("node:url");
|
|
8
|
+
var _analyze = _interopRequireDefault(require("./analyze.cjs"));
|
|
9
|
+
const treeSitterYamlPath = (0, _nodeUrl.fileURLToPath)(new URL('../../wasm/tree-sitter-yaml.wasm', require('url').pathToFileURL(__filename).toString()));
|
|
10
|
+
const treeSitterYaml = _nodeFs.default.readFileSync(treeSitterYamlPath);
|
|
10
11
|
|
|
11
12
|
/**
|
|
12
|
-
* Lexical Analysis of source string using
|
|
13
|
-
* This is
|
|
13
|
+
* Lexical Analysis of source string using WebTreeSitter.
|
|
14
|
+
* This is WebAssembly version of TreeSitters Lexical Analysis.
|
|
15
|
+
*
|
|
16
|
+
* Given JavaScript doesn't support true parallelism, this
|
|
17
|
+
* code should be as lazy as possible and temporal safety should be fine.
|
|
14
18
|
* @public
|
|
15
19
|
*/
|
|
16
|
-
const analyze =
|
|
17
|
-
return parser.parse(source);
|
|
18
|
-
};
|
|
20
|
+
const analyze = (0, _analyze.default)(treeSitterYaml);
|
|
19
21
|
var _default = exports.default = analyze;
|
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import { fileURLToPath } from 'node:url';
|
|
3
|
+
import createAnalyze from "./analyze.mjs";
|
|
4
|
+
const treeSitterYamlPath = fileURLToPath(new URL('../../wasm/tree-sitter-yaml.wasm', import.meta.url));
|
|
5
|
+
const treeSitterYaml = fs.readFileSync(treeSitterYamlPath);
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
|
-
* Lexical Analysis of source string using
|
|
8
|
-
* This is
|
|
8
|
+
* Lexical Analysis of source string using WebTreeSitter.
|
|
9
|
+
* This is WebAssembly version of TreeSitters Lexical Analysis.
|
|
10
|
+
*
|
|
11
|
+
* Given JavaScript doesn't support true parallelism, this
|
|
12
|
+
* code should be as lazy as possible and temporal safety should be fine.
|
|
9
13
|
* @public
|
|
10
14
|
*/
|
|
11
|
-
const analyze =
|
|
12
|
-
return parser.parse(source);
|
|
13
|
-
};
|
|
15
|
+
const analyze = createAnalyze(treeSitterYaml);
|
|
14
16
|
export default analyze;
|
|
Binary file
|