dirvi-lib 0.11.0-beta.1 → 0.11.0-beta.13

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 (164) hide show
  1. package/dist/app/app-methods.d.ts +53 -0
  2. package/dist/app/app-methods.d.ts.map +1 -0
  3. package/dist/app/index.d.ts +1 -1
  4. package/dist/app/index.d.ts.map +1 -1
  5. package/dist/app/index.js +1 -1
  6. package/dist/app/reducer/effect-to-action.d.ts +2 -2
  7. package/dist/app/reducer/effect-to-action.d.ts.map +1 -1
  8. package/dist/app/reducer/effect-to-action.js +87 -32
  9. package/dist/app/reducer/reducer-action.d.ts +12 -6
  10. package/dist/app/reducer/reducer-action.d.ts.map +1 -1
  11. package/dist/app/reducer/reducer.d.ts +4 -2
  12. package/dist/app/reducer/reducer.d.ts.map +1 -1
  13. package/dist/app/reducer/reducer.js +106 -72
  14. package/dist/feedback/feedback.impl.d.ts.map +1 -1
  15. package/dist/feedback/feedback.types.d.ts +1 -1
  16. package/dist/feedback/feedback.types.d.ts.map +1 -1
  17. package/dist/index.d.ts +1 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +1 -1
  20. package/dist/input/application/intent-to-effect.d.ts +2 -2
  21. package/dist/input/application/intent-to-effect.d.ts.map +1 -1
  22. package/dist/input/application/intent-to-effect.js +10 -11
  23. package/dist/input/application/parse-ex-command.d.ts +17 -0
  24. package/dist/input/application/parse-ex-command.d.ts.map +1 -0
  25. package/dist/input/application/{parse-command.js → parse-ex-command.js} +84 -54
  26. package/dist/input/application/parse-normal-command.d.ts +1 -1
  27. package/dist/input/application/parse-normal-command.d.ts.map +1 -1
  28. package/dist/input/domain/effect.d.ts +20 -9
  29. package/dist/input/domain/effect.d.ts.map +1 -1
  30. package/dist/state-and-nav/cursor.d.ts +89 -0
  31. package/dist/state-and-nav/cursor.d.ts.map +1 -0
  32. package/dist/state-and-nav/cursor.js +84 -0
  33. package/dist/{trees → state-and-nav}/fold-node/deprecated/fold-node.impl.d.ts +1 -1
  34. package/dist/state-and-nav/fold-node/deprecated/fold-node.impl.d.ts.map +1 -0
  35. package/dist/state-and-nav/fold-node/deprecated/fold-node.test.d.ts.map +1 -0
  36. package/dist/{trees → state-and-nav}/fold-node/deprecated/fold-node.test.js +2 -2
  37. package/dist/{trees → state-and-nav}/fold-node/deprecated/fold-node.types.d.ts +2 -2
  38. package/dist/state-and-nav/fold-node/deprecated/fold-node.types.d.ts.map +1 -0
  39. package/dist/{trees → state-and-nav}/fold-node/fold-node.impl.d.ts +3 -3
  40. package/dist/state-and-nav/fold-node/fold-node.impl.d.ts.map +1 -0
  41. package/dist/{trees → state-and-nav}/fold-node/fold-node.impl.js +2 -2
  42. package/dist/{trees → state-and-nav}/fold-node/fold-node.model.d.ts +1 -1
  43. package/dist/state-and-nav/fold-node/fold-node.model.d.ts.map +1 -0
  44. package/dist/{trees → state-and-nav}/fold-node/fold-node.types.d.ts +2 -2
  45. package/dist/state-and-nav/fold-node/fold-node.types.d.ts.map +1 -0
  46. package/dist/state-and-nav/fold-node/index.d.ts.map +1 -0
  47. package/dist/state-and-nav/index.d.ts +16 -0
  48. package/dist/state-and-nav/index.d.ts.map +1 -0
  49. package/dist/state-and-nav/index.js +6 -0
  50. package/dist/state-and-nav/nav/nav.ordered.impl.d.ts +12 -0
  51. package/dist/state-and-nav/nav/nav.ordered.impl.d.ts.map +1 -0
  52. package/dist/state-and-nav/nav/nav.ordered.impl.js +77 -0
  53. package/dist/state-and-nav/nav/nav.traversal.d.ts +11 -0
  54. package/dist/state-and-nav/nav/nav.traversal.d.ts.map +1 -0
  55. package/dist/state-and-nav/nav/nav.traversal.js +204 -0
  56. package/dist/{trees/nav-node/nav-node.types.d.ts → state-and-nav/nav/nav.types.d.ts} +37 -23
  57. package/dist/state-and-nav/nav/nav.types.d.ts.map +1 -0
  58. package/dist/state-and-nav/nav/nav.unordered.impl.d.ts +13 -0
  59. package/dist/state-and-nav/nav/nav.unordered.impl.d.ts.map +1 -0
  60. package/dist/state-and-nav/nav/nav.unordered.impl.js +77 -0
  61. package/dist/state-and-nav/state/state.impl.d.ts +9 -0
  62. package/dist/state-and-nav/state/state.impl.d.ts.map +1 -0
  63. package/dist/{trees → state-and-nav}/state/state.impl.js +62 -9
  64. package/dist/state-and-nav/state/state.schemas.d.ts +2 -0
  65. package/dist/state-and-nav/state/state.schemas.d.ts.map +1 -0
  66. package/dist/state-and-nav/state/state.schemas.js +39 -0
  67. package/dist/state-and-nav/state/state.types.d.ts +72 -0
  68. package/dist/state-and-nav/state/state.types.d.ts.map +1 -0
  69. package/dist/state-and-nav/tree/deprecated/tree-node.arb.d.ts.map +1 -0
  70. package/dist/state-and-nav/tree/deprecated/tree-node.arb.debug.test.d.ts.map +1 -0
  71. package/dist/state-and-nav/tree/deprecated/tree-node.impl.d.ts.map +1 -0
  72. package/dist/state-and-nav/tree/deprecated/tree-node.schemas.d.ts.map +1 -0
  73. package/dist/state-and-nav/tree/deprecated/tree-node.test.d.ts.map +1 -0
  74. package/dist/state-and-nav/tree/deprecated/tree-node.types.d.ts.map +1 -0
  75. package/dist/state-and-nav/tree/index.d.ts +7 -0
  76. package/dist/state-and-nav/tree/index.d.ts.map +1 -0
  77. package/dist/state-and-nav/tree/index.js +1 -0
  78. package/dist/state-and-nav/tree/tree-node.arb.d.ts +94 -0
  79. package/dist/state-and-nav/tree/tree-node.arb.d.ts.map +1 -0
  80. package/dist/state-and-nav/tree/tree-node.arb.debug.test.d.ts +2 -0
  81. package/dist/state-and-nav/tree/tree-node.arb.debug.test.d.ts.map +1 -0
  82. package/dist/state-and-nav/tree/tree-node.arb.debug.test.js +54 -0
  83. package/dist/state-and-nav/tree/tree-node.arb.js +188 -0
  84. package/dist/state-and-nav/tree/tree-node.model.d.ts +194 -0
  85. package/dist/state-and-nav/tree/tree-node.model.d.ts.map +1 -0
  86. package/dist/state-and-nav/tree/tree-node.model.js +110 -0
  87. package/dist/state-and-nav/tree/tree-node.test.d.ts +2 -0
  88. package/dist/state-and-nav/tree/tree-node.test.d.ts.map +1 -0
  89. package/dist/state-and-nav/tree/tree-node.test.js +234 -0
  90. package/dist/{trees/tree-node/tree-node.impl.d.ts → state-and-nav/tree/tree.impl.d.ts} +3 -3
  91. package/dist/state-and-nav/tree/tree.impl.d.ts.map +1 -0
  92. package/dist/{trees/tree-node/tree-node.impl.js → state-and-nav/tree/tree.impl.js} +20 -17
  93. package/dist/{trees/tree-node/tree-node.types.d.ts → state-and-nav/tree/tree.types.d.ts} +67 -47
  94. package/dist/state-and-nav/tree/tree.types.d.ts.map +1 -0
  95. package/dist/state-and-nav/tree/tree.types.js +1 -0
  96. package/package.json +3 -2
  97. package/dist/app/app-api.d.ts +0 -74
  98. package/dist/app/app-api.d.ts.map +0 -1
  99. package/dist/app/app-api.js +0 -11
  100. package/dist/input/application/parse-command.d.ts +0 -14
  101. package/dist/input/application/parse-command.d.ts.map +0 -1
  102. package/dist/trees/cursor.d.ts +0 -59
  103. package/dist/trees/cursor.d.ts.map +0 -1
  104. package/dist/trees/cursor.js +0 -55
  105. package/dist/trees/fold-node/deprecated/fold-node.impl.d.ts.map +0 -1
  106. package/dist/trees/fold-node/deprecated/fold-node.test.d.ts.map +0 -1
  107. package/dist/trees/fold-node/deprecated/fold-node.types.d.ts.map +0 -1
  108. package/dist/trees/fold-node/fold-node.impl.d.ts.map +0 -1
  109. package/dist/trees/fold-node/fold-node.model.d.ts.map +0 -1
  110. package/dist/trees/fold-node/fold-node.types.d.ts.map +0 -1
  111. package/dist/trees/fold-node/index.d.ts.map +0 -1
  112. package/dist/trees/index.d.ts +0 -9
  113. package/dist/trees/index.d.ts.map +0 -1
  114. package/dist/trees/index.js +0 -8
  115. package/dist/trees/nav-node/nav-node.impl.d.ts +0 -29
  116. package/dist/trees/nav-node/nav-node.impl.d.ts.map +0 -1
  117. package/dist/trees/nav-node/nav-node.impl.js +0 -223
  118. package/dist/trees/nav-node/nav-node.types.d.ts.map +0 -1
  119. package/dist/trees/state/state.impl.d.ts +0 -8
  120. package/dist/trees/state/state.impl.d.ts.map +0 -1
  121. package/dist/trees/state/state.schemas.d.ts +0 -25
  122. package/dist/trees/state/state.schemas.d.ts.map +0 -1
  123. package/dist/trees/state/state.schemas.js +0 -17
  124. package/dist/trees/state/state.types.d.ts +0 -36
  125. package/dist/trees/state/state.types.d.ts.map +0 -1
  126. package/dist/trees/tree-node/deprecated/tree-node.arb.d.ts.map +0 -1
  127. package/dist/trees/tree-node/deprecated/tree-node.arb.debug.test.d.ts.map +0 -1
  128. package/dist/trees/tree-node/deprecated/tree-node.impl.d.ts.map +0 -1
  129. package/dist/trees/tree-node/deprecated/tree-node.schemas.d.ts.map +0 -1
  130. package/dist/trees/tree-node/deprecated/tree-node.test.d.ts.map +0 -1
  131. package/dist/trees/tree-node/deprecated/tree-node.types.d.ts.map +0 -1
  132. package/dist/trees/tree-node/index.d.ts +0 -5
  133. package/dist/trees/tree-node/index.d.ts.map +0 -1
  134. package/dist/trees/tree-node/index.js +0 -2
  135. package/dist/trees/tree-node/tree-node.arb.d.ts +0 -104
  136. package/dist/trees/tree-node/tree-node.arb.d.ts.map +0 -1
  137. package/dist/trees/tree-node/tree-node.arb.js +0 -188
  138. package/dist/trees/tree-node/tree-node.impl.d.ts.map +0 -1
  139. package/dist/trees/tree-node/tree-node.model.d.ts +0 -78
  140. package/dist/trees/tree-node/tree-node.model.d.ts.map +0 -1
  141. package/dist/trees/tree-node/tree-node.model.js +0 -37
  142. package/dist/trees/tree-node/tree-node.types.d.ts.map +0 -1
  143. /package/dist/{trees/fold-node/deprecated/fold-node.types.js → app/app-methods.js} +0 -0
  144. /package/dist/{trees → state-and-nav}/fold-node/deprecated/fold-node.impl.js +0 -0
  145. /package/dist/{trees → state-and-nav}/fold-node/deprecated/fold-node.test.d.ts +0 -0
  146. /package/dist/{trees/fold-node → state-and-nav/fold-node/deprecated}/fold-node.types.js +0 -0
  147. /package/dist/{trees → state-and-nav}/fold-node/fold-node.model.js +0 -0
  148. /package/dist/{trees/nav-node/nav-node.types.js → state-and-nav/fold-node/fold-node.types.js} +0 -0
  149. /package/dist/{trees → state-and-nav}/fold-node/index.d.ts +0 -0
  150. /package/dist/{trees → state-and-nav}/fold-node/index.js +0 -0
  151. /package/dist/{trees/state/state.types.js → state-and-nav/nav/nav.types.js} +0 -0
  152. /package/dist/{trees/tree-node/deprecated/tree-node.types.js → state-and-nav/state/state.types.js} +0 -0
  153. /package/dist/{trees/tree-node → state-and-nav/tree}/deprecated/tree-node.arb.d.ts +0 -0
  154. /package/dist/{trees/tree-node → state-and-nav/tree}/deprecated/tree-node.arb.debug.test.d.ts +0 -0
  155. /package/dist/{trees/tree-node → state-and-nav/tree}/deprecated/tree-node.arb.debug.test.js +0 -0
  156. /package/dist/{trees/tree-node → state-and-nav/tree}/deprecated/tree-node.arb.js +0 -0
  157. /package/dist/{trees/tree-node → state-and-nav/tree}/deprecated/tree-node.impl.d.ts +0 -0
  158. /package/dist/{trees/tree-node → state-and-nav/tree}/deprecated/tree-node.impl.js +0 -0
  159. /package/dist/{trees/tree-node → state-and-nav/tree}/deprecated/tree-node.schemas.d.ts +0 -0
  160. /package/dist/{trees/tree-node → state-and-nav/tree}/deprecated/tree-node.schemas.js +0 -0
  161. /package/dist/{trees/tree-node → state-and-nav/tree}/deprecated/tree-node.test.d.ts +0 -0
  162. /package/dist/{trees/tree-node → state-and-nav/tree}/deprecated/tree-node.test.js +0 -0
  163. /package/dist/{trees/tree-node → state-and-nav/tree}/deprecated/tree-node.types.d.ts +0 -0
  164. /package/dist/{trees/tree-node → state-and-nav/tree/deprecated}/tree-node.types.js +0 -0
@@ -1,223 +0,0 @@
1
- /**
2
- * Creates operations for projecting an opaque tree into a navigation model.
3
- *
4
- * Navigation ordering is intentionally a UI concern. The underlying TreeNode
5
- * API need not promise a particular child-storage representation or ordering.
6
- */
7
- export function createNavNodeApi(treeNodeApi, foldsApi, cursorApi, options) {
8
- function entryIsBranch(entry) {
9
- return 'children' in entry;
10
- }
11
- function compareTreeNodes(left, right) {
12
- return options.compareEntries({
13
- id: treeNodeApi.id(left),
14
- value: treeNodeApi.value(left),
15
- }, {
16
- id: treeNodeApi.id(right),
17
- value: treeNodeApi.value(right),
18
- });
19
- }
20
- /**
21
- * Projects loaded children into navigation entries.
22
- *
23
- * Folded source entries are omitted from `entries` and represented in the
24
- * synthetic `folded` row instead.
25
- */
26
- function createNavNode(entries, foldRoot, parentPath) {
27
- const visibleEntries = [];
28
- const foldedEntries = [];
29
- /*
30
- * Navigation owns presentation order, so materialize and sort the child
31
- * iterable before projecting it.
32
- */
33
- const orderedEntries = [...entries].sort(compareTreeNodes);
34
- for (const entry of orderedEntries) {
35
- const entryId = treeNodeApi.id(entry);
36
- const entryPath = [...parentPath, entryId];
37
- const isFolded = foldsApi.isEntryHiddenAtPath(foldRoot, parentPath, entryId);
38
- const navigationEntry = createNavEntry(entry, foldRoot, entryPath);
39
- if (isFolded) {
40
- foldedEntries.push(navigationEntry);
41
- }
42
- else {
43
- visibleEntries.push(navigationEntry);
44
- }
45
- }
46
- return {
47
- entries: visibleEntries,
48
- /*
49
- * Fold state may contain entries that are not currently available in the
50
- * loaded source tree. Do not render an empty synthetic row for them.
51
- */
52
- folded: foldedEntries.length === 0
53
- ? null
54
- : {
55
- entries: foldedEntries,
56
- },
57
- };
58
- }
59
- function createNavEntry(entry, foldRoot, entryPath) {
60
- return treeNodeApi.match(entry, {
61
- leaf: ({ id }) => ({
62
- id,
63
- }),
64
- unloadedBranch: ({ id }) => ({
65
- id,
66
- children: null,
67
- }),
68
- loadedBranch: ({ id, children }) => ({
69
- id,
70
- children: createNavNode(children, foldRoot, entryPath),
71
- }),
72
- });
73
- }
74
- function createRootNavBranch(root, foldRoot) {
75
- return treeNodeApi.match(root, {
76
- leaf: () => undefined,
77
- unloadedBranch: ({ id }) => ({
78
- id,
79
- children: null,
80
- }),
81
- loadedBranch: ({ id, children }) => ({
82
- id,
83
- children: createNavNode(children, foldRoot, []),
84
- }),
85
- });
86
- }
87
- function rootCursors(rootNode) {
88
- if (rootNode.children === null) {
89
- return [[]];
90
- }
91
- return [[], ...cursorsInNode(rootNode.children, [])];
92
- }
93
- function cursorsInNode(node, parentPath) {
94
- const cursors = [];
95
- for (const entry of node.entries) {
96
- const entryPath = [...parentPath, entry.id];
97
- cursors.push(entryPath);
98
- if (!entryIsBranch(entry) || entry.children === null) {
99
- continue;
100
- }
101
- cursors.push(...cursorsInNode(entry.children, entryPath));
102
- }
103
- return cursors;
104
- }
105
- const navNodeApi = {
106
- entryIsBranch,
107
- from(root, foldRoot) {
108
- return createRootNavBranch(root, foldRoot);
109
- },
110
- getNodeAtPath(navigation, path) {
111
- const [currentId, ...remainingPath] = path;
112
- /*
113
- * An empty path identifies the current navigation node.
114
- */
115
- if (currentId === undefined) {
116
- return navigation;
117
- }
118
- const entry = navigation.entries.find((candidate) => candidate.id === currentId);
119
- if (entry === undefined || !entryIsBranch(entry)) {
120
- return undefined;
121
- }
122
- /*
123
- * A null value represents a source branch whose children are not loaded.
124
- */
125
- if (entry.children === null) {
126
- return undefined;
127
- }
128
- return navNodeApi.getNodeAtPath(entry.children, remainingPath);
129
- },
130
- getEntryAtPath(navigation, path) {
131
- const [currentId, ...remainingPath] = path;
132
- /*
133
- * A NavNode does not itself correspond to a NavEntry. Therefore [] does
134
- * not resolve to an entry.
135
- */
136
- if (currentId === undefined) {
137
- return undefined;
138
- }
139
- const entry = navigation.entries.find((candidate) => candidate.id === currentId);
140
- if (entry === undefined) {
141
- return undefined;
142
- }
143
- if (remainingPath.length === 0) {
144
- return entry;
145
- }
146
- if (!entryIsBranch(entry) || entry.children === null) {
147
- return undefined;
148
- }
149
- return navNodeApi.getEntryAtPath(entry.children, remainingPath);
150
- },
151
- nextCursor(rootNode, cursor) {
152
- const cursors = rootCursors(rootNode);
153
- const currentIndex = cursors.findIndex((candidate) => cursorApi.equal(candidate, cursor));
154
- if (currentIndex === -1 || currentIndex === cursors.length - 1) {
155
- return undefined;
156
- }
157
- return cursors[currentIndex + 1];
158
- },
159
- previousCursor(rootNode, cursor) {
160
- const cursors = rootCursors(rootNode);
161
- const currentIndex = cursors.findIndex((candidate) => cursorApi.equal(candidate, cursor));
162
- if (currentIndex <= 0) {
163
- return undefined;
164
- }
165
- return cursors[currentIndex - 1];
166
- },
167
- cursorAfterFold(rootNode, cursor) {
168
- // Folding root disallowed
169
- if (cursor.length === 0) {
170
- return undefined;
171
- }
172
- const cursors = rootCursors(rootNode);
173
- const currentIndex = cursors.findIndex((candidate) => cursorApi.equal(candidate, cursor));
174
- if (currentIndex === -1) {
175
- return undefined;
176
- }
177
- // If the last entry, then cursor should go to previous entry
178
- // This works to go to the root when the last entry in the root is folded.
179
- if (currentIndex + 1 === cursors.length) {
180
- return cursors[currentIndex - 1];
181
- }
182
- for (let index = currentIndex + 1; index < cursors.length; index += 1) {
183
- const candidate = cursors[index];
184
- if (candidate === undefined) {
185
- continue;
186
- }
187
- // Skip any entries that are children of the entry about to be folded
188
- if (cursorApi.cursorBelongsToSubtree(candidate, cursor)) {
189
- continue;
190
- }
191
- return candidate;
192
- }
193
- },
194
- parentCursor(_navigation, cursor) {
195
- if (cursor.length === 0) {
196
- return undefined;
197
- }
198
- return cursor.slice(0, -1);
199
- },
200
- cursors(navigation, parentPath = []) {
201
- return cursorsInNode(navigation, parentPath);
202
- },
203
- visibleLeavesPaths(navigation, parentPath = []) {
204
- const paths = [];
205
- for (const entry of navigation.entries) {
206
- const entryPath = [...parentPath, entry.id];
207
- if (!entryIsBranch(entry)) {
208
- paths.push(entryPath);
209
- continue;
210
- }
211
- /*
212
- * A null value means the source branch is not loaded/opened. It has no
213
- * currently visible descendants.
214
- */
215
- if (entry.children !== null) {
216
- paths.push(...navNodeApi.visibleLeavesPaths(entry.children, entryPath));
217
- }
218
- }
219
- return paths;
220
- },
221
- };
222
- return navNodeApi;
223
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"nav-node.types.d.ts","sourceRoot":"","sources":["../../../src/trees/nav-node/nav-node.types.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import type { SerializableKey, TreeNodeApi } from '../tree-node/index.js';
2
- import type { CursorApi } from '../cursor.js';
3
- import type { StateApi } from './state.types.js';
4
- /**
5
- * Creates operations for navigating and resynchronizing tree-surfer state.
6
- */
7
- export declare function createStateApi<Id extends SerializableKey, Value>(treeNodeApi: TreeNodeApi<Id, Value>, cursorApi: CursorApi<Id>): StateApi<Id, Value>;
8
- //# sourceMappingURL=state.impl.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state.impl.d.ts","sourceRoot":"","sources":["../../../src/trees/state/state.impl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAEf,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAU,SAAS,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAS,MAAM,kBAAkB,CAAC;AAMxD;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,SAAS,eAAe,EAAE,KAAK,EAC9D,WAAW,EAAE,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,EACnC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,GACvB,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CA4LrB"}
@@ -1,25 +0,0 @@
1
- import { z } from 'zod';
2
- import type { Cursor } from '../cursor.js';
3
- import type { FoldsModel } from '../fold-node/index.js';
4
- import type { SerializableKey, TreeNodeModel } from '../tree-node/index.js';
5
- /**
6
- * Serializable persistence/interchange model for tree-surfer state.
7
- *
8
- * This is intentionally distinct from runtime `State`: its root and folds use
9
- * public structural models, while runtime state holds opaque TreeNode and
10
- * Folds values.
11
- */
12
- export type StateModel<Id extends SerializableKey, Value> = Readonly<{
13
- root: TreeNodeModel<Id, Value>;
14
- folds: FoldsModel<Id>;
15
- cursor: Cursor<Id>;
16
- }>;
17
- /**
18
- * Creates a schema for the serializable StateModel DTO.
19
- *
20
- * This validates only the persistence representation. Applications must decode
21
- * the validated root and folds models through their specialized TreeNodeApi and
22
- * FoldsApi before constructing opaque runtime State.
23
- */
24
- export declare function createStateModelSchema<Id extends SerializableKey, Value>(rootSchema: z.ZodType<TreeNodeModel<Id, Value>>, foldsSchema: z.ZodType<FoldsModel<Id>>, cursorSchema: z.ZodType<Cursor<Id>>): z.ZodType<StateModel<Id, Value>>;
25
- //# sourceMappingURL=state.schemas.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state.schemas.d.ts","sourceRoot":"","sources":["../../../src/trees/state/state.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE5E;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,CAAC,EAAE,SAAS,eAAe,EAAE,KAAK,IAAI,QAAQ,CAAC;IACnE,IAAI,EAAE,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC/B,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;CACpB,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,SAAS,eAAe,EAAE,KAAK,EACtE,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,EAC/C,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EACtC,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAClC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAQlC"}
@@ -1,17 +0,0 @@
1
- import { z } from 'zod';
2
- /**
3
- * Creates a schema for the serializable StateModel DTO.
4
- *
5
- * This validates only the persistence representation. Applications must decode
6
- * the validated root and folds models through their specialized TreeNodeApi and
7
- * FoldsApi before constructing opaque runtime State.
8
- */
9
- export function createStateModelSchema(rootSchema, foldsSchema, cursorSchema) {
10
- return z
11
- .object({
12
- root: rootSchema,
13
- folds: foldsSchema,
14
- cursor: cursorSchema,
15
- })
16
- .strict();
17
- }
@@ -1,36 +0,0 @@
1
- import type { Cursor } from '../cursor.js';
2
- import type { Folds } from '../fold-node/index.js';
3
- import type { SerializableKey, TreeNode } from '../tree-node/index.js';
4
- /**
5
- * State for navigating a tree and its associated fold-state tree.
6
- *
7
- * Invariant: `root` is an open branch.
8
- *
9
- * Note: This cannot be represented through a structural intersection because
10
- * TreeNode is opaque; enforce it when constructing State, using
11
- * TreeNodeApi.state or TreeNodeApi.getChildren.
12
- *
13
- * @typeParam Id - Tree-node sibling ID type.
14
- * @typeParam Value - Application-owned value stored in every tree node.
15
- */
16
- export type State<Id extends SerializableKey, Value> = Readonly<{
17
- root: TreeNode<Id, Value>;
18
- folds: Folds<Id>;
19
- cursor: Cursor<Id>;
20
- }>;
21
- export type StateApi<Id extends SerializableKey, Value> = Readonly<{
22
- getNodeAtCursor(state: State<Id, Value>): TreeNode<Id, Value> | undefined;
23
- /**
24
- * Reloads the root's children and all descendant branches that were loaded
25
- * in the previous state.
26
- *
27
- * `loadBranches([])` loads the root's direct children.
28
- * `loadBranches(['src'])` loads the children of `src`, where `src` is the
29
- * ID of a root child.
30
- *
31
- * Returned nodes must be valid TreeNode values created or decoded through
32
- * the specialized TreeNodeApi for `Id` and `Value`.
33
- */
34
- resync(oldState: State<Id, Value>, loadBranches: (path: readonly Id[]) => Promise<readonly TreeNode<Id, Value>[]>): Promise<State<Id, Value>>;
35
- }>;
36
- //# sourceMappingURL=state.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state.types.d.ts","sourceRoot":"","sources":["../../../src/trees/state/state.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEvE;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,KAAK,CAAC,EAAE,SAAS,eAAe,EAAE,KAAK,IAAI,QAAQ,CAAC;IAC9D,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC1B,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;CACpB,CAAC,CAAC;AAEH,MAAM,MAAM,QAAQ,CAAC,EAAE,SAAS,eAAe,EAAE,KAAK,IAAI,QAAQ,CAAC;IACjE,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,SAAS,CAAC;IAE1E;;;;;;;;;;OAUG;IACH,MAAM,CACJ,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,EAC1B,YAAY,EAAE,CACZ,IAAI,EAAE,SAAS,EAAE,EAAE,KAChB,OAAO,CAAC,SAAS,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,GAC3C,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;CAC9B,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tree-node.arb.d.ts","sourceRoot":"","sources":["../../../../src/trees/tree-node/deprecated/tree-node.arb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD;;;;GAIG;AACH,KAAK,UAAU,GAAG,MAAM,CAAC;AAOzB;;;GAGG;AACH,eAAO,MAAM,SAAS,sBAIpB,CAAC;AAEH;;GAEG;AAEH,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AAC1D,KAAK,IAAI,GAAG,UAAU,EAAE,CAAC;AAEzB,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;CAClB,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,cAAc,EAAE,UAAU,EAAE,CAAC;CAC9B,CAAC;AAuEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,sCAEhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,4BAA4B,sCAExC,CAAC;AAaF;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,SAAS,CAAC,sBAAsB,CA0C5D,CAAC;AAEP;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,wCAIjC,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,eAAe;;;EAK3B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB;;;;EAQnC,CAAC;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B;;;;EAYpC,CAAC;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,cAAc,qBAE1B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,4BAA8C,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tree-node.arb.debug.test.d.ts","sourceRoot":"","sources":["../../../../src/trees/tree-node/deprecated/tree-node.arb.debug.test.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tree-node.impl.d.ts","sourceRoot":"","sources":["../../../../src/trees/tree-node/deprecated/tree-node.impl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKV,eAAe,EACf,QAAQ,EACR,WAAW,EACZ,MAAM,sBAAsB,CAAC;AAE9B;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,SAAS,eAAe,EAC1B,IAAI,SAAS,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,KAC5B,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAqGzB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tree-node.schemas.d.ts","sourceRoot":"","sources":["../../../../src/trees/tree-node/deprecated/tree-node.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEjE;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,iDAA6C,CAAC;AAEhF;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,EAAE,SAAS,eAAe,EAC1B,IAAI,SAAS,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,EAC/B,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;;;;;;;;;;;;EAoBrD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tree-node.test.d.ts","sourceRoot":"","sources":["../../../../src/trees/tree-node/deprecated/tree-node.test.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tree-node.types.d.ts","sourceRoot":"","sources":["../../../../src/trees/tree-node/deprecated/tree-node.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,MAAM,QAAQ,CAClB,EAAE,SAAS,eAAe,EAC1B,IAAI,SAAS,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,IAC7B,YAAY,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AAEhD,+BAA+B;AAC/B,MAAM,MAAM,YAAY,CAAC,EAAE,SAAS,eAAe,IAAI;IACrD,EAAE,EAAE,EAAE,CAAC;IACP,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB,CAAC;AAEF,gEAAgE;AAChE,MAAM,MAAM,cAAc,CACxB,EAAE,SAAS,eAAe,EAC1B,IAAI,SAAS,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,IAC7B,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAC;AAE5D,uDAAuD;AACvD,MAAM,MAAM,kBAAkB,CAC5B,EAAE,SAAS,eAAe,EAC1B,IAAI,SAAS,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,IAC7B;IACF,EAAE,EAAE,EAAE,CAAC;IACP,QAAQ,EAAE,IAAI,EAAE,CAAC;CAClB,CAAC;AAEF,2DAA2D;AAC3D,MAAM,MAAM,oBAAoB,CAAC,EAAE,SAAS,eAAe,IAAI;IAC7D,EAAE,EAAE,EAAE,CAAC;IACP,QAAQ,EAAE,IAAI,CAAC;CAChB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,WAAW,CACrB,EAAE,SAAS,eAAe,EAC1B,IAAI,SAAS,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,IAC7B;IACF,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;IACpD,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC9D,cAAc,CACZ,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,GAC7B,IAAI,IAAI,oBAAoB,CAAC,EAAE,CAAC,CAAC;IACpC,YAAY,CACV,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,GAC7B,IAAI,IAAI,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAExC;;;;;;;;OAQG;IACH,WAAW,CAAC,IAAI,EAAE,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEhE;;;;;;OAMG;IACH,YAAY,CAAC,IAAI,EAAE,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;IAE3E;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,MAAM,EACd,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,SAAS,EAAE,EAAE,EACnB,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,GAC/B,MAAM,GAAG,SAAS,CAAC;IAEtB;;;;;;;;;;;;;;;OAeG;IACH,YAAY,CACV,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,SAAS,EAAE,EAAE,EACnB,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,SAAS,GACzC,IAAI,GAAG,SAAS,CAAC;CACrB,CAAC"}
@@ -1,5 +0,0 @@
1
- export type * from './tree-node.model.js';
2
- export { serializableKeySchema, createTreeNodeModelSchema, } from './tree-node.model.js';
3
- export type * from './tree-node.types.js';
4
- export { createTreeNodeApi } from './tree-node.impl.js';
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/trees/tree-node/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,sBAAsB,CAAC;AAC1C,OAAO,EACL,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,mBAAmB,sBAAsB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,2 +0,0 @@
1
- export { serializableKeySchema, createTreeNodeModelSchema, } from './tree-node.model.js';
2
- export { createTreeNodeApi } from './tree-node.impl.js';
@@ -1,104 +0,0 @@
1
- import * as fc from 'fast-check';
2
- import { TreeNodeModel } from './tree-node.model.js';
3
- /**
4
- * The ID and Values types used for the generated test trees.
5
- *
6
- * Short strings keep generated counterexamples readable. Values just have to
7
- * be something easily checked for equality.
8
- */
9
- type TestNodeId = string;
10
- type TestValue = number;
11
- type TestNodeModel = TreeNodeModel<TestNodeId, TestValue>;
12
- type ModelAndPath = {
13
- path: TestNodeId[];
14
- model: TestNodeModel;
15
- };
16
- type ModelWithReachableModels = {
17
- model: TestNodeModel;
18
- /**
19
- * Includes this model at `[]` and every descendant reachable through loaded
20
- * branches. Descendants behind unloaded branches are intentionally absent.
21
- */
22
- reachableModels: ModelAndPath[];
23
- };
24
- /**
25
- * Generates valid string IDs for test nodes. Note that the API just does
26
- * comparisons on the IDs so we can safely restrict to any subset.
27
- */
28
- export declare const testIdArb: fc.Arbitrary<string>;
29
- /**
30
- * Generates serializable application values for test nodes.
31
- */
32
- export declare const testValueArb: fc.Arbitrary<number>;
33
- /**
34
- * Generates a leaf model.
35
- */
36
- export declare const generatedLeafModelArb: fc.Arbitrary<ModelWithReachableModels>;
37
- /**
38
- * Generates an unloaded-branch model.
39
- */
40
- export declare const generatedUnloadedBranchModelArb: fc.Arbitrary<ModelWithReachableModels>;
41
- /**
42
- * Generates a leaf, an unloaded branch, or a loaded branch.
43
- *
44
- * Loaded branches have unique child IDs. Root IDs are made unique separately
45
- * when generating a forest.
46
- *
47
- * The weighted choice gives recursive open branches a geometric dropoff.
48
- */
49
- export declare const generatedNodeArb: fc.Arbitrary<ModelWithReachableModels>;
50
- /**
51
- * Generates an array of generated nodes with unique sibling IDs.
52
- *
53
- * The result is suitable for use as the loaded children of an open branch.
54
- */
55
- export declare const generatedNodesArrayArb: fc.Arbitrary<ModelWithReachableModels[]>;
56
- /**
57
- * An array of root-level nodes and all paths that can be resolved through
58
- * those nodes.
59
- *
60
- * Paths through closed branches stop at the closed branch because its
61
- * descendants are not loaded.
62
- */
63
- export declare const nodeAndPathsArb: fc.Arbitrary<{
64
- root: TestNodeModel;
65
- pathEntries: ModelAndPath[];
66
- }>;
67
- /**
68
- * Generates root-level nodes and a path to one of their reachable nodes.
69
- *
70
- * Every generated path is valid for `getAtPath`; unreachable paths are not
71
- * included.
72
- */
73
- export declare const nodeAndPathAndExpectedArb: fc.Arbitrary<{
74
- root: TestNodeModel;
75
- path: string[];
76
- expected: TestNodeModel;
77
- }>;
78
- /**
79
- * Generates root-level nodes and a path to one of their branch nodes.
80
- *
81
- * Both open and closed branches are included. A path to a closed branch is
82
- * valid, but a path through a closed branch cannot reach any descendants.
83
- */
84
- export declare const nodesArrayAndBranchPathArb: fc.Arbitrary<{
85
- root: TestNodeModel;
86
- path: string[];
87
- expected: TestNodeModel;
88
- }>;
89
- /**
90
- * Generates a new array of loaded child nodes.
91
- *
92
- * The generated nodes have unique IDs, making the result suitable for use as
93
- * the children of an open branch.
94
- */
95
- export declare const newBranchesArb: fc.Arbitrary<TestNodeModel[]>;
96
- /**
97
- * Generates either a new array of loaded child nodes or `null`.
98
- *
99
- * An array represents an open branch, including an open branch with no
100
- * children. `null` represents a closed branch.
101
- */
102
- export declare const newBranchesOrNullArb: fc.Arbitrary<TestNodeModel[] | null>;
103
- export {};
104
- //# sourceMappingURL=tree-node.arb.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tree-node.arb.d.ts","sourceRoot":"","sources":["../../../src/trees/tree-node/tree-node.arb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAGjC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD;;;;;GAKG;AACH,KAAK,UAAU,GAAG,MAAM,CAAC;AACzB,KAAK,SAAS,GAAG,MAAM,CAAC;AAGxB,KAAK,aAAa,GAAG,aAAa,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AAE1D,KAAK,YAAY,GAAG;IAClB,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,KAAK,EAAE,aAAa,CAAC;CACtB,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,KAAK,EAAE,aAAa,CAAC;IACrB;;;OAGG;IACH,eAAe,EAAE,YAAY,EAAE,CAAC;CACjC,CAAC;AAOF;;;GAGG;AACH,eAAO,MAAM,SAAS,sBAIpB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,YAAY,sBAGvB,CAAC;AAiEH;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,EAAE,CAAC,SAAS,CAAC,wBAAwB,CAEnB,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,+BAA+B,EAAE,EAAE,CAAC,SAAS,CAAC,wBAAwB,CAGjB,CAAC;AAUnE;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,SAAS,CAAC,wBAAwB,CAyC3D,CAAC;AAEV;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,0CAIjC,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,eAAe;;;EAK3B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB;;;;EAQnC,CAAC;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B;;;;EAYpC,CAAC;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,cAAc,+BAE1B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,sCAA8C,CAAC"}