articulated 0.1.0 → 0.2.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 +36 -26
- package/build/commonjs/id.d.ts +3 -6
- package/build/commonjs/id.js.map +1 -1
- package/build/commonjs/id_list.d.ts +116 -52
- package/build/commonjs/id_list.js +745 -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/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 +116 -52
- package/build/esm/id_list.js +741 -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/saved_id_list.d.ts +5 -5
- package/package.json +6 -1
- package/src/id.ts +3 -6
- package/src/id_list.ts +871 -193
- package/src/index.ts +1 -1
- 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":";;;AAAA,6BAA2C;AAQ3C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAa,MAAM;IAIjB;;;;OAIG;IACH;QACE,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,KAAsD;QAChE,MAAM,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;QAC1B,KAAK,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,KAAK,EAAE,CAAC;YACtC,6BAA6B;YAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YACnC,IAAI,CAAC,SAAS;gBAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QACjC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,CAAC,GAAwB;QACrC,MAAM,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;QAC1B,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,MAAwB,EAAE,KAAgB,EAAE,KAAK,GAAG,CAAC;QAC/D,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,KAAa,CAAC;QAClB,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,6DAA6D;YAC7D,KAAK,GAAG,CAAC,CAAC,CAAC;QACb,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,aAAQ,EAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;YAChE,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC;IACxB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,KAAuB,EAAE,KAAgB,EAAE,KAAK,GAAG,CAAC;QAC/D,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,KAAa,CAAC;QAClB,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,aAAQ,EAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;YAC/D,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAED,wEAAwE;QACxE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC;IACxB,CAAC;IAED;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAa;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,aAAQ,EAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAClE,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAa;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,aAAQ,EAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC3D,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YACxC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAa;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,aAAQ,EAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC3D,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAClB,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAED,YAAY;IAEZ;;;;;;OAMG;IACH,GAAG,CAAC,EAAa;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,aAAQ,EAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC3D,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,EAAa;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,aAAQ,EAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACH,EAAE,CAAC,KAAa;QACd,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,aAAa,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;gBACnB,IAAI,SAAS,KAAK,CAAC;oBAAE,OAAO,GAAG,CAAC,EAAE,CAAC;gBACnC,SAAS,EAAE,CAAC;YACd,CAAC;QACH,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;;;;;OAUG;IACH,OAAO,CAAC,EAAa,EAAE,OAAkC,MAAM;QAC7D;;;WAGG;QACH,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,IAAA,aAAQ,EAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;gBACzB,YAAY;gBACZ,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;oBAClB,QAAQ,IAAI,EAAE,CAAC;wBACb,KAAK,MAAM;4BACT,OAAO,CAAC,CAAC,CAAC;wBACZ,KAAK,MAAM;4BACT,OAAO,KAAK,GAAG,CAAC,CAAC;wBACnB,KAAK,OAAO;4BACV,OAAO,KAAK,CAAC;oBACjB,CAAC;gBACH,CAAC;;oBAAM,OAAO,KAAK,CAAC;YACtB,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,SAAS;gBAAE,KAAK,EAAE,CAAC;QAC9B,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,sBAAsB;IAEtB;;OAEG;IACH,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QAChB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,SAAS;gBAAE,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,KAAK;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAID;;;OAGG;IACH,IAAI,QAAQ;QACV,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,SAAS,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,gBAAgB;IAEhB;;;;;OAKG;IACH,IAAI;QACF,MAAM,GAAG,GAAgB,EAAE,CAAC;QAE5B,KAAK,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrB,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACpC,IACE,EAAE,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO;oBAC9B,EAAE,CAAC,OAAO,KAAK,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,KAAK;oBACnD,SAAS,KAAK,OAAO,CAAC,SAAS,EAC/B,CAAC;oBACD,OAAO,CAAC,KAAK,EAAE,CAAC;oBAChB,SAAS;gBACX,CAAC;YACH,CAAC;YAED,GAAG,CAAC,IAAI,CAAC;gBACP,OAAO,EAAE,EAAE,CAAC,OAAO;gBACnB,YAAY,EAAE,EAAE,CAAC,OAAO;gBACxB,KAAK,EAAE,CAAC;gBACR,SAAS;aACV,CAAC,CAAC;QACL,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,UAAuB;QAC1B,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QAEjB,KAAK,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,UAAU,EAAE,CAAC;YACrE,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC;gBACjD,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAC;YAC9C,CAAC;YAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;oBACd,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,GAAG,CAAC,EAAE;oBAC1C,SAAS;iBACV,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,SAAS;gBAAE,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC;QACxC,CAAC;IACH,CAAC;CACF;AApWD,wBAoWC;AAED;;;;;GAKG;AACH,MAAa,WAAW;IACtB;;OAEG;IACH,YAAqB,IAAY,EAAmB,KAAoB;QAAnD,SAAI,GAAJ,IAAI,CAAQ;QAAmB,UAAK,GAAL,KAAK,CAAe;IAAG,CAAC;IAE5E,mDAAmD;IAEnD,YAAY;IAEZ;;;;;;OAMG;IACH,EAAE,CAAC,KAAa;QACd,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,aAAa,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,EAAa;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,aAAQ,EAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,YAAY;IAEZ;;OAEG;IACH,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QAChB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7B,MAAM,GAAG,CAAC,EAAE,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IACjC,CAAC;CACF;AA1DD,kCA0DC;AAED,SAAS,cAAc,CACrB,OAAkB,EAClB,SAAkB,EAClB,KAAa;IAEb,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,GAAkB,EAAE,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,GAAG,CAAC,IAAI,CAAC;YACP,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,CAAC,EAAE;YAC9D,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
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"}
|
|
@@ -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,48 @@
|
|
|
1
|
+
import { SparseIndices } from "sparse-array-rled";
|
|
1
2
|
import { ElementId } from "./id";
|
|
2
3
|
import { SavedIdList } from "./saved_id_list";
|
|
3
|
-
interface
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
export interface LeafNode {
|
|
5
|
+
readonly bunchId: string;
|
|
6
|
+
readonly startCounter: number;
|
|
7
|
+
readonly count: number;
|
|
8
|
+
/**
|
|
9
|
+
* The present counter values in this leaf node.
|
|
10
|
+
*
|
|
11
|
+
* Note that it is indexed by counter, not by (counter - this.startCounter).
|
|
12
|
+
*/
|
|
13
|
+
readonly present: SparseIndices;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* An inner node with inner-node children.
|
|
17
|
+
*/
|
|
18
|
+
export declare class InnerNodeInner {
|
|
19
|
+
readonly children: readonly InnerNode[];
|
|
20
|
+
readonly size: number;
|
|
21
|
+
readonly knownSize: number;
|
|
22
|
+
constructor(children: readonly InnerNode[]);
|
|
6
23
|
}
|
|
7
24
|
/**
|
|
8
|
-
*
|
|
25
|
+
* An inner node with leaf children.
|
|
26
|
+
*/
|
|
27
|
+
export declare class InnerNodeLeaf {
|
|
28
|
+
readonly children: readonly LeafNode[];
|
|
29
|
+
readonly size: number;
|
|
30
|
+
readonly knownSize: number;
|
|
31
|
+
constructor(children: readonly LeafNode[]);
|
|
32
|
+
}
|
|
33
|
+
export type InnerNode = InnerNodeInner | InnerNodeLeaf;
|
|
34
|
+
/**
|
|
35
|
+
* The B+Tree's branching factor, i.e., the max number of children of a node.
|
|
36
|
+
*
|
|
37
|
+
* Note that our B+Tree has no keys - in particular, no keys in internal nodes.
|
|
38
|
+
*
|
|
39
|
+
* Wiki B+Tree: "B+ trees can also be used for data stored in RAM.
|
|
40
|
+
* In this case a reasonable choice for block size would be the size of [the] processor's cache line."
|
|
41
|
+
* (64 byte cache line) / (8 byte pointer) = 8.
|
|
42
|
+
*/
|
|
43
|
+
export declare const M = 8;
|
|
44
|
+
/**
|
|
45
|
+
* A list of ElementIds, as a persistent (immutable) data structure.
|
|
9
46
|
*
|
|
10
47
|
* An IdList helps you assign a unique immutable id to each element of a list, such
|
|
11
48
|
* as a todo-list or a text document (= list of characters). That way, you can keep track
|
|
@@ -14,11 +51,14 @@ interface ListElement {
|
|
|
14
51
|
*
|
|
15
52
|
* Any id that has been inserted into an IdList remains **known** to that list indefinitely,
|
|
16
53
|
* allowing you to reference it in insertAfter/insertBefore operations. Calling {@link delete}
|
|
17
|
-
* merely marks an id as deleted (not present); it
|
|
54
|
+
* 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
55
|
* This is useful in collaborative settings, since another user might instruct you to
|
|
19
56
|
* call `insertAfter(before, newId)` when you have already deleted `before` locally.
|
|
20
|
-
*
|
|
21
|
-
*
|
|
57
|
+
*
|
|
58
|
+
* To enable easy and efficient rollbacks, such as in a
|
|
59
|
+
* [server reconciliation](https://mattweidner.com/2024/06/04/server-architectures.html#1-server-reconciliation)
|
|
60
|
+
* architecture, IdList is a persistent (immutable) data structure. Mutating methods
|
|
61
|
+
* return a new IdList, sharing memory with the old IdList where possible.
|
|
22
62
|
*
|
|
23
63
|
* See {@link ElementId} for advice on generating ElementIds. IdList is optimized for
|
|
24
64
|
* the case where sequential ElementIds often have the same bunchId and sequential counters.
|
|
@@ -26,18 +66,22 @@ interface ListElement {
|
|
|
26
66
|
* cause such ids to be separated, partially deleted, or even reordered.
|
|
27
67
|
*/
|
|
28
68
|
export declare class IdList {
|
|
29
|
-
private readonly
|
|
30
|
-
|
|
69
|
+
private readonly root;
|
|
70
|
+
/**
|
|
71
|
+
* Internal - construct an IdList using a static method (e.g. `IdList.new`).
|
|
72
|
+
*/
|
|
73
|
+
private constructor();
|
|
31
74
|
/**
|
|
32
75
|
* Constructs an empty list.
|
|
33
76
|
*
|
|
34
|
-
* To begin with a non-empty list, use {@link IdList.from}
|
|
77
|
+
* To begin with a non-empty list, use {@link IdList.from}, {@link IdList.fromIds},
|
|
78
|
+
* or {@link IdList.load}.
|
|
35
79
|
*/
|
|
36
|
-
|
|
80
|
+
static new(): IdList;
|
|
37
81
|
/**
|
|
38
82
|
* Constructs a list with the given known ids and their isDeleted status, in list order.
|
|
39
83
|
*/
|
|
40
|
-
static from(
|
|
84
|
+
static from(knownIds: Iterable<{
|
|
41
85
|
id: ElementId;
|
|
42
86
|
isDeleted: boolean;
|
|
43
87
|
}>): IdList;
|
|
@@ -51,6 +95,8 @@ export declare class IdList {
|
|
|
51
95
|
static fromIds(ids: Iterable<ElementId>): IdList;
|
|
52
96
|
/**
|
|
53
97
|
* Inserts `newId` immediately after the given id (`before`), which may be deleted.
|
|
98
|
+
* A new IdList is returned and the current list remains unchanged.
|
|
99
|
+
*
|
|
54
100
|
* All ids to the right of `before` are shifted one index to the right, in the manner
|
|
55
101
|
* of [Array.splice](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice).
|
|
56
102
|
*
|
|
@@ -60,11 +106,13 @@ export declare class IdList {
|
|
|
60
106
|
* @param count Provide this to bulk-insert `count` ids from left-to-right,
|
|
61
107
|
* starting with newId and proceeding with the same bunchId and sequential counters.
|
|
62
108
|
* @throws If `before` is not known.
|
|
63
|
-
* @throws If
|
|
109
|
+
* @throws If any inserted id is already known.
|
|
64
110
|
*/
|
|
65
|
-
insertAfter(before: ElementId | null, newId: ElementId, count?: number):
|
|
111
|
+
insertAfter(before: ElementId | null, newId: ElementId, count?: number): IdList;
|
|
66
112
|
/**
|
|
67
113
|
* Inserts `newId` immediately before the given id (`after`), which may be deleted.
|
|
114
|
+
* A new IdList is returned and the current list remains unchanged.
|
|
115
|
+
*
|
|
68
116
|
* All ids to the right of `after`, plus `after` itself, are shifted one index to the right, in the manner
|
|
69
117
|
* of [Array.splice](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice).
|
|
70
118
|
*
|
|
@@ -77,39 +125,38 @@ export declare class IdList {
|
|
|
77
125
|
* @throws If `after` is not known.
|
|
78
126
|
* @throws If `newId` is already known.
|
|
79
127
|
*/
|
|
80
|
-
insertBefore(after: ElementId | null, newId: ElementId, count?: number):
|
|
128
|
+
insertBefore(after: ElementId | null, newId: ElementId, count?: number): IdList;
|
|
81
129
|
/**
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
* Typically, you instead want to call {@link delete}, which marks `id` as deleted while
|
|
85
|
-
* it remains known. That way, you can reference `id` in future insertAfter/insertBefore
|
|
86
|
-
* operations, including ones sent concurrently by other devices.
|
|
87
|
-
*
|
|
88
|
-
* If `id` is already not known, this method does nothing.
|
|
89
|
-
*/
|
|
90
|
-
uninsert(id: ElementId): void;
|
|
91
|
-
/**
|
|
92
|
-
* Marks `id` as deleted from this list. The id remains known (a "tombstone").
|
|
130
|
+
* Marks `id` as deleted from this list.
|
|
131
|
+
* A new IdList is returned and the current list remains unchanged.
|
|
93
132
|
*
|
|
133
|
+
* Once deleted, `id` does not count towards the length of the list or index-based accessors.
|
|
134
|
+
* However, it remains known (a "tombstone").
|
|
94
135
|
* Because `id` is still known, you can reference it in future insertAfter/insertBefore
|
|
95
136
|
* operations, including ones sent concurrently by other devices.
|
|
96
|
-
*
|
|
137
|
+
* This does have a memory cost, but it is compressed in common cases.
|
|
97
138
|
*
|
|
98
|
-
*
|
|
99
|
-
* that makes `id` no longer known, see {@link uninsert}.
|
|
100
|
-
*
|
|
101
|
-
* If `id` is already deleted or not known, this method does nothing.
|
|
139
|
+
* If `id` is already deleted or is not known, this method does nothing.
|
|
102
140
|
*/
|
|
103
|
-
delete(id: ElementId):
|
|
141
|
+
delete(id: ElementId): IdList;
|
|
104
142
|
/**
|
|
105
143
|
* Un-marks `id` as deleted from this list, making it present again.
|
|
106
|
-
*
|
|
144
|
+
* A new IdList is returned and the current list remains unchanged.
|
|
145
|
+
*
|
|
146
|
+
* This method is an exact inverse to {@link delete}.
|
|
107
147
|
*
|
|
108
148
|
* If `id` is already present, this method does nothing.
|
|
109
149
|
*
|
|
110
150
|
* @throws If `id` is not known.
|
|
111
151
|
*/
|
|
112
|
-
undelete(id: ElementId):
|
|
152
|
+
undelete(id: ElementId): IdList;
|
|
153
|
+
/**
|
|
154
|
+
* Replaces the leaf at the given path with newLeaves.
|
|
155
|
+
* Returns a proper (sufficiently balanced) B+Tree with updated sizes.
|
|
156
|
+
*
|
|
157
|
+
* newLeaves.length must be in [1, M].
|
|
158
|
+
*/
|
|
159
|
+
private replaceLeaf;
|
|
113
160
|
/**
|
|
114
161
|
* Returns whether `id` is present in the list, i.e., it is known and not deleted.
|
|
115
162
|
*
|
|
@@ -124,6 +171,12 @@ export declare class IdList {
|
|
|
124
171
|
* Compare to {@link has}.
|
|
125
172
|
*/
|
|
126
173
|
isKnown(id: ElementId): boolean;
|
|
174
|
+
/**
|
|
175
|
+
* The length of the list, counting only present ids.
|
|
176
|
+
*
|
|
177
|
+
* To include known but deleted ids, use `this.knownIds.length`.
|
|
178
|
+
*/
|
|
179
|
+
get length(): number;
|
|
127
180
|
/**
|
|
128
181
|
* Returns the id at the given index in the list.
|
|
129
182
|
*
|
|
@@ -142,10 +195,6 @@ export declare class IdList {
|
|
|
142
195
|
* @throws If `id` is not known.
|
|
143
196
|
*/
|
|
144
197
|
indexOf(id: ElementId, bias?: "none" | "left" | "right"): number;
|
|
145
|
-
/**
|
|
146
|
-
* The length of the list.
|
|
147
|
-
*/
|
|
148
|
-
get length(): number;
|
|
149
198
|
/**
|
|
150
199
|
* Iterates over all present ids in the list.
|
|
151
200
|
*/
|
|
@@ -157,18 +206,14 @@ export declare class IdList {
|
|
|
157
206
|
/**
|
|
158
207
|
* Iterates over all __known__ ids in the list, indicating which are deleted.
|
|
159
208
|
*/
|
|
160
|
-
|
|
209
|
+
valuesWithIsDeleted(): IterableIterator<{
|
|
161
210
|
id: ElementId;
|
|
162
211
|
isDeleted: boolean;
|
|
163
212
|
}>;
|
|
164
|
-
/**
|
|
165
|
-
* Returns an independent copy of this list, including known but deleted ids.
|
|
166
|
-
*/
|
|
167
|
-
clone(): IdList;
|
|
168
213
|
private _knownIds?;
|
|
169
214
|
/**
|
|
170
|
-
* A
|
|
171
|
-
* That is, it ignores
|
|
215
|
+
* A view of this list that treats all known ids as present.
|
|
216
|
+
* That is, it ignores is-deleted status when computing list indices or iterating.
|
|
172
217
|
*/
|
|
173
218
|
get knownIds(): KnownIdView;
|
|
174
219
|
/**
|
|
@@ -179,23 +224,25 @@ export declare class IdList {
|
|
|
179
224
|
*/
|
|
180
225
|
save(): SavedIdList;
|
|
181
226
|
/**
|
|
182
|
-
* Loads a saved state returned by {@link save}
|
|
227
|
+
* Loads a saved state returned by {@link save}.
|
|
183
228
|
*/
|
|
184
|
-
load(savedState: SavedIdList):
|
|
229
|
+
static load(savedState: SavedIdList): IdList;
|
|
185
230
|
}
|
|
186
231
|
/**
|
|
187
|
-
* A
|
|
188
|
-
* That is, this class ignores the underlying list's
|
|
232
|
+
* A view of an IdList that treats all known ids as present.
|
|
233
|
+
* That is, this class ignores the underlying list's is-deleted status when computing list indices.
|
|
234
|
+
* Access using {@link IdList.knownIds}.
|
|
189
235
|
*
|
|
190
|
-
* To mutate,
|
|
236
|
+
* Like IdList, KnownIdView is immutable. To mutate, use a mutating method on the original IdList
|
|
237
|
+
* and access the returned list's `knownIds`.
|
|
191
238
|
*/
|
|
192
239
|
export declare class KnownIdView {
|
|
193
240
|
readonly list: IdList;
|
|
194
|
-
private readonly
|
|
241
|
+
private readonly root;
|
|
195
242
|
/**
|
|
196
243
|
* Internal use only. Use {@link IdList.knownIds} instead.
|
|
197
244
|
*/
|
|
198
|
-
constructor(list: IdList,
|
|
245
|
+
constructor(list: IdList, root: InnerNode);
|
|
199
246
|
/**
|
|
200
247
|
* Returns the id at the given index in this view.
|
|
201
248
|
*
|
|
@@ -223,4 +270,21 @@ export declare class KnownIdView {
|
|
|
223
270
|
*/
|
|
224
271
|
values(): IterableIterator<ElementId>;
|
|
225
272
|
}
|
|
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;
|
|
226
290
|
export {};
|