@cr_docs_t/dts 0.34.0 → 0.35.1
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/dist/dts/FugueTree/FTree.d.ts +0 -1
- package/dist/dts/FugueTree/FTree.d.ts.map +1 -1
- package/dist/dts/FugueTree/FTree.js +3 -3
- package/dist/dts/FugueTree/FugueTree.d.ts +4 -1
- package/dist/dts/FugueTree/FugueTree.d.ts.map +1 -1
- package/dist/dts/FugueTree/FugueTree.js +9 -5
- package/dist/tests/unit/AST.test.d.ts +2 -0
- package/dist/tests/unit/AST.test.d.ts.map +1 -0
- package/dist/tests/unit/AST.test.js +111 -0
- package/dist/tests/unit/FTree.test.d.ts +2 -0
- package/dist/tests/unit/FTree.test.d.ts.map +1 -0
- package/dist/tests/unit/FTree.test.js +447 -0
- package/dist/tests/unit/FugueTree.test.d.ts.map +1 -0
- package/dist/tests/unit/FugueTree.test.js +416 -0
- package/dist/tests/unit/mocks/BragiAST-mocks.d.ts +2 -0
- package/dist/tests/unit/mocks/BragiAST-mocks.d.ts.map +1 -0
- package/dist/tests/unit/mocks/BragiAST-mocks.js +1 -0
- package/dist/tests/unit/mocks/FTree-mocks.d.ts +20 -0
- package/dist/tests/unit/mocks/FTree-mocks.d.ts.map +1 -0
- package/dist/tests/unit/mocks/FTree-mocks.js +36 -0
- package/dist/tests/unit/mocks/FugueTree-mocks.d.ts +24 -0
- package/dist/tests/unit/mocks/FugueTree-mocks.d.ts.map +1 -0
- package/dist/tests/unit/mocks/FugueTree-mocks.js +52 -0
- package/dist/tests/utils.d.ts +9 -0
- package/dist/tests/utils.d.ts.map +1 -0
- package/dist/tests/utils.js +47 -0
- package/dist/treesitter/index.d.ts +1 -0
- package/dist/treesitter/index.d.ts.map +1 -1
- package/dist/treesitter/index.js +1 -0
- package/dist/treesitter/utils.d.ts +9 -0
- package/dist/treesitter/utils.d.ts.map +1 -0
- package/dist/treesitter/utils.js +84 -0
- package/dist/types/Models/Schema.d.ts +1 -1
- package/dist/types/Models/Schema.js +1 -1
- package/dist/wasm/tree-sitter-latex.wasm +0 -0
- package/dist/wasm/web-tree-sitter.wasm +0 -0
- package/package.json +16 -4
- package/dist/tests/FugueList.test.d.ts +0 -2
- package/dist/tests/FugueList.test.d.ts.map +0 -1
- package/dist/tests/FugueList.test.js +0 -8
- package/dist/tests/FugueTree.test.d.ts.map +0 -1
- package/dist/tests/FugueTree.test.js +0 -8
- package/dist/tests/mocks.d.ts +0 -4
- package/dist/tests/mocks.d.ts.map +0 -1
- package/dist/tests/mocks.js +0 -4
- /package/dist/tests/{FugueTree.test.d.ts → unit/FugueTree.test.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/treesitter/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAElE,eAAO,MAAM,uBAAuB,GAAI,KAAK,QAAQ,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,SAYvF,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,KAAK,QAAQ,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,SAqBzF,CAAC;AAEF,eAAO,MAAM,4BAA4B,GAAI,KAAK,QAAQ,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,SAY5F,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,KAAK,QAAQ,KAAG,OAAO,EAI1D,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,KAAK,QAAQ,KAAG,OAAO,EAI5D,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,KAAK,QAAQ,KAAG,OAAO,EAI/D,CAAC;AAEF,eAAO,MAAM,4BAA4B,GAAc,KAAK,QAAQ,KAAG,gBAAgB,CAAC,OAAO,CAY9F,CAAC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { allChildIds } from "./types/index.js";
|
|
2
|
+
export const preoderAstTraversalFunc = (ast, callback) => {
|
|
3
|
+
const stack = [ast.nodes.get(ast.rootId)];
|
|
4
|
+
while (stack.length > 0) {
|
|
5
|
+
const node = stack.pop();
|
|
6
|
+
if (!node)
|
|
7
|
+
continue;
|
|
8
|
+
callback(node);
|
|
9
|
+
const children = allChildIds(ast, node);
|
|
10
|
+
for (let i = children.length - 1; i >= 0; i--) {
|
|
11
|
+
const childNode = ast.nodes.get(children[i]);
|
|
12
|
+
if (childNode)
|
|
13
|
+
stack.push(childNode);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
export const postorderAstTraversalFunc = (ast, callback) => {
|
|
18
|
+
const stack = [ast.nodes.get(ast.rootId)];
|
|
19
|
+
const visited = new Set();
|
|
20
|
+
while (stack.length > 0) {
|
|
21
|
+
const node = stack[stack.length - 1];
|
|
22
|
+
if (!node) {
|
|
23
|
+
stack.pop();
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
if (visited.has(node.id)) {
|
|
27
|
+
callback(node);
|
|
28
|
+
stack.pop();
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
visited.add(node.id);
|
|
32
|
+
const children = allChildIds(ast, node);
|
|
33
|
+
for (let i = children.length - 1; i >= 0; i--) {
|
|
34
|
+
const childNode = ast.nodes.get(children[i]);
|
|
35
|
+
if (childNode)
|
|
36
|
+
stack.push(childNode);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
export const breadthFirstAstTraversalFunc = (ast, callback) => {
|
|
41
|
+
const queue = [ast.nodes.get(ast.rootId)];
|
|
42
|
+
while (queue.length > 0) {
|
|
43
|
+
const node = queue.shift();
|
|
44
|
+
if (!node)
|
|
45
|
+
continue;
|
|
46
|
+
callback(node);
|
|
47
|
+
const children = allChildIds(ast, node);
|
|
48
|
+
for (const childId of children) {
|
|
49
|
+
const childNode = ast.nodes.get(childId);
|
|
50
|
+
if (childNode)
|
|
51
|
+
queue.push(childNode);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
export const preoderAstTraversal = (ast) => {
|
|
56
|
+
const result = [];
|
|
57
|
+
preoderAstTraversalFunc(ast, (node) => result.push(node));
|
|
58
|
+
return result;
|
|
59
|
+
};
|
|
60
|
+
export const postorderAstTraversal = (ast) => {
|
|
61
|
+
const result = [];
|
|
62
|
+
postorderAstTraversalFunc(ast, (node) => result.push(node));
|
|
63
|
+
return result;
|
|
64
|
+
};
|
|
65
|
+
export const breadthFirstAstTraversal = (ast) => {
|
|
66
|
+
const result = [];
|
|
67
|
+
breadthFirstAstTraversalFunc(ast, (node) => result.push(node));
|
|
68
|
+
return result;
|
|
69
|
+
};
|
|
70
|
+
export const preorderAstTraversalIterator = function* (ast) {
|
|
71
|
+
const stack = [ast.nodes.get(ast.rootId)];
|
|
72
|
+
while (stack.length > 0) {
|
|
73
|
+
const node = stack.pop();
|
|
74
|
+
if (!node)
|
|
75
|
+
continue;
|
|
76
|
+
yield node;
|
|
77
|
+
const children = allChildIds(ast, node);
|
|
78
|
+
for (let i = children.length - 1; i >= 0; i--) {
|
|
79
|
+
const childNode = ast.nodes.get(children[i]);
|
|
80
|
+
if (childNode)
|
|
81
|
+
stack.push(childNode);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
};
|
|
@@ -14,7 +14,7 @@ export declare const DocumentSchema: z.ZodObject<{
|
|
|
14
14
|
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
15
15
|
updatedAt: z.ZodOptional<z.ZodISODateTime>;
|
|
16
16
|
name: z.ZodString;
|
|
17
|
-
serializedCRDTState: z.
|
|
17
|
+
serializedCRDTState: z.ZodOptional<z.ZodCustom<Buffer<ArrayBufferLike>, Buffer<ArrayBufferLike>>>;
|
|
18
18
|
ownerId: z.ZodOptional<z.ZodString>;
|
|
19
19
|
contributors: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
20
20
|
contributorType: z.ZodEnum<typeof ContributorType>;
|
|
@@ -11,7 +11,7 @@ export const ContributorSchema = z.object({
|
|
|
11
11
|
});
|
|
12
12
|
export const DocumentSchema = IdentifiedSchema.extend({
|
|
13
13
|
name: z.string().min(1, "Name is required"),
|
|
14
|
-
serializedCRDTState: z.
|
|
14
|
+
serializedCRDTState: z.instanceof(Buffer).optional(),
|
|
15
15
|
ownerId: z.string().optional(),
|
|
16
16
|
contributors: z.array(ContributorSchema).default([]),
|
|
17
17
|
projectId: z.string().optional(),
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,17 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cr_docs_t/dts",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.35.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
8
8
|
"scripts": {
|
|
9
9
|
"build": "tsc",
|
|
10
|
+
"wasm": "cp -r ./src/wasm ./dist",
|
|
11
|
+
"postbuild": "npm run wasm",
|
|
10
12
|
"prebuild": "npm run gen-types",
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
+
"bench": "npm run exp && npm run table",
|
|
14
|
+
"exp": "tsx --expose-gc ./src/benchmarks/FugueTree/run.ts",
|
|
15
|
+
"table": "echo 'FugueTree results: \n\n' && node ./src/benchmarks/bin/render-table.js ./bench_results.json 6000 fugue-tree",
|
|
16
|
+
"prepublishOnly": "npm run test",
|
|
17
|
+
"test": "NODE_OPTIONS='--experimental-vm-modules --expose-gc' jest",
|
|
18
|
+
"test:ci": "NODE_OPTIONS=--experimental-vm-modules jest --ci --passWithNoTests",
|
|
19
|
+
"ci": "npm install --frozen-lockfile && npm run test:ci",
|
|
13
20
|
"pretest": "npm run build",
|
|
14
|
-
"test": "node --experimental-vm-modules node_modules/jest/bin/jest.js",
|
|
15
21
|
"gen-types": "tsx ./src/type-gen.ts && biome format --write ./src/treesitter/types/AST.ts"
|
|
16
22
|
},
|
|
17
23
|
"exports": {
|
|
@@ -64,13 +70,19 @@
|
|
|
64
70
|
"packageManager": "pnpm@10.20.0",
|
|
65
71
|
"devDependencies": {
|
|
66
72
|
"@biomejs/biome": "2.4.4",
|
|
73
|
+
"@jest/globals": "^30.3.0",
|
|
67
74
|
"@semantic-release/changelog": "^6.0.3",
|
|
68
75
|
"@semantic-release/git": "^10.0.1",
|
|
69
76
|
"@types/jest": "^30.0.0",
|
|
70
77
|
"@types/lz4js": "^0.2.2",
|
|
71
78
|
"@types/node": "^24.10.1",
|
|
72
79
|
"@types/pako": "^2.0.4",
|
|
80
|
+
"@types/seedrandom": "^3.0.8",
|
|
81
|
+
"isomorphic.js": "^0.2.5",
|
|
73
82
|
"jest": "^30.2.0",
|
|
83
|
+
"lib0": "^0.2.117",
|
|
84
|
+
"mathjs": "^15.1.1",
|
|
85
|
+
"seedrandom": "^3.0.5",
|
|
74
86
|
"semantic-release": "^25.0.2",
|
|
75
87
|
"ts-jest": "^29.4.6",
|
|
76
88
|
"tsx": "^4.21.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FugueList.test.d.ts","sourceRoot":"","sources":["../../src/tests/FugueList.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FugueTree.test.d.ts","sourceRoot":"","sources":["../../src/tests/FugueTree.test.ts"],"names":[],"mappings":""}
|
package/dist/tests/mocks.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mocks.d.ts","sourceRoot":"","sources":["../../src/tests/mocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAoB,MAAM,iBAAiB,CAAC;AAGzE,eAAO,MAAM,cAAc,mBAI1B,CAAC;AAEF,eAAO,MAAM,cAAc,WAA2E,CAAC"}
|
package/dist/tests/mocks.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { FugueList, FugueTree, StringTotalOrder } from "../dts/index.js";
|
|
2
|
-
import crypto from "crypto";
|
|
3
|
-
export const emptyFugueList = new FugueList(new StringTotalOrder(crypto.randomBytes(3).toString("hex")), null, crypto.randomBytes(24).toString("hex"));
|
|
4
|
-
export const emptyFugueTree = new FugueTree(null, crypto.randomBytes(24).toString("hex"), "test-tree");
|
|
File without changes
|