@xsrg2008/web-tree-sitter-cpp 0.1.0 → 0.1.2
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/index.browser.js +35 -0
- package/index.cjs +36 -0
- package/index.d.ts +5 -3
- package/index.js +26 -27
- package/package.json +20 -3
package/index.browser.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Parser, Language } from "web-tree-sitter";
|
|
2
|
+
|
|
3
|
+
function getDefaultWasmUrl() {
|
|
4
|
+
return new URL("./tree-sitter-cpp.wasm", import.meta.url).href;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
function normalizeBrowserInput(wasmLangFile) {
|
|
8
|
+
if (wasmLangFile == null) {
|
|
9
|
+
return getDefaultWasmUrl();
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
if (wasmLangFile instanceof URL) {
|
|
13
|
+
return wasmLangFile.href;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
if (wasmLangFile instanceof ArrayBuffer) {
|
|
17
|
+
return new Uint8Array(wasmLangFile);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
return wasmLangFile;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* @param {string | URL | Uint8Array | ArrayBuffer} [wasmLangFile]
|
|
25
|
+
* @returns {Promise<Parser>}
|
|
26
|
+
*/
|
|
27
|
+
async function getCppParser(wasmLangFile) {
|
|
28
|
+
await Parser.init();
|
|
29
|
+
const parser = new Parser();
|
|
30
|
+
const lang = await Language.load(normalizeBrowserInput(wasmLangFile));
|
|
31
|
+
parser.setLanguage(lang);
|
|
32
|
+
return parser;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export { getCppParser };
|
package/index.cjs
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
const { Parser, Language } = require("web-tree-sitter");
|
|
2
|
+
const fs = require("fs/promises");
|
|
3
|
+
const path = require("path");
|
|
4
|
+
|
|
5
|
+
function getDefaultWasmPath() {
|
|
6
|
+
return path.join(__dirname, "tree-sitter-cpp.wasm");
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @param {string | URL | Uint8Array | ArrayBuffer} [wasmLangFile]
|
|
11
|
+
* @returns {Promise<any>}
|
|
12
|
+
*/
|
|
13
|
+
async function getCppParser(wasmLangFile = getDefaultWasmPath()) {
|
|
14
|
+
await Parser.init();
|
|
15
|
+
const parser = new Parser();
|
|
16
|
+
const lang = await loadLanguage(wasmLangFile);
|
|
17
|
+
parser.setLanguage(lang);
|
|
18
|
+
return parser;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
async function loadLanguage(wasmLangFile) {
|
|
22
|
+
if (typeof wasmLangFile === "string" || wasmLangFile instanceof URL) {
|
|
23
|
+
const data = await fs.readFile(wasmLangFile);
|
|
24
|
+
return Language.load(data);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
if (wasmLangFile instanceof ArrayBuffer) {
|
|
28
|
+
return Language.load(new Uint8Array(wasmLangFile));
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return Language.load(wasmLangFile);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
module.exports = {
|
|
35
|
+
getCppParser,
|
|
36
|
+
};
|
package/index.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
export
|
|
1
|
+
import { Parser } from "web-tree-sitter";
|
|
2
|
+
export { Parser };
|
|
3
3
|
|
|
4
|
-
export
|
|
4
|
+
export type WasmInput = string | URL | Uint8Array | ArrayBuffer;
|
|
5
|
+
|
|
6
|
+
export declare function getCppParser(wasmLangFile?: WasmInput): Promise<Parser>;
|
package/index.js
CHANGED
|
@@ -1,34 +1,33 @@
|
|
|
1
|
-
import { Parser } from
|
|
2
|
-
import {
|
|
3
|
-
import fs from "fs";
|
|
1
|
+
import { Parser, Language } from "web-tree-sitter";
|
|
2
|
+
import { readFile } from "node:fs/promises";
|
|
4
3
|
|
|
5
|
-
function
|
|
6
|
-
|
|
7
|
-
return getParser(wasmPath);
|
|
4
|
+
function getDefaultWasmPath() {
|
|
5
|
+
return new URL("./tree-sitter-cpp.wasm", import.meta.url);
|
|
8
6
|
}
|
|
7
|
+
|
|
9
8
|
/**
|
|
10
|
-
* @param {string | URL} wasmLangFile
|
|
9
|
+
* @param {string | URL | Uint8Array | ArrayBuffer} [wasmLangFile]
|
|
11
10
|
* @returns {Promise<Parser>}
|
|
12
11
|
*/
|
|
13
|
-
async function
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
12
|
+
async function getCppParser(wasmLangFile = getDefaultWasmPath()) {
|
|
13
|
+
await Parser.init();
|
|
14
|
+
const parser = new Parser();
|
|
15
|
+
const lang = await loadLanguage(wasmLangFile);
|
|
16
|
+
parser.setLanguage(lang);
|
|
17
|
+
return parser;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
async function loadLanguage(wasmLangFile) {
|
|
21
|
+
if (typeof wasmLangFile === "string" || wasmLangFile instanceof URL) {
|
|
22
|
+
const data = await readFile(wasmLangFile);
|
|
23
|
+
return Language.load(data);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
if (wasmLangFile instanceof ArrayBuffer) {
|
|
27
|
+
return Language.load(new Uint8Array(wasmLangFile));
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return Language.load(wasmLangFile);
|
|
30
31
|
}
|
|
31
32
|
|
|
32
|
-
export {
|
|
33
|
-
getCppParser,
|
|
34
|
-
};
|
|
33
|
+
export { getCppParser };
|
package/package.json
CHANGED
|
@@ -1,14 +1,31 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xsrg2008/web-tree-sitter-cpp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "tree-sitter-cpp WASM",
|
|
5
|
-
"main": "index.
|
|
5
|
+
"main": "index.cjs",
|
|
6
6
|
"types": "index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./index.d.ts",
|
|
10
|
+
"browser": "./index.browser.js",
|
|
11
|
+
"node": {
|
|
12
|
+
"import": "./index.js",
|
|
13
|
+
"require": "./index.cjs"
|
|
14
|
+
},
|
|
15
|
+
"import": "./index.js",
|
|
16
|
+
"require": "./index.cjs",
|
|
17
|
+
"default": "./index.js"
|
|
18
|
+
},
|
|
19
|
+
"./tree-sitter-cpp.wasm": "./tree-sitter-cpp.wasm"
|
|
20
|
+
},
|
|
21
|
+
"browser": "./index.browser.js",
|
|
7
22
|
"scripts": {
|
|
8
23
|
"test": "echo \"Error: no test specified\" && exit 1"
|
|
9
24
|
},
|
|
10
25
|
"type": "module",
|
|
11
26
|
"files": [
|
|
27
|
+
"index.cjs",
|
|
28
|
+
"index.browser.js",
|
|
12
29
|
"index.js",
|
|
13
30
|
"index.d.ts",
|
|
14
31
|
"tree-sitter-cpp.wasm",
|
|
@@ -24,4 +41,4 @@
|
|
|
24
41
|
"dependencies": {
|
|
25
42
|
"web-tree-sitter": "^0.26.8"
|
|
26
43
|
}
|
|
27
|
-
}
|
|
44
|
+
}
|