@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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@swagger-api/apidom-parser-adapter-yaml-1-2",
3
- "version": "1.7.0",
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.7.0",
55
- "@swagger-api/apidom-core": "^1.7.0",
56
- "@swagger-api/apidom-error": "^1.7.0",
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": "56725b508a7d7e6f7ac90cc60adf57dbe73a3606"
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 = async source => {
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
- let parser = null;
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 = async source => {
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 _treeSitter = _interopRequireDefault(require("tree-sitter"));
7
- var _treeSitterYaml = _interopRequireDefault(require("@tree-sitter-grammars/tree-sitter-yaml"));
8
- const parser = new _treeSitter.default();
9
- parser.setLanguage(_treeSitterYaml.default);
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 TreeSitter.
13
- * This is Node.js version of TreeSitters Lexical Analysis.
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 = async source => {
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 Parser from 'tree-sitter';
2
- import YAMLLanguage from '@tree-sitter-grammars/tree-sitter-yaml';
3
- const parser = new Parser();
4
- parser.setLanguage(YAMLLanguage);
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 TreeSitter.
8
- * This is Node.js version of TreeSitters Lexical Analysis.
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 = async source => {
12
- return parser.parse(source);
13
- };
15
+ const analyze = createAnalyze(treeSitterYaml);
14
16
  export default analyze;
Binary file