articulated 0.1.0 → 0.3.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 +53 -26
- package/build/commonjs/id.d.ts +3 -6
- package/build/commonjs/id.js.map +1 -1
- package/build/commonjs/id_list.d.ts +152 -52
- package/build/commonjs/id_list.js +845 -186
- package/build/commonjs/id_list.js.map +1 -1
- package/build/commonjs/index.d.ts +1 -1
- package/build/commonjs/index.js +4 -1
- package/build/commonjs/index.js.map +1 -1
- package/build/commonjs/internal/leaf_map.d.ts +25 -0
- package/build/commonjs/internal/leaf_map.js +56 -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 +42 -0
- package/build/commonjs/internal/seq_map.js.map +1 -0
- package/build/commonjs/saved_id_list.d.ts +5 -5
- package/build/esm/id.d.ts +3 -6
- package/build/esm/id.js.map +1 -1
- package/build/esm/id_list.d.ts +152 -52
- package/build/esm/id_list.js +842 -185
- package/build/esm/id_list.js.map +1 -1
- package/build/esm/index.d.ts +1 -1
- package/build/esm/index.js +1 -1
- package/build/esm/index.js.map +1 -1
- package/build/esm/internal/leaf_map.d.ts +25 -0
- package/build/esm/internal/leaf_map.js +49 -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 +34 -0
- package/build/esm/internal/seq_map.js.map +1 -0
- package/build/esm/saved_id_list.d.ts +5 -5
- package/package.json +13 -2
- package/src/id.ts +3 -6
- package/src/id_list.ts +1066 -191
- package/src/index.ts +1 -1
- package/src/internal/leaf_map.ts +59 -0
- package/src/internal/seq_map.ts +50 -0
- package/src/saved_id_list.ts +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"id_list.js","sourceRoot":"","sources":["../../src/id_list.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"id_list.js","sourceRoot":"","sources":["../../src/id_list.ts"],"names":[],"mappings":"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"}
|
package/build/commonjs/index.js
CHANGED
|
@@ -14,7 +14,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.KnownIdView = exports.IdList = void 0;
|
|
17
18
|
__exportStar(require("./id"), exports);
|
|
18
|
-
|
|
19
|
+
var id_list_1 = require("./id_list");
|
|
20
|
+
Object.defineProperty(exports, "IdList", { enumerable: true, get: function () { return id_list_1.IdList; } });
|
|
21
|
+
Object.defineProperty(exports, "KnownIdView", { enumerable: true, get: function () { return id_list_1.KnownIdView; } });
|
|
19
22
|
__exportStar(require("./saved_id_list"), exports);
|
|
20
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uCAAqB;AACrB,qCAAgD;AAAvC,iGAAA,MAAM,OAAA;AAAE,sGAAA,WAAW,OAAA;AAC5B,kDAAgC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { LeafNode } from "../id_list";
|
|
2
|
+
/**
|
|
3
|
+
* A persistent sorted map from each LeafNode to its parent's seq.
|
|
4
|
+
*
|
|
5
|
+
* Leaves are sorted by their first ElementId.
|
|
6
|
+
* This lets you quickly look up the LeafNode containing an ElementId,
|
|
7
|
+
* even though the LeafNode might start at a lower counter.
|
|
8
|
+
*/
|
|
9
|
+
export declare class LeafMap {
|
|
10
|
+
private readonly tree;
|
|
11
|
+
private constructor();
|
|
12
|
+
static new(): LeafMap;
|
|
13
|
+
/**
|
|
14
|
+
* Returns the greatest leaf whose first id is <= the given id,
|
|
15
|
+
* or undefined if none exists. Also returns the associated seq (or -1 if not found).
|
|
16
|
+
*
|
|
17
|
+
* The returned leaf might not actually contain the given id.
|
|
18
|
+
*/
|
|
19
|
+
getLeaf(bunchId: string, counter: number): [leaf: LeafNode | undefined, seq: number];
|
|
20
|
+
set(leaf: LeafNode, seq: number): LeafMap;
|
|
21
|
+
delete(leaf: LeafNode): LeafMap;
|
|
22
|
+
}
|
|
23
|
+
export interface MutableLeafMap {
|
|
24
|
+
value: LeafMap;
|
|
25
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.LeafMap = void 0;
|
|
7
|
+
const functional_red_black_tree_1 = __importDefault(require("functional-red-black-tree"));
|
|
8
|
+
/**
|
|
9
|
+
* A persistent sorted map from each LeafNode to its parent's seq.
|
|
10
|
+
*
|
|
11
|
+
* Leaves are sorted by their first ElementId.
|
|
12
|
+
* This lets you quickly look up the LeafNode containing an ElementId,
|
|
13
|
+
* even though the LeafNode might start at a lower counter.
|
|
14
|
+
*/
|
|
15
|
+
class LeafMap {
|
|
16
|
+
constructor(tree) {
|
|
17
|
+
this.tree = tree;
|
|
18
|
+
}
|
|
19
|
+
static new() {
|
|
20
|
+
return new this((0, functional_red_black_tree_1.default)(compareLeaves));
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Returns the greatest leaf whose first id is <= the given id,
|
|
24
|
+
* or undefined if none exists. Also returns the associated seq (or -1 if not found).
|
|
25
|
+
*
|
|
26
|
+
* The returned leaf might not actually contain the given id.
|
|
27
|
+
*/
|
|
28
|
+
getLeaf(bunchId, counter) {
|
|
29
|
+
const iter = this.tree.le({ bunchId, startCounter: counter });
|
|
30
|
+
return [iter.key, iter.value ?? -1];
|
|
31
|
+
}
|
|
32
|
+
set(leaf, seq) {
|
|
33
|
+
// TODO: Vendor functional-red-black-tree and add our own set method
|
|
34
|
+
// so we can avoid this 2x penalty.
|
|
35
|
+
return new LeafMap(this.tree.remove(leaf).insert(leaf, seq));
|
|
36
|
+
}
|
|
37
|
+
delete(leaf) {
|
|
38
|
+
return new LeafMap(this.tree.remove(leaf));
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.LeafMap = LeafMap;
|
|
42
|
+
/**
|
|
43
|
+
* Sort function for LeafNodes in LeafMap.
|
|
44
|
+
*
|
|
45
|
+
* Sorting by startCounters lets us quickly look up the LeafNode containing an ElementId,
|
|
46
|
+
* even though the LeafNode might start at a lower counter.
|
|
47
|
+
*/
|
|
48
|
+
function compareLeaves(a, b) {
|
|
49
|
+
if (a.bunchId === b.bunchId) {
|
|
50
|
+
return a.startCounter - b.startCounter;
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
return a.bunchId > b.bunchId ? 1 : -1;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=leaf_map.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"leaf_map.js","sourceRoot":"","sources":["../../../src/internal/leaf_map.ts"],"names":[],"mappings":";;;;;;AAAA,0FAA+D;AAG/D;;;;;;GAMG;AACH,MAAa,OAAO;IAClB,YAAqC,IAA4B;QAA5B,SAAI,GAAJ,IAAI,CAAwB;IAAG,CAAC;IAErE,MAAM,CAAC,GAAG;QACR,OAAO,IAAI,IAAI,CAAC,IAAA,mCAAY,EAAC,aAAa,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;OAKG;IACH,OAAO,CACL,OAAe,EACf,OAAe;QAEf,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAc,CAAC,CAAC;QAC1E,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,GAAG,CAAC,IAAc,EAAE,GAAW;QAC7B,oEAAoE;QACpE,mCAAmC;QACnC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,IAAc;QACnB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7C,CAAC;CACF;AA9BD,0BA8BC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CAAC,CAAW,EAAE,CAAW;IAC7C,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5B,OAAO,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Tree } from "functional-red-black-tree";
|
|
2
|
+
/**
|
|
3
|
+
* A persistent map from an InnerNode's seq to its parent's seq
|
|
4
|
+
* (or 0 for the root).
|
|
5
|
+
*
|
|
6
|
+
* Sequence numbers start at 1 and increment each time you call set(nextSeq, ...).
|
|
7
|
+
*/
|
|
8
|
+
export declare class SeqMap {
|
|
9
|
+
private readonly tree;
|
|
10
|
+
private readonly nextSeq;
|
|
11
|
+
constructor(tree: Tree<number, number>, nextSeq: number);
|
|
12
|
+
static new(): SeqMap;
|
|
13
|
+
bumpNextSeq(): SeqMap;
|
|
14
|
+
get(seq: number): number;
|
|
15
|
+
set(seq: number, value: number): SeqMap;
|
|
16
|
+
}
|
|
17
|
+
export interface MutableSeqMap {
|
|
18
|
+
value: SeqMap;
|
|
19
|
+
}
|
|
20
|
+
export declare function getAndBumpNextSeq(seqsMut: MutableSeqMap): number;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getAndBumpNextSeq = exports.SeqMap = void 0;
|
|
7
|
+
const functional_red_black_tree_1 = __importDefault(require("functional-red-black-tree"));
|
|
8
|
+
/**
|
|
9
|
+
* A persistent map from an InnerNode's seq to its parent's seq
|
|
10
|
+
* (or 0 for the root).
|
|
11
|
+
*
|
|
12
|
+
* Sequence numbers start at 1 and increment each time you call set(nextSeq, ...).
|
|
13
|
+
*/
|
|
14
|
+
class SeqMap {
|
|
15
|
+
constructor(tree, nextSeq) {
|
|
16
|
+
this.tree = tree;
|
|
17
|
+
this.nextSeq = nextSeq;
|
|
18
|
+
}
|
|
19
|
+
static new() {
|
|
20
|
+
return new this((0, functional_red_black_tree_1.default)((a, b) => a - b), 1);
|
|
21
|
+
}
|
|
22
|
+
bumpNextSeq() {
|
|
23
|
+
return new SeqMap(this.tree, this.nextSeq + 1);
|
|
24
|
+
}
|
|
25
|
+
get(seq) {
|
|
26
|
+
return this.tree.get(seq);
|
|
27
|
+
}
|
|
28
|
+
set(seq, value) {
|
|
29
|
+
// TODO: Vendor functional-red-black-tree and add our own set method
|
|
30
|
+
// so we can avoid this 2x penalty.
|
|
31
|
+
return new SeqMap(this.tree.remove(seq).insert(seq, value), this.nextSeq);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.SeqMap = SeqMap;
|
|
35
|
+
function getAndBumpNextSeq(seqsMut) {
|
|
36
|
+
// @ts-expect-error Ignore private
|
|
37
|
+
const nextSeq = seqsMut.value.nextSeq;
|
|
38
|
+
seqsMut.value = seqsMut.value.bumpNextSeq();
|
|
39
|
+
return nextSeq;
|
|
40
|
+
}
|
|
41
|
+
exports.getAndBumpNextSeq = getAndBumpNextSeq;
|
|
42
|
+
//# sourceMappingURL=seq_map.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seq_map.js","sourceRoot":"","sources":["../../../src/internal/seq_map.ts"],"names":[],"mappings":";;;;;;AAAA,0FAA+D;AAE/D;;;;;GAKG;AACH,MAAa,MAAM;IACjB,YACmB,IAA0B,EAC1B,OAAe;QADf,SAAI,GAAJ,IAAI,CAAsB;QAC1B,YAAO,GAAP,OAAO,CAAQ;IAC/B,CAAC;IAEJ,MAAM,CAAC,GAAG;QACR,OAAO,IAAI,IAAI,CACb,IAAA,mCAAY,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAC7B,CAAC,CACF,CAAC;IACJ,CAAC;IAED,WAAW;QACT,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;IAC7B,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAa;QAC5B,oEAAoE;QACpE,mCAAmC;QACnC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5E,CAAC;CAKF;AA9BD,wBA8BC;AAMD,SAAgB,iBAAiB,CAAC,OAAsB;IACtD,kCAAkC;IAClC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;IACtC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IAC5C,OAAO,OAAO,CAAC;AACjB,CAAC;AALD,8CAKC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* JSON saved state for an IdList.
|
|
3
3
|
*
|
|
4
4
|
* It describes all of the list's known ElementIds in list order, with basic compression:
|
|
5
5
|
* if sequential ElementIds have the same bunchId, the same isDeleted status,
|
|
6
6
|
* and sequential counters, then they are combined into a single object.
|
|
7
7
|
*/
|
|
8
8
|
export type SavedIdList = Array<{
|
|
9
|
-
bunchId: string;
|
|
10
|
-
startCounter: number;
|
|
11
|
-
count: number;
|
|
12
|
-
isDeleted: boolean;
|
|
9
|
+
readonly bunchId: string;
|
|
10
|
+
readonly startCounter: number;
|
|
11
|
+
readonly count: number;
|
|
12
|
+
readonly isDeleted: boolean;
|
|
13
13
|
}>;
|
package/build/esm/id.d.ts
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
*
|
|
4
4
|
* ElementIds are conceptually the same as UUIDs (or nanoids, etc.).
|
|
5
5
|
* However, when a single thread generates a series of ElementIds, you are
|
|
6
|
-
* allowed to optimize by generating a single UUID/nanoid/etc. and using that as the
|
|
6
|
+
* allowed to optimize by generating a single UUID/nanoid/etc. and using that as the `bunchId`
|
|
7
7
|
* for a "bunch" of elements, with varying `counter`.
|
|
8
8
|
* The resulting ElementIds compress better than a set of UUIDs, but they are
|
|
9
|
-
* still globally unique, even if another thread/user
|
|
9
|
+
* still globally unique, even if another thread/device/user generates ElementIds concurrently.
|
|
10
10
|
*
|
|
11
|
-
* For example, if a user types a sentence from left to right, you
|
|
11
|
+
* For example, if a user types a sentence from left to right, you can generate a
|
|
12
12
|
* single `bunchId` and assign their characters the sequential ElementIds
|
|
13
13
|
* `{ bunchId, counter: 0 }, { bunchId, counter: 1 }, { bunchId, counter: 2 }, ...`.
|
|
14
14
|
* An IdList will store all of these as a single object instead of
|
|
@@ -31,9 +31,6 @@ export interface ElementId {
|
|
|
31
31
|
* IdList is optimized for this case, but it is not mandatory.
|
|
32
32
|
* In particular, it is okay if future edits cause the sequential ids to be
|
|
33
33
|
* separated, partially deleted, or even reordered.
|
|
34
|
-
*
|
|
35
|
-
* Negative integers are supported by IdList (e.g., for optimized right-to-left insertions),
|
|
36
|
-
* though you may choose to avoid these in your application, to make serialization easier.
|
|
37
34
|
*/
|
|
38
35
|
readonly counter: number;
|
|
39
36
|
}
|
package/build/esm/id.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"id.js","sourceRoot":"","sources":["../../src/id.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"id.js","sourceRoot":"","sources":["../../src/id.ts"],"names":[],"mappings":"AAqCA;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,CAAY,EAAE,CAAY;IACjD,OAAO,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC;AAC5D,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,SAAS,CAAC,OAAkB,EAAE,KAAa;IACzD,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,GAAG,GAAgB,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/build/esm/id_list.d.ts
CHANGED
|
@@ -1,11 +1,79 @@
|
|
|
1
|
+
import { SparseIndices } from "sparse-array-rled";
|
|
1
2
|
import { ElementId } from "./id";
|
|
3
|
+
import { MutableLeafMap } from "./internal/leaf_map";
|
|
4
|
+
import { MutableSeqMap } from "./internal/seq_map";
|
|
2
5
|
import { SavedIdList } from "./saved_id_list";
|
|
3
|
-
interface
|
|
4
|
-
|
|
5
|
-
|
|
6
|
+
export interface LeafNode {
|
|
7
|
+
readonly bunchId: string;
|
|
8
|
+
readonly startCounter: number;
|
|
9
|
+
readonly count: number;
|
|
10
|
+
/**
|
|
11
|
+
* The present counter values in this leaf node.
|
|
12
|
+
*
|
|
13
|
+
* Note that it is indexed by counter, not by (counter - this.startCounter).
|
|
14
|
+
*/
|
|
15
|
+
readonly present: SparseIndices;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* An inner node with inner-node children.
|
|
19
|
+
*/
|
|
20
|
+
export declare class InnerNodeInner {
|
|
21
|
+
/**
|
|
22
|
+
* A unique identifer for this node within its IdTree.
|
|
23
|
+
*/
|
|
24
|
+
readonly seq: number;
|
|
25
|
+
readonly children: readonly InnerNode[];
|
|
26
|
+
readonly size: number;
|
|
27
|
+
readonly knownSize: number;
|
|
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);
|
|
6
40
|
}
|
|
7
41
|
/**
|
|
8
|
-
*
|
|
42
|
+
* An inner node with leaf children.
|
|
43
|
+
*/
|
|
44
|
+
export declare class InnerNodeLeaf {
|
|
45
|
+
/**
|
|
46
|
+
* A unique identifer for this node within its IdTree.
|
|
47
|
+
*/
|
|
48
|
+
readonly seq: number;
|
|
49
|
+
readonly children: readonly LeafNode[];
|
|
50
|
+
readonly size: number;
|
|
51
|
+
readonly knownSize: number;
|
|
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);
|
|
63
|
+
}
|
|
64
|
+
export type InnerNode = InnerNodeInner | InnerNodeLeaf;
|
|
65
|
+
/**
|
|
66
|
+
* The B+Tree's branching factor, i.e., the max number of children of a node.
|
|
67
|
+
*
|
|
68
|
+
* Note that our B+Tree has no keys - in particular, no keys in internal nodes.
|
|
69
|
+
*
|
|
70
|
+
* Wiki B+Tree: "B+ trees can also be used for data stored in RAM.
|
|
71
|
+
* In this case a reasonable choice for block size would be the size of [the] processor's cache line."
|
|
72
|
+
* (64 byte cache line) / (8 byte pointer) = 8.
|
|
73
|
+
*/
|
|
74
|
+
export declare const M = 8;
|
|
75
|
+
/**
|
|
76
|
+
* A list of ElementIds, as a persistent (immutable) data structure.
|
|
9
77
|
*
|
|
10
78
|
* An IdList helps you assign a unique immutable id to each element of a list, such
|
|
11
79
|
* as a todo-list or a text document (= list of characters). That way, you can keep track
|
|
@@ -14,11 +82,14 @@ interface ListElement {
|
|
|
14
82
|
*
|
|
15
83
|
* Any id that has been inserted into an IdList remains **known** to that list indefinitely,
|
|
16
84
|
* allowing you to reference it in insertAfter/insertBefore operations. Calling {@link delete}
|
|
17
|
-
* merely marks an id as deleted (not present); it
|
|
85
|
+
* merely marks an id as deleted (= not present); a deleted id does not count towards the length of the list or index-based accessors, but it does remain in memory as a "tombstone".
|
|
18
86
|
* This is useful in collaborative settings, since another user might instruct you to
|
|
19
87
|
* call `insertAfter(before, newId)` when you have already deleted `before` locally.
|
|
20
|
-
*
|
|
21
|
-
*
|
|
88
|
+
*
|
|
89
|
+
* To enable easy and efficient rollbacks, such as in a
|
|
90
|
+
* [server reconciliation](https://mattweidner.com/2024/06/04/server-architectures.html#1-server-reconciliation)
|
|
91
|
+
* architecture, IdList is a persistent (immutable) data structure. Mutating methods
|
|
92
|
+
* return a new IdList, sharing memory with the old IdList where possible.
|
|
22
93
|
*
|
|
23
94
|
* See {@link ElementId} for advice on generating ElementIds. IdList is optimized for
|
|
24
95
|
* the case where sequential ElementIds often have the same bunchId and sequential counters.
|
|
@@ -26,18 +97,34 @@ interface ListElement {
|
|
|
26
97
|
* cause such ids to be separated, partially deleted, or even reordered.
|
|
27
98
|
*/
|
|
28
99
|
export declare class IdList {
|
|
29
|
-
private readonly
|
|
30
|
-
|
|
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;
|
|
113
|
+
/**
|
|
114
|
+
* Internal - construct an IdList using a static method (e.g. `IdList.new`).
|
|
115
|
+
*/
|
|
116
|
+
private constructor();
|
|
31
117
|
/**
|
|
32
118
|
* Constructs an empty list.
|
|
33
119
|
*
|
|
34
|
-
* To begin with a non-empty list, use {@link IdList.from}
|
|
120
|
+
* To begin with a non-empty list, use {@link IdList.from}, {@link IdList.fromIds},
|
|
121
|
+
* or {@link IdList.load}.
|
|
35
122
|
*/
|
|
36
|
-
|
|
123
|
+
static new(): IdList;
|
|
37
124
|
/**
|
|
38
125
|
* Constructs a list with the given known ids and their isDeleted status, in list order.
|
|
39
126
|
*/
|
|
40
|
-
static from(
|
|
127
|
+
static from(knownIds: Iterable<{
|
|
41
128
|
id: ElementId;
|
|
42
129
|
isDeleted: boolean;
|
|
43
130
|
}>): IdList;
|
|
@@ -51,6 +138,8 @@ export declare class IdList {
|
|
|
51
138
|
static fromIds(ids: Iterable<ElementId>): IdList;
|
|
52
139
|
/**
|
|
53
140
|
* Inserts `newId` immediately after the given id (`before`), which may be deleted.
|
|
141
|
+
* A new IdList is returned and the current list remains unchanged.
|
|
142
|
+
*
|
|
54
143
|
* All ids to the right of `before` are shifted one index to the right, in the manner
|
|
55
144
|
* of [Array.splice](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice).
|
|
56
145
|
*
|
|
@@ -60,11 +149,13 @@ export declare class IdList {
|
|
|
60
149
|
* @param count Provide this to bulk-insert `count` ids from left-to-right,
|
|
61
150
|
* starting with newId and proceeding with the same bunchId and sequential counters.
|
|
62
151
|
* @throws If `before` is not known.
|
|
63
|
-
* @throws If
|
|
152
|
+
* @throws If any inserted id is already known.
|
|
64
153
|
*/
|
|
65
|
-
insertAfter(before: ElementId | null, newId: ElementId, count?: number):
|
|
154
|
+
insertAfter(before: ElementId | null, newId: ElementId, count?: number): IdList;
|
|
66
155
|
/**
|
|
67
156
|
* Inserts `newId` immediately before the given id (`after`), which may be deleted.
|
|
157
|
+
* A new IdList is returned and the current list remains unchanged.
|
|
158
|
+
*
|
|
68
159
|
* All ids to the right of `after`, plus `after` itself, are shifted one index to the right, in the manner
|
|
69
160
|
* of [Array.splice](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice).
|
|
70
161
|
*
|
|
@@ -77,39 +168,45 @@ export declare class IdList {
|
|
|
77
168
|
* @throws If `after` is not known.
|
|
78
169
|
* @throws If `newId` is already known.
|
|
79
170
|
*/
|
|
80
|
-
insertBefore(after: ElementId | null, newId: ElementId, count?: number):
|
|
171
|
+
insertBefore(after: ElementId | null, newId: ElementId, count?: number): IdList;
|
|
81
172
|
/**
|
|
82
|
-
*
|
|
173
|
+
* Marks `id` as deleted from this list.
|
|
174
|
+
* A new IdList is returned and the current list remains unchanged.
|
|
83
175
|
*
|
|
84
|
-
*
|
|
85
|
-
* it remains known
|
|
176
|
+
* Once deleted, `id` does not count towards the length of the list or index-based accessors.
|
|
177
|
+
* However, it remains known (a "tombstone").
|
|
178
|
+
* Because `id` is still known, you can reference it in future insertAfter/insertBefore
|
|
86
179
|
* operations, including ones sent concurrently by other devices.
|
|
180
|
+
* This does have a memory cost, but it is compressed in common cases.
|
|
87
181
|
*
|
|
88
|
-
* If `id` is already not known, this method does nothing.
|
|
182
|
+
* If `id` is already deleted or is not known, this method does nothing.
|
|
89
183
|
*/
|
|
90
|
-
|
|
184
|
+
delete(id: ElementId): IdList;
|
|
91
185
|
/**
|
|
92
|
-
*
|
|
186
|
+
* Un-marks `id` as deleted from this list, making it present again.
|
|
187
|
+
* A new IdList is returned and the current list remains unchanged.
|
|
93
188
|
*
|
|
94
|
-
*
|
|
95
|
-
* operations, including ones sent concurrently by other devices.
|
|
96
|
-
* However, it does occupy space in memory (compressed in common cases).
|
|
189
|
+
* This method is an exact inverse to {@link delete}.
|
|
97
190
|
*
|
|
98
|
-
*
|
|
99
|
-
* that makes `id` no longer known, see {@link uninsert}.
|
|
191
|
+
* If `id` is already present, this method does nothing.
|
|
100
192
|
*
|
|
101
|
-
* If `id` is
|
|
193
|
+
* @throws If `id` is not known.
|
|
102
194
|
*/
|
|
103
|
-
|
|
195
|
+
undelete(id: ElementId): IdList;
|
|
104
196
|
/**
|
|
105
|
-
*
|
|
106
|
-
* This is an exact inverse to {@link delete}.
|
|
197
|
+
* Returns the path from id's leaf node to the root, or null if id is not found.
|
|
107
198
|
*
|
|
108
|
-
*
|
|
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;
|
|
203
|
+
/**
|
|
204
|
+
* Replaces the leaf at the given path with newLeaves.
|
|
205
|
+
* Returns a proper (sufficiently balanced) B+Tree with updated sizes.
|
|
109
206
|
*
|
|
110
|
-
*
|
|
207
|
+
* newLeaves.length must be in [1, M].
|
|
111
208
|
*/
|
|
112
|
-
|
|
209
|
+
private replaceLeaf;
|
|
113
210
|
/**
|
|
114
211
|
* Returns whether `id` is present in the list, i.e., it is known and not deleted.
|
|
115
212
|
*
|
|
@@ -124,6 +221,16 @@ export declare class IdList {
|
|
|
124
221
|
* Compare to {@link has}.
|
|
125
222
|
*/
|
|
126
223
|
isKnown(id: ElementId): boolean;
|
|
224
|
+
/**
|
|
225
|
+
* Returns true if any of the given bulk ids are known.
|
|
226
|
+
*/
|
|
227
|
+
private isAnyKnown;
|
|
228
|
+
/**
|
|
229
|
+
* The length of the list, counting only present ids.
|
|
230
|
+
*
|
|
231
|
+
* To include known but deleted ids, use `this.knownIds.length`.
|
|
232
|
+
*/
|
|
233
|
+
get length(): number;
|
|
127
234
|
/**
|
|
128
235
|
* Returns the id at the given index in the list.
|
|
129
236
|
*
|
|
@@ -142,10 +249,6 @@ export declare class IdList {
|
|
|
142
249
|
* @throws If `id` is not known.
|
|
143
250
|
*/
|
|
144
251
|
indexOf(id: ElementId, bias?: "none" | "left" | "right"): number;
|
|
145
|
-
/**
|
|
146
|
-
* The length of the list.
|
|
147
|
-
*/
|
|
148
|
-
get length(): number;
|
|
149
252
|
/**
|
|
150
253
|
* Iterates over all present ids in the list.
|
|
151
254
|
*/
|
|
@@ -157,18 +260,14 @@ export declare class IdList {
|
|
|
157
260
|
/**
|
|
158
261
|
* Iterates over all __known__ ids in the list, indicating which are deleted.
|
|
159
262
|
*/
|
|
160
|
-
|
|
263
|
+
valuesWithIsDeleted(): IterableIterator<{
|
|
161
264
|
id: ElementId;
|
|
162
265
|
isDeleted: boolean;
|
|
163
266
|
}>;
|
|
164
|
-
/**
|
|
165
|
-
* Returns an independent copy of this list, including known but deleted ids.
|
|
166
|
-
*/
|
|
167
|
-
clone(): IdList;
|
|
168
267
|
private _knownIds?;
|
|
169
268
|
/**
|
|
170
|
-
* A
|
|
171
|
-
* That is, it ignores
|
|
269
|
+
* A view of this list that treats all known ids as present.
|
|
270
|
+
* That is, it ignores is-deleted status when computing list indices or iterating.
|
|
172
271
|
*/
|
|
173
272
|
get knownIds(): KnownIdView;
|
|
174
273
|
/**
|
|
@@ -179,23 +278,25 @@ export declare class IdList {
|
|
|
179
278
|
*/
|
|
180
279
|
save(): SavedIdList;
|
|
181
280
|
/**
|
|
182
|
-
* Loads a saved state returned by {@link save}
|
|
281
|
+
* Loads a saved state returned by {@link save}.
|
|
183
282
|
*/
|
|
184
|
-
load(savedState: SavedIdList):
|
|
283
|
+
static load(savedState: SavedIdList): IdList;
|
|
185
284
|
}
|
|
186
285
|
/**
|
|
187
|
-
* A
|
|
188
|
-
* That is, this class ignores the underlying list's
|
|
286
|
+
* A view of an IdList that treats all known ids as present.
|
|
287
|
+
* That is, this class ignores the underlying list's is-deleted status when computing list indices.
|
|
288
|
+
* Access using {@link IdList.knownIds}.
|
|
189
289
|
*
|
|
190
|
-
* To mutate,
|
|
290
|
+
* Like IdList, KnownIdView is immutable. To mutate, use a mutating method on the original IdList
|
|
291
|
+
* and access the returned list's `knownIds`.
|
|
191
292
|
*/
|
|
192
293
|
export declare class KnownIdView {
|
|
193
294
|
readonly list: IdList;
|
|
194
|
-
private readonly
|
|
295
|
+
private readonly root;
|
|
195
296
|
/**
|
|
196
297
|
* Internal use only. Use {@link IdList.knownIds} instead.
|
|
197
298
|
*/
|
|
198
|
-
constructor(list: IdList,
|
|
299
|
+
constructor(list: IdList, root: InnerNode);
|
|
199
300
|
/**
|
|
200
301
|
* Returns the id at the given index in this view.
|
|
201
302
|
*
|
|
@@ -223,4 +324,3 @@ export declare class KnownIdView {
|
|
|
223
324
|
*/
|
|
224
325
|
values(): IterableIterator<ElementId>;
|
|
225
326
|
}
|
|
226
|
-
export {};
|