@fluidframework/merge-tree 2.0.0-rc.1.0.3 → 2.0.0-rc.2.0.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/{.eslintrc.js → .eslintrc.cjs} +4 -1
- package/{.mocharc.js → .mocharc.cjs} +1 -1
- package/CHANGELOG.md +4 -0
- package/api-extractor-cjs.json +8 -0
- package/api-extractor-lint.json +1 -1
- package/api-extractor.json +1 -9
- package/api-report/merge-tree.api.md +6 -12
- package/dist/MergeTreeTextHelper.d.ts +2 -2
- package/dist/MergeTreeTextHelper.d.ts.map +1 -1
- package/dist/MergeTreeTextHelper.js +3 -3
- package/dist/MergeTreeTextHelper.js.map +1 -1
- package/dist/attributionCollection.d.ts +1 -1
- package/dist/attributionCollection.d.ts.map +1 -1
- package/dist/attributionCollection.js.map +1 -1
- package/dist/attributionPolicy.d.ts +1 -1
- package/dist/attributionPolicy.d.ts.map +1 -1
- package/dist/attributionPolicy.js +15 -15
- package/dist/attributionPolicy.js.map +1 -1
- package/dist/client.d.ts +31 -12
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +103 -92
- package/dist/client.js.map +1 -1
- package/dist/collections/index.d.ts +2 -2
- package/dist/collections/index.d.ts.map +1 -1
- package/dist/collections/index.js +6 -6
- package/dist/collections/index.js.map +1 -1
- package/dist/endOfTreeSegment.d.ts +3 -3
- package/dist/endOfTreeSegment.d.ts.map +1 -1
- package/dist/endOfTreeSegment.js +8 -8
- package/dist/endOfTreeSegment.js.map +1 -1
- package/dist/index.d.ts +20 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +71 -71
- package/dist/index.js.map +1 -1
- package/dist/localReference.d.ts +9 -39
- package/dist/localReference.d.ts.map +1 -1
- package/dist/localReference.js +29 -24
- package/dist/localReference.js.map +1 -1
- package/dist/merge-tree-alpha.d.ts +28 -450
- package/dist/merge-tree-beta.d.ts +0 -438
- package/dist/merge-tree-public.d.ts +0 -438
- package/dist/merge-tree-untrimmed.d.ts +28 -787
- package/dist/mergeTree.d.ts +11 -19
- package/dist/mergeTree.d.ts.map +1 -1
- package/dist/mergeTree.js +201 -189
- package/dist/mergeTree.js.map +1 -1
- package/dist/mergeTreeDeltaCallback.d.ts +3 -7
- package/dist/mergeTreeDeltaCallback.d.ts.map +1 -1
- package/dist/mergeTreeDeltaCallback.js.map +1 -1
- package/dist/mergeTreeNodeWalk.d.ts +1 -1
- package/dist/mergeTreeNodeWalk.d.ts.map +1 -1
- package/dist/mergeTreeNodeWalk.js.map +1 -1
- package/dist/mergeTreeNodes.d.ts +17 -14
- package/dist/mergeTreeNodes.d.ts.map +1 -1
- package/dist/mergeTreeNodes.js +32 -32
- package/dist/mergeTreeNodes.js.map +1 -1
- package/dist/mergeTreeTracking.d.ts +2 -2
- package/dist/mergeTreeTracking.d.ts.map +1 -1
- package/dist/mergeTreeTracking.js +2 -2
- package/dist/mergeTreeTracking.js.map +1 -1
- package/dist/opBuilder.d.ts +3 -3
- package/dist/opBuilder.d.ts.map +1 -1
- package/dist/opBuilder.js +7 -7
- package/dist/opBuilder.js.map +1 -1
- package/dist/package.json +3 -0
- package/dist/partialLengths.d.ts +5 -5
- package/dist/partialLengths.d.ts.map +1 -1
- package/dist/partialLengths.js +29 -29
- package/dist/partialLengths.js.map +1 -1
- package/dist/referencePositions.d.ts +4 -4
- package/dist/referencePositions.d.ts.map +1 -1
- package/dist/referencePositions.js +2 -2
- package/dist/referencePositions.js.map +1 -1
- package/dist/revertibles.d.ts +7 -7
- package/dist/revertibles.d.ts.map +1 -1
- package/dist/revertibles.js +39 -39
- package/dist/revertibles.js.map +1 -1
- package/dist/segmentGroupCollection.d.ts +1 -1
- package/dist/segmentGroupCollection.d.ts.map +1 -1
- package/dist/segmentGroupCollection.js +3 -3
- package/dist/segmentGroupCollection.js.map +1 -1
- package/dist/segmentPropertiesManager.d.ts +2 -2
- package/dist/segmentPropertiesManager.d.ts.map +1 -1
- package/dist/segmentPropertiesManager.js +8 -8
- package/dist/segmentPropertiesManager.js.map +1 -1
- package/dist/snapshotChunks.d.ts +3 -3
- package/dist/snapshotChunks.d.ts.map +1 -1
- package/dist/snapshotChunks.js +5 -5
- package/dist/snapshotChunks.js.map +1 -1
- package/dist/snapshotLoader.d.ts +3 -3
- package/dist/snapshotLoader.d.ts.map +1 -1
- package/dist/snapshotLoader.js +19 -19
- package/dist/snapshotLoader.js.map +1 -1
- package/dist/snapshotV1.d.ts +3 -3
- package/dist/snapshotV1.d.ts.map +1 -1
- package/dist/snapshotV1.js +35 -18
- package/dist/snapshotV1.js.map +1 -1
- package/dist/snapshotlegacy.d.ts +2 -2
- package/dist/snapshotlegacy.d.ts.map +1 -1
- package/dist/snapshotlegacy.js +22 -10
- package/dist/snapshotlegacy.js.map +1 -1
- package/dist/sortedSegmentSet.d.ts +3 -3
- package/dist/sortedSegmentSet.d.ts.map +1 -1
- package/dist/sortedSegmentSet.js +7 -5
- package/dist/sortedSegmentSet.js.map +1 -1
- package/dist/test/Insertion.perf.spec.js +15 -15
- package/dist/test/Insertion.perf.spec.js.map +1 -1
- package/dist/test/PartialLengths.perf.spec.js +13 -13
- package/dist/test/PartialLengths.perf.spec.js.map +1 -1
- package/dist/test/Removal.perf.spec.js +25 -25
- package/dist/test/Removal.perf.spec.js.map +1 -1
- package/dist/test/Snapshot.perf.spec.js +3 -3
- package/dist/test/Snapshot.perf.spec.js.map +1 -1
- package/dist/test/attributionCollection.perf.spec.js +9 -9
- package/dist/test/attributionCollection.perf.spec.js.map +1 -1
- package/dist/test/attributionCollection.spec.js +46 -46
- package/dist/test/attributionCollection.spec.js.map +1 -1
- package/dist/test/attributionPolicy.spec.js +13 -13
- package/dist/test/attributionPolicy.spec.js.map +1 -1
- package/dist/test/{beastTest.d.ts → beastTest.spec.d.ts} +3 -3
- package/dist/test/beastTest.spec.d.ts.map +1 -0
- package/dist/test/{beastTest.js → beastTest.spec.js} +120 -119
- package/dist/test/beastTest.spec.js.map +1 -0
- package/dist/test/client.annotateMarker.spec.js +13 -13
- package/dist/test/client.annotateMarker.spec.js.map +1 -1
- package/dist/test/{client.apis.d.ts → client.apis.spec.d.ts} +1 -1
- package/dist/test/client.apis.spec.d.ts.map +1 -0
- package/dist/test/{client.apis.js → client.apis.spec.js} +8 -8
- package/dist/test/client.apis.spec.js.map +1 -0
- package/dist/test/client.applyMsg.spec.js +106 -43
- package/dist/test/client.applyMsg.spec.js.map +1 -1
- package/dist/test/client.applyStashedOpFarm.spec.d.ts +1 -1
- package/dist/test/client.applyStashedOpFarm.spec.d.ts.map +1 -1
- package/dist/test/client.applyStashedOpFarm.spec.js +33 -21
- package/dist/test/client.applyStashedOpFarm.spec.js.map +1 -1
- package/dist/test/client.attributionFarm.spec.d.ts +1 -1
- package/dist/test/client.attributionFarm.spec.d.ts.map +1 -1
- package/dist/test/client.attributionFarm.spec.js +13 -13
- package/dist/test/client.attributionFarm.spec.js.map +1 -1
- package/dist/test/client.conflictFarm.spec.d.ts +1 -1
- package/dist/test/client.conflictFarm.spec.d.ts.map +1 -1
- package/dist/test/client.conflictFarm.spec.js +9 -9
- package/dist/test/client.conflictFarm.spec.js.map +1 -1
- package/dist/test/client.getPosition.spec.js +4 -4
- package/dist/test/client.getPosition.spec.js.map +1 -1
- package/dist/test/client.localReference.spec.js +140 -109
- package/dist/test/client.localReference.spec.js.map +1 -1
- package/dist/test/client.localReferenceFarm.spec.js +18 -18
- package/dist/test/client.localReferenceFarm.spec.js.map +1 -1
- package/dist/test/client.rebasePosition.spec.js +2 -2
- package/dist/test/client.rebasePosition.spec.js.map +1 -1
- package/dist/test/client.reconnectFarm.spec.d.ts +1 -1
- package/dist/test/client.reconnectFarm.spec.d.ts.map +1 -1
- package/dist/test/client.reconnectFarm.spec.js +10 -10
- package/dist/test/client.reconnectFarm.spec.js.map +1 -1
- package/dist/test/client.replay.spec.js +11 -11
- package/dist/test/client.replay.spec.js.map +1 -1
- package/dist/test/client.rollback.spec.js +83 -83
- package/dist/test/client.rollback.spec.js.map +1 -1
- package/dist/test/client.rollbackFarm.spec.js +9 -9
- package/dist/test/client.rollbackFarm.spec.js.map +1 -1
- package/dist/test/client.searchForMarker.spec.js +137 -137
- package/dist/test/client.searchForMarker.spec.js.map +1 -1
- package/dist/test/client.walkSegments.spec.js +2 -2
- package/dist/test/client.walkSegments.spec.js.map +1 -1
- package/dist/test/collections.list.spec.js +4 -4
- package/dist/test/collections.list.spec.js.map +1 -1
- package/dist/test/createInsertOnlyAttributionPolicy.spec.js +4 -4
- package/dist/test/createInsertOnlyAttributionPolicy.spec.js.map +1 -1
- package/dist/test/dirname.cjs +16 -0
- package/dist/test/dirname.cjs.map +1 -0
- package/dist/test/dirname.d.cts +6 -0
- package/dist/test/dirname.d.cts.map +1 -0
- package/dist/test/index.d.ts +8 -8
- package/dist/test/index.d.ts.map +1 -1
- package/dist/test/index.js +82 -81
- package/dist/test/index.js.map +1 -1
- package/dist/test/mergeTree.annotate.deltaCallback.spec.js +39 -39
- package/dist/test/mergeTree.annotate.deltaCallback.spec.js.map +1 -1
- package/dist/test/mergeTree.annotate.spec.js +39 -39
- package/dist/test/mergeTree.annotate.spec.js.map +1 -1
- package/dist/test/mergeTree.insert.deltaCallback.spec.js +35 -35
- package/dist/test/mergeTree.insert.deltaCallback.spec.js.map +1 -1
- package/dist/test/mergeTree.insertingWalk.spec.js +77 -77
- package/dist/test/mergeTree.insertingWalk.spec.js.map +1 -1
- package/dist/test/mergeTree.markRangeRemoved.deltaCallback.spec.js +42 -42
- package/dist/test/mergeTree.markRangeRemoved.deltaCallback.spec.js.map +1 -1
- package/dist/test/mergeTree.markRangeRemoved.spec.js +15 -15
- package/dist/test/mergeTree.markRangeRemoved.spec.js.map +1 -1
- package/dist/test/mergeTree.walk.spec.js +14 -14
- package/dist/test/mergeTree.walk.spec.js.map +1 -1
- package/dist/test/mergeTree.zamboni.spec.js +9 -9
- package/dist/test/mergeTree.zamboni.spec.js.map +1 -1
- package/dist/test/mergeTreeOperationRunner.d.ts +4 -4
- package/dist/test/mergeTreeOperationRunner.d.ts.map +1 -1
- package/dist/test/mergeTreeOperationRunner.js +16 -15
- package/dist/test/mergeTreeOperationRunner.js.map +1 -1
- package/dist/test/mergeTreeOperationRunner.spec.js +5 -5
- package/dist/test/mergeTreeOperationRunner.spec.js.map +1 -1
- package/dist/test/obliterate.concurrent.spec.js +85 -88
- package/dist/test/obliterate.concurrent.spec.js.map +1 -1
- package/dist/test/obliterate.deltaCallback.spec.d.ts +6 -0
- package/dist/test/obliterate.deltaCallback.spec.d.ts.map +1 -0
- package/dist/test/obliterate.deltaCallback.spec.js +146 -0
- package/dist/test/obliterate.deltaCallback.spec.js.map +1 -0
- package/dist/test/obliterate.partialLength.spec.js +39 -44
- package/dist/test/obliterate.partialLength.spec.js.map +1 -1
- package/dist/test/obliterate.reconnect.spec.js +15 -18
- package/dist/test/obliterate.reconnect.spec.js.map +1 -1
- package/dist/test/obliterate.spec.js +16 -16
- package/dist/test/obliterate.spec.js.map +1 -1
- package/dist/test/ordinal.spec.js +5 -5
- package/dist/test/ordinal.spec.js.map +1 -1
- package/dist/test/partialLength.spec.js +58 -64
- package/dist/test/partialLength.spec.js.map +1 -1
- package/dist/test/properties.spec.js +15 -15
- package/dist/test/properties.spec.js.map +1 -1
- package/dist/test/reconnectHelper.d.ts +8 -8
- package/dist/test/reconnectHelper.d.ts.map +1 -1
- package/dist/test/reconnectHelper.js +3 -3
- package/dist/test/reconnectHelper.js.map +1 -1
- package/dist/test/resetPendingSegmentsToOp.spec.js +18 -18
- package/dist/test/resetPendingSegmentsToOp.spec.js.map +1 -1
- package/dist/test/revertibleFarm.spec.js +21 -21
- package/dist/test/revertibleFarm.spec.js.map +1 -1
- package/dist/test/revertibles.spec.js +67 -67
- package/dist/test/revertibles.spec.js.map +1 -1
- package/dist/test/segmentGroupCollection.spec.js +3 -3
- package/dist/test/segmentGroupCollection.spec.js.map +1 -1
- package/dist/test/snapshot.spec.js +16 -16
- package/dist/test/snapshot.spec.js.map +1 -1
- package/dist/test/snapshot.utils.d.ts +4 -4
- package/dist/test/snapshot.utils.d.ts.map +1 -1
- package/dist/test/snapshot.utils.js +11 -11
- package/dist/test/snapshot.utils.js.map +1 -1
- package/dist/test/snapshotlegacy.spec.js +22 -22
- package/dist/test/snapshotlegacy.spec.js.map +1 -1
- package/dist/test/sortedSegmentSet.spec.js +9 -9
- package/dist/test/sortedSegmentSet.spec.js.map +1 -1
- package/dist/test/testClient.d.ts +13 -16
- package/dist/test/testClient.d.ts.map +1 -1
- package/dist/test/testClient.js +57 -59
- package/dist/test/testClient.js.map +1 -1
- package/dist/test/testClientLogger.d.ts +3 -3
- package/dist/test/testClientLogger.d.ts.map +1 -1
- package/dist/test/testClientLogger.js +19 -19
- package/dist/test/testClientLogger.js.map +1 -1
- package/dist/test/testServer.d.ts +3 -3
- package/dist/test/testServer.d.ts.map +1 -1
- package/dist/test/testServer.js +8 -8
- package/dist/test/testServer.js.map +1 -1
- package/dist/test/testUtils.d.ts +14 -6
- package/dist/test/testUtils.d.ts.map +1 -1
- package/dist/test/testUtils.js +36 -17
- package/dist/test/testUtils.js.map +1 -1
- package/dist/test/text.d.ts +2 -2
- package/dist/test/text.d.ts.map +1 -1
- package/dist/test/text.js +10 -10
- package/dist/test/text.js.map +1 -1
- package/dist/test/tracking.spec.js +12 -12
- package/dist/test/tracking.spec.js.map +1 -1
- package/dist/test/{wordUnitTests.d.ts → wordUnitTests.spec.d.ts} +1 -1
- package/dist/test/wordUnitTests.spec.d.ts.map +1 -0
- package/dist/test/{wordUnitTests.js → wordUnitTests.spec.js} +16 -15
- package/dist/test/wordUnitTests.spec.js.map +1 -0
- package/dist/textSegment.d.ts +3 -3
- package/dist/textSegment.d.ts.map +1 -1
- package/dist/textSegment.js +2 -2
- package/dist/textSegment.js.map +1 -1
- package/dist/tsdoc-metadata.json +1 -1
- package/dist/zamboni.d.ts +2 -2
- package/dist/zamboni.d.ts.map +1 -1
- package/dist/zamboni.js +19 -19
- package/dist/zamboni.js.map +1 -1
- package/lib/{MergeTreeTextHelper.d.mts → MergeTreeTextHelper.d.ts} +3 -3
- package/lib/MergeTreeTextHelper.d.ts.map +1 -0
- package/lib/{MergeTreeTextHelper.mjs → MergeTreeTextHelper.js} +3 -2
- package/lib/MergeTreeTextHelper.js.map +1 -0
- package/lib/{attributionCollection.d.mts → attributionCollection.d.ts} +2 -2
- package/lib/attributionCollection.d.ts.map +1 -0
- package/lib/{attributionCollection.mjs → attributionCollection.js} +1 -1
- package/lib/attributionCollection.js.map +1 -0
- package/lib/{attributionPolicy.d.mts → attributionPolicy.d.ts} +2 -2
- package/lib/attributionPolicy.d.ts.map +1 -0
- package/lib/{attributionPolicy.mjs → attributionPolicy.js} +4 -4
- package/lib/attributionPolicy.js.map +1 -0
- package/lib/{client.d.mts → client.d.ts} +32 -13
- package/lib/client.d.ts.map +1 -0
- package/lib/{client.mjs → client.js} +42 -31
- package/lib/client.js.map +1 -0
- package/lib/collections/{index.d.mts → index.d.ts} +3 -3
- package/lib/collections/index.d.ts.map +1 -0
- package/lib/collections/index.js +7 -0
- package/lib/collections/index.js.map +1 -0
- package/lib/collections/{list.d.mts → list.d.ts} +1 -1
- package/lib/collections/list.d.ts.map +1 -0
- package/lib/collections/{list.mjs → list.js} +1 -1
- package/lib/collections/list.js.map +1 -0
- package/lib/collections/{rbTree.d.mts → rbTree.d.ts} +1 -1
- package/lib/collections/rbTree.d.ts.map +1 -0
- package/lib/collections/{rbTree.mjs → rbTree.js} +1 -1
- package/lib/collections/rbTree.js.map +1 -0
- package/lib/{constants.d.mts → constants.d.ts} +1 -1
- package/lib/constants.d.ts.map +1 -0
- package/lib/{constants.mjs → constants.js} +1 -1
- package/lib/constants.js.map +1 -0
- package/lib/{endOfTreeSegment.d.mts → endOfTreeSegment.d.ts} +4 -4
- package/lib/endOfTreeSegment.d.ts.map +1 -0
- package/lib/{endOfTreeSegment.mjs → endOfTreeSegment.js} +3 -3
- package/lib/endOfTreeSegment.js.map +1 -0
- package/lib/{index.d.mts → index.d.ts} +21 -21
- package/lib/index.d.ts.map +1 -0
- package/lib/{index.mjs → index.js} +20 -20
- package/lib/index.js.map +1 -0
- package/lib/{localReference.d.mts → localReference.d.ts} +10 -40
- package/lib/localReference.d.ts.map +1 -0
- package/lib/{localReference.mjs → localReference.js} +12 -6
- package/lib/localReference.js.map +1 -0
- package/lib/{merge-tree-alpha.d.mts → merge-tree-alpha.d.ts} +28 -450
- package/lib/merge-tree-beta.d.ts +230 -0
- package/lib/merge-tree-public.d.ts +230 -0
- package/lib/{merge-tree-untrimmed.d.mts → merge-tree-untrimmed.d.ts} +28 -787
- package/lib/{mergeTree.d.mts → mergeTree.d.ts} +12 -20
- package/lib/mergeTree.d.ts.map +1 -0
- package/lib/{mergeTree.mjs → mergeTree.js} +47 -32
- package/lib/mergeTree.js.map +1 -0
- package/lib/{mergeTreeDeltaCallback.d.mts → mergeTreeDeltaCallback.d.ts} +8 -8
- package/lib/mergeTreeDeltaCallback.d.ts.map +1 -0
- package/lib/{mergeTreeDeltaCallback.mjs → mergeTreeDeltaCallback.js} +1 -1
- package/lib/mergeTreeDeltaCallback.js.map +1 -0
- package/lib/{mergeTreeNodeWalk.d.mts → mergeTreeNodeWalk.d.ts} +2 -2
- package/lib/mergeTreeNodeWalk.d.ts.map +1 -0
- package/lib/{mergeTreeNodeWalk.mjs → mergeTreeNodeWalk.js} +1 -1
- package/lib/mergeTreeNodeWalk.js.map +1 -0
- package/lib/{mergeTreeNodes.d.mts → mergeTreeNodes.d.ts} +18 -15
- package/lib/mergeTreeNodes.d.ts.map +1 -0
- package/lib/{mergeTreeNodes.mjs → mergeTreeNodes.js} +12 -10
- package/lib/mergeTreeNodes.js.map +1 -0
- package/lib/{mergeTreeTracking.d.mts → mergeTreeTracking.d.ts} +3 -3
- package/lib/mergeTreeTracking.d.ts.map +1 -0
- package/lib/{mergeTreeTracking.mjs → mergeTreeTracking.js} +3 -2
- package/lib/mergeTreeTracking.js.map +1 -0
- package/lib/{opBuilder.d.mts → opBuilder.d.ts} +4 -4
- package/lib/{opBuilder.d.mts.map → opBuilder.d.ts.map} +1 -1
- package/lib/{opBuilder.mjs → opBuilder.js} +2 -2
- package/lib/opBuilder.js.map +1 -0
- package/lib/{ops.d.mts → ops.d.ts} +1 -1
- package/lib/ops.d.ts.map +1 -0
- package/lib/{ops.mjs → ops.js} +1 -1
- package/lib/ops.js.map +1 -0
- package/lib/{ordinal.d.mts → ordinal.d.ts} +1 -1
- package/lib/ordinal.d.ts.map +1 -0
- package/lib/{ordinal.mjs → ordinal.js} +2 -1
- package/lib/ordinal.js.map +1 -0
- package/lib/{partialLengths.d.mts → partialLengths.d.ts} +6 -6
- package/lib/partialLengths.d.ts.map +1 -0
- package/lib/{partialLengths.mjs → partialLengths.js} +11 -10
- package/lib/partialLengths.js.map +1 -0
- package/lib/{properties.d.mts → properties.d.ts} +1 -1
- package/lib/properties.d.ts.map +1 -0
- package/lib/{properties.mjs → properties.js} +1 -1
- package/lib/properties.js.map +1 -0
- package/lib/{referencePositions.d.mts → referencePositions.d.ts} +5 -5
- package/lib/referencePositions.d.ts.map +1 -0
- package/lib/{referencePositions.mjs → referencePositions.js} +2 -2
- package/lib/referencePositions.js.map +1 -0
- package/lib/{revertibles.d.mts → revertibles.d.ts} +8 -8
- package/lib/revertibles.d.ts.map +1 -0
- package/lib/{revertibles.mjs → revertibles.js} +13 -13
- package/lib/revertibles.js.map +1 -0
- package/lib/{segmentGroupCollection.d.mts → segmentGroupCollection.d.ts} +2 -2
- package/lib/segmentGroupCollection.d.ts.map +1 -0
- package/lib/{segmentGroupCollection.mjs → segmentGroupCollection.js} +2 -2
- package/lib/segmentGroupCollection.js.map +1 -0
- package/lib/{segmentPropertiesManager.d.mts → segmentPropertiesManager.d.ts} +3 -3
- package/lib/segmentPropertiesManager.d.ts.map +1 -0
- package/lib/{segmentPropertiesManager.mjs → segmentPropertiesManager.js} +5 -3
- package/lib/segmentPropertiesManager.js.map +1 -0
- package/lib/{snapshotChunks.d.mts → snapshotChunks.d.ts} +4 -4
- package/lib/snapshotChunks.d.ts.map +1 -0
- package/lib/{snapshotChunks.mjs → snapshotChunks.js} +2 -2
- package/lib/snapshotChunks.js.map +1 -0
- package/lib/{snapshotLoader.d.mts → snapshotLoader.d.ts} +4 -4
- package/lib/snapshotLoader.d.ts.map +1 -0
- package/lib/{snapshotLoader.mjs → snapshotLoader.js} +10 -9
- package/lib/snapshotLoader.js.map +1 -0
- package/lib/{snapshotV1.d.mts → snapshotV1.d.ts} +4 -4
- package/lib/snapshotV1.d.ts.map +1 -0
- package/lib/{snapshotV1.mjs → snapshotV1.js} +24 -7
- package/lib/snapshotV1.js.map +1 -0
- package/lib/{snapshotlegacy.d.mts → snapshotlegacy.d.ts} +3 -3
- package/lib/snapshotlegacy.d.ts.map +1 -0
- package/lib/{snapshotlegacy.mjs → snapshotlegacy.js} +17 -4
- package/lib/snapshotlegacy.js.map +1 -0
- package/lib/{sortedSegmentSet.d.mts → sortedSegmentSet.d.ts} +4 -4
- package/lib/sortedSegmentSet.d.ts.map +1 -0
- package/lib/{sortedSegmentSet.mjs → sortedSegmentSet.js} +8 -5
- package/lib/sortedSegmentSet.js.map +1 -0
- package/lib/{sortedSet.d.mts → sortedSet.d.ts} +1 -1
- package/lib/sortedSet.d.ts.map +1 -0
- package/lib/{sortedSet.mjs → sortedSet.js} +1 -1
- package/lib/sortedSet.js.map +1 -0
- package/lib/test/Insertion.perf.spec.d.ts +6 -0
- package/lib/test/Insertion.perf.spec.d.ts.map +1 -0
- package/lib/test/Insertion.perf.spec.js +111 -0
- package/lib/test/Insertion.perf.spec.js.map +1 -0
- package/lib/test/PartialLengths.perf.spec.d.ts +6 -0
- package/lib/test/PartialLengths.perf.spec.d.ts.map +1 -0
- package/lib/test/PartialLengths.perf.spec.js +65 -0
- package/lib/test/PartialLengths.perf.spec.js.map +1 -0
- package/lib/test/Removal.perf.spec.d.ts +6 -0
- package/lib/test/Removal.perf.spec.d.ts.map +1 -0
- package/lib/test/Removal.perf.spec.js +164 -0
- package/lib/test/Removal.perf.spec.js.map +1 -0
- package/lib/test/Snapshot.perf.spec.d.ts +6 -0
- package/lib/test/Snapshot.perf.spec.d.ts.map +1 -0
- package/lib/test/Snapshot.perf.spec.js +31 -0
- package/lib/test/Snapshot.perf.spec.js.map +1 -0
- package/lib/test/attributionCollection.perf.spec.d.ts +6 -0
- package/lib/test/attributionCollection.perf.spec.d.ts.map +1 -0
- package/lib/test/attributionCollection.perf.spec.js +229 -0
- package/lib/test/attributionCollection.perf.spec.js.map +1 -0
- package/lib/test/attributionCollection.spec.d.ts +6 -0
- package/lib/test/attributionCollection.spec.d.ts.map +1 -0
- package/lib/test/attributionCollection.spec.js +484 -0
- package/lib/test/attributionCollection.spec.js.map +1 -0
- package/lib/test/attributionPolicy.spec.d.ts +6 -0
- package/lib/test/attributionPolicy.spec.d.ts.map +1 -0
- package/lib/test/attributionPolicy.spec.js +187 -0
- package/lib/test/attributionPolicy.spec.js.map +1 -0
- package/lib/test/beastTest.spec.d.ts +54 -0
- package/lib/test/beastTest.spec.d.ts.map +1 -0
- package/lib/test/beastTest.spec.js +1318 -0
- package/lib/test/beastTest.spec.js.map +1 -0
- package/lib/test/client.annotateMarker.spec.d.ts +6 -0
- package/lib/test/client.annotateMarker.spec.d.ts.map +1 -0
- package/lib/test/client.annotateMarker.spec.js +43 -0
- package/lib/test/client.annotateMarker.spec.js.map +1 -0
- package/lib/test/client.apis.spec.d.ts +7 -0
- package/lib/test/client.apis.spec.d.ts.map +1 -0
- package/lib/test/client.apis.spec.js +67 -0
- package/lib/test/client.apis.spec.js.map +1 -0
- package/lib/test/client.applyMsg.spec.d.ts +6 -0
- package/lib/test/client.applyMsg.spec.d.ts.map +1 -0
- package/lib/test/client.applyMsg.spec.js +561 -0
- package/lib/test/client.applyMsg.spec.js.map +1 -0
- package/lib/test/client.applyStashedOpFarm.spec.d.ts +12 -0
- package/lib/test/client.applyStashedOpFarm.spec.d.ts.map +1 -0
- package/lib/test/client.applyStashedOpFarm.spec.js +153 -0
- package/lib/test/client.applyStashedOpFarm.spec.js.map +1 -0
- package/lib/test/client.attributionFarm.spec.d.ts +7 -0
- package/lib/test/client.attributionFarm.spec.d.ts.map +1 -0
- package/lib/test/client.attributionFarm.spec.js +92 -0
- package/lib/test/client.attributionFarm.spec.js.map +1 -0
- package/lib/test/client.conflictFarm.spec.d.ts +15 -0
- package/lib/test/client.conflictFarm.spec.d.ts.map +1 -0
- package/lib/test/client.conflictFarm.spec.js +85 -0
- package/lib/test/client.conflictFarm.spec.js.map +1 -0
- package/lib/test/client.getPosition.spec.d.ts +6 -0
- package/lib/test/client.getPosition.spec.d.ts.map +1 -0
- package/lib/test/client.getPosition.spec.js +52 -0
- package/lib/test/client.getPosition.spec.js.map +1 -0
- package/lib/test/client.localReference.spec.d.ts +6 -0
- package/lib/test/client.localReference.spec.d.ts.map +1 -0
- package/lib/test/client.localReference.spec.js +468 -0
- package/lib/test/client.localReference.spec.js.map +1 -0
- package/lib/test/client.localReferenceFarm.spec.d.ts +6 -0
- package/lib/test/client.localReferenceFarm.spec.d.ts.map +1 -0
- package/lib/test/client.localReferenceFarm.spec.js +86 -0
- package/lib/test/client.localReferenceFarm.spec.js.map +1 -0
- package/lib/test/client.rebasePosition.spec.d.ts +6 -0
- package/lib/test/client.rebasePosition.spec.d.ts.map +1 -0
- package/lib/test/client.rebasePosition.spec.js +100 -0
- package/lib/test/client.rebasePosition.spec.js.map +1 -0
- package/lib/test/client.reconnectFarm.spec.d.ts +12 -0
- package/lib/test/client.reconnectFarm.spec.d.ts.map +1 -0
- package/lib/test/client.reconnectFarm.spec.js +88 -0
- package/lib/test/client.reconnectFarm.spec.js.map +1 -0
- package/lib/test/client.replay.spec.d.ts +6 -0
- package/lib/test/client.replay.spec.d.ts.map +1 -0
- package/lib/test/client.replay.spec.js +57 -0
- package/lib/test/client.replay.spec.js.map +1 -0
- package/lib/test/client.rollback.spec.d.ts +6 -0
- package/lib/test/client.rollback.spec.d.ts.map +1 -0
- package/lib/test/client.rollback.spec.js +451 -0
- package/lib/test/client.rollback.spec.js.map +1 -0
- package/lib/test/client.rollbackFarm.spec.d.ts +6 -0
- package/lib/test/client.rollbackFarm.spec.d.ts.map +1 -0
- package/lib/test/client.rollbackFarm.spec.js +46 -0
- package/lib/test/client.rollbackFarm.spec.js.map +1 -0
- package/lib/test/client.searchForMarker.spec.d.ts +6 -0
- package/lib/test/client.searchForMarker.spec.d.ts.map +1 -0
- package/lib/test/client.searchForMarker.spec.js +495 -0
- package/lib/test/client.searchForMarker.spec.js.map +1 -0
- package/lib/test/client.walkSegments.spec.d.ts +6 -0
- package/lib/test/client.walkSegments.spec.d.ts.map +1 -0
- package/lib/test/client.walkSegments.spec.js +52 -0
- package/lib/test/client.walkSegments.spec.js.map +1 -0
- package/lib/test/collections.list.spec.d.ts +6 -0
- package/lib/test/collections.list.spec.d.ts.map +1 -0
- package/lib/test/collections.list.spec.js +82 -0
- package/lib/test/collections.list.spec.js.map +1 -0
- package/lib/test/createInsertOnlyAttributionPolicy.spec.d.ts +6 -0
- package/lib/test/createInsertOnlyAttributionPolicy.spec.d.ts.map +1 -0
- package/lib/test/createInsertOnlyAttributionPolicy.spec.js +33 -0
- package/lib/test/createInsertOnlyAttributionPolicy.spec.js.map +1 -0
- package/lib/test/dirname.cjs +16 -0
- package/lib/test/dirname.cjs.map +1 -0
- package/lib/test/dirname.d.cts +6 -0
- package/lib/test/dirname.d.cts.map +1 -0
- package/lib/test/index.d.ts +13 -0
- package/lib/test/index.d.ts.map +1 -0
- package/lib/test/index.js +13 -0
- package/lib/test/index.js.map +1 -0
- package/lib/test/mergeTree.annotate.deltaCallback.spec.d.ts +6 -0
- package/lib/test/mergeTree.annotate.deltaCallback.spec.d.ts.map +1 -0
- package/lib/test/mergeTree.annotate.deltaCallback.spec.js +140 -0
- package/lib/test/mergeTree.annotate.deltaCallback.spec.js.map +1 -0
- package/lib/test/mergeTree.annotate.spec.d.ts +6 -0
- package/lib/test/mergeTree.annotate.spec.d.ts.map +1 -0
- package/lib/test/mergeTree.annotate.spec.js +446 -0
- package/lib/test/mergeTree.annotate.spec.js.map +1 -0
- package/lib/test/mergeTree.insert.deltaCallback.spec.d.ts +6 -0
- package/lib/test/mergeTree.insert.deltaCallback.spec.d.ts.map +1 -0
- package/lib/test/mergeTree.insert.deltaCallback.spec.js +124 -0
- package/lib/test/mergeTree.insert.deltaCallback.spec.js.map +1 -0
- package/lib/test/mergeTree.insertingWalk.spec.d.ts +6 -0
- package/lib/test/mergeTree.insertingWalk.spec.d.ts.map +1 -0
- package/lib/test/mergeTree.insertingWalk.spec.js +277 -0
- package/lib/test/mergeTree.insertingWalk.spec.js.map +1 -0
- package/lib/test/mergeTree.markRangeRemoved.deltaCallback.spec.d.ts +6 -0
- package/lib/test/mergeTree.markRangeRemoved.deltaCallback.spec.d.ts.map +1 -0
- package/lib/test/mergeTree.markRangeRemoved.deltaCallback.spec.js +176 -0
- package/lib/test/mergeTree.markRangeRemoved.deltaCallback.spec.js.map +1 -0
- package/lib/test/mergeTree.markRangeRemoved.spec.d.ts +6 -0
- package/lib/test/mergeTree.markRangeRemoved.spec.d.ts.map +1 -0
- package/lib/test/mergeTree.markRangeRemoved.spec.js +128 -0
- package/lib/test/mergeTree.markRangeRemoved.spec.js.map +1 -0
- package/lib/test/mergeTree.walk.spec.d.ts +6 -0
- package/lib/test/mergeTree.walk.spec.d.ts.map +1 -0
- package/lib/test/mergeTree.walk.spec.js +61 -0
- package/lib/test/mergeTree.walk.spec.js.map +1 -0
- package/lib/test/mergeTree.zamboni.spec.d.ts +6 -0
- package/lib/test/mergeTree.zamboni.spec.d.ts.map +1 -0
- package/lib/test/mergeTree.zamboni.spec.js +50 -0
- package/lib/test/mergeTree.zamboni.spec.js.map +1 -0
- package/lib/test/mergeTreeOperationRunner.d.ts +63 -0
- package/lib/test/mergeTreeOperationRunner.d.ts.map +1 -0
- package/lib/test/mergeTreeOperationRunner.js +207 -0
- package/lib/test/mergeTreeOperationRunner.js.map +1 -0
- package/lib/test/mergeTreeOperationRunner.spec.d.ts +6 -0
- package/lib/test/mergeTreeOperationRunner.spec.d.ts.map +1 -0
- package/lib/test/mergeTreeOperationRunner.spec.js +154 -0
- package/lib/test/mergeTreeOperationRunner.spec.js.map +1 -0
- package/lib/test/obliterate.concurrent.spec.d.ts +6 -0
- package/lib/test/obliterate.concurrent.spec.d.ts.map +1 -0
- package/lib/test/obliterate.concurrent.spec.js +1441 -0
- package/lib/test/obliterate.concurrent.spec.js.map +1 -0
- package/lib/test/obliterate.deltaCallback.spec.d.ts +6 -0
- package/lib/test/obliterate.deltaCallback.spec.d.ts.map +1 -0
- package/lib/test/obliterate.deltaCallback.spec.js +144 -0
- package/lib/test/obliterate.deltaCallback.spec.js.map +1 -0
- package/lib/test/obliterate.partialLength.spec.d.ts +6 -0
- package/lib/test/obliterate.partialLength.spec.d.ts.map +1 -0
- package/lib/test/obliterate.partialLength.spec.js +272 -0
- package/lib/test/obliterate.partialLength.spec.js.map +1 -0
- package/lib/test/obliterate.reconnect.spec.d.ts +6 -0
- package/lib/test/obliterate.reconnect.spec.d.ts.map +1 -0
- package/lib/test/obliterate.reconnect.spec.js +159 -0
- package/lib/test/obliterate.reconnect.spec.js.map +1 -0
- package/lib/test/obliterate.spec.d.ts +6 -0
- package/lib/test/obliterate.spec.d.ts.map +1 -0
- package/lib/test/obliterate.spec.js +160 -0
- package/lib/test/obliterate.spec.js.map +1 -0
- package/lib/test/ordinal.spec.d.ts +2 -0
- package/lib/test/ordinal.spec.d.ts.map +1 -0
- package/lib/test/ordinal.spec.js +38 -0
- package/lib/test/ordinal.spec.js.map +1 -0
- package/lib/test/partialLength.spec.d.ts +6 -0
- package/lib/test/partialLength.spec.d.ts.map +1 -0
- package/lib/test/partialLength.spec.js +274 -0
- package/lib/test/partialLength.spec.js.map +1 -0
- package/lib/test/properties.spec.d.ts +6 -0
- package/lib/test/properties.spec.d.ts.map +1 -0
- package/lib/test/properties.spec.js +53 -0
- package/lib/test/properties.spec.js.map +1 -0
- package/lib/test/reconnectHelper.d.ts +48 -0
- package/lib/test/reconnectHelper.d.ts.map +1 -0
- package/lib/test/reconnectHelper.js +82 -0
- package/lib/test/reconnectHelper.js.map +1 -0
- package/lib/test/resetPendingSegmentsToOp.spec.d.ts +6 -0
- package/lib/test/resetPendingSegmentsToOp.spec.d.ts.map +1 -0
- package/lib/test/resetPendingSegmentsToOp.spec.js +235 -0
- package/lib/test/resetPendingSegmentsToOp.spec.js.map +1 -0
- package/lib/test/revertibleFarm.spec.d.ts +6 -0
- package/lib/test/revertibleFarm.spec.d.ts.map +1 -0
- package/lib/test/revertibleFarm.spec.js +119 -0
- package/lib/test/revertibleFarm.spec.js.map +1 -0
- package/lib/test/revertibles.spec.d.ts +17 -0
- package/lib/test/revertibles.spec.d.ts.map +1 -0
- package/lib/test/revertibles.spec.js +381 -0
- package/lib/test/revertibles.spec.js.map +1 -0
- package/lib/test/segmentGroupCollection.spec.d.ts +6 -0
- package/lib/test/segmentGroupCollection.spec.d.ts.map +1 -0
- package/lib/test/segmentGroupCollection.spec.js +58 -0
- package/lib/test/segmentGroupCollection.spec.js.map +1 -0
- package/lib/test/snapshot.spec.d.ts +6 -0
- package/lib/test/snapshot.spec.d.ts.map +1 -0
- package/lib/test/snapshot.spec.js +176 -0
- package/lib/test/snapshot.spec.js.map +1 -0
- package/lib/test/snapshot.utils.d.ts +33 -0
- package/lib/test/snapshot.utils.d.ts.map +1 -0
- package/lib/test/snapshot.utils.js +104 -0
- package/lib/test/snapshot.utils.js.map +1 -0
- package/lib/test/snapshotlegacy.spec.d.ts +6 -0
- package/lib/test/snapshotlegacy.spec.d.ts.map +1 -0
- package/lib/test/snapshotlegacy.spec.js +137 -0
- package/lib/test/snapshotlegacy.spec.js.map +1 -0
- package/lib/test/sortedSegmentSet.spec.d.ts +6 -0
- package/lib/test/sortedSegmentSet.spec.d.ts.map +1 -0
- package/lib/test/sortedSegmentSet.spec.js +93 -0
- package/lib/test/sortedSegmentSet.spec.js.map +1 -0
- package/lib/test/testClient.d.ts +116 -0
- package/lib/test/testClient.d.ts.map +1 -0
- package/lib/test/testClient.js +430 -0
- package/lib/test/testClient.js.map +1 -0
- package/lib/test/testClientLogger.d.ts +44 -0
- package/lib/test/testClientLogger.d.ts.map +1 -0
- package/lib/test/testClientLogger.js +282 -0
- package/lib/test/testClientLogger.js.map +1 -0
- package/lib/test/testSerializer.d.ts +18 -0
- package/lib/test/testSerializer.d.ts.map +1 -0
- package/lib/test/testSerializer.js +29 -0
- package/lib/test/testSerializer.js.map +1 -0
- package/lib/test/testServer.d.ts +36 -0
- package/lib/test/testServer.d.ts.map +1 -0
- package/lib/test/testServer.js +133 -0
- package/lib/test/testServer.js.map +1 -0
- package/lib/test/testUtils.d.ts +77 -0
- package/lib/test/testUtils.d.ts.map +1 -0
- package/lib/test/testUtils.js +151 -0
- package/lib/test/testUtils.js.map +1 -0
- package/lib/test/text.d.ts +9 -0
- package/lib/test/text.d.ts.map +1 -0
- package/lib/test/text.js +71 -0
- package/lib/test/text.js.map +1 -0
- package/lib/test/tracking.spec.d.ts +6 -0
- package/lib/test/tracking.spec.d.ts.map +1 -0
- package/lib/test/tracking.spec.js +118 -0
- package/lib/test/tracking.spec.js.map +1 -0
- package/lib/test/types/validateMergeTreePrevious.generated.d.ts +2 -0
- package/lib/test/types/validateMergeTreePrevious.generated.d.ts.map +1 -0
- package/lib/test/types/validateMergeTreePrevious.generated.js +228 -0
- package/lib/test/types/validateMergeTreePrevious.generated.js.map +1 -0
- package/lib/test/wordUnitTests.spec.d.ts +6 -0
- package/lib/test/wordUnitTests.spec.d.ts.map +1 -0
- package/lib/test/wordUnitTests.spec.js +166 -0
- package/lib/test/wordUnitTests.spec.js.map +1 -0
- package/lib/{textSegment.d.mts → textSegment.d.ts} +4 -4
- package/lib/textSegment.d.ts.map +1 -0
- package/lib/{textSegment.mjs → textSegment.js} +2 -2
- package/lib/textSegment.js.map +1 -0
- package/lib/{zamboni.d.mts → zamboni.d.ts} +3 -3
- package/lib/zamboni.d.ts.map +1 -0
- package/lib/{zamboni.mjs → zamboni.js} +7 -6
- package/lib/zamboni.js.map +1 -0
- package/package.json +50 -57
- package/src/MergeTreeTextHelper.ts +4 -4
- package/src/attributionCollection.ts +1 -1
- package/src/attributionPolicy.ts +5 -5
- package/src/client.ts +50 -41
- package/src/collections/index.ts +2 -2
- package/src/endOfTreeSegment.ts +5 -5
- package/src/index.ts +20 -20
- package/src/localReference.ts +13 -7
- package/src/mergeTree.ts +53 -44
- package/src/mergeTreeDeltaCallback.ts +3 -8
- package/src/mergeTreeNodeWalk.ts +1 -1
- package/src/mergeTreeNodes.ts +21 -19
- package/src/mergeTreeTracking.ts +3 -3
- package/src/opBuilder.ts +3 -3
- package/src/partialLengths.ts +10 -10
- package/src/referencePositions.ts +4 -4
- package/src/revertibles.ts +14 -18
- package/src/segmentGroupCollection.ts +2 -2
- package/src/segmentPropertiesManager.ts +3 -3
- package/src/snapshotChunks.ts +4 -4
- package/src/snapshotLoader.ts +14 -11
- package/src/snapshotV1.ts +29 -9
- package/src/snapshotlegacy.ts +19 -5
- package/src/sortedSegmentSet.ts +8 -6
- package/src/textSegment.ts +3 -3
- package/src/zamboni.ts +7 -7
- package/tsconfig.cjs.json +7 -0
- package/tsconfig.json +2 -5
- package/api-extractor-esm.json +0 -17
- package/dist/test/beastTest.d.ts.map +0 -1
- package/dist/test/beastTest.js.map +0 -1
- package/dist/test/client.apis.d.ts.map +0 -1
- package/dist/test/client.apis.js.map +0 -1
- package/dist/test/wordUnitTests.d.ts.map +0 -1
- package/dist/test/wordUnitTests.js.map +0 -1
- package/lib/MergeTreeTextHelper.d.mts.map +0 -1
- package/lib/MergeTreeTextHelper.mjs.map +0 -1
- package/lib/attributionCollection.d.mts.map +0 -1
- package/lib/attributionCollection.mjs.map +0 -1
- package/lib/attributionPolicy.d.mts.map +0 -1
- package/lib/attributionPolicy.mjs.map +0 -1
- package/lib/client.d.mts.map +0 -1
- package/lib/client.mjs.map +0 -1
- package/lib/collections/index.d.mts.map +0 -1
- package/lib/collections/index.mjs +0 -7
- package/lib/collections/index.mjs.map +0 -1
- package/lib/collections/list.d.mts.map +0 -1
- package/lib/collections/list.mjs.map +0 -1
- package/lib/collections/rbTree.d.mts.map +0 -1
- package/lib/collections/rbTree.mjs.map +0 -1
- package/lib/constants.d.mts.map +0 -1
- package/lib/constants.mjs.map +0 -1
- package/lib/endOfTreeSegment.d.mts.map +0 -1
- package/lib/endOfTreeSegment.mjs.map +0 -1
- package/lib/index.d.mts.map +0 -1
- package/lib/index.mjs.map +0 -1
- package/lib/localReference.d.mts.map +0 -1
- package/lib/localReference.mjs.map +0 -1
- package/lib/merge-tree-beta.d.mts +0 -668
- package/lib/merge-tree-public.d.mts +0 -668
- package/lib/mergeTree.d.mts.map +0 -1
- package/lib/mergeTree.mjs.map +0 -1
- package/lib/mergeTreeDeltaCallback.d.mts.map +0 -1
- package/lib/mergeTreeDeltaCallback.mjs.map +0 -1
- package/lib/mergeTreeNodeWalk.d.mts.map +0 -1
- package/lib/mergeTreeNodeWalk.mjs.map +0 -1
- package/lib/mergeTreeNodes.d.mts.map +0 -1
- package/lib/mergeTreeNodes.mjs.map +0 -1
- package/lib/mergeTreeTracking.d.mts.map +0 -1
- package/lib/mergeTreeTracking.mjs.map +0 -1
- package/lib/opBuilder.mjs.map +0 -1
- package/lib/ops.d.mts.map +0 -1
- package/lib/ops.mjs.map +0 -1
- package/lib/ordinal.d.mts.map +0 -1
- package/lib/ordinal.mjs.map +0 -1
- package/lib/partialLengths.d.mts.map +0 -1
- package/lib/partialLengths.mjs.map +0 -1
- package/lib/properties.d.mts.map +0 -1
- package/lib/properties.mjs.map +0 -1
- package/lib/referencePositions.d.mts.map +0 -1
- package/lib/referencePositions.mjs.map +0 -1
- package/lib/revertibles.d.mts.map +0 -1
- package/lib/revertibles.mjs.map +0 -1
- package/lib/segmentGroupCollection.d.mts.map +0 -1
- package/lib/segmentGroupCollection.mjs.map +0 -1
- package/lib/segmentPropertiesManager.d.mts.map +0 -1
- package/lib/segmentPropertiesManager.mjs.map +0 -1
- package/lib/snapshotChunks.d.mts.map +0 -1
- package/lib/snapshotChunks.mjs.map +0 -1
- package/lib/snapshotLoader.d.mts.map +0 -1
- package/lib/snapshotLoader.mjs.map +0 -1
- package/lib/snapshotV1.d.mts.map +0 -1
- package/lib/snapshotV1.mjs.map +0 -1
- package/lib/snapshotlegacy.d.mts.map +0 -1
- package/lib/snapshotlegacy.mjs.map +0 -1
- package/lib/sortedSegmentSet.d.mts.map +0 -1
- package/lib/sortedSegmentSet.mjs.map +0 -1
- package/lib/sortedSet.d.mts.map +0 -1
- package/lib/sortedSet.mjs.map +0 -1
- package/lib/textSegment.d.mts.map +0 -1
- package/lib/textSegment.mjs.map +0 -1
- package/lib/zamboni.d.mts.map +0 -1
- package/lib/zamboni.mjs.map +0 -1
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { AttributionKey } from '@fluidframework/runtime-definitions';
|
|
2
|
-
import { Heap } from '@fluidframework/core-utils';
|
|
3
2
|
import { IChannelStorageService } from '@fluidframework/datastore-definitions';
|
|
4
3
|
import { IEventThisPlaceHolder } from '@fluidframework/core-interfaces';
|
|
5
4
|
import { IFluidDataStoreRuntime } from '@fluidframework/datastore-definitions';
|
|
@@ -18,61 +17,6 @@ import { TypedEventEmitter } from '@fluid-internal/client-utils';
|
|
|
18
17
|
|
|
19
18
|
/* Excluded from this release type: AttributionPolicy */
|
|
20
19
|
|
|
21
|
-
/**
|
|
22
|
-
* This is a special segment that is not bound or known by the merge tree itself,
|
|
23
|
-
* but the segment itself pretends to be a removed segment at an endpoint of the
|
|
24
|
-
* tree. It is removed so it appears as a undefined/0 length segment. This segment
|
|
25
|
-
* adds the capability to hold local references that have been detached from the
|
|
26
|
-
* real merge tree, and give the appearance that they exist at an endpoint of the
|
|
27
|
-
* tree.
|
|
28
|
-
*
|
|
29
|
-
* This is useful today in 2 cases: detached references and interval stickiness.
|
|
30
|
-
*
|
|
31
|
-
* In general, local references only become detached when the tree becomes empty
|
|
32
|
-
* and the EndOfTreeSegment allows us to gracefully handle that case by giving
|
|
33
|
-
* those references a place to live.
|
|
34
|
-
*
|
|
35
|
-
* In the case of interval stickiness, it is desirable to be able to refer to
|
|
36
|
-
* the position immediately after or before a segment, in order for the endpoint
|
|
37
|
-
* of an interval to be exclusive. This means that in order to support intervals
|
|
38
|
-
* that are exclusive and also include the first or last segment of the tree, it
|
|
39
|
-
* must be possible in some way to refer to a position before or after the tree
|
|
40
|
-
* respectively. The endpoint segments allow us to support such behavior.
|
|
41
|
-
*/
|
|
42
|
-
declare abstract class BaseEndpointSegment {
|
|
43
|
-
protected readonly mergeTree: MergeTree;
|
|
44
|
-
constructor(mergeTree: MergeTree);
|
|
45
|
-
removedSeq: number;
|
|
46
|
-
removedClientIds: number[];
|
|
47
|
-
attribution: undefined;
|
|
48
|
-
propertyManager: undefined;
|
|
49
|
-
localSeq: undefined;
|
|
50
|
-
localRemovedSeq: undefined;
|
|
51
|
-
properties: undefined;
|
|
52
|
-
seq: number;
|
|
53
|
-
clientId: number;
|
|
54
|
-
cachedLength: number;
|
|
55
|
-
isLeaf(): this is ISegment;
|
|
56
|
-
protected abstract endpointSegmentProps(): {
|
|
57
|
-
parent: IMergeBlock;
|
|
58
|
-
index: number;
|
|
59
|
-
depth: number;
|
|
60
|
-
};
|
|
61
|
-
get parent(): IMergeBlock;
|
|
62
|
-
get index(): number;
|
|
63
|
-
abstract get ordinal(): string;
|
|
64
|
-
localRefs?: LocalReferenceCollection;
|
|
65
|
-
get segmentGroups(): never;
|
|
66
|
-
get trackingCollection(): never;
|
|
67
|
-
addProperties: () => never;
|
|
68
|
-
clone: () => never;
|
|
69
|
-
canAppend: () => never;
|
|
70
|
-
append: () => never;
|
|
71
|
-
splitAt: () => never;
|
|
72
|
-
toJSONObject: () => never;
|
|
73
|
-
ack: () => never;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
20
|
/* Excluded from this release type: BaseSegment */
|
|
77
21
|
|
|
78
22
|
/* Excluded from this release type: Client */
|
|
@@ -109,61 +53,8 @@ declare abstract class BaseEndpointSegment {
|
|
|
109
53
|
|
|
110
54
|
/* Excluded from this release type: discardMergeTreeDeltaRevertible */
|
|
111
55
|
|
|
112
|
-
declare class DoublyLinkedList<T> implements Iterable<ListNode<T>>, Partial<ListNodeRange<T>>, Pick<ListNode<T>[], "pop" | "shift" | "length" | "includes"> {
|
|
113
|
-
find(predicate: (value: ListNode<T>, obj: DoublyLinkedList<T>) => unknown): ListNode<T> | undefined;
|
|
114
|
-
map<U>(callbackfn: (value: ListNode<T>) => U): Iterable<U>;
|
|
115
|
-
insertAfter(preceding: ListNode<T>, ...items: T[]): ListNodeRange<T>;
|
|
116
|
-
pop(): ListNode<T> | undefined;
|
|
117
|
-
push(...items: T[]): ListNodeRange<T>;
|
|
118
|
-
/**
|
|
119
|
-
* Remove and return the first element
|
|
120
|
-
*/
|
|
121
|
-
shift(): ListNode<T> | undefined;
|
|
122
|
-
/**
|
|
123
|
-
* Insert `items` at start of list
|
|
124
|
-
*/
|
|
125
|
-
unshift(...items: T[]): ListNodeRange<T>;
|
|
126
|
-
/**
|
|
127
|
-
* Remove nodes starting at `start` until either the `end` node is reached
|
|
128
|
-
* or until `count` nodes have been removed. Returns the removed nodes as
|
|
129
|
-
* a separate linked list
|
|
130
|
-
*/
|
|
131
|
-
splice(start: ListNode<T>, countOrEnd?: ListNode<T> | number): DoublyLinkedList<T>;
|
|
132
|
-
includes(node: ListNode<T> | undefined): node is ListNode<T>;
|
|
133
|
-
private _includes;
|
|
134
|
-
private _remove;
|
|
135
|
-
remove(node: ListNode<T> | undefined): ListNode<T> | undefined;
|
|
136
|
-
[Symbol.iterator](): IterableIterator<ListNode<T>>;
|
|
137
|
-
private _len;
|
|
138
|
-
private readonly headNode;
|
|
139
|
-
get length(): number;
|
|
140
|
-
get empty(): boolean;
|
|
141
|
-
get first(): ListNode<T> | undefined;
|
|
142
|
-
get last(): ListNode<T> | undefined;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
/**
|
|
146
|
-
* The position immediately after the end of the tree
|
|
147
|
-
*/
|
|
148
|
-
declare class EndOfTreeSegment extends BaseEndpointSegment implements ISegment, IRemovalInfo {
|
|
149
|
-
type: string;
|
|
150
|
-
readonly endpointType = "end";
|
|
151
|
-
/**
|
|
152
|
-
* this segment pretends to be a sibling of the last real segment.
|
|
153
|
-
* so compute the necessary properties to pretend to be that segment.
|
|
154
|
-
*/
|
|
155
|
-
protected endpointSegmentProps(): {
|
|
156
|
-
parent: IMergeBlock;
|
|
157
|
-
index: number;
|
|
158
|
-
depth: number;
|
|
159
|
-
};
|
|
160
|
-
get ordinal(): string;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
56
|
/* Excluded from this release type: getSlideToSegoff */
|
|
164
57
|
|
|
165
|
-
/* Excluded from this release type: Heap */
|
|
166
|
-
|
|
167
58
|
/* Excluded from this release type: IAttributionCollection */
|
|
168
59
|
|
|
169
60
|
/* Excluded from this release type: IAttributionCollectionSerializer */
|
|
@@ -172,8 +63,6 @@ declare class EndOfTreeSegment extends BaseEndpointSegment implements ISegment,
|
|
|
172
63
|
|
|
173
64
|
/* Excluded from this release type: IClientEvents */
|
|
174
65
|
|
|
175
|
-
/* Excluded from this release type: IHierBlock */
|
|
176
|
-
|
|
177
66
|
/* Excluded from this release type: IJSONMarkerSegment */
|
|
178
67
|
|
|
179
68
|
/* Excluded from this release type: IJSONSegment */
|
|
@@ -182,14 +71,6 @@ declare class EndOfTreeSegment extends BaseEndpointSegment implements ISegment,
|
|
|
182
71
|
|
|
183
72
|
/* Excluded from this release type: IMarkerDef */
|
|
184
73
|
|
|
185
|
-
/* Excluded from this release type: IMergeBlock */
|
|
186
|
-
|
|
187
|
-
declare type IMergeLeaf = ISegment & {
|
|
188
|
-
parent?: IMergeBlock;
|
|
189
|
-
};
|
|
190
|
-
|
|
191
|
-
declare type IMergeNode = IMergeBlock | IMergeLeaf;
|
|
192
|
-
|
|
193
74
|
/* Excluded from this release type: IMergeNodeCommon */
|
|
194
75
|
|
|
195
76
|
/* Excluded from this release type: IMergeTreeAnnotateMsg */
|
|
@@ -226,65 +107,28 @@ declare type IMergeNode = IMergeBlock | IMergeLeaf;
|
|
|
226
107
|
|
|
227
108
|
/* Excluded from this release type: IMoveInfo */
|
|
228
109
|
|
|
229
|
-
declare interface IOverlapClient {
|
|
230
|
-
clientId: number;
|
|
231
|
-
seglen: number;
|
|
232
|
-
}
|
|
233
|
-
|
|
234
110
|
/* Excluded from this release type: IRBAugmentation */
|
|
235
111
|
|
|
236
112
|
/* Excluded from this release type: IRBMatcher */
|
|
237
113
|
|
|
238
|
-
declare interface IRefsAtOffset {
|
|
239
|
-
before?: DoublyLinkedList<LocalReference>;
|
|
240
|
-
at?: DoublyLinkedList<LocalReference>;
|
|
241
|
-
after?: DoublyLinkedList<LocalReference>;
|
|
242
|
-
}
|
|
243
|
-
|
|
244
114
|
/* Excluded from this release type: IRelativePosition */
|
|
245
115
|
|
|
246
116
|
/* Excluded from this release type: IRemovalInfo */
|
|
247
117
|
|
|
248
|
-
declare interface IRootMergeBlock extends IMergeBlock {
|
|
249
|
-
mergeTree?: MergeTree;
|
|
250
|
-
}
|
|
251
|
-
|
|
252
118
|
/* Excluded from this release type: ISegment */
|
|
253
119
|
|
|
254
120
|
/* Excluded from this release type: ISegmentAction */
|
|
255
121
|
|
|
256
|
-
/**
|
|
257
|
-
* someday we may split tree leaves from segments, but for now they are the same
|
|
258
|
-
* this is just a convenience type that makes it clear that we need something that is both a segment and a leaf node
|
|
259
|
-
*/
|
|
260
|
-
declare type ISegmentLeaf = ISegment & IMergeLeaf;
|
|
261
|
-
|
|
262
122
|
/* Excluded from this release type: isMergeTreeDeltaRevertible */
|
|
263
123
|
|
|
264
124
|
/* Excluded from this release type: ITrackingGroup */
|
|
265
125
|
|
|
266
126
|
/* Excluded from this release type: KeyComparer */
|
|
267
127
|
|
|
268
|
-
declare interface ListNode<T> {
|
|
269
|
-
readonly list: DoublyLinkedList<T> | undefined;
|
|
270
|
-
readonly data: T;
|
|
271
|
-
readonly next: ListNode<T> | undefined;
|
|
272
|
-
readonly prev: ListNode<T> | undefined;
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
declare interface ListNodeRange<T> {
|
|
276
|
-
first: ListNode<T>;
|
|
277
|
-
last: ListNode<T>;
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
/* Excluded from this release type: LocalReference */
|
|
281
|
-
|
|
282
128
|
/* Excluded from this release type: LocalReferenceCollection */
|
|
283
129
|
|
|
284
130
|
/* Excluded from this release type: LocalReferencePosition */
|
|
285
131
|
|
|
286
|
-
/* Excluded from this release type: LRUSegment */
|
|
287
|
-
|
|
288
132
|
/* Excluded from this release type: MapLike */
|
|
289
133
|
|
|
290
134
|
/* Excluded from this release type: Marker */
|
|
@@ -293,14 +137,8 @@ declare interface ListNodeRange<T> {
|
|
|
293
137
|
|
|
294
138
|
/* Excluded from this release type: maxReferencePosition */
|
|
295
139
|
|
|
296
|
-
/* Excluded from this release type: MergeBlock */
|
|
297
|
-
|
|
298
140
|
/* Excluded from this release type: MergeNode */
|
|
299
141
|
|
|
300
|
-
/* Excluded from this release type: MergeTree */
|
|
301
|
-
|
|
302
|
-
/* Excluded from this release type: MergeTreeDeltaCallback */
|
|
303
|
-
|
|
304
142
|
/* Excluded from this release type: MergeTreeDeltaOperationType */
|
|
305
143
|
|
|
306
144
|
/* Excluded from this release type: MergeTreeDeltaOperationTypes */
|
|
@@ -309,270 +147,12 @@ declare interface ListNodeRange<T> {
|
|
|
309
147
|
|
|
310
148
|
/* Excluded from this release type: MergeTreeDeltaType */
|
|
311
149
|
|
|
312
|
-
/* Excluded from this release type: MergeTreeMaintenanceCallback */
|
|
313
|
-
|
|
314
150
|
/* Excluded from this release type: MergeTreeMaintenanceType */
|
|
315
151
|
|
|
316
152
|
/* Excluded from this release type: MergeTreeRevertibleDriver */
|
|
317
153
|
|
|
318
154
|
/* Excluded from this release type: minReferencePosition */
|
|
319
155
|
|
|
320
|
-
/**
|
|
321
|
-
* Tracks length information for a part of a MergeTree (block) at a given time (seq).
|
|
322
|
-
* These objects are associated with internal nodes (i.e. blocks).
|
|
323
|
-
*/
|
|
324
|
-
declare interface PartialSequenceLength {
|
|
325
|
-
/**
|
|
326
|
-
* Sequence number
|
|
327
|
-
*/
|
|
328
|
-
seq: number;
|
|
329
|
-
/**
|
|
330
|
-
* The length of the associated block.
|
|
331
|
-
*/
|
|
332
|
-
len: number;
|
|
333
|
-
/**
|
|
334
|
-
* The delta between the current length of the associated block and its length at the previous seq number.
|
|
335
|
-
*/
|
|
336
|
-
seglen: number;
|
|
337
|
-
/**
|
|
338
|
-
* clientId for the client that submitted the op with sequence number `seq`.
|
|
339
|
-
*/
|
|
340
|
-
clientId?: number;
|
|
341
|
-
/**
|
|
342
|
-
* If this partial length obliterated remote segments, this is the length of
|
|
343
|
-
* those segments
|
|
344
|
-
*/
|
|
345
|
-
remoteObliteratedLen?: number;
|
|
346
|
-
/**
|
|
347
|
-
* This field maps each client to the size of the intersection between segments deleted at this seq
|
|
348
|
-
* and segments concurrently deleted by that client.
|
|
349
|
-
*
|
|
350
|
-
* For example, this PartialSequenceLength:
|
|
351
|
-
* ```typescript
|
|
352
|
-
* {
|
|
353
|
-
* seq: 5,
|
|
354
|
-
* len: 100,
|
|
355
|
-
* seglen: -10,
|
|
356
|
-
* clientId: 0,
|
|
357
|
-
* overlapRemoveClients: <RedBlack tree with key-values expressed by>{
|
|
358
|
-
* 1: { clientId: 1, seglen: -5 },
|
|
359
|
-
* 3: { clientId: 3, seglen: -10 }
|
|
360
|
-
* }
|
|
361
|
-
* }
|
|
362
|
-
* ```
|
|
363
|
-
*
|
|
364
|
-
* corresponds to an op submitted by client 0 which:
|
|
365
|
-
* - reduces the length of this block by 10 (it may have deleted a single segment of length 10,
|
|
366
|
-
* several segments totalling length 10, or even delete and add content for a total reduction of 10 length)
|
|
367
|
-
* - was concurrent to one or more ops submitted by client 1 that also removed some of the same segments,
|
|
368
|
-
* whose length totalled 5
|
|
369
|
-
* - was concurrent to one or more ops submitted by client 3 that removed some of the same segments,
|
|
370
|
-
* whose length totalled 10
|
|
371
|
-
*/
|
|
372
|
-
overlapRemoveClients?: RedBlackTree<number, IOverlapClient>;
|
|
373
|
-
/**
|
|
374
|
-
* This field is the same as `overlapRemoveClients`, except that it tracks
|
|
375
|
-
* overlapping obliterates rather than removes.
|
|
376
|
-
*/
|
|
377
|
-
overlapObliterateClients?: RedBlackTree<number, IOverlapClient>;
|
|
378
|
-
}
|
|
379
|
-
|
|
380
|
-
/**
|
|
381
|
-
* Keeps track of partial sums of segment lengths for all sequence numbers in the current collaboration window.
|
|
382
|
-
* Only used during active collaboration.
|
|
383
|
-
*
|
|
384
|
-
* This class is associated with an internal node (block) of a MergeTree. It efficiently answers queries of the form
|
|
385
|
-
* "What is the length of `block` from the perspective of some particular seq and clientId?".
|
|
386
|
-
*
|
|
387
|
-
* It also supports incremental updating of state for newly-sequenced ops that don't affect the structure of the
|
|
388
|
-
* MergeTree.
|
|
389
|
-
*
|
|
390
|
-
* To answer these queries, it pre-builds several lists which track the length of the block at a per-sequence-number
|
|
391
|
-
* level. These lists are:
|
|
392
|
-
*
|
|
393
|
-
* 1. (`partialLengths`): Stores the total length of the block.
|
|
394
|
-
* 2. (`clientSeqNumbers[clientId]`): Stores only the total lengths of segments submitted by `clientId`. [see footnote]
|
|
395
|
-
*
|
|
396
|
-
* The reason both lists are necessary is that resolving the length of the block from the perspective of
|
|
397
|
-
* (clientId, refSeq) requires including both of the following types of segments:
|
|
398
|
-
* 1. Segments sequenced before `refSeq`
|
|
399
|
-
* 2. Segments submitted by `clientId`
|
|
400
|
-
*
|
|
401
|
-
* This is possible with the above bookkeeping, using:
|
|
402
|
-
*
|
|
403
|
-
* (length of the block at the minimum sequence number)
|
|
404
|
-
* + (partialLengths total length at refSeq)
|
|
405
|
-
* + (clientSeqNumbers total length at most recent op)
|
|
406
|
-
* - (clientSeqNumbers total length at refSeq)
|
|
407
|
-
*
|
|
408
|
-
* where the subtraction avoids double-counting segments submitted by clientId sequenced within the collab window.
|
|
409
|
-
*
|
|
410
|
-
* To enable reconnect, if constructed with `computeLocalPartials === true` it also supports querying for the length of
|
|
411
|
-
* the block from the perspective of the local client at a particular `refSeq` and `localSeq`. This computation is
|
|
412
|
-
* similar to the above:
|
|
413
|
-
*
|
|
414
|
-
* (length of the block at the minimum sequence number)
|
|
415
|
-
* + (partialLengths total length at refSeq)
|
|
416
|
-
* + (unsequenced edits' total length submitted before localSeq)
|
|
417
|
-
* - (overlapping remove of the unsequenced edits' total length at refSeq)
|
|
418
|
-
*
|
|
419
|
-
* This algorithm scales roughly linearly with number of editing clients and the size of the collab window.
|
|
420
|
-
* (certain unlikely sequences of operations may introduce log factors on those variables)
|
|
421
|
-
*
|
|
422
|
-
* Note: there is some slight complication with clientSeqNumbers resulting from the possibility of different clients
|
|
423
|
-
* concurrently removing the same segment. See the field's documentation for more details.
|
|
424
|
-
*/
|
|
425
|
-
declare class PartialSequenceLengths {
|
|
426
|
-
/**
|
|
427
|
-
* The minimumSequenceNumber as defined by the collab window used in the last call to `update`,
|
|
428
|
-
* or if no such calls have been made, the one used on construction.
|
|
429
|
-
*/
|
|
430
|
-
minSeq: number;
|
|
431
|
-
static options: PartialSequenceLengthsOptions;
|
|
432
|
-
/**
|
|
433
|
-
* Combine the partial lengths of block's children
|
|
434
|
-
* @param block - an interior node. If `recur` is false, it is assumed that each interior node child of this block
|
|
435
|
-
* has its partials up to date.
|
|
436
|
-
* @param collabWindow - segment window of the segment tree containing `block`.
|
|
437
|
-
* @param recur - whether to recursively compute partial lengths for internal children of `block`.
|
|
438
|
-
* This incurs more work, but gives correct bookkeeping in the case that a descendant in the merge tree has been
|
|
439
|
-
* modified without bubbling up the resulting partial length change to this block's partials.
|
|
440
|
-
* @param computeLocalPartials - whether to compute partial length information about local unsequenced ops.
|
|
441
|
-
* This enables querying for the length of the block at a given localSeq, but incurs extra work.
|
|
442
|
-
* Local partial information doesn't support `update`.
|
|
443
|
-
*/
|
|
444
|
-
static combine(block: IMergeBlock, collabWindow: CollaborationWindow, recur?: boolean, computeLocalPartials?: boolean): PartialSequenceLengths;
|
|
445
|
-
/**
|
|
446
|
-
* @returns a PartialSequenceLengths structure which tracks only lengths of leaf children of the provided
|
|
447
|
-
* IMergeBlock.
|
|
448
|
-
*/
|
|
449
|
-
private static fromLeaves;
|
|
450
|
-
private static getOverlapClients;
|
|
451
|
-
private static accumulateRemoveClientOverlap;
|
|
452
|
-
private static accumulateMoveClientOverlap;
|
|
453
|
-
/**
|
|
454
|
-
* Coalesce overlapping move lengths for a partial length entry that already
|
|
455
|
-
* exists
|
|
456
|
-
*
|
|
457
|
-
* @param segmentLen - Length of segment with overlapping moves
|
|
458
|
-
* @param segment - Segment with overlapping moves
|
|
459
|
-
* @param firstGte - Existing partial length entry
|
|
460
|
-
* @param clientIds - Ids of clients that concurrently obliterated this segment
|
|
461
|
-
*/
|
|
462
|
-
static accumulateMoveOverlapForExisting(segmentLen: number, segment: ISegment, firstGte: PartialSequenceLength, clientIds: number[]): void;
|
|
463
|
-
/**
|
|
464
|
-
* @param obliterateOverlapLen - Length of segment with overlap
|
|
465
|
-
* @param clientIds - Ids of clients that have concurrently obliterated this
|
|
466
|
-
* segment
|
|
467
|
-
*/
|
|
468
|
-
private static getMoveOverlapForExisting;
|
|
469
|
-
private static updatePartialsAfterInsertion;
|
|
470
|
-
/**
|
|
471
|
-
* Inserts length information about the insertion of `segment` into
|
|
472
|
-
* `combinedPartialLengths.partialLengths`.
|
|
473
|
-
*
|
|
474
|
-
* Does not update the clientSeqNumbers field to account for this segment.
|
|
475
|
-
*
|
|
476
|
-
* If `removalInfo` or `moveInfo` are defined, this operation updates the
|
|
477
|
-
* bookkeeping to account for the (re)moval of this segment at the (re)movedSeq
|
|
478
|
-
* instead.
|
|
479
|
-
*
|
|
480
|
-
* When the insertion or (re)moval of the segment is un-acked and
|
|
481
|
-
* `combinedPartialLengths` is meant to compute such records, this does the
|
|
482
|
-
* analogous addition to the bookkeeping for the local segment in
|
|
483
|
-
* `combinedPartialLengths.unsequencedRecords`.
|
|
484
|
-
*/
|
|
485
|
-
private static insertSegment;
|
|
486
|
-
private static addSeq;
|
|
487
|
-
/**
|
|
488
|
-
* Length of the block this PartialSequenceLength corresponds to when viewed at `minSeq`.
|
|
489
|
-
*/
|
|
490
|
-
private minLength;
|
|
491
|
-
/**
|
|
492
|
-
* Total number of segments in the subtree rooted at the block this PartialSequenceLength corresponds to.
|
|
493
|
-
*/
|
|
494
|
-
private segmentCount;
|
|
495
|
-
/**
|
|
496
|
-
* List of PartialSequenceLength objects--ordered by increasing seq--giving length information about
|
|
497
|
-
* the block associated with this PartialSequenceLengths object.
|
|
498
|
-
*
|
|
499
|
-
* `partialLengths[i].len` contains the length of this block considering only sequenced segments with
|
|
500
|
-
* `sequenceNumber <= partialLengths[i].seq`.
|
|
501
|
-
*/
|
|
502
|
-
private readonly partialLengths;
|
|
503
|
-
/**
|
|
504
|
-
* clientSeqNumbers[clientId] is a list of partial lengths for sequenced ops which either:
|
|
505
|
-
* - were submitted by `clientId`.
|
|
506
|
-
* - deleted a range containing segments that were concurrently deleted by `clientId`
|
|
507
|
-
*
|
|
508
|
-
* The second case is referred to as the "overlapping delete" case. It is necessary to avoid double-counting
|
|
509
|
-
* the removal of those segments in queries including clientId.
|
|
510
|
-
*/
|
|
511
|
-
private readonly clientSeqNumbers;
|
|
512
|
-
/**
|
|
513
|
-
* Contains information required to answer queries for the length of this segment from the perspective of
|
|
514
|
-
* the local client but not including all local segments (i.e., `localSeq !== collabWindow.localSeq`).
|
|
515
|
-
* This field is only computed if requested in the constructor (i.e. `computeLocalPartials === true`).
|
|
516
|
-
*/
|
|
517
|
-
private unsequencedRecords;
|
|
518
|
-
constructor(
|
|
519
|
-
/**
|
|
520
|
-
* The minimumSequenceNumber as defined by the collab window used in the last call to `update`,
|
|
521
|
-
* or if no such calls have been made, the one used on construction.
|
|
522
|
-
*/
|
|
523
|
-
minSeq: number, computeLocalPartials: boolean);
|
|
524
|
-
update(node: IMergeBlock, seq: number, clientId: number, collabWindow: CollaborationWindow): void;
|
|
525
|
-
/**
|
|
526
|
-
* Returns the length of this block as viewed from the perspective of `clientId` at `refSeq`.
|
|
527
|
-
* This is the total length of all segments sequenced at or before refSeq OR submitted by `clientId`.
|
|
528
|
-
* If `clientId` is the local client, `localSeq` can also be provided. In that case, it is the total
|
|
529
|
-
* length of all segments submitted at or before `refSeq` in addition to any local, unacked segments
|
|
530
|
-
* with `segment.localSeq <= localSeq`.
|
|
531
|
-
*
|
|
532
|
-
* Note: the local case (where `localSeq !== undefined`) is only supported on a PartialSequenceLength object
|
|
533
|
-
* constructed with `computeLocalPartials` set to true and not subsequently updated with `update`.
|
|
534
|
-
*/
|
|
535
|
-
getPartialLength(refSeq: number, clientId: number, localSeq?: number): number;
|
|
536
|
-
/**
|
|
537
|
-
* Computes the seglen for the double-counted removed overlap at (refSeq, localSeq). This logic is equivalent
|
|
538
|
-
* to the following:
|
|
539
|
-
*
|
|
540
|
-
* ```typescript
|
|
541
|
-
* let total = 0;
|
|
542
|
-
* for (const partialLength of this.unsequencedRecords!.overlappingRemoves) {
|
|
543
|
-
* if (partialLength.seq > refSeq) {
|
|
544
|
-
* break;
|
|
545
|
-
* }
|
|
546
|
-
*
|
|
547
|
-
* if (partialLength.localSeq <= localSeq) {
|
|
548
|
-
* total += partialLength.seglen;
|
|
549
|
-
* }
|
|
550
|
-
* }
|
|
551
|
-
*
|
|
552
|
-
* return total;
|
|
553
|
-
* ```
|
|
554
|
-
*
|
|
555
|
-
* Reconnect happens to only need to compute these lengths for two refSeq values: before and
|
|
556
|
-
* after the rebase. Since these lists potentially scale with O(collab window * number of local edits)
|
|
557
|
-
* and potentially need to be queried for each local op that gets rebased,
|
|
558
|
-
* we cache the results for a given refSeq in `this.unsequencedRecords.cachedOverlappingByRefSeq` so
|
|
559
|
-
* that they can be binary-searched the same way the usual partialLengths lists are.
|
|
560
|
-
*/
|
|
561
|
-
private computeOverlappingLocalRemoves;
|
|
562
|
-
toString(glc?: (id: number) => string, indentCount?: number): string;
|
|
563
|
-
private zamboni;
|
|
564
|
-
private addClientSeqNumber;
|
|
565
|
-
private addClientSeqNumberFromPartial;
|
|
566
|
-
private cliLatestLEQ;
|
|
567
|
-
private cliLatest;
|
|
568
|
-
}
|
|
569
|
-
|
|
570
|
-
declare interface PartialSequenceLengthsOptions {
|
|
571
|
-
verifier?: (partialLengths: PartialSequenceLengths) => void;
|
|
572
|
-
verifyExpected?: (mergeTree: MergeTree, node: IMergeBlock, refSeq: number, clientId: number, localSeq?: number) => void;
|
|
573
|
-
zamboni: boolean;
|
|
574
|
-
}
|
|
575
|
-
|
|
576
156
|
/* Excluded from this release type: PropertiesManager */
|
|
577
157
|
|
|
578
158
|
/* Excluded from this release type: PropertiesRollback */
|
|
@@ -633,24 +213,6 @@ declare interface PartialSequenceLengthsOptions {
|
|
|
633
213
|
|
|
634
214
|
/* Excluded from this release type: SortedSet */
|
|
635
215
|
|
|
636
|
-
/**
|
|
637
|
-
* The position immediately prior to the start of the tree
|
|
638
|
-
*/
|
|
639
|
-
declare class StartOfTreeSegment extends BaseEndpointSegment implements ISegment, IRemovalInfo {
|
|
640
|
-
type: string;
|
|
641
|
-
readonly endpointType = "start";
|
|
642
|
-
/**
|
|
643
|
-
* this segment pretends to be a sibling of the first real segment.
|
|
644
|
-
* so compute the necessary properties to pretend to be that segment.
|
|
645
|
-
*/
|
|
646
|
-
protected endpointSegmentProps(): {
|
|
647
|
-
parent: IMergeBlock;
|
|
648
|
-
index: number;
|
|
649
|
-
depth: number;
|
|
650
|
-
};
|
|
651
|
-
get ordinal(): string;
|
|
652
|
-
}
|
|
653
|
-
|
|
654
216
|
/* Excluded from this release type: TextSegment */
|
|
655
217
|
|
|
656
218
|
/* Excluded from this release type: toRemovalInfo */
|