@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
package/src/index.ts
CHANGED
|
@@ -9,9 +9,9 @@ export {
|
|
|
9
9
|
IAttributionCollectionSpec,
|
|
10
10
|
SerializedAttributionCollection,
|
|
11
11
|
SequenceOffsets,
|
|
12
|
-
} from "./attributionCollection";
|
|
13
|
-
export { createInsertOnlyAttributionPolicy } from "./attributionPolicy";
|
|
14
|
-
export { Client, IClientEvents } from "./client";
|
|
12
|
+
} from "./attributionCollection.js";
|
|
13
|
+
export { createInsertOnlyAttributionPolicy } from "./attributionPolicy.js";
|
|
14
|
+
export { Client, IClientEvents } from "./client.js";
|
|
15
15
|
export {
|
|
16
16
|
ConflictAction,
|
|
17
17
|
Dictionary,
|
|
@@ -26,20 +26,20 @@ export {
|
|
|
26
26
|
RBNodeActions,
|
|
27
27
|
RedBlackTree,
|
|
28
28
|
SortedDictionary,
|
|
29
|
-
} from "./collections";
|
|
30
|
-
export { UnassignedSequenceNumber, UniversalSequenceNumber } from "./constants";
|
|
29
|
+
} from "./collections/index.js";
|
|
30
|
+
export { UnassignedSequenceNumber, UniversalSequenceNumber } from "./constants.js";
|
|
31
31
|
export {
|
|
32
32
|
createDetachedLocalReferencePosition,
|
|
33
33
|
LocalReferenceCollection,
|
|
34
34
|
LocalReferencePosition,
|
|
35
35
|
SlidingPreference,
|
|
36
|
-
} from "./localReference";
|
|
36
|
+
} from "./localReference.js";
|
|
37
37
|
export {
|
|
38
38
|
AttributionPolicy,
|
|
39
39
|
IMergeTreeAttributionOptions,
|
|
40
40
|
IMergeTreeOptions,
|
|
41
41
|
getSlideToSegoff,
|
|
42
|
-
} from "./mergeTree";
|
|
42
|
+
} from "./mergeTree.js";
|
|
43
43
|
export {
|
|
44
44
|
IMergeTreeClientSequenceArgs,
|
|
45
45
|
IMergeTreeDeltaCallbackArgs,
|
|
@@ -49,7 +49,7 @@ export {
|
|
|
49
49
|
MergeTreeDeltaOperationType,
|
|
50
50
|
MergeTreeDeltaOperationTypes,
|
|
51
51
|
MergeTreeMaintenanceType,
|
|
52
|
-
} from "./mergeTreeDeltaCallback";
|
|
52
|
+
} from "./mergeTreeDeltaCallback.js";
|
|
53
53
|
export {
|
|
54
54
|
BaseSegment,
|
|
55
55
|
CollaborationWindow,
|
|
@@ -66,13 +66,13 @@ export {
|
|
|
66
66
|
reservedMarkerSimpleTypeKey,
|
|
67
67
|
SegmentGroup,
|
|
68
68
|
toRemovalInfo,
|
|
69
|
-
} from "./mergeTreeNodes";
|
|
69
|
+
} from "./mergeTreeNodes.js";
|
|
70
70
|
export {
|
|
71
71
|
Trackable,
|
|
72
72
|
TrackingGroup,
|
|
73
73
|
ITrackingGroup,
|
|
74
74
|
TrackingGroupCollection,
|
|
75
|
-
} from "./mergeTreeTracking";
|
|
75
|
+
} from "./mergeTreeTracking.js";
|
|
76
76
|
export {
|
|
77
77
|
createAnnotateRangeOp,
|
|
78
78
|
createGroupOp,
|
|
@@ -80,7 +80,7 @@ export {
|
|
|
80
80
|
createInsertSegmentOp,
|
|
81
81
|
createRemoveRangeOp,
|
|
82
82
|
createObliterateRangeOp,
|
|
83
|
-
} from "./opBuilder";
|
|
83
|
+
} from "./opBuilder.js";
|
|
84
84
|
export {
|
|
85
85
|
IJSONSegment,
|
|
86
86
|
IMarkerDef,
|
|
@@ -95,8 +95,8 @@ export {
|
|
|
95
95
|
MergeTreeDeltaType,
|
|
96
96
|
ReferenceType,
|
|
97
97
|
IMergeTreeObliterateMsg,
|
|
98
|
-
} from "./ops";
|
|
99
|
-
export { addProperties, createMap, MapLike, matchProperties, PropertySet } from "./properties";
|
|
98
|
+
} from "./ops.js";
|
|
99
|
+
export { addProperties, createMap, MapLike, matchProperties, PropertySet } from "./properties.js";
|
|
100
100
|
export {
|
|
101
101
|
compareReferencePositions,
|
|
102
102
|
DetachedReferencePosition,
|
|
@@ -109,12 +109,12 @@ export {
|
|
|
109
109
|
refTypeIncludesFlag,
|
|
110
110
|
reservedRangeLabelsKey,
|
|
111
111
|
reservedTileLabelsKey,
|
|
112
|
-
} from "./referencePositions";
|
|
113
|
-
export { SegmentGroupCollection } from "./segmentGroupCollection";
|
|
114
|
-
export { PropertiesManager, PropertiesRollback } from "./segmentPropertiesManager";
|
|
115
|
-
export { SortedSet } from "./sortedSet";
|
|
116
|
-
export { SortedSegmentSet, SortedSegmentSetItem } from "./sortedSegmentSet";
|
|
117
|
-
export { IJSONTextSegment, IMergeTreeTextHelper, TextSegment } from "./textSegment";
|
|
112
|
+
} from "./referencePositions.js";
|
|
113
|
+
export { SegmentGroupCollection } from "./segmentGroupCollection.js";
|
|
114
|
+
export { PropertiesManager, PropertiesRollback } from "./segmentPropertiesManager.js";
|
|
115
|
+
export { SortedSet } from "./sortedSet.js";
|
|
116
|
+
export { SortedSegmentSet, SortedSegmentSetItem } from "./sortedSegmentSet.js";
|
|
117
|
+
export { IJSONTextSegment, IMergeTreeTextHelper, TextSegment } from "./textSegment.js";
|
|
118
118
|
export {
|
|
119
119
|
appendToMergeTreeDeltaRevertibles,
|
|
120
120
|
discardMergeTreeDeltaRevertible,
|
|
@@ -122,4 +122,4 @@ export {
|
|
|
122
122
|
MergeTreeDeltaRevertible,
|
|
123
123
|
MergeTreeRevertibleDriver,
|
|
124
124
|
revertMergeTreeDeltaRevertibles,
|
|
125
|
-
} from "./revertibles";
|
|
125
|
+
} from "./revertibles.js";
|
package/src/localReference.ts
CHANGED
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
|
|
6
6
|
import { assert } from "@fluidframework/core-utils";
|
|
7
7
|
import { UsageError } from "@fluidframework/telemetry-utils";
|
|
8
|
-
import { DoublyLinkedList, ListNode, walkList } from "./collections";
|
|
9
|
-
import { ISegment } from "./mergeTreeNodes";
|
|
10
|
-
import { TrackingGroup, TrackingGroupCollection } from "./mergeTreeTracking";
|
|
11
|
-
import { ReferenceType } from "./ops";
|
|
8
|
+
import { DoublyLinkedList, ListNode, walkList } from "./collections/index.js";
|
|
9
|
+
import { ISegment } from "./mergeTreeNodes.js";
|
|
10
|
+
import { TrackingGroup, TrackingGroupCollection } from "./mergeTreeTracking.js";
|
|
11
|
+
import { ReferenceType } from "./ops.js";
|
|
12
12
|
// eslint-disable-next-line import/no-deprecated
|
|
13
|
-
import { addProperties, PropertySet } from "./properties";
|
|
14
|
-
import { ReferencePosition, refTypeIncludesFlag } from "./referencePositions";
|
|
13
|
+
import { addProperties, PropertySet } from "./properties.js";
|
|
14
|
+
import { ReferencePosition, refTypeIncludesFlag } from "./referencePositions.js";
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* Dictates the preferential direction for a {@link ReferencePosition} to slide
|
|
@@ -212,6 +212,8 @@ export function setValidateRefCount(cb?: (collection?: LocalReferenceCollection)
|
|
|
212
212
|
* Represents a collection of {@link LocalReferencePosition}s associated with
|
|
213
213
|
* one segment in a merge-tree.
|
|
214
214
|
* Represents a collection of {@link LocalReferencePosition}s associated with one segment in a merge-tree.
|
|
215
|
+
* @sealed
|
|
216
|
+
*
|
|
215
217
|
* @alpha
|
|
216
218
|
*/
|
|
217
219
|
export class LocalReferenceCollection {
|
|
@@ -234,11 +236,15 @@ export class LocalReferenceCollection {
|
|
|
234
236
|
validateRefCount?.(seg2.localRefs);
|
|
235
237
|
}
|
|
236
238
|
|
|
239
|
+
public static setOrGet(segment: ISegment) {
|
|
240
|
+
return (segment.localRefs ??= new LocalReferenceCollection(segment));
|
|
241
|
+
}
|
|
242
|
+
|
|
237
243
|
private readonly refsByOffset: (IRefsAtOffset | undefined)[];
|
|
238
244
|
private refCount: number = 0;
|
|
239
245
|
|
|
240
246
|
/***/
|
|
241
|
-
constructor(
|
|
247
|
+
private constructor(
|
|
242
248
|
/** Segment this `LocalReferenceCollection` is associated to. */
|
|
243
249
|
private readonly segment: ISegment,
|
|
244
250
|
initialRefsByfOffset = new Array<IRefsAtOffset | undefined>(segment.cachedLength),
|
package/src/mergeTree.ts
CHANGED
|
@@ -8,28 +8,28 @@
|
|
|
8
8
|
|
|
9
9
|
import { assert, Heap, IComparer } from "@fluidframework/core-utils";
|
|
10
10
|
import { DataProcessingError, UsageError } from "@fluidframework/telemetry-utils";
|
|
11
|
-
import { IAttributionCollectionSerializer } from "./attributionCollection";
|
|
12
|
-
import { DoublyLinkedList, ListNode } from "./collections";
|
|
11
|
+
import { IAttributionCollectionSerializer } from "./attributionCollection.js";
|
|
12
|
+
import { DoublyLinkedList, ListNode } from "./collections/index.js";
|
|
13
13
|
import {
|
|
14
14
|
NonCollabClient,
|
|
15
15
|
TreeMaintenanceSequenceNumber,
|
|
16
16
|
UnassignedSequenceNumber,
|
|
17
17
|
UniversalSequenceNumber,
|
|
18
|
-
} from "./constants";
|
|
18
|
+
} from "./constants.js";
|
|
19
19
|
import {
|
|
20
20
|
anyLocalReferencePosition,
|
|
21
21
|
filterLocalReferencePositions,
|
|
22
22
|
LocalReferenceCollection,
|
|
23
23
|
LocalReferencePosition,
|
|
24
24
|
SlidingPreference,
|
|
25
|
-
} from "./localReference";
|
|
25
|
+
} from "./localReference.js";
|
|
26
26
|
import {
|
|
27
27
|
BlockAction,
|
|
28
28
|
// eslint-disable-next-line import/no-deprecated
|
|
29
29
|
CollaborationWindow,
|
|
30
30
|
IHierBlock,
|
|
31
31
|
IMergeBlock,
|
|
32
|
-
|
|
32
|
+
ISegmentLeaf,
|
|
33
33
|
IMergeNode,
|
|
34
34
|
IMoveInfo,
|
|
35
35
|
InsertContext,
|
|
@@ -46,45 +46,39 @@ import {
|
|
|
46
46
|
toMoveInfo,
|
|
47
47
|
seqLTE,
|
|
48
48
|
toRemovalInfo,
|
|
49
|
-
} from "./mergeTreeNodes";
|
|
49
|
+
} from "./mergeTreeNodes.js";
|
|
50
50
|
import {
|
|
51
51
|
IMergeTreeDeltaOpArgs,
|
|
52
52
|
IMergeTreeSegmentDelta,
|
|
53
53
|
MergeTreeDeltaCallback,
|
|
54
54
|
MergeTreeMaintenanceCallback,
|
|
55
55
|
MergeTreeMaintenanceType,
|
|
56
|
-
} from "./mergeTreeDeltaCallback";
|
|
57
|
-
import { createAnnotateRangeOp, createInsertSegmentOp, createRemoveRangeOp } from "./opBuilder";
|
|
58
|
-
import { IMergeTreeDeltaOp, IRelativePosition, MergeTreeDeltaType, ReferenceType } from "./ops";
|
|
59
|
-
import { PartialSequenceLengths } from "./partialLengths";
|
|
56
|
+
} from "./mergeTreeDeltaCallback.js";
|
|
57
|
+
import { createAnnotateRangeOp, createInsertSegmentOp, createRemoveRangeOp } from "./opBuilder.js";
|
|
58
|
+
import { IMergeTreeDeltaOp, IRelativePosition, MergeTreeDeltaType, ReferenceType } from "./ops.js";
|
|
59
|
+
import { PartialSequenceLengths } from "./partialLengths.js";
|
|
60
60
|
// eslint-disable-next-line import/no-deprecated
|
|
61
|
-
import { createMap, extend, extendIfUndefined, MapLike, PropertySet } from "./properties";
|
|
61
|
+
import { createMap, extend, extendIfUndefined, MapLike, PropertySet } from "./properties.js";
|
|
62
62
|
import {
|
|
63
63
|
refTypeIncludesFlag,
|
|
64
64
|
ReferencePosition,
|
|
65
65
|
DetachedReferencePosition,
|
|
66
66
|
refGetTileLabels,
|
|
67
67
|
refHasTileLabel,
|
|
68
|
-
} from "./referencePositions";
|
|
69
|
-
import { PropertiesRollback } from "./segmentPropertiesManager";
|
|
68
|
+
} from "./referencePositions.js";
|
|
69
|
+
import { PropertiesRollback } from "./segmentPropertiesManager.js";
|
|
70
70
|
import {
|
|
71
71
|
backwardExcursion,
|
|
72
72
|
depthFirstNodeWalk,
|
|
73
73
|
forwardExcursion,
|
|
74
74
|
NodeAction,
|
|
75
75
|
walkAllChildSegments,
|
|
76
|
-
} from "./mergeTreeNodeWalk";
|
|
77
|
-
import type { TrackingGroup } from "./mergeTreeTracking";
|
|
78
|
-
import { zamboniSegments } from "./zamboni";
|
|
76
|
+
} from "./mergeTreeNodeWalk.js";
|
|
77
|
+
import type { TrackingGroup } from "./mergeTreeTracking.js";
|
|
78
|
+
import { zamboniSegments } from "./zamboni.js";
|
|
79
79
|
// eslint-disable-next-line import/no-deprecated
|
|
80
|
-
import { Client } from "./client";
|
|
81
|
-
import { EndOfTreeSegment, StartOfTreeSegment } from "./endOfTreeSegment";
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* someday we may split tree leaves from segments, but for now they are the same
|
|
85
|
-
* this is just a convenience type that makes it clear that we need something that is both a segment and a leaf node
|
|
86
|
-
*/
|
|
87
|
-
export type ISegmentLeaf = ISegment & IMergeLeaf;
|
|
80
|
+
import { Client } from "./client.js";
|
|
81
|
+
import { EndOfTreeSegment, StartOfTreeSegment } from "./endOfTreeSegment.js";
|
|
88
82
|
|
|
89
83
|
function wasRemovedAfter(seg: ISegment, seq: number): boolean {
|
|
90
84
|
return (
|
|
@@ -124,6 +118,10 @@ function isRemovedAndAckedOrMovedAndAcked(segment: ISegment): boolean {
|
|
|
124
118
|
return isRemovedAndAcked(segment) || isMovedAndAcked(segment);
|
|
125
119
|
}
|
|
126
120
|
|
|
121
|
+
function isRemovedOrMoved(segment: ISegment): boolean {
|
|
122
|
+
return isRemoved(segment) || isMoved(segment);
|
|
123
|
+
}
|
|
124
|
+
|
|
127
125
|
function nodeTotalLength(mergeTree: MergeTree, node: IMergeNode): number | undefined {
|
|
128
126
|
if (!node.isLeaf()) {
|
|
129
127
|
return node.cachedLength;
|
|
@@ -643,7 +641,7 @@ export class MergeTree {
|
|
|
643
641
|
this.nodeUpdateLengthNewStructure(this.root, true);
|
|
644
642
|
}
|
|
645
643
|
|
|
646
|
-
private addToLRUSet(leaf:
|
|
644
|
+
private addToLRUSet(leaf: ISegmentLeaf, seq: number) {
|
|
647
645
|
// If the parent node has not yet been marked for scour (i.e., needsScour is not false or undefined),
|
|
648
646
|
// add the segment and mark the mark the node now.
|
|
649
647
|
|
|
@@ -786,7 +784,7 @@ export class MergeTree {
|
|
|
786
784
|
|
|
787
785
|
if (maybeEndpoint) {
|
|
788
786
|
const endpoint = maybeEndpoint === "start" ? this.startOfTree : this.endOfTree;
|
|
789
|
-
const localRefs =
|
|
787
|
+
const localRefs = LocalReferenceCollection.setOrGet(endpoint);
|
|
790
788
|
if (currentSlideIsForward) {
|
|
791
789
|
localRefs.addBeforeTombstones(...endpointRefsToAdd);
|
|
792
790
|
} else {
|
|
@@ -795,8 +793,7 @@ export class MergeTree {
|
|
|
795
793
|
}
|
|
796
794
|
|
|
797
795
|
if (currentSlideDestination !== undefined) {
|
|
798
|
-
const localRefs = (currentSlideDestination
|
|
799
|
-
new LocalReferenceCollection(currentSlideDestination));
|
|
796
|
+
const localRefs = LocalReferenceCollection.setOrGet(currentSlideDestination);
|
|
800
797
|
if (currentSlideIsForward) {
|
|
801
798
|
localRefs.addBeforeTombstones(...nonEndpointRefsToAdd);
|
|
802
799
|
} else {
|
|
@@ -1072,8 +1069,14 @@ export class MergeTree {
|
|
|
1072
1069
|
return this.getPosition(refPos, refSeq, clientId);
|
|
1073
1070
|
}
|
|
1074
1071
|
if (refTypeIncludesFlag(refPos, ReferenceType.Transient) || seg.localRefs?.has(refPos)) {
|
|
1075
|
-
const offset =
|
|
1076
|
-
|
|
1072
|
+
const offset = isRemovedOrMoved(seg) ? 0 : refPos.getOffset();
|
|
1073
|
+
const pos = this.getPosition(seg, refSeq, clientId);
|
|
1074
|
+
|
|
1075
|
+
if (isRemovedOrMoved(seg) && refPos.slidingPreference === SlidingPreference.BACKWARD) {
|
|
1076
|
+
return pos === 0 ? 0 : pos - 1;
|
|
1077
|
+
}
|
|
1078
|
+
|
|
1079
|
+
return offset + pos;
|
|
1077
1080
|
}
|
|
1078
1081
|
return DetachedReferencePosition;
|
|
1079
1082
|
}
|
|
@@ -1099,7 +1102,7 @@ export class MergeTree {
|
|
|
1099
1102
|
let foundMarker: Marker | undefined;
|
|
1100
1103
|
|
|
1101
1104
|
const { segment } = this.getContainingSegment(startPos, UniversalSequenceNumber, clientId);
|
|
1102
|
-
const segWithParent:
|
|
1105
|
+
const segWithParent: ISegmentLeaf | undefined = segment;
|
|
1103
1106
|
if (segWithParent?.parent === undefined) {
|
|
1104
1107
|
return undefined;
|
|
1105
1108
|
}
|
|
@@ -1169,7 +1172,7 @@ export class MergeTree {
|
|
|
1169
1172
|
const locallyMovedSegments = this.locallyMovedSegments.get(localMovedSeq);
|
|
1170
1173
|
|
|
1171
1174
|
if (locallyMovedSegments) {
|
|
1172
|
-
|
|
1175
|
+
locallyMovedSegments.segments.forEach((segment: ISegmentLeaf) => {
|
|
1173
1176
|
segment.localMovedSeq = undefined;
|
|
1174
1177
|
|
|
1175
1178
|
if (!nodesToUpdate.includes(segment.parent!)) {
|
|
@@ -1179,7 +1182,7 @@ export class MergeTree {
|
|
|
1179
1182
|
if (segment.movedSeq === UnassignedSequenceNumber) {
|
|
1180
1183
|
segment.movedSeq = seq;
|
|
1181
1184
|
}
|
|
1182
|
-
}
|
|
1185
|
+
});
|
|
1183
1186
|
|
|
1184
1187
|
this.locallyMovedSegments.delete(localMovedSeq);
|
|
1185
1188
|
}
|
|
@@ -1328,10 +1331,16 @@ export class MergeTree {
|
|
|
1328
1331
|
|
|
1329
1332
|
// opArgs == undefined => loading snapshot or test code
|
|
1330
1333
|
if (opArgs !== undefined) {
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1334
|
+
const deltaSegments = segments
|
|
1335
|
+
.filter((segment) => !toMoveInfo(segment))
|
|
1336
|
+
.map((segment) => ({ segment }));
|
|
1337
|
+
|
|
1338
|
+
if (deltaSegments.length > 0) {
|
|
1339
|
+
this.mergeTreeDeltaCallback?.(opArgs, {
|
|
1340
|
+
operation: MergeTreeDeltaType.INSERT,
|
|
1341
|
+
deltaSegments,
|
|
1342
|
+
});
|
|
1343
|
+
}
|
|
1335
1344
|
}
|
|
1336
1345
|
|
|
1337
1346
|
if (
|
|
@@ -1892,9 +1901,6 @@ export class MergeTree {
|
|
|
1892
1901
|
}
|
|
1893
1902
|
}
|
|
1894
1903
|
|
|
1895
|
-
/**
|
|
1896
|
-
* @alpha
|
|
1897
|
-
*/
|
|
1898
1904
|
public obliterateRange(
|
|
1899
1905
|
start: number,
|
|
1900
1906
|
end: number,
|
|
@@ -1960,7 +1966,9 @@ export class MergeTree {
|
|
|
1960
1966
|
segment.localMovedSeq = localSeq;
|
|
1961
1967
|
segment.movedSeqs = [seq];
|
|
1962
1968
|
|
|
1963
|
-
|
|
1969
|
+
if (!toRemovalInfo(segment)) {
|
|
1970
|
+
movedSegments.push({ segment });
|
|
1971
|
+
}
|
|
1964
1972
|
}
|
|
1965
1973
|
|
|
1966
1974
|
// Save segment so can assign moved sequence number when acked by server
|
|
@@ -2070,7 +2078,9 @@ export class MergeTree {
|
|
|
2070
2078
|
segment.removedSeq = seq;
|
|
2071
2079
|
segment.localRemovedSeq = localSeq;
|
|
2072
2080
|
|
|
2073
|
-
|
|
2081
|
+
if (!toMoveInfo(segment)) {
|
|
2082
|
+
removedSegments.push({ segment });
|
|
2083
|
+
}
|
|
2074
2084
|
}
|
|
2075
2085
|
|
|
2076
2086
|
// Save segment so we can assign removed sequence number when acked by server
|
|
@@ -2298,8 +2308,7 @@ export class MergeTree {
|
|
|
2298
2308
|
segment = _segment;
|
|
2299
2309
|
}
|
|
2300
2310
|
|
|
2301
|
-
const localRefs =
|
|
2302
|
-
segment.localRefs = localRefs;
|
|
2311
|
+
const localRefs = LocalReferenceCollection.setOrGet(segment);
|
|
2303
2312
|
|
|
2304
2313
|
const segRef = localRefs.createLocalRef(
|
|
2305
2314
|
offset,
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { ISequencedDocumentMessage } from "@fluidframework/protocol-definitions";
|
|
6
6
|
// eslint-disable-next-line import/no-deprecated
|
|
7
|
-
import { IMergeTreeGroupMsg, IMergeTreeOp, MergeTreeDeltaType } from "./ops";
|
|
8
|
-
import { PropertySet } from "./properties";
|
|
9
|
-
import { ISegment } from "./mergeTreeNodes";
|
|
7
|
+
import { IMergeTreeGroupMsg, IMergeTreeOp, MergeTreeDeltaType } from "./ops.js";
|
|
8
|
+
import { PropertySet } from "./properties.js";
|
|
9
|
+
import { ISegment } from "./mergeTreeNodes.js";
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* @alpha
|
|
@@ -99,11 +99,6 @@ export interface IMergeTreeDeltaOpArgs {
|
|
|
99
99
|
* Delta op args are for an unacked local change
|
|
100
100
|
*/
|
|
101
101
|
readonly sequencedMessage?: ISequencedDocumentMessage;
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* If the operation is being applied as a stashed op, which means it may have been previously submitted, and therefore should not be resubmitted
|
|
105
|
-
*/
|
|
106
|
-
readonly stashed?: boolean;
|
|
107
102
|
}
|
|
108
103
|
|
|
109
104
|
/**
|
package/src/mergeTreeNodeWalk.ts
CHANGED
package/src/mergeTreeNodes.ts
CHANGED
|
@@ -7,20 +7,19 @@
|
|
|
7
7
|
|
|
8
8
|
import { assert } from "@fluidframework/core-utils";
|
|
9
9
|
import { AttributionKey } from "@fluidframework/runtime-definitions";
|
|
10
|
-
import { IAttributionCollection } from "./attributionCollection";
|
|
11
|
-
import { LocalClientId, UnassignedSequenceNumber, UniversalSequenceNumber } from "./constants";
|
|
12
|
-
import { LocalReferenceCollection } from "./localReference";
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import { PartialSequenceLengths } from "./partialLengths";
|
|
10
|
+
import { IAttributionCollection } from "./attributionCollection.js";
|
|
11
|
+
import { LocalClientId, UnassignedSequenceNumber, UniversalSequenceNumber } from "./constants.js";
|
|
12
|
+
import { LocalReferenceCollection } from "./localReference.js";
|
|
13
|
+
import { IMergeTreeDeltaOpArgs } from "./mergeTreeDeltaCallback.js";
|
|
14
|
+
import { TrackingGroupCollection } from "./mergeTreeTracking.js";
|
|
15
|
+
import { IJSONSegment, IMarkerDef, MergeTreeDeltaType, ReferenceType } from "./ops.js";
|
|
16
|
+
import { computeHierarchicalOrdinal } from "./ordinal.js";
|
|
17
|
+
import { PartialSequenceLengths } from "./partialLengths.js";
|
|
19
18
|
// eslint-disable-next-line import/no-deprecated
|
|
20
|
-
import { clone, createMap, MapLike, PropertySet } from "./properties";
|
|
21
|
-
import { refTypeIncludesFlag, ReferencePosition, refGetTileLabels } from "./referencePositions";
|
|
22
|
-
import { SegmentGroupCollection } from "./segmentGroupCollection";
|
|
23
|
-
import { PropertiesManager, PropertiesRollback } from "./segmentPropertiesManager";
|
|
19
|
+
import { clone, createMap, MapLike, PropertySet } from "./properties.js";
|
|
20
|
+
import { refTypeIncludesFlag, ReferencePosition, refGetTileLabels } from "./referencePositions.js";
|
|
21
|
+
import { SegmentGroupCollection } from "./segmentGroupCollection.js";
|
|
22
|
+
import { PropertiesManager, PropertiesRollback } from "./segmentPropertiesManager.js";
|
|
24
23
|
|
|
25
24
|
/**
|
|
26
25
|
* Common properties for a node in a merge tree.
|
|
@@ -38,9 +37,12 @@ export interface IMergeNodeCommon {
|
|
|
38
37
|
ordinal: string;
|
|
39
38
|
isLeaf(): this is ISegment;
|
|
40
39
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
/**
|
|
41
|
+
* someday we may split tree leaves from segments, but for now they are the same
|
|
42
|
+
* this is just a convenience type that makes it clear that we need something that is both a segment and a leaf node
|
|
43
|
+
*/
|
|
44
|
+
export type ISegmentLeaf = ISegment & { parent?: IMergeBlock };
|
|
45
|
+
export type IMergeNode = IMergeBlock | ISegmentLeaf;
|
|
44
46
|
/**
|
|
45
47
|
* Internal (i.e. non-leaf) node in a merge tree.
|
|
46
48
|
* @internal
|
|
@@ -399,7 +401,7 @@ export interface SegmentActions<TClientData> {
|
|
|
399
401
|
* @alpha
|
|
400
402
|
*/
|
|
401
403
|
export interface SegmentGroup {
|
|
402
|
-
segments:
|
|
404
|
+
segments: ISegment[];
|
|
403
405
|
previousProps?: PropertySet[];
|
|
404
406
|
localSeq?: number;
|
|
405
407
|
refSeq: number;
|
|
@@ -610,7 +612,7 @@ export abstract class BaseSegment extends MergeNode implements ISegment {
|
|
|
610
612
|
return undefined;
|
|
611
613
|
}
|
|
612
614
|
|
|
613
|
-
const leafSegment:
|
|
615
|
+
const leafSegment: ISegmentLeaf | undefined = this.createSplitSegmentAt(pos);
|
|
614
616
|
|
|
615
617
|
if (!leafSegment) {
|
|
616
618
|
return undefined;
|
|
@@ -618,7 +620,7 @@ export abstract class BaseSegment extends MergeNode implements ISegment {
|
|
|
618
620
|
|
|
619
621
|
this.copyPropertiesTo(leafSegment);
|
|
620
622
|
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
621
|
-
const thisAsMergeSegment:
|
|
623
|
+
const thisAsMergeSegment: ISegmentLeaf = this;
|
|
622
624
|
leafSegment.parent = thisAsMergeSegment.parent;
|
|
623
625
|
|
|
624
626
|
// Give the leaf a temporary yet valid ordinal.
|
package/src/mergeTreeTracking.ts
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { LocalReferencePosition } from "./localReference";
|
|
7
|
-
import { ISegment } from "./mergeTreeNodes";
|
|
6
|
+
import { LocalReferencePosition } from "./localReference.js";
|
|
7
|
+
import { ISegment } from "./mergeTreeNodes.js";
|
|
8
8
|
// eslint-disable-next-line import/no-deprecated
|
|
9
|
-
import { SortedSegmentSet } from "./sortedSegmentSet";
|
|
9
|
+
import { SortedSegmentSet } from "./sortedSegmentSet.js";
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* @alpha
|
package/src/opBuilder.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { ISegment, Marker } from "./mergeTreeNodes";
|
|
6
|
+
import { ISegment, Marker } from "./mergeTreeNodes.js";
|
|
7
7
|
import {
|
|
8
8
|
IMergeTreeAnnotateMsg,
|
|
9
9
|
// eslint-disable-next-line import/no-deprecated
|
|
@@ -14,8 +14,8 @@ import {
|
|
|
14
14
|
IMergeTreeDeltaOp,
|
|
15
15
|
// eslint-disable-next-line import/no-deprecated
|
|
16
16
|
IMergeTreeObliterateMsg,
|
|
17
|
-
} from "./ops";
|
|
18
|
-
import { PropertySet } from "./properties";
|
|
17
|
+
} from "./ops.js";
|
|
18
|
+
import { PropertySet } from "./properties.js";
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* Creates the op for annotating the markers with the provided properties
|
package/src/partialLengths.ts
CHANGED
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { assert } from "@fluidframework/core-utils";
|
|
7
|
-
import { Property, RedBlackTree } from "./collections";
|
|
8
|
-
import { UnassignedSequenceNumber } from "./constants";
|
|
9
|
-
import { MergeTree } from "./mergeTree";
|
|
7
|
+
import { Property, RedBlackTree } from "./collections/index.js";
|
|
8
|
+
import { UnassignedSequenceNumber } from "./constants.js";
|
|
9
|
+
import { MergeTree } from "./mergeTree.js";
|
|
10
10
|
import {
|
|
11
11
|
// eslint-disable-next-line import/no-deprecated
|
|
12
12
|
CollaborationWindow,
|
|
@@ -19,9 +19,9 @@ import {
|
|
|
19
19
|
toMoveInfo,
|
|
20
20
|
seqLTE,
|
|
21
21
|
toRemovalInfo,
|
|
22
|
-
} from "./mergeTreeNodes";
|
|
22
|
+
} from "./mergeTreeNodes.js";
|
|
23
23
|
// eslint-disable-next-line import/no-deprecated
|
|
24
|
-
import { SortedSet } from "./sortedSet";
|
|
24
|
+
import { SortedSet } from "./sortedSet.js";
|
|
25
25
|
|
|
26
26
|
// eslint-disable-next-line import/no-deprecated
|
|
27
27
|
class PartialSequenceLengthsSet extends SortedSet<PartialSequenceLength, number> {
|
|
@@ -1185,7 +1185,7 @@ export class PartialSequenceLengths {
|
|
|
1185
1185
|
}
|
|
1186
1186
|
|
|
1187
1187
|
/* eslint-disable @typescript-eslint/dot-notation */
|
|
1188
|
-
function
|
|
1188
|
+
function verifyPartialLengthsInner(
|
|
1189
1189
|
partialSeqLengths: PartialSequenceLengths,
|
|
1190
1190
|
partialLengths: PartialSequenceLengthsSet,
|
|
1191
1191
|
clientPartials: boolean,
|
|
@@ -1266,7 +1266,7 @@ function verifyPartialLengths(
|
|
|
1266
1266
|
return count;
|
|
1267
1267
|
}
|
|
1268
1268
|
|
|
1269
|
-
export function
|
|
1269
|
+
export function verifyExpectedPartialLengths(
|
|
1270
1270
|
mergeTree: MergeTree,
|
|
1271
1271
|
node: IMergeBlock,
|
|
1272
1272
|
refSeq: number,
|
|
@@ -1305,11 +1305,11 @@ export function verifyExpected(
|
|
|
1305
1305
|
}
|
|
1306
1306
|
}
|
|
1307
1307
|
|
|
1308
|
-
export function
|
|
1308
|
+
export function verifyPartialLengths(partialSeqLengths: PartialSequenceLengths) {
|
|
1309
1309
|
if (partialSeqLengths["clientSeqNumbers"]) {
|
|
1310
1310
|
for (const cliSeq of partialSeqLengths["clientSeqNumbers"]) {
|
|
1311
1311
|
if (cliSeq) {
|
|
1312
|
-
|
|
1312
|
+
verifyPartialLengthsInner(partialSeqLengths, cliSeq, true);
|
|
1313
1313
|
}
|
|
1314
1314
|
}
|
|
1315
1315
|
|
|
@@ -1319,7 +1319,7 @@ export function verify(partialSeqLengths: PartialSequenceLengths) {
|
|
|
1319
1319
|
0x059 /* "Client view exists but flat view does not!" */,
|
|
1320
1320
|
);
|
|
1321
1321
|
|
|
1322
|
-
|
|
1322
|
+
verifyPartialLengthsInner(partialSeqLengths, partialSeqLengths["partialLengths"], false);
|
|
1323
1323
|
} else {
|
|
1324
1324
|
// If we don't have a client view, we shouldn't have the flat view either
|
|
1325
1325
|
assert(
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { SlidingPreference } from "./localReference";
|
|
7
|
-
import { ISegment } from "./mergeTreeNodes";
|
|
8
|
-
import { ReferenceType } from "./ops";
|
|
9
|
-
import { PropertySet } from "./properties";
|
|
6
|
+
import { SlidingPreference } from "./localReference.js";
|
|
7
|
+
import { ISegment } from "./mergeTreeNodes.js";
|
|
8
|
+
import { ReferenceType } from "./ops.js";
|
|
9
|
+
import { PropertySet } from "./properties.js";
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* @internal
|