@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.
Files changed (46) hide show
  1. package/dist/dts/FugueTree/FTree.d.ts +0 -1
  2. package/dist/dts/FugueTree/FTree.d.ts.map +1 -1
  3. package/dist/dts/FugueTree/FTree.js +3 -3
  4. package/dist/dts/FugueTree/FugueTree.d.ts +4 -1
  5. package/dist/dts/FugueTree/FugueTree.d.ts.map +1 -1
  6. package/dist/dts/FugueTree/FugueTree.js +9 -5
  7. package/dist/tests/unit/AST.test.d.ts +2 -0
  8. package/dist/tests/unit/AST.test.d.ts.map +1 -0
  9. package/dist/tests/unit/AST.test.js +111 -0
  10. package/dist/tests/unit/FTree.test.d.ts +2 -0
  11. package/dist/tests/unit/FTree.test.d.ts.map +1 -0
  12. package/dist/tests/unit/FTree.test.js +447 -0
  13. package/dist/tests/unit/FugueTree.test.d.ts.map +1 -0
  14. package/dist/tests/unit/FugueTree.test.js +416 -0
  15. package/dist/tests/unit/mocks/BragiAST-mocks.d.ts +2 -0
  16. package/dist/tests/unit/mocks/BragiAST-mocks.d.ts.map +1 -0
  17. package/dist/tests/unit/mocks/BragiAST-mocks.js +1 -0
  18. package/dist/tests/unit/mocks/FTree-mocks.d.ts +20 -0
  19. package/dist/tests/unit/mocks/FTree-mocks.d.ts.map +1 -0
  20. package/dist/tests/unit/mocks/FTree-mocks.js +36 -0
  21. package/dist/tests/unit/mocks/FugueTree-mocks.d.ts +24 -0
  22. package/dist/tests/unit/mocks/FugueTree-mocks.d.ts.map +1 -0
  23. package/dist/tests/unit/mocks/FugueTree-mocks.js +52 -0
  24. package/dist/tests/utils.d.ts +9 -0
  25. package/dist/tests/utils.d.ts.map +1 -0
  26. package/dist/tests/utils.js +47 -0
  27. package/dist/treesitter/index.d.ts +1 -0
  28. package/dist/treesitter/index.d.ts.map +1 -1
  29. package/dist/treesitter/index.js +1 -0
  30. package/dist/treesitter/utils.d.ts +9 -0
  31. package/dist/treesitter/utils.d.ts.map +1 -0
  32. package/dist/treesitter/utils.js +84 -0
  33. package/dist/types/Models/Schema.d.ts +1 -1
  34. package/dist/types/Models/Schema.js +1 -1
  35. package/dist/wasm/tree-sitter-latex.wasm +0 -0
  36. package/dist/wasm/web-tree-sitter.wasm +0 -0
  37. package/package.json +16 -4
  38. package/dist/tests/FugueList.test.d.ts +0 -2
  39. package/dist/tests/FugueList.test.d.ts.map +0 -1
  40. package/dist/tests/FugueList.test.js +0 -8
  41. package/dist/tests/FugueTree.test.d.ts.map +0 -1
  42. package/dist/tests/FugueTree.test.js +0 -8
  43. package/dist/tests/mocks.d.ts +0 -4
  44. package/dist/tests/mocks.d.ts.map +0 -1
  45. package/dist/tests/mocks.js +0 -4
  46. /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.ZodString;
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.string(),
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.34.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
- "prepublishOnly": "npm run build",
12
- "ci": "npm install && npm run build",
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,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=FugueList.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FugueList.test.d.ts","sourceRoot":"","sources":["../../src/tests/FugueList.test.ts"],"names":[],"mappings":""}
@@ -1,8 +0,0 @@
1
- import { emptyFugueList } from "./mocks.js";
2
- describe("Fugue List Tests", () => {
3
- describe("Given a Fugue list ", () => {
4
- test("Empty Fugue List has an empty string", () => {
5
- expect(emptyFugueList.observe()).toBe("");
6
- });
7
- });
8
- });
@@ -1 +0,0 @@
1
- {"version":3,"file":"FugueTree.test.d.ts","sourceRoot":"","sources":["../../src/tests/FugueTree.test.ts"],"names":[],"mappings":""}
@@ -1,8 +0,0 @@
1
- import { emptyFugueTree } from "./mocks.js";
2
- describe("Fugue Tree Tests", () => {
3
- describe("Given a Fugue tree ", () => {
4
- test("Empty Fugue treee has an empty string", () => {
5
- expect(emptyFugueTree.observe()).toBe("");
6
- });
7
- });
8
- });
@@ -1,4 +0,0 @@
1
- import { FugueList, FugueTree } from "../dts/index.js";
2
- export declare const emptyFugueList: FugueList<string>;
3
- export declare const emptyFugueTree: FugueTree;
4
- //# sourceMappingURL=mocks.d.ts.map
@@ -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"}
@@ -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");