articulated 0.2.0 → 0.4.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/README.md +18 -1
- package/build/commonjs/id_list.d.ts +56 -20
- package/build/commonjs/id_list.js +207 -107
- package/build/commonjs/id_list.js.map +1 -1
- package/build/commonjs/internal/leaf_map.d.ts +25 -0
- package/build/commonjs/internal/leaf_map.js +54 -0
- package/build/commonjs/internal/leaf_map.js.map +1 -0
- package/build/commonjs/internal/seq_map.d.ts +20 -0
- package/build/commonjs/internal/seq_map.js +40 -0
- package/build/commonjs/internal/seq_map.js.map +1 -0
- package/build/commonjs/vendor/functional-red-black-tree.d.ts +8 -0
- package/build/commonjs/vendor/functional-red-black-tree.js +911 -0
- package/build/commonjs/vendor/functional-red-black-tree.js.map +1 -0
- package/build/esm/id_list.d.ts +56 -20
- package/build/esm/id_list.js +206 -105
- package/build/esm/id_list.js.map +1 -1
- package/build/esm/internal/leaf_map.d.ts +25 -0
- package/build/esm/internal/leaf_map.js +47 -0
- package/build/esm/internal/leaf_map.js.map +1 -0
- package/build/esm/internal/seq_map.d.ts +20 -0
- package/build/esm/internal/seq_map.js +32 -0
- package/build/esm/internal/seq_map.js.map +1 -0
- package/build/esm/vendor/functional-red-black-tree.d.ts +8 -0
- package/build/esm/vendor/functional-red-black-tree.js +911 -0
- package/build/esm/vendor/functional-red-black-tree.js.map +1 -0
- package/package.json +10 -5
- package/src/id_list.ts +306 -109
- package/src/internal/leaf_map.ts +57 -0
- package/src/internal/seq_map.ts +48 -0
- package/src/vendor/functional-red-black-tree.d.ts +177 -0
- package/src/vendor/functional-red-black-tree.js +938 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"functional-red-black-tree.js","sourceRoot":"","sources":["../../../src/vendor/functional-red-black-tree.js"],"names":[],"mappings":"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"}
|
package/build/esm/id_list.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { SparseIndices } from "sparse-array-rled";
|
|
2
2
|
import { ElementId } from "./id";
|
|
3
|
+
import { MutableLeafMap } from "./internal/leaf_map";
|
|
4
|
+
import { MutableSeqMap } from "./internal/seq_map";
|
|
3
5
|
import { SavedIdList } from "./saved_id_list";
|
|
4
6
|
export interface LeafNode {
|
|
5
7
|
readonly bunchId: string;
|
|
@@ -16,19 +18,48 @@ export interface LeafNode {
|
|
|
16
18
|
* An inner node with inner-node children.
|
|
17
19
|
*/
|
|
18
20
|
export declare class InnerNodeInner {
|
|
21
|
+
/**
|
|
22
|
+
* A unique identifer for this node within its IdTree.
|
|
23
|
+
*/
|
|
24
|
+
readonly seq: number;
|
|
19
25
|
readonly children: readonly InnerNode[];
|
|
20
26
|
readonly size: number;
|
|
21
27
|
readonly knownSize: number;
|
|
22
|
-
constructor(
|
|
28
|
+
constructor(
|
|
29
|
+
/**
|
|
30
|
+
* A unique identifer for this node within its IdTree.
|
|
31
|
+
*/
|
|
32
|
+
seq: number, children: readonly InnerNode[],
|
|
33
|
+
/**
|
|
34
|
+
* We add entries for the children to this map, overwriting any existing parentSeqs.
|
|
35
|
+
*
|
|
36
|
+
* Pass null to skip when you are doing it yourself. Regardless, you need to
|
|
37
|
+
* delete any outdated entries yourself.
|
|
38
|
+
*/
|
|
39
|
+
parentSeqsMut: MutableSeqMap | null);
|
|
23
40
|
}
|
|
24
41
|
/**
|
|
25
42
|
* An inner node with leaf children.
|
|
26
43
|
*/
|
|
27
44
|
export declare class InnerNodeLeaf {
|
|
45
|
+
/**
|
|
46
|
+
* A unique identifer for this node within its IdTree.
|
|
47
|
+
*/
|
|
48
|
+
readonly seq: number;
|
|
28
49
|
readonly children: readonly LeafNode[];
|
|
29
50
|
readonly size: number;
|
|
30
51
|
readonly knownSize: number;
|
|
31
|
-
constructor(
|
|
52
|
+
constructor(
|
|
53
|
+
/**
|
|
54
|
+
* A unique identifer for this node within its IdTree.
|
|
55
|
+
*/
|
|
56
|
+
seq: number, children: readonly LeafNode[],
|
|
57
|
+
/**
|
|
58
|
+
* We add entries for the children to this map, overwriting any existing parentSeqs.
|
|
59
|
+
*
|
|
60
|
+
* Pass null to skip when you are doing it yourself.
|
|
61
|
+
*/
|
|
62
|
+
leafMapMut: MutableLeafMap | null);
|
|
32
63
|
}
|
|
33
64
|
export type InnerNode = InnerNodeInner | InnerNodeLeaf;
|
|
34
65
|
/**
|
|
@@ -67,6 +98,18 @@ export declare const M = 8;
|
|
|
67
98
|
*/
|
|
68
99
|
export declare class IdList {
|
|
69
100
|
private readonly root;
|
|
101
|
+
/**
|
|
102
|
+
* A persistent sorted map from each leaf to its parent node's seq.
|
|
103
|
+
*
|
|
104
|
+
* Besides parentSeqs, we also use this to lookup leaves by ElementId.
|
|
105
|
+
*/
|
|
106
|
+
private readonly leafMap;
|
|
107
|
+
/**
|
|
108
|
+
* A persistent map from each InnerNode's seq to its parent node's seq.
|
|
109
|
+
*
|
|
110
|
+
* We map the root's seq to 0 (in our constructor).
|
|
111
|
+
*/
|
|
112
|
+
private readonly parentSeqs;
|
|
70
113
|
/**
|
|
71
114
|
* Internal - construct an IdList using a static method (e.g. `IdList.new`).
|
|
72
115
|
*/
|
|
@@ -150,6 +193,13 @@ export declare class IdList {
|
|
|
150
193
|
* @throws If `id` is not known.
|
|
151
194
|
*/
|
|
152
195
|
undelete(id: ElementId): IdList;
|
|
196
|
+
/**
|
|
197
|
+
* Returns the path from id's leaf node to the root, or null if id is not found.
|
|
198
|
+
*
|
|
199
|
+
* The path contains each node and its index in its parent's node, starting with id's
|
|
200
|
+
* LeafNode and ending at a child of the root.
|
|
201
|
+
*/
|
|
202
|
+
private locate;
|
|
153
203
|
/**
|
|
154
204
|
* Replaces the leaf at the given path with newLeaves.
|
|
155
205
|
* Returns a proper (sufficiently balanced) B+Tree with updated sizes.
|
|
@@ -171,6 +221,10 @@ export declare class IdList {
|
|
|
171
221
|
* Compare to {@link has}.
|
|
172
222
|
*/
|
|
173
223
|
isKnown(id: ElementId): boolean;
|
|
224
|
+
/**
|
|
225
|
+
* Returns true if any of the given bulk ids are known.
|
|
226
|
+
*/
|
|
227
|
+
private isAnyKnown;
|
|
174
228
|
/**
|
|
175
229
|
* The length of the list, counting only present ids.
|
|
176
230
|
*
|
|
@@ -270,21 +324,3 @@ export declare class KnownIdView {
|
|
|
270
324
|
*/
|
|
271
325
|
values(): IterableIterator<ElementId>;
|
|
272
326
|
}
|
|
273
|
-
type Located = [
|
|
274
|
-
{
|
|
275
|
-
node: LeafNode;
|
|
276
|
-
indexInParent: number;
|
|
277
|
-
},
|
|
278
|
-
...{
|
|
279
|
-
node: InnerNode;
|
|
280
|
-
indexInParent: number;
|
|
281
|
-
}[]
|
|
282
|
-
];
|
|
283
|
-
/**
|
|
284
|
-
* Returns the path from id's leaf node to the root, or null if id is not found.
|
|
285
|
-
*
|
|
286
|
-
* The path contains each node and its index in its parent's node, starting with id's
|
|
287
|
-
* LeafNode and ending at a child of the root.
|
|
288
|
-
*/
|
|
289
|
-
export declare function locate(id: ElementId, node: InnerNode): Located | null;
|
|
290
|
-
export {};
|