@fluidframework/merge-tree 2.0.0-internal.8.0.0 → 2.0.0-rc.1.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/CHANGELOG.md +38 -0
- package/README.md +0 -6
- package/api-extractor-esm.json +17 -0
- package/api-extractor-lint.json +1 -10
- package/api-extractor.json +0 -4
- package/api-report/merge-tree.api.md +4 -9
- package/dist/client.d.ts +0 -7
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +0 -7
- package/dist/client.js.map +1 -1
- package/dist/merge-tree-alpha.d.ts +27 -12
- package/dist/merge-tree-beta.d.ts +0 -16
- package/dist/merge-tree-public.d.ts +0 -16
- package/dist/merge-tree-untrimmed.d.ts +5 -29
- package/dist/mergeTree.d.ts +0 -17
- package/dist/mergeTree.d.ts.map +1 -1
- package/dist/mergeTree.js +0 -130
- package/dist/mergeTree.js.map +1 -1
- package/dist/ops.d.ts +1 -1
- package/dist/ops.js +1 -1
- package/dist/ops.js.map +1 -1
- package/dist/revertibles.d.ts +4 -4
- package/dist/revertibles.js +3 -3
- package/dist/revertibles.js.map +1 -1
- package/dist/test/Insertion.perf.spec.d.ts +6 -0
- package/dist/test/Insertion.perf.spec.d.ts.map +1 -0
- package/dist/test/Insertion.perf.spec.js +113 -0
- package/dist/test/Insertion.perf.spec.js.map +1 -0
- package/dist/test/PartialLengths.perf.spec.d.ts +6 -0
- package/dist/test/PartialLengths.perf.spec.d.ts.map +1 -0
- package/dist/test/PartialLengths.perf.spec.js +67 -0
- package/dist/test/PartialLengths.perf.spec.js.map +1 -0
- package/dist/test/Removal.perf.spec.d.ts +6 -0
- package/dist/test/Removal.perf.spec.d.ts.map +1 -0
- package/dist/test/Removal.perf.spec.js +166 -0
- package/dist/test/Removal.perf.spec.js.map +1 -0
- package/dist/test/Snapshot.perf.spec.d.ts +6 -0
- package/dist/test/Snapshot.perf.spec.d.ts.map +1 -0
- package/dist/test/Snapshot.perf.spec.js +33 -0
- package/dist/test/Snapshot.perf.spec.js.map +1 -0
- package/dist/test/attributionCollection.perf.spec.d.ts +6 -0
- package/dist/test/attributionCollection.perf.spec.d.ts.map +1 -0
- package/dist/test/attributionCollection.perf.spec.js +231 -0
- package/dist/test/attributionCollection.perf.spec.js.map +1 -0
- package/dist/test/attributionCollection.spec.d.ts +6 -0
- package/dist/test/attributionCollection.spec.d.ts.map +1 -0
- package/dist/test/attributionCollection.spec.js +486 -0
- package/dist/test/attributionCollection.spec.js.map +1 -0
- package/dist/test/attributionPolicy.spec.d.ts +6 -0
- package/dist/test/attributionPolicy.spec.d.ts.map +1 -0
- package/dist/test/attributionPolicy.spec.js +189 -0
- package/dist/test/attributionPolicy.spec.js.map +1 -0
- package/dist/test/beastTest.d.ts +54 -0
- package/dist/test/beastTest.d.ts.map +1 -0
- package/dist/test/beastTest.js +1333 -0
- package/dist/test/beastTest.js.map +1 -0
- package/dist/test/client.annotateMarker.spec.d.ts +6 -0
- package/dist/test/client.annotateMarker.spec.d.ts.map +1 -0
- package/dist/test/client.annotateMarker.spec.js +45 -0
- package/dist/test/client.annotateMarker.spec.js.map +1 -0
- package/dist/test/client.apis.d.ts +7 -0
- package/dist/test/client.apis.d.ts.map +1 -0
- package/dist/test/client.apis.js +72 -0
- package/dist/test/client.apis.js.map +1 -0
- package/dist/test/client.applyMsg.spec.d.ts +6 -0
- package/dist/test/client.applyMsg.spec.d.ts.map +1 -0
- package/dist/test/client.applyMsg.spec.js +500 -0
- package/dist/test/client.applyMsg.spec.js.map +1 -0
- package/dist/test/client.applyStashedOpFarm.spec.d.ts +12 -0
- package/dist/test/client.applyStashedOpFarm.spec.d.ts.map +1 -0
- package/dist/test/client.applyStashedOpFarm.spec.js +144 -0
- package/dist/test/client.applyStashedOpFarm.spec.js.map +1 -0
- package/dist/test/client.attributionFarm.spec.d.ts +7 -0
- package/dist/test/client.attributionFarm.spec.d.ts.map +1 -0
- package/dist/test/client.attributionFarm.spec.js +96 -0
- package/dist/test/client.attributionFarm.spec.js.map +1 -0
- package/dist/test/client.conflictFarm.spec.d.ts +15 -0
- package/dist/test/client.conflictFarm.spec.d.ts.map +1 -0
- package/dist/test/client.conflictFarm.spec.js +88 -0
- package/dist/test/client.conflictFarm.spec.js.map +1 -0
- package/dist/test/client.getPosition.spec.d.ts +6 -0
- package/dist/test/client.getPosition.spec.d.ts.map +1 -0
- package/dist/test/client.getPosition.spec.js +54 -0
- package/dist/test/client.getPosition.spec.js.map +1 -0
- package/dist/test/client.localReference.spec.d.ts +6 -0
- package/dist/test/client.localReference.spec.d.ts.map +1 -0
- package/dist/test/client.localReference.spec.js +439 -0
- package/dist/test/client.localReference.spec.js.map +1 -0
- package/dist/test/client.localReferenceFarm.spec.d.ts +6 -0
- package/dist/test/client.localReferenceFarm.spec.d.ts.map +1 -0
- package/dist/test/client.localReferenceFarm.spec.js +88 -0
- package/dist/test/client.localReferenceFarm.spec.js.map +1 -0
- package/dist/test/client.rebasePosition.spec.d.ts +6 -0
- package/dist/test/client.rebasePosition.spec.d.ts.map +1 -0
- package/dist/test/client.rebasePosition.spec.js +102 -0
- package/dist/test/client.rebasePosition.spec.js.map +1 -0
- package/dist/test/client.reconnectFarm.spec.d.ts +12 -0
- package/dist/test/client.reconnectFarm.spec.d.ts.map +1 -0
- package/dist/test/client.reconnectFarm.spec.js +91 -0
- package/dist/test/client.reconnectFarm.spec.js.map +1 -0
- package/dist/test/client.replay.spec.d.ts +6 -0
- package/dist/test/client.replay.spec.d.ts.map +1 -0
- package/dist/test/client.replay.spec.js +85 -0
- package/dist/test/client.replay.spec.js.map +1 -0
- package/dist/test/client.rollback.spec.d.ts +6 -0
- package/dist/test/client.rollback.spec.d.ts.map +1 -0
- package/dist/test/client.rollback.spec.js +453 -0
- package/dist/test/client.rollback.spec.js.map +1 -0
- package/dist/test/client.rollbackFarm.spec.d.ts +6 -0
- package/dist/test/client.rollbackFarm.spec.d.ts.map +1 -0
- package/dist/test/client.rollbackFarm.spec.js +48 -0
- package/dist/test/client.rollbackFarm.spec.js.map +1 -0
- package/dist/test/client.searchForMarker.spec.d.ts +6 -0
- package/dist/test/client.searchForMarker.spec.d.ts.map +1 -0
- package/dist/test/client.searchForMarker.spec.js +446 -0
- package/dist/test/client.searchForMarker.spec.js.map +1 -0
- package/dist/test/client.walkSegments.spec.d.ts +6 -0
- package/dist/test/client.walkSegments.spec.d.ts.map +1 -0
- package/dist/test/client.walkSegments.spec.js +54 -0
- package/dist/test/client.walkSegments.spec.js.map +1 -0
- package/dist/test/collections.list.spec.d.ts +6 -0
- package/dist/test/collections.list.spec.d.ts.map +1 -0
- package/dist/test/collections.list.spec.js +84 -0
- package/dist/test/collections.list.spec.js.map +1 -0
- package/dist/test/createInsertOnlyAttributionPolicy.spec.d.ts +6 -0
- package/dist/test/createInsertOnlyAttributionPolicy.spec.d.ts.map +1 -0
- package/dist/test/createInsertOnlyAttributionPolicy.spec.js +35 -0
- package/dist/test/createInsertOnlyAttributionPolicy.spec.js.map +1 -0
- package/dist/test/index.d.ts +13 -0
- package/dist/test/index.d.ts.map +1 -0
- package/dist/test/index.js +88 -0
- package/dist/test/index.js.map +1 -0
- package/dist/test/mergeTree.annotate.deltaCallback.spec.d.ts +6 -0
- package/dist/test/mergeTree.annotate.deltaCallback.spec.d.ts.map +1 -0
- package/dist/test/mergeTree.annotate.deltaCallback.spec.js +142 -0
- package/dist/test/mergeTree.annotate.deltaCallback.spec.js.map +1 -0
- package/dist/test/mergeTree.annotate.spec.d.ts +6 -0
- package/dist/test/mergeTree.annotate.spec.d.ts.map +1 -0
- package/dist/test/mergeTree.annotate.spec.js +448 -0
- package/dist/test/mergeTree.annotate.spec.js.map +1 -0
- package/dist/test/mergeTree.insert.deltaCallback.spec.d.ts +6 -0
- package/dist/test/mergeTree.insert.deltaCallback.spec.d.ts.map +1 -0
- package/dist/test/mergeTree.insert.deltaCallback.spec.js +126 -0
- package/dist/test/mergeTree.insert.deltaCallback.spec.js.map +1 -0
- package/dist/test/mergeTree.insertingWalk.spec.d.ts +6 -0
- package/dist/test/mergeTree.insertingWalk.spec.d.ts.map +1 -0
- package/dist/test/mergeTree.insertingWalk.spec.js +279 -0
- package/dist/test/mergeTree.insertingWalk.spec.js.map +1 -0
- package/dist/test/mergeTree.markRangeRemoved.deltaCallback.spec.d.ts +6 -0
- package/dist/test/mergeTree.markRangeRemoved.deltaCallback.spec.d.ts.map +1 -0
- package/dist/test/mergeTree.markRangeRemoved.deltaCallback.spec.js +178 -0
- package/dist/test/mergeTree.markRangeRemoved.deltaCallback.spec.js.map +1 -0
- package/dist/test/mergeTree.markRangeRemoved.spec.d.ts +6 -0
- package/dist/test/mergeTree.markRangeRemoved.spec.d.ts.map +1 -0
- package/dist/test/mergeTree.markRangeRemoved.spec.js +130 -0
- package/dist/test/mergeTree.markRangeRemoved.spec.js.map +1 -0
- package/dist/test/mergeTree.walk.spec.d.ts +6 -0
- package/dist/test/mergeTree.walk.spec.d.ts.map +1 -0
- package/dist/test/mergeTree.walk.spec.js +63 -0
- package/dist/test/mergeTree.walk.spec.js.map +1 -0
- package/dist/test/mergeTree.zamboni.spec.d.ts +6 -0
- package/dist/test/mergeTree.zamboni.spec.d.ts.map +1 -0
- package/dist/test/mergeTree.zamboni.spec.js +52 -0
- package/dist/test/mergeTree.zamboni.spec.js.map +1 -0
- package/dist/test/mergeTreeOperationRunner.d.ts +63 -0
- package/dist/test/mergeTreeOperationRunner.d.ts.map +1 -0
- package/dist/test/mergeTreeOperationRunner.js +245 -0
- package/dist/test/mergeTreeOperationRunner.js.map +1 -0
- package/dist/test/mergeTreeOperationRunner.spec.d.ts +6 -0
- package/dist/test/mergeTreeOperationRunner.spec.d.ts.map +1 -0
- package/dist/test/mergeTreeOperationRunner.spec.js +156 -0
- package/dist/test/mergeTreeOperationRunner.spec.js.map +1 -0
- package/dist/test/obliterate.concurrent.spec.d.ts +6 -0
- package/dist/test/obliterate.concurrent.spec.d.ts.map +1 -0
- package/dist/test/obliterate.concurrent.spec.js +1446 -0
- package/dist/test/obliterate.concurrent.spec.js.map +1 -0
- package/dist/test/obliterate.partialLength.spec.d.ts +6 -0
- package/dist/test/obliterate.partialLength.spec.d.ts.map +1 -0
- package/dist/test/obliterate.partialLength.spec.js +279 -0
- package/dist/test/obliterate.partialLength.spec.js.map +1 -0
- package/dist/test/obliterate.reconnect.spec.d.ts +6 -0
- package/dist/test/obliterate.reconnect.spec.d.ts.map +1 -0
- package/dist/test/obliterate.reconnect.spec.js +164 -0
- package/dist/test/obliterate.reconnect.spec.js.map +1 -0
- package/dist/test/obliterate.spec.d.ts +6 -0
- package/dist/test/obliterate.spec.d.ts.map +1 -0
- package/dist/test/obliterate.spec.js +162 -0
- package/dist/test/obliterate.spec.js.map +1 -0
- package/dist/test/ordinal.spec.d.ts +2 -0
- package/dist/test/ordinal.spec.d.ts.map +1 -0
- package/dist/test/ordinal.spec.js +43 -0
- package/dist/test/ordinal.spec.js.map +1 -0
- package/dist/test/partialLength.spec.d.ts +6 -0
- package/dist/test/partialLength.spec.d.ts.map +1 -0
- package/dist/test/partialLength.spec.js +282 -0
- package/dist/test/partialLength.spec.js.map +1 -0
- package/dist/test/properties.spec.d.ts +6 -0
- package/dist/test/properties.spec.d.ts.map +1 -0
- package/dist/test/properties.spec.js +55 -0
- package/dist/test/properties.spec.js.map +1 -0
- package/dist/test/reconnectHelper.d.ts +48 -0
- package/dist/test/reconnectHelper.d.ts.map +1 -0
- package/dist/test/reconnectHelper.js +86 -0
- package/dist/test/reconnectHelper.js.map +1 -0
- package/dist/test/resetPendingSegmentsToOp.spec.d.ts +6 -0
- package/dist/test/resetPendingSegmentsToOp.spec.d.ts.map +1 -0
- package/dist/test/resetPendingSegmentsToOp.spec.js +218 -0
- package/dist/test/resetPendingSegmentsToOp.spec.js.map +1 -0
- package/dist/test/revertibleFarm.spec.d.ts +6 -0
- package/dist/test/revertibleFarm.spec.d.ts.map +1 -0
- package/dist/test/revertibleFarm.spec.js +124 -0
- package/dist/test/revertibleFarm.spec.js.map +1 -0
- package/dist/test/revertibles.spec.d.ts +17 -0
- package/dist/test/revertibles.spec.d.ts.map +1 -0
- package/dist/test/revertibles.spec.js +385 -0
- package/dist/test/revertibles.spec.js.map +1 -0
- package/dist/test/segmentGroupCollection.spec.d.ts +6 -0
- package/dist/test/segmentGroupCollection.spec.d.ts.map +1 -0
- package/dist/test/segmentGroupCollection.spec.js +60 -0
- package/dist/test/segmentGroupCollection.spec.js.map +1 -0
- package/dist/test/snapshot.spec.d.ts +6 -0
- package/dist/test/snapshot.spec.d.ts.map +1 -0
- package/dist/test/snapshot.spec.js +178 -0
- package/dist/test/snapshot.spec.js.map +1 -0
- package/dist/test/snapshot.utils.d.ts +33 -0
- package/dist/test/snapshot.utils.d.ts.map +1 -0
- package/dist/test/snapshot.utils.js +109 -0
- package/dist/test/snapshot.utils.js.map +1 -0
- package/dist/test/snapshotlegacy.spec.d.ts +6 -0
- package/dist/test/snapshotlegacy.spec.d.ts.map +1 -0
- package/dist/test/snapshotlegacy.spec.js +139 -0
- package/dist/test/snapshotlegacy.spec.js.map +1 -0
- package/dist/test/sortedSegmentSet.spec.d.ts +6 -0
- package/dist/test/sortedSegmentSet.spec.d.ts.map +1 -0
- package/dist/test/sortedSegmentSet.spec.js +95 -0
- package/dist/test/sortedSegmentSet.spec.js.map +1 -0
- package/dist/test/testClient.d.ts +119 -0
- package/dist/test/testClient.d.ts.map +1 -0
- package/dist/test/testClient.js +439 -0
- package/dist/test/testClient.js.map +1 -0
- package/dist/test/testClientLogger.d.ts +44 -0
- package/dist/test/testClientLogger.d.ts.map +1 -0
- package/dist/test/testClientLogger.js +287 -0
- package/dist/test/testClientLogger.js.map +1 -0
- package/dist/test/testSerializer.d.ts +18 -0
- package/dist/test/testSerializer.d.ts.map +1 -0
- package/dist/test/testSerializer.js +33 -0
- package/dist/test/testSerializer.js.map +1 -0
- package/dist/test/testServer.d.ts +36 -0
- package/dist/test/testServer.d.ts.map +1 -0
- package/dist/test/testServer.js +138 -0
- package/dist/test/testServer.js.map +1 -0
- package/dist/test/testUtils.d.ts +69 -0
- package/dist/test/testUtils.d.ts.map +1 -0
- package/dist/test/testUtils.js +149 -0
- package/dist/test/testUtils.js.map +1 -0
- package/dist/test/text.d.ts +9 -0
- package/dist/test/text.d.ts.map +1 -0
- package/dist/test/text.js +76 -0
- package/dist/test/text.js.map +1 -0
- package/dist/test/tracking.spec.d.ts +6 -0
- package/dist/test/tracking.spec.d.ts.map +1 -0
- package/dist/test/tracking.spec.js +120 -0
- package/dist/test/tracking.spec.js.map +1 -0
- package/dist/test/wordUnitTests.d.ts +6 -0
- package/dist/test/wordUnitTests.d.ts.map +1 -0
- package/dist/test/wordUnitTests.js +172 -0
- package/dist/test/wordUnitTests.js.map +1 -0
- package/lib/{MergeTreeTextHelper.d.ts → MergeTreeTextHelper.d.mts} +3 -3
- package/lib/MergeTreeTextHelper.d.mts.map +1 -0
- package/lib/{MergeTreeTextHelper.js → MergeTreeTextHelper.mjs} +5 -10
- package/lib/MergeTreeTextHelper.mjs.map +1 -0
- package/lib/{attributionCollection.d.ts → attributionCollection.d.mts} +2 -2
- package/lib/attributionCollection.d.mts.map +1 -0
- package/lib/{attributionCollection.js → attributionCollection.mjs} +9 -14
- package/lib/attributionCollection.mjs.map +1 -0
- package/lib/{attributionPolicy.d.ts → attributionPolicy.d.mts} +2 -2
- package/lib/attributionPolicy.d.mts.map +1 -0
- package/lib/{attributionPolicy.js → attributionPolicy.mjs} +21 -27
- package/lib/attributionPolicy.mjs.map +1 -0
- package/lib/{client.d.ts → client.d.mts} +9 -16
- package/lib/client.d.mts.map +1 -0
- package/lib/{client.js → client.mjs} +101 -110
- package/lib/client.mjs.map +1 -0
- package/lib/collections/{index.d.ts → index.d.mts} +3 -3
- package/lib/collections/index.d.mts.map +1 -0
- package/lib/collections/index.mjs +7 -0
- package/lib/collections/index.mjs.map +1 -0
- package/lib/collections/{list.d.ts → list.d.mts} +1 -1
- package/lib/collections/list.d.mts.map +1 -0
- package/lib/collections/{list.js → list.mjs} +6 -11
- package/lib/collections/list.mjs.map +1 -0
- package/lib/collections/{rbTree.d.ts → rbTree.d.mts} +1 -1
- package/lib/collections/rbTree.d.mts.map +1 -0
- package/lib/collections/{rbTree.js → rbTree.mjs} +16 -20
- package/lib/collections/rbTree.mjs.map +1 -0
- package/lib/{constants.d.ts → constants.d.mts} +1 -1
- package/lib/constants.d.mts.map +1 -0
- package/lib/constants.mjs +32 -0
- package/lib/constants.mjs.map +1 -0
- package/lib/{endOfTreeSegment.d.ts → endOfTreeSegment.d.mts} +4 -4
- package/lib/endOfTreeSegment.d.mts.map +1 -0
- package/lib/{endOfTreeSegment.js → endOfTreeSegment.mjs} +13 -18
- package/lib/endOfTreeSegment.mjs.map +1 -0
- package/lib/{index.d.ts → index.d.mts} +21 -21
- package/lib/index.d.mts.map +1 -0
- package/lib/index.mjs +24 -0
- package/lib/index.mjs.map +1 -0
- package/lib/{localReference.d.ts → localReference.d.mts} +7 -7
- package/lib/localReference.d.mts.map +1 -0
- package/lib/{localReference.js → localReference.mjs} +38 -47
- package/lib/localReference.mjs.map +1 -0
- package/lib/{merge-tree-alpha.d.ts → merge-tree-alpha.d.mts} +27 -12
- package/lib/{merge-tree-beta.d.ts → merge-tree-beta.d.mts} +0 -16
- package/lib/{merge-tree-public.d.ts → merge-tree-public.d.mts} +0 -16
- package/lib/{merge-tree-untrimmed.d.ts → merge-tree-untrimmed.d.mts} +5 -29
- package/lib/{mergeTree.d.ts → mergeTree.d.mts} +12 -29
- package/lib/mergeTree.d.mts.map +1 -0
- package/lib/{mergeTree.js → mergeTree.mjs} +203 -340
- package/lib/mergeTree.mjs.map +1 -0
- package/lib/{mergeTreeDeltaCallback.d.ts → mergeTreeDeltaCallback.d.mts} +4 -8
- package/lib/mergeTreeDeltaCallback.d.mts.map +1 -0
- package/lib/{mergeTreeDeltaCallback.js → mergeTreeDeltaCallback.mjs} +2 -5
- package/lib/mergeTreeDeltaCallback.mjs.map +1 -0
- package/lib/{mergeTreeNodeWalk.d.ts → mergeTreeNodeWalk.d.mts} +2 -2
- package/lib/mergeTreeNodeWalk.d.mts.map +1 -0
- package/lib/{mergeTreeNodeWalk.js → mergeTreeNodeWalk.mjs} +14 -21
- package/lib/mergeTreeNodeWalk.mjs.map +1 -0
- package/lib/{mergeTreeNodes.d.ts → mergeTreeNodes.d.mts} +12 -12
- package/lib/mergeTreeNodes.d.mts.map +1 -0
- package/lib/{mergeTreeNodes.js → mergeTreeNodes.mjs} +60 -76
- package/lib/mergeTreeNodes.mjs.map +1 -0
- package/lib/{mergeTreeTracking.d.ts → mergeTreeTracking.d.mts} +3 -3
- package/lib/mergeTreeTracking.d.mts.map +1 -0
- package/lib/{mergeTreeTracking.js → mergeTreeTracking.mjs} +6 -13
- package/lib/mergeTreeTracking.mjs.map +1 -0
- package/lib/{opBuilder.d.ts → opBuilder.d.mts} +4 -4
- package/lib/opBuilder.d.mts.map +1 -0
- package/lib/{opBuilder.js → opBuilder.mjs} +15 -25
- package/lib/opBuilder.mjs.map +1 -0
- package/lib/{ops.d.ts → ops.d.mts} +2 -2
- package/lib/ops.d.mts.map +1 -0
- package/lib/{ops.js → ops.mjs} +5 -8
- package/lib/ops.mjs.map +1 -0
- package/lib/{ordinal.d.ts → ordinal.d.mts} +1 -1
- package/lib/ordinal.d.mts.map +1 -0
- package/lib/{ordinal.js → ordinal.mjs} +4 -9
- package/lib/ordinal.mjs.map +1 -0
- package/lib/{partialLengths.d.ts → partialLengths.d.mts} +4 -4
- package/lib/partialLengths.d.mts.map +1 -0
- package/lib/{partialLengths.js → partialLengths.mjs} +38 -46
- package/lib/partialLengths.mjs.map +1 -0
- package/lib/{properties.d.ts → properties.d.mts} +1 -1
- package/lib/properties.d.mts.map +1 -0
- package/lib/{properties.js → properties.mjs} +7 -16
- package/lib/properties.mjs.map +1 -0
- package/lib/{referencePositions.d.ts → referencePositions.d.mts} +5 -5
- package/lib/referencePositions.d.mts.map +1 -0
- package/lib/referencePositions.mjs +70 -0
- package/lib/referencePositions.mjs.map +1 -0
- package/lib/{revertibles.d.ts → revertibles.d.mts} +12 -12
- package/lib/revertibles.d.mts.map +1 -0
- package/lib/{revertibles.js → revertibles.mjs} +60 -67
- package/lib/revertibles.mjs.map +1 -0
- package/lib/{segmentGroupCollection.d.ts → segmentGroupCollection.d.mts} +2 -2
- package/lib/segmentGroupCollection.d.mts.map +1 -0
- package/lib/{segmentGroupCollection.js → segmentGroupCollection.mjs} +5 -9
- package/lib/segmentGroupCollection.mjs.map +1 -0
- package/lib/{segmentPropertiesManager.d.ts → segmentPropertiesManager.d.mts} +3 -3
- package/lib/segmentPropertiesManager.d.mts.map +1 -0
- package/lib/{segmentPropertiesManager.js → segmentPropertiesManager.mjs} +14 -20
- package/lib/{segmentPropertiesManager.js.map → segmentPropertiesManager.mjs.map} +1 -1
- package/lib/{snapshotChunks.d.ts → snapshotChunks.d.mts} +4 -4
- package/lib/snapshotChunks.d.mts.map +1 -0
- package/lib/{snapshotChunks.js → snapshotChunks.mjs} +10 -17
- package/lib/snapshotChunks.mjs.map +1 -0
- package/lib/{snapshotLoader.d.ts → snapshotLoader.d.mts} +3 -3
- package/lib/snapshotLoader.d.mts.map +1 -0
- package/lib/{snapshotLoader.js → snapshotLoader.mjs} +33 -38
- package/lib/snapshotLoader.mjs.map +1 -0
- package/lib/{snapshotV1.d.ts → snapshotV1.d.mts} +4 -4
- package/lib/snapshotV1.d.mts.map +1 -0
- package/lib/{snapshotV1.js → snapshotV1.mjs} +28 -32
- package/lib/snapshotV1.mjs.map +1 -0
- package/lib/{snapshotlegacy.d.ts → snapshotlegacy.d.mts} +3 -3
- package/lib/snapshotlegacy.d.mts.map +1 -0
- package/lib/{snapshotlegacy.js → snapshotlegacy.mjs} +21 -26
- package/lib/snapshotlegacy.mjs.map +1 -0
- package/lib/{sortedSegmentSet.d.ts → sortedSegmentSet.d.mts} +4 -4
- package/lib/sortedSegmentSet.d.mts.map +1 -0
- package/lib/{sortedSegmentSet.js → sortedSegmentSet.mjs} +3 -8
- package/lib/sortedSegmentSet.mjs.map +1 -0
- package/lib/{sortedSet.d.ts → sortedSet.d.mts} +1 -1
- package/lib/sortedSet.d.mts.map +1 -0
- package/lib/{sortedSet.js → sortedSet.mjs} +2 -6
- package/lib/sortedSet.mjs.map +1 -0
- package/lib/{textSegment.d.ts → textSegment.d.mts} +4 -4
- package/lib/textSegment.d.mts.map +1 -0
- package/lib/{textSegment.js → textSegment.mjs} +8 -12
- package/lib/textSegment.mjs.map +1 -0
- package/lib/{zamboni.d.ts → zamboni.d.mts} +3 -3
- package/lib/zamboni.d.mts.map +1 -0
- package/lib/{zamboni.js → zamboni.mjs} +22 -28
- package/lib/zamboni.mjs.map +1 -0
- package/package.json +95 -164
- package/src/client.ts +0 -8
- package/src/mergeTree.ts +0 -226
- package/src/ops.ts +1 -1
- package/src/revertibles.ts +4 -4
- package/lib/MergeTreeTextHelper.d.ts.map +0 -1
- package/lib/MergeTreeTextHelper.js.map +0 -1
- package/lib/attributionCollection.d.ts.map +0 -1
- package/lib/attributionCollection.js.map +0 -1
- package/lib/attributionPolicy.d.ts.map +0 -1
- package/lib/attributionPolicy.js.map +0 -1
- package/lib/client.d.ts.map +0 -1
- package/lib/client.js.map +0 -1
- package/lib/collections/index.d.ts.map +0 -1
- package/lib/collections/index.js +0 -14
- package/lib/collections/index.js.map +0 -1
- package/lib/collections/list.d.ts.map +0 -1
- package/lib/collections/list.js.map +0 -1
- package/lib/collections/rbTree.d.ts.map +0 -1
- package/lib/collections/rbTree.js.map +0 -1
- package/lib/constants.d.ts.map +0 -1
- package/lib/constants.js +0 -35
- package/lib/constants.js.map +0 -1
- package/lib/endOfTreeSegment.d.ts.map +0 -1
- package/lib/endOfTreeSegment.js.map +0 -1
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js +0 -80
- package/lib/index.js.map +0 -1
- package/lib/localReference.d.ts.map +0 -1
- package/lib/localReference.js.map +0 -1
- package/lib/mergeTree.d.ts.map +0 -1
- package/lib/mergeTree.js.map +0 -1
- package/lib/mergeTreeDeltaCallback.d.ts.map +0 -1
- package/lib/mergeTreeDeltaCallback.js.map +0 -1
- package/lib/mergeTreeNodeWalk.d.ts.map +0 -1
- package/lib/mergeTreeNodeWalk.js.map +0 -1
- package/lib/mergeTreeNodes.d.ts.map +0 -1
- package/lib/mergeTreeNodes.js.map +0 -1
- package/lib/mergeTreeTracking.d.ts.map +0 -1
- package/lib/mergeTreeTracking.js.map +0 -1
- package/lib/opBuilder.d.ts.map +0 -1
- package/lib/opBuilder.js.map +0 -1
- package/lib/ops.d.ts.map +0 -1
- package/lib/ops.js.map +0 -1
- package/lib/ordinal.d.ts.map +0 -1
- package/lib/ordinal.js.map +0 -1
- package/lib/partialLengths.d.ts.map +0 -1
- package/lib/partialLengths.js.map +0 -1
- package/lib/properties.d.ts.map +0 -1
- package/lib/properties.js.map +0 -1
- package/lib/referencePositions.d.ts.map +0 -1
- package/lib/referencePositions.js +0 -80
- package/lib/referencePositions.js.map +0 -1
- package/lib/revertibles.d.ts.map +0 -1
- package/lib/revertibles.js.map +0 -1
- package/lib/segmentGroupCollection.d.ts.map +0 -1
- package/lib/segmentGroupCollection.js.map +0 -1
- package/lib/segmentPropertiesManager.d.ts.map +0 -1
- package/lib/snapshotChunks.d.ts.map +0 -1
- package/lib/snapshotChunks.js.map +0 -1
- package/lib/snapshotLoader.d.ts.map +0 -1
- package/lib/snapshotLoader.js.map +0 -1
- package/lib/snapshotV1.d.ts.map +0 -1
- package/lib/snapshotV1.js.map +0 -1
- package/lib/snapshotlegacy.d.ts.map +0 -1
- package/lib/snapshotlegacy.js.map +0 -1
- package/lib/sortedSegmentSet.d.ts.map +0 -1
- package/lib/sortedSegmentSet.js.map +0 -1
- package/lib/sortedSet.d.ts.map +0 -1
- package/lib/sortedSet.js.map +0 -1
- package/lib/textSegment.d.ts.map +0 -1
- package/lib/textSegment.js.map +0 -1
- package/lib/zamboni.d.ts.map +0 -1
- package/lib/zamboni.js.map +0 -1
- package/merge-tree.test-files.tar +0 -0
- package/src/mergeTreeExample1.pdf +0 -0
- package/tsconfig.esnext.json +0 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.walkSegments.spec.js","sourceRoot":"","sources":["../../src/test/client.walkSegments.spec.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAEH,mCAA0C;AAC1C,6CAA0C;AAE1C,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAChC,MAAM,eAAe,GAAG,WAAW,CAAC;IACpC,MAAM,IAAI,GAAG,OAAO,CAAC;IACrB,MAAM,IAAI,GAAG,OAAO,CAAC;IACrB,IAAI,MAAkB,CAAC;IAEvB,UAAU,CAAC,GAAG,EAAE;QACf,MAAM,GAAG,IAAI,uBAAU,EAAE,CAAC;QAC1B,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;QACjD,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;QACjD,MAAM,CAAC,0BAA0B,CAAC,eAAe,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC5B,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE;YACzB,QAAQ,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,CAAC,YAAY,CAAC;YACzB,OAAO,IAAI,CAAC;QACb,CAAC,CAAC,CAAC;QACH,eAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC1B,eAAM,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC7B,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,CAAC,YAAY,CAClB,CAAC,CAAC,EAAE,EAAE;YACL,QAAQ,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,CAAC,YAAY,CAAC;YACzB,OAAO,IAAI,CAAC;QACb,CAAC,EACD,IAAI,CAAC,MAAM,GAAG,CAAC,EACf,IAAI,CAAC,MAAM,GAAG,CAAC,CACf,CAAC;QACF,eAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC1B,eAAM,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACxC,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,CAAC,YAAY,CAClB,CAAC,CAAC,EAAE,EAAE;YACL,QAAQ,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,CAAC,YAAY,CAAC;YACzB,OAAO,IAAI,CAAC;QACb,CAAC,EACD,IAAI,CAAC,MAAM,GAAG,CAAC,EACf,IAAI,CAAC,MAAM,GAAG,CAAC,EACf,SAAS,EACT,IAAI,CACJ,CAAC;QACF,eAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC1B,eAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { strict as assert } from \"assert\";\nimport { TestClient } from \"./testClient\";\n\ndescribe(\"client.applyMsg\", () => {\n\tconst localUserLongId = \"localUser\";\n\tconst seg1 = \"hello\";\n\tconst seg2 = \"world\";\n\tlet client: TestClient;\n\n\tbeforeEach(() => {\n\t\tclient = new TestClient();\n\t\tclient.insertTextLocal(client.getLength(), seg1);\n\t\tclient.insertTextLocal(client.getLength(), seg2);\n\t\tclient.startOrUpdateCollaboration(localUserLongId);\n\t});\n\n\tit(\"Walk All Segments\", () => {\n\t\tlet segCount = 0;\n\t\tlet segLen = 0;\n\t\tclient.walkSegments((s) => {\n\t\t\tsegCount++;\n\t\t\tsegLen += s.cachedLength;\n\t\t\treturn true;\n\t\t});\n\t\tassert.equal(segCount, 2);\n\t\tassert.equal(segLen, seg1.length + seg2.length);\n\t});\n\n\tit(\"Walk Segment Range\", () => {\n\t\tlet segCount = 0;\n\t\tlet segLen = 0;\n\t\tclient.walkSegments(\n\t\t\t(s) => {\n\t\t\t\tsegCount++;\n\t\t\t\tsegLen += s.cachedLength;\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\tseg1.length - 2,\n\t\t\tseg1.length + 2,\n\t\t);\n\t\tassert.equal(segCount, 2);\n\t\tassert.equal(segLen, seg1.length + seg2.length);\n\t});\n\n\tit(\"Walk Segment Range With Split\", () => {\n\t\tlet segCount = 0;\n\t\tlet segLen = 0;\n\t\tclient.walkSegments(\n\t\t\t(s) => {\n\t\t\t\tsegCount++;\n\t\t\t\tsegLen += s.cachedLength;\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\tseg1.length - 2,\n\t\t\tseg1.length + 2,\n\t\t\tundefined,\n\t\t\ttrue,\n\t\t);\n\t\tassert.equal(segCount, 2);\n\t\tassert.equal(segLen, 4);\n\t});\n});\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collections.list.spec.d.ts","sourceRoot":"","sources":["../../src/test/collections.list.spec.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*!
|
|
3
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
4
|
+
* Licensed under the MIT License.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
const assert_1 = require("assert");
|
|
8
|
+
const collections_1 = require("../collections");
|
|
9
|
+
describe("Collections.DoublyLinkedList", () => {
|
|
10
|
+
const listCount = 5;
|
|
11
|
+
let list;
|
|
12
|
+
beforeEach(() => {
|
|
13
|
+
list = new collections_1.DoublyLinkedList();
|
|
14
|
+
for (let i = 0; i < listCount; i++) {
|
|
15
|
+
list.unshift(i);
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
describe(".length", () => {
|
|
19
|
+
it("Should return the total number of items in the list", () => assert_1.strict.equal(list.length, listCount, "The list count doesn't match the expected count."));
|
|
20
|
+
});
|
|
21
|
+
describe(".first", () => {
|
|
22
|
+
it("Should return the first item in the list", () => assert_1.strict.equal(list.first?.data, listCount - 1, "first item not expected value"));
|
|
23
|
+
});
|
|
24
|
+
describe(".last", () => {
|
|
25
|
+
it("Should return the last item in the list", () => assert_1.strict.equal(list.last?.data, 0, "last item not expected value"));
|
|
26
|
+
});
|
|
27
|
+
describe("walkList", () => {
|
|
28
|
+
it("Should walk all items of the list", () => {
|
|
29
|
+
let i = listCount - 1;
|
|
30
|
+
(0, collections_1.walkList)(list, (node) => {
|
|
31
|
+
assert_1.strict.equal(node.data, i, "elemeted not expected value");
|
|
32
|
+
i--;
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
describe(".iterator", () => {
|
|
37
|
+
it("Should walk all items of the list", () => {
|
|
38
|
+
let i = listCount - 1;
|
|
39
|
+
for (const item of list) {
|
|
40
|
+
assert_1.strict.equal(item.data, i, "elemeted not expected value");
|
|
41
|
+
i--;
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
describe(".unshift", () => {
|
|
46
|
+
it("Should add item to the start of the list", () => {
|
|
47
|
+
list.unshift(99);
|
|
48
|
+
assert_1.strict.equal(list.first?.data, 99, "first item not expected value");
|
|
49
|
+
assert_1.strict.equal(list.length, listCount + 1, "The list count doesn't match the expected count.");
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
describe(".push", () => {
|
|
53
|
+
it("Should add item to the end of the list", () => {
|
|
54
|
+
list.push(99);
|
|
55
|
+
assert_1.strict.equal(list.last?.data, 99, "last item not expected value");
|
|
56
|
+
assert_1.strict.equal(list.length, listCount + 1, "The list count doesn't match the expected count.");
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
describe(".splice", () => {
|
|
60
|
+
for (const splicePos of [-1, 0, 1, Math.floor(listCount / 2), listCount, listCount - 1]) {
|
|
61
|
+
it(`splice at position ${splicePos}`, () => {
|
|
62
|
+
const nodesArray = [...list];
|
|
63
|
+
// negative numbers for the start move back from the end
|
|
64
|
+
// see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice#syntax
|
|
65
|
+
const spliceIndex = splicePos < 0 ? nodesArray.length + splicePos : splicePos;
|
|
66
|
+
// capture the node for the list splice
|
|
67
|
+
const spliceNode = nodesArray[spliceIndex];
|
|
68
|
+
const arraySplice = nodesArray.splice(spliceIndex);
|
|
69
|
+
const listSplice = spliceNode === undefined ? new collections_1.DoublyLinkedList() : list.splice(spliceNode);
|
|
70
|
+
assert_1.strict.equal(list.length, nodesArray.length, "remaining lengths don't match");
|
|
71
|
+
assert_1.strict.equal(listSplice.length, arraySplice.length, "spliced lengths don't match");
|
|
72
|
+
const listNodes = [...list];
|
|
73
|
+
for (let i = 0; i < listNodes.length; i++) {
|
|
74
|
+
assert_1.strict.equal(listNodes[i], nodesArray[i], `remaining node mismatch at pos ${i}`);
|
|
75
|
+
}
|
|
76
|
+
const listSpliceNodes = [...listSplice];
|
|
77
|
+
for (let i = 0; i < listSpliceNodes.length; i++) {
|
|
78
|
+
assert_1.strict.equal(listSpliceNodes[i], arraySplice[i], `splice node mismatch at pos ${i}`);
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
//# sourceMappingURL=collections.list.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collections.list.spec.js","sourceRoot":"","sources":["../../src/test/collections.list.spec.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { strict as assert } from \"assert\";\nimport { DoublyLinkedList, walkList } from \"../collections\";\n\ndescribe(\"Collections.DoublyLinkedList\", () => {\n\tconst listCount = 5;\n\tlet list: DoublyLinkedList<number>;\n\n\tbeforeEach(() => {\n\t\tlist = new DoublyLinkedList<number>();\n\t\tfor (let i = 0; i < listCount; i++) {\n\t\t\tlist.unshift(i);\n\t\t}\n\t});\n\n\tdescribe(\".length\", () => {\n\t\tit(\"Should return the total number of items in the list\", () =>\n\t\t\tassert.equal(\n\t\t\t\tlist.length,\n\t\t\t\tlistCount,\n\t\t\t\t\"The list count doesn't match the expected count.\",\n\t\t\t));\n\t});\n\n\tdescribe(\".first\", () => {\n\t\tit(\"Should return the first item in the list\", () =>\n\t\t\tassert.equal(list.first?.data, listCount - 1, \"first item not expected value\"));\n\t});\n\n\tdescribe(\".last\", () => {\n\t\tit(\"Should return the last item in the list\", () =>\n\t\t\tassert.equal(list.last?.data, 0, \"last item not expected value\"));\n\t});\n\n\tdescribe(\"walkList\", () => {\n\t\tit(\"Should walk all items of the list\", () => {\n\t\t\tlet i = listCount - 1;\n\t\t\twalkList(list, (node) => {\n\t\t\t\tassert.equal(node.data, i, \"elemeted not expected value\");\n\t\t\t\ti--;\n\t\t\t});\n\t\t});\n\t});\n\n\tdescribe(\".iterator\", () => {\n\t\tit(\"Should walk all items of the list\", () => {\n\t\t\tlet i = listCount - 1;\n\t\t\tfor (const item of list) {\n\t\t\t\tassert.equal(item.data, i, \"elemeted not expected value\");\n\t\t\t\ti--;\n\t\t\t}\n\t\t});\n\t});\n\n\tdescribe(\".unshift\", () => {\n\t\tit(\"Should add item to the start of the list\", () => {\n\t\t\tlist.unshift(99);\n\t\t\tassert.equal(list.first?.data, 99, \"first item not expected value\");\n\t\t\tassert.equal(\n\t\t\t\tlist.length,\n\t\t\t\tlistCount + 1,\n\t\t\t\t\"The list count doesn't match the expected count.\",\n\t\t\t);\n\t\t});\n\t});\n\tdescribe(\".push\", () => {\n\t\tit(\"Should add item to the end of the list\", () => {\n\t\t\tlist.push(99);\n\t\t\tassert.equal(list.last?.data, 99, \"last item not expected value\");\n\t\t\tassert.equal(\n\t\t\t\tlist.length,\n\t\t\t\tlistCount + 1,\n\t\t\t\t\"The list count doesn't match the expected count.\",\n\t\t\t);\n\t\t});\n\t});\n\n\tdescribe(\".splice\", () => {\n\t\tfor (const splicePos of [-1, 0, 1, Math.floor(listCount / 2), listCount, listCount - 1]) {\n\t\t\tit(`splice at position ${splicePos}`, () => {\n\t\t\t\tconst nodesArray = [...list];\n\t\t\t\t// negative numbers for the start move back from the end\n\t\t\t\t// see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice#syntax\n\t\t\t\tconst spliceIndex = splicePos < 0 ? nodesArray.length + splicePos : splicePos;\n\t\t\t\t// capture the node for the list splice\n\t\t\t\tconst spliceNode = nodesArray[spliceIndex];\n\t\t\t\tconst arraySplice = nodesArray.splice(spliceIndex);\n\n\t\t\t\tconst listSplice =\n\t\t\t\t\tspliceNode === undefined ? new DoublyLinkedList() : list.splice(spliceNode);\n\n\t\t\t\tassert.equal(list.length, nodesArray.length, \"remaining lengths don't match\");\n\t\t\t\tassert.equal(listSplice.length, arraySplice.length, \"spliced lengths don't match\");\n\n\t\t\t\tconst listNodes = [...list];\n\t\t\t\tfor (let i = 0; i < listNodes.length; i++) {\n\t\t\t\t\tassert.equal(\n\t\t\t\t\t\tlistNodes[i],\n\t\t\t\t\t\tnodesArray[i],\n\t\t\t\t\t\t`remaining node mismatch at pos ${i}`,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tconst listSpliceNodes = [...listSplice];\n\t\t\t\tfor (let i = 0; i < listSpliceNodes.length; i++) {\n\t\t\t\t\tassert.equal(\n\t\t\t\t\t\tlistSpliceNodes[i],\n\t\t\t\t\t\tarraySplice[i],\n\t\t\t\t\t\t`splice node mismatch at pos ${i}`,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n});\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createInsertOnlyAttributionPolicy.spec.d.ts","sourceRoot":"","sources":["../../src/test/createInsertOnlyAttributionPolicy.spec.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*!
|
|
3
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
4
|
+
* Licensed under the MIT License.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
const assert_1 = require("assert");
|
|
8
|
+
const attributionPolicy_1 = require("../attributionPolicy");
|
|
9
|
+
const testClient_1 = require("./testClient");
|
|
10
|
+
const localUserLongId = "localUser";
|
|
11
|
+
describe("createInsertOnlyAttributionPolicy", () => {
|
|
12
|
+
let client;
|
|
13
|
+
let seq = 0;
|
|
14
|
+
beforeEach(() => {
|
|
15
|
+
client = new testClient_1.TestClient({
|
|
16
|
+
attribution: {
|
|
17
|
+
track: true,
|
|
18
|
+
policyFactory: attributionPolicy_1.createInsertOnlyAttributionPolicy,
|
|
19
|
+
},
|
|
20
|
+
});
|
|
21
|
+
seq = 0;
|
|
22
|
+
});
|
|
23
|
+
it("Attributes content on insert", () => {
|
|
24
|
+
client.startOrUpdateCollaboration(localUserLongId);
|
|
25
|
+
client.applyMsg(client.makeOpMessage(client.insertTextLocal(0, "ABC"), ++seq, seq - 1));
|
|
26
|
+
assert_1.strict.deepEqual(client.getAllAttributionSeqs(), [1, 1, 1]);
|
|
27
|
+
});
|
|
28
|
+
it("Attributes content inserted before starting collaboration with a detached key", () => {
|
|
29
|
+
client.insertTextLocal(0, "C");
|
|
30
|
+
client.startOrUpdateCollaboration(localUserLongId);
|
|
31
|
+
client.applyMsg(client.makeOpMessage(client.insertTextLocal(0, "AB"), ++seq, seq - 1));
|
|
32
|
+
assert_1.strict.deepEqual(client.getAllAttributionSeqs(), [1, 1, { type: "detached", id: 0 }]);
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=createInsertOnlyAttributionPolicy.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createInsertOnlyAttributionPolicy.spec.js","sourceRoot":"","sources":["../../src/test/createInsertOnlyAttributionPolicy.spec.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAEH,mCAA0C;AAC1C,4DAAyE;AACzE,6CAA0C;AAE1C,MAAM,eAAe,GAAG,WAAW,CAAC;AACpC,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IAClD,IAAI,MAAkB,CAAC;IACvB,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,UAAU,CAAC,GAAG,EAAE;QACf,MAAM,GAAG,IAAI,uBAAU,CAAC;YACvB,WAAW,EAAE;gBACZ,KAAK,EAAE,IAAI;gBACX,aAAa,EAAE,qDAAiC;aAChD;SACD,CAAC,CAAC;QACH,GAAG,GAAG,CAAC,CAAC;IACT,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,0BAA0B,CAAC,eAAe,CAAC,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACxF,eAAM,CAAC,SAAS,CAAC,MAAM,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+EAA+E,EAAE,GAAG,EAAE;QACxF,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC/B,MAAM,CAAC,0BAA0B,CAAC,eAAe,CAAC,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACvF,eAAM,CAAC,SAAS,CAAC,MAAM,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACvF,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { strict as assert } from \"assert\";\nimport { createInsertOnlyAttributionPolicy } from \"../attributionPolicy\";\nimport { TestClient } from \"./testClient\";\n\nconst localUserLongId = \"localUser\";\ndescribe(\"createInsertOnlyAttributionPolicy\", () => {\n\tlet client: TestClient;\n\tlet seq = 0;\n\tbeforeEach(() => {\n\t\tclient = new TestClient({\n\t\t\tattribution: {\n\t\t\t\ttrack: true,\n\t\t\t\tpolicyFactory: createInsertOnlyAttributionPolicy,\n\t\t\t},\n\t\t});\n\t\tseq = 0;\n\t});\n\n\tit(\"Attributes content on insert\", () => {\n\t\tclient.startOrUpdateCollaboration(localUserLongId);\n\t\tclient.applyMsg(client.makeOpMessage(client.insertTextLocal(0, \"ABC\"), ++seq, seq - 1));\n\t\tassert.deepEqual(client.getAllAttributionSeqs(), [1, 1, 1]);\n\t});\n\n\tit(\"Attributes content inserted before starting collaboration with a detached key\", () => {\n\t\tclient.insertTextLocal(0, \"C\");\n\t\tclient.startOrUpdateCollaboration(localUserLongId);\n\t\tclient.applyMsg(client.makeOpMessage(client.insertTextLocal(0, \"AB\"), ++seq, seq - 1));\n\t\tassert.deepEqual(client.getAllAttributionSeqs(), [1, 1, { type: \"detached\", id: 0 }]);\n\t});\n});\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
export { createRevertDriver, getStats, MergeTreeStats, specToSegment, TestClient, TestClientRevertibleDriver, } from "./testClient";
|
|
6
|
+
export { checkTextMatchRelative, TestServer } from "./testServer";
|
|
7
|
+
export { countOperations, insertMarker, insertSegments, insertText, loadTextFromFile, loadTextFromFileWithMarkers, markRangeRemoved, nodeOrdinalsHaveIntegrity, validatePartialLengths, } from "./testUtils";
|
|
8
|
+
export { annotateRange, applyMessages, doOverRange, generateClientNames, generateOperationMessagesForClients, IConfigRange, IMergeTreeOperationRunnerConfig, insertAtRefPos, removeRange, ReplayGroup, replayResultsPath, runMergeTreeOperationRunner, TestOperation, } from "./mergeTreeOperationRunner";
|
|
9
|
+
export { LRUSegment, MergeTree } from "../mergeTree";
|
|
10
|
+
export { MergeTreeTextHelper } from "../MergeTreeTextHelper";
|
|
11
|
+
export { SnapshotLegacy } from "../snapshotlegacy";
|
|
12
|
+
export { addProperties, appendToMergeTreeDeltaRevertibles, BaseSegment, Client, CollaborationWindow, compareReferencePositions, ConflictAction, createAnnotateRangeOp, createDetachedLocalReferencePosition, createGroupOp, createInsertOp, createInsertSegmentOp, createMap, createRemoveRangeOp, debugMarkerToString, DetachedReferencePosition, discardMergeTreeDeltaRevertible, IJSONMarkerSegment, IJSONSegment, IMarkerDef, IMergeNodeCommon, IMergeTreeAnnotateMsg, IMergeTreeClientSequenceArgs, IMergeTreeDelta, IMergeTreeDeltaCallbackArgs, IMergeTreeDeltaOp, IMergeTreeDeltaOpArgs, IMergeTreeGroupMsg, IMergeTreeInsertMsg, IMergeTreeMaintenanceCallbackArgs, IMergeTreeOp, IMergeTreeRemoveMsg, IMergeTreeSegmentDelta, IMergeTreeTextHelper, IRBAugmentation, IRBMatcher, IRelativePosition, IRemovalInfo, ISegment, ISegmentAction, KeyComparer, LocalReferenceCollection, LocalReferencePosition, MapLike, Marker, matchProperties, maxReferencePosition, MergeNode, MergeTreeDeltaOperationType, MergeTreeDeltaOperationTypes, MergeTreeDeltaRevertible, MergeTreeDeltaType, MergeTreeMaintenanceType, MergeTreeRevertibleDriver, minReferencePosition, PropertiesManager, Property, PropertyAction, PropertySet, RBNode, RBNodeActions, RedBlackTree, ReferencePosition, ReferenceType, refGetTileLabels, refHasTileLabel, refHasTileLabels, refTypeIncludesFlag, reservedMarkerIdKey, reservedMarkerSimpleTypeKey, reservedTileLabelsKey, revertMergeTreeDeltaRevertibles, SegmentGroup, SegmentGroupCollection, SortedSegmentSet, SortedSegmentSetItem, SortedSet, TextSegment, toRemovalInfo, Trackable, TrackingGroup, TrackingGroupCollection, UnassignedSequenceNumber, UniversalSequenceNumber, } from "../index";
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACN,kBAAkB,EAClB,QAAQ,EACR,cAAc,EACd,aAAa,EACb,UAAU,EACV,0BAA0B,GAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EACN,eAAe,EACf,YAAY,EACZ,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,2BAA2B,EAC3B,gBAAgB,EAChB,yBAAyB,EACzB,sBAAsB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EACN,aAAa,EACb,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,mCAAmC,EACnC,YAAY,EACZ,+BAA+B,EAC/B,cAAc,EACd,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,2BAA2B,EAC3B,aAAa,GACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EACN,aAAa,EACb,iCAAiC,EACjC,WAAW,EACX,MAAM,EACN,mBAAmB,EACnB,yBAAyB,EACzB,cAAc,EACd,qBAAqB,EACrB,oCAAoC,EACpC,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,SAAS,EACT,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,+BAA+B,EAC/B,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,qBAAqB,EACrB,4BAA4B,EAC5B,eAAe,EACf,2BAA2B,EAC3B,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,iCAAiC,EACjC,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,WAAW,EACX,wBAAwB,EACxB,sBAAsB,EACtB,OAAO,EACP,MAAM,EACN,eAAe,EACf,oBAAoB,EACpB,SAAS,EACT,2BAA2B,EAC3B,4BAA4B,EAC5B,wBAAwB,EACxB,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,EACzB,oBAAoB,EACpB,iBAAiB,EACjB,QAAQ,EACR,cAAc,EACd,WAAW,EACX,MAAM,EACN,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,2BAA2B,EAC3B,qBAAqB,EACrB,+BAA+B,EAC/B,YAAY,EACZ,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,SAAS,EACT,WAAW,EACX,aAAa,EACb,SAAS,EACT,aAAa,EACb,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,GACvB,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*!
|
|
3
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
4
|
+
* Licensed under the MIT License.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.MergeTreeMaintenanceType = exports.MergeTreeDeltaType = exports.MergeNode = exports.maxReferencePosition = exports.matchProperties = exports.Marker = exports.LocalReferenceCollection = exports.discardMergeTreeDeltaRevertible = exports.DetachedReferencePosition = exports.debugMarkerToString = exports.createRemoveRangeOp = exports.createMap = exports.createInsertSegmentOp = exports.createInsertOp = exports.createGroupOp = exports.createDetachedLocalReferencePosition = exports.createAnnotateRangeOp = exports.compareReferencePositions = exports.CollaborationWindow = exports.Client = exports.BaseSegment = exports.appendToMergeTreeDeltaRevertibles = exports.addProperties = exports.SnapshotLegacy = exports.MergeTreeTextHelper = exports.MergeTree = exports.runMergeTreeOperationRunner = exports.replayResultsPath = exports.removeRange = exports.insertAtRefPos = exports.generateOperationMessagesForClients = exports.generateClientNames = exports.doOverRange = exports.applyMessages = exports.annotateRange = exports.validatePartialLengths = exports.nodeOrdinalsHaveIntegrity = exports.markRangeRemoved = exports.loadTextFromFileWithMarkers = exports.loadTextFromFile = exports.insertText = exports.insertSegments = exports.insertMarker = exports.countOperations = exports.TestServer = exports.checkTextMatchRelative = exports.TestClient = exports.specToSegment = exports.getStats = exports.createRevertDriver = void 0;
|
|
8
|
+
exports.UniversalSequenceNumber = exports.UnassignedSequenceNumber = exports.TrackingGroupCollection = exports.TrackingGroup = exports.toRemovalInfo = exports.TextSegment = exports.SortedSet = exports.SortedSegmentSet = exports.SegmentGroupCollection = exports.revertMergeTreeDeltaRevertibles = exports.reservedTileLabelsKey = exports.reservedMarkerSimpleTypeKey = exports.reservedMarkerIdKey = exports.refTypeIncludesFlag = exports.refHasTileLabels = exports.refHasTileLabel = exports.refGetTileLabels = exports.ReferenceType = exports.RedBlackTree = exports.PropertiesManager = exports.minReferencePosition = void 0;
|
|
9
|
+
var testClient_1 = require("./testClient");
|
|
10
|
+
Object.defineProperty(exports, "createRevertDriver", { enumerable: true, get: function () { return testClient_1.createRevertDriver; } });
|
|
11
|
+
Object.defineProperty(exports, "getStats", { enumerable: true, get: function () { return testClient_1.getStats; } });
|
|
12
|
+
Object.defineProperty(exports, "specToSegment", { enumerable: true, get: function () { return testClient_1.specToSegment; } });
|
|
13
|
+
Object.defineProperty(exports, "TestClient", { enumerable: true, get: function () { return testClient_1.TestClient; } });
|
|
14
|
+
var testServer_1 = require("./testServer");
|
|
15
|
+
Object.defineProperty(exports, "checkTextMatchRelative", { enumerable: true, get: function () { return testServer_1.checkTextMatchRelative; } });
|
|
16
|
+
Object.defineProperty(exports, "TestServer", { enumerable: true, get: function () { return testServer_1.TestServer; } });
|
|
17
|
+
var testUtils_1 = require("./testUtils");
|
|
18
|
+
Object.defineProperty(exports, "countOperations", { enumerable: true, get: function () { return testUtils_1.countOperations; } });
|
|
19
|
+
Object.defineProperty(exports, "insertMarker", { enumerable: true, get: function () { return testUtils_1.insertMarker; } });
|
|
20
|
+
Object.defineProperty(exports, "insertSegments", { enumerable: true, get: function () { return testUtils_1.insertSegments; } });
|
|
21
|
+
Object.defineProperty(exports, "insertText", { enumerable: true, get: function () { return testUtils_1.insertText; } });
|
|
22
|
+
Object.defineProperty(exports, "loadTextFromFile", { enumerable: true, get: function () { return testUtils_1.loadTextFromFile; } });
|
|
23
|
+
Object.defineProperty(exports, "loadTextFromFileWithMarkers", { enumerable: true, get: function () { return testUtils_1.loadTextFromFileWithMarkers; } });
|
|
24
|
+
Object.defineProperty(exports, "markRangeRemoved", { enumerable: true, get: function () { return testUtils_1.markRangeRemoved; } });
|
|
25
|
+
Object.defineProperty(exports, "nodeOrdinalsHaveIntegrity", { enumerable: true, get: function () { return testUtils_1.nodeOrdinalsHaveIntegrity; } });
|
|
26
|
+
Object.defineProperty(exports, "validatePartialLengths", { enumerable: true, get: function () { return testUtils_1.validatePartialLengths; } });
|
|
27
|
+
var mergeTreeOperationRunner_1 = require("./mergeTreeOperationRunner");
|
|
28
|
+
Object.defineProperty(exports, "annotateRange", { enumerable: true, get: function () { return mergeTreeOperationRunner_1.annotateRange; } });
|
|
29
|
+
Object.defineProperty(exports, "applyMessages", { enumerable: true, get: function () { return mergeTreeOperationRunner_1.applyMessages; } });
|
|
30
|
+
Object.defineProperty(exports, "doOverRange", { enumerable: true, get: function () { return mergeTreeOperationRunner_1.doOverRange; } });
|
|
31
|
+
Object.defineProperty(exports, "generateClientNames", { enumerable: true, get: function () { return mergeTreeOperationRunner_1.generateClientNames; } });
|
|
32
|
+
Object.defineProperty(exports, "generateOperationMessagesForClients", { enumerable: true, get: function () { return mergeTreeOperationRunner_1.generateOperationMessagesForClients; } });
|
|
33
|
+
Object.defineProperty(exports, "insertAtRefPos", { enumerable: true, get: function () { return mergeTreeOperationRunner_1.insertAtRefPos; } });
|
|
34
|
+
Object.defineProperty(exports, "removeRange", { enumerable: true, get: function () { return mergeTreeOperationRunner_1.removeRange; } });
|
|
35
|
+
Object.defineProperty(exports, "replayResultsPath", { enumerable: true, get: function () { return mergeTreeOperationRunner_1.replayResultsPath; } });
|
|
36
|
+
Object.defineProperty(exports, "runMergeTreeOperationRunner", { enumerable: true, get: function () { return mergeTreeOperationRunner_1.runMergeTreeOperationRunner; } });
|
|
37
|
+
var mergeTree_1 = require("../mergeTree");
|
|
38
|
+
Object.defineProperty(exports, "MergeTree", { enumerable: true, get: function () { return mergeTree_1.MergeTree; } });
|
|
39
|
+
var MergeTreeTextHelper_1 = require("../MergeTreeTextHelper");
|
|
40
|
+
Object.defineProperty(exports, "MergeTreeTextHelper", { enumerable: true, get: function () { return MergeTreeTextHelper_1.MergeTreeTextHelper; } });
|
|
41
|
+
var snapshotlegacy_1 = require("../snapshotlegacy");
|
|
42
|
+
Object.defineProperty(exports, "SnapshotLegacy", { enumerable: true, get: function () { return snapshotlegacy_1.SnapshotLegacy; } });
|
|
43
|
+
var index_1 = require("../index");
|
|
44
|
+
Object.defineProperty(exports, "addProperties", { enumerable: true, get: function () { return index_1.addProperties; } });
|
|
45
|
+
Object.defineProperty(exports, "appendToMergeTreeDeltaRevertibles", { enumerable: true, get: function () { return index_1.appendToMergeTreeDeltaRevertibles; } });
|
|
46
|
+
Object.defineProperty(exports, "BaseSegment", { enumerable: true, get: function () { return index_1.BaseSegment; } });
|
|
47
|
+
Object.defineProperty(exports, "Client", { enumerable: true, get: function () { return index_1.Client; } });
|
|
48
|
+
Object.defineProperty(exports, "CollaborationWindow", { enumerable: true, get: function () { return index_1.CollaborationWindow; } });
|
|
49
|
+
Object.defineProperty(exports, "compareReferencePositions", { enumerable: true, get: function () { return index_1.compareReferencePositions; } });
|
|
50
|
+
Object.defineProperty(exports, "createAnnotateRangeOp", { enumerable: true, get: function () { return index_1.createAnnotateRangeOp; } });
|
|
51
|
+
Object.defineProperty(exports, "createDetachedLocalReferencePosition", { enumerable: true, get: function () { return index_1.createDetachedLocalReferencePosition; } });
|
|
52
|
+
Object.defineProperty(exports, "createGroupOp", { enumerable: true, get: function () { return index_1.createGroupOp; } });
|
|
53
|
+
Object.defineProperty(exports, "createInsertOp", { enumerable: true, get: function () { return index_1.createInsertOp; } });
|
|
54
|
+
Object.defineProperty(exports, "createInsertSegmentOp", { enumerable: true, get: function () { return index_1.createInsertSegmentOp; } });
|
|
55
|
+
Object.defineProperty(exports, "createMap", { enumerable: true, get: function () { return index_1.createMap; } });
|
|
56
|
+
Object.defineProperty(exports, "createRemoveRangeOp", { enumerable: true, get: function () { return index_1.createRemoveRangeOp; } });
|
|
57
|
+
Object.defineProperty(exports, "debugMarkerToString", { enumerable: true, get: function () { return index_1.debugMarkerToString; } });
|
|
58
|
+
Object.defineProperty(exports, "DetachedReferencePosition", { enumerable: true, get: function () { return index_1.DetachedReferencePosition; } });
|
|
59
|
+
Object.defineProperty(exports, "discardMergeTreeDeltaRevertible", { enumerable: true, get: function () { return index_1.discardMergeTreeDeltaRevertible; } });
|
|
60
|
+
Object.defineProperty(exports, "LocalReferenceCollection", { enumerable: true, get: function () { return index_1.LocalReferenceCollection; } });
|
|
61
|
+
Object.defineProperty(exports, "Marker", { enumerable: true, get: function () { return index_1.Marker; } });
|
|
62
|
+
Object.defineProperty(exports, "matchProperties", { enumerable: true, get: function () { return index_1.matchProperties; } });
|
|
63
|
+
Object.defineProperty(exports, "maxReferencePosition", { enumerable: true, get: function () { return index_1.maxReferencePosition; } });
|
|
64
|
+
Object.defineProperty(exports, "MergeNode", { enumerable: true, get: function () { return index_1.MergeNode; } });
|
|
65
|
+
Object.defineProperty(exports, "MergeTreeDeltaType", { enumerable: true, get: function () { return index_1.MergeTreeDeltaType; } });
|
|
66
|
+
Object.defineProperty(exports, "MergeTreeMaintenanceType", { enumerable: true, get: function () { return index_1.MergeTreeMaintenanceType; } });
|
|
67
|
+
Object.defineProperty(exports, "minReferencePosition", { enumerable: true, get: function () { return index_1.minReferencePosition; } });
|
|
68
|
+
Object.defineProperty(exports, "PropertiesManager", { enumerable: true, get: function () { return index_1.PropertiesManager; } });
|
|
69
|
+
Object.defineProperty(exports, "RedBlackTree", { enumerable: true, get: function () { return index_1.RedBlackTree; } });
|
|
70
|
+
Object.defineProperty(exports, "ReferenceType", { enumerable: true, get: function () { return index_1.ReferenceType; } });
|
|
71
|
+
Object.defineProperty(exports, "refGetTileLabels", { enumerable: true, get: function () { return index_1.refGetTileLabels; } });
|
|
72
|
+
Object.defineProperty(exports, "refHasTileLabel", { enumerable: true, get: function () { return index_1.refHasTileLabel; } });
|
|
73
|
+
Object.defineProperty(exports, "refHasTileLabels", { enumerable: true, get: function () { return index_1.refHasTileLabels; } });
|
|
74
|
+
Object.defineProperty(exports, "refTypeIncludesFlag", { enumerable: true, get: function () { return index_1.refTypeIncludesFlag; } });
|
|
75
|
+
Object.defineProperty(exports, "reservedMarkerIdKey", { enumerable: true, get: function () { return index_1.reservedMarkerIdKey; } });
|
|
76
|
+
Object.defineProperty(exports, "reservedMarkerSimpleTypeKey", { enumerable: true, get: function () { return index_1.reservedMarkerSimpleTypeKey; } });
|
|
77
|
+
Object.defineProperty(exports, "reservedTileLabelsKey", { enumerable: true, get: function () { return index_1.reservedTileLabelsKey; } });
|
|
78
|
+
Object.defineProperty(exports, "revertMergeTreeDeltaRevertibles", { enumerable: true, get: function () { return index_1.revertMergeTreeDeltaRevertibles; } });
|
|
79
|
+
Object.defineProperty(exports, "SegmentGroupCollection", { enumerable: true, get: function () { return index_1.SegmentGroupCollection; } });
|
|
80
|
+
Object.defineProperty(exports, "SortedSegmentSet", { enumerable: true, get: function () { return index_1.SortedSegmentSet; } });
|
|
81
|
+
Object.defineProperty(exports, "SortedSet", { enumerable: true, get: function () { return index_1.SortedSet; } });
|
|
82
|
+
Object.defineProperty(exports, "TextSegment", { enumerable: true, get: function () { return index_1.TextSegment; } });
|
|
83
|
+
Object.defineProperty(exports, "toRemovalInfo", { enumerable: true, get: function () { return index_1.toRemovalInfo; } });
|
|
84
|
+
Object.defineProperty(exports, "TrackingGroup", { enumerable: true, get: function () { return index_1.TrackingGroup; } });
|
|
85
|
+
Object.defineProperty(exports, "TrackingGroupCollection", { enumerable: true, get: function () { return index_1.TrackingGroupCollection; } });
|
|
86
|
+
Object.defineProperty(exports, "UnassignedSequenceNumber", { enumerable: true, get: function () { return index_1.UnassignedSequenceNumber; } });
|
|
87
|
+
Object.defineProperty(exports, "UniversalSequenceNumber", { enumerable: true, get: function () { return index_1.UniversalSequenceNumber; } });
|
|
88
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;AAEH,2CAOsB;AANrB,gHAAA,kBAAkB,OAAA;AAClB,sGAAA,QAAQ,OAAA;AAER,2GAAA,aAAa,OAAA;AACb,wGAAA,UAAU,OAAA;AAGX,2CAAkE;AAAzD,oHAAA,sBAAsB,OAAA;AAAE,wGAAA,UAAU,OAAA;AAC3C,yCAUqB;AATpB,4GAAA,eAAe,OAAA;AACf,yGAAA,YAAY,OAAA;AACZ,2GAAA,cAAc,OAAA;AACd,uGAAA,UAAU,OAAA;AACV,6GAAA,gBAAgB,OAAA;AAChB,wHAAA,2BAA2B,OAAA;AAC3B,6GAAA,gBAAgB,OAAA;AAChB,sHAAA,yBAAyB,OAAA;AACzB,mHAAA,sBAAsB,OAAA;AAEvB,uEAcoC;AAbnC,yHAAA,aAAa,OAAA;AACb,yHAAA,aAAa,OAAA;AACb,uHAAA,WAAW,OAAA;AACX,+HAAA,mBAAmB,OAAA;AACnB,+IAAA,mCAAmC,OAAA;AAGnC,0HAAA,cAAc,OAAA;AACd,uHAAA,WAAW,OAAA;AAEX,6HAAA,iBAAiB,OAAA;AACjB,uIAAA,2BAA2B,OAAA;AAG5B,0CAAqD;AAAhC,sGAAA,SAAS,OAAA;AAC9B,8DAA6D;AAApD,0HAAA,mBAAmB,OAAA;AAC5B,oDAAmD;AAA1C,gHAAA,cAAc,OAAA;AACvB,kCAqFkB;AApFjB,sGAAA,aAAa,OAAA;AACb,0HAAA,iCAAiC,OAAA;AACjC,oGAAA,WAAW,OAAA;AACX,+FAAA,MAAM,OAAA;AACN,4GAAA,mBAAmB,OAAA;AACnB,kHAAA,yBAAyB,OAAA;AAEzB,8GAAA,qBAAqB,OAAA;AACrB,6HAAA,oCAAoC,OAAA;AACpC,sGAAA,aAAa,OAAA;AACb,uGAAA,cAAc,OAAA;AACd,8GAAA,qBAAqB,OAAA;AACrB,kGAAA,SAAS,OAAA;AACT,4GAAA,mBAAmB,OAAA;AACnB,4GAAA,mBAAmB,OAAA;AACnB,kHAAA,yBAAyB,OAAA;AACzB,wHAAA,+BAA+B,OAAA;AAyB/B,iHAAA,wBAAwB,OAAA;AAGxB,+FAAA,MAAM,OAAA;AACN,wGAAA,eAAe,OAAA;AACf,6GAAA,oBAAoB,OAAA;AACpB,kGAAA,SAAS,OAAA;AAIT,2GAAA,kBAAkB,OAAA;AAClB,iHAAA,wBAAwB,OAAA;AAExB,6GAAA,oBAAoB,OAAA;AACpB,0GAAA,iBAAiB,OAAA;AAMjB,qGAAA,YAAY,OAAA;AAEZ,sGAAA,aAAa,OAAA;AACb,yGAAA,gBAAgB,OAAA;AAChB,wGAAA,eAAe,OAAA;AACf,yGAAA,gBAAgB,OAAA;AAChB,4GAAA,mBAAmB,OAAA;AACnB,4GAAA,mBAAmB,OAAA;AACnB,oHAAA,2BAA2B,OAAA;AAC3B,8GAAA,qBAAqB,OAAA;AACrB,wHAAA,+BAA+B,OAAA;AAE/B,+GAAA,sBAAsB,OAAA;AACtB,yGAAA,gBAAgB,OAAA;AAEhB,kGAAA,SAAS,OAAA;AACT,oGAAA,WAAW,OAAA;AACX,sGAAA,aAAa,OAAA;AAEb,sGAAA,aAAa,OAAA;AACb,gHAAA,uBAAuB,OAAA;AACvB,iHAAA,wBAAwB,OAAA;AACxB,gHAAA,uBAAuB,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport {\n\tcreateRevertDriver,\n\tgetStats,\n\tMergeTreeStats,\n\tspecToSegment,\n\tTestClient,\n\tTestClientRevertibleDriver,\n} from \"./testClient\";\nexport { checkTextMatchRelative, TestServer } from \"./testServer\";\nexport {\n\tcountOperations,\n\tinsertMarker,\n\tinsertSegments,\n\tinsertText,\n\tloadTextFromFile,\n\tloadTextFromFileWithMarkers,\n\tmarkRangeRemoved,\n\tnodeOrdinalsHaveIntegrity,\n\tvalidatePartialLengths,\n} from \"./testUtils\";\nexport {\n\tannotateRange,\n\tapplyMessages,\n\tdoOverRange,\n\tgenerateClientNames,\n\tgenerateOperationMessagesForClients,\n\tIConfigRange,\n\tIMergeTreeOperationRunnerConfig,\n\tinsertAtRefPos,\n\tremoveRange,\n\tReplayGroup,\n\treplayResultsPath,\n\trunMergeTreeOperationRunner,\n\tTestOperation,\n} from \"./mergeTreeOperationRunner\";\nexport { LRUSegment, MergeTree } from \"../mergeTree\";\nexport { MergeTreeTextHelper } from \"../MergeTreeTextHelper\";\nexport { SnapshotLegacy } from \"../snapshotlegacy\";\nexport {\n\taddProperties,\n\tappendToMergeTreeDeltaRevertibles,\n\tBaseSegment,\n\tClient,\n\tCollaborationWindow,\n\tcompareReferencePositions,\n\tConflictAction,\n\tcreateAnnotateRangeOp,\n\tcreateDetachedLocalReferencePosition,\n\tcreateGroupOp,\n\tcreateInsertOp,\n\tcreateInsertSegmentOp,\n\tcreateMap,\n\tcreateRemoveRangeOp,\n\tdebugMarkerToString,\n\tDetachedReferencePosition,\n\tdiscardMergeTreeDeltaRevertible,\n\tIJSONMarkerSegment,\n\tIJSONSegment,\n\tIMarkerDef,\n\tIMergeNodeCommon,\n\tIMergeTreeAnnotateMsg,\n\tIMergeTreeClientSequenceArgs,\n\tIMergeTreeDelta,\n\tIMergeTreeDeltaCallbackArgs,\n\tIMergeTreeDeltaOp,\n\tIMergeTreeDeltaOpArgs,\n\tIMergeTreeGroupMsg,\n\tIMergeTreeInsertMsg,\n\tIMergeTreeMaintenanceCallbackArgs,\n\tIMergeTreeOp,\n\tIMergeTreeRemoveMsg,\n\tIMergeTreeSegmentDelta,\n\tIMergeTreeTextHelper,\n\tIRBAugmentation,\n\tIRBMatcher,\n\tIRelativePosition,\n\tIRemovalInfo,\n\tISegment,\n\tISegmentAction,\n\tKeyComparer,\n\tLocalReferenceCollection,\n\tLocalReferencePosition,\n\tMapLike,\n\tMarker,\n\tmatchProperties,\n\tmaxReferencePosition,\n\tMergeNode,\n\tMergeTreeDeltaOperationType,\n\tMergeTreeDeltaOperationTypes,\n\tMergeTreeDeltaRevertible,\n\tMergeTreeDeltaType,\n\tMergeTreeMaintenanceType,\n\tMergeTreeRevertibleDriver,\n\tminReferencePosition,\n\tPropertiesManager,\n\tProperty,\n\tPropertyAction,\n\tPropertySet,\n\tRBNode,\n\tRBNodeActions,\n\tRedBlackTree,\n\tReferencePosition,\n\tReferenceType,\n\trefGetTileLabels,\n\trefHasTileLabel,\n\trefHasTileLabels,\n\trefTypeIncludesFlag,\n\treservedMarkerIdKey,\n\treservedMarkerSimpleTypeKey,\n\treservedTileLabelsKey,\n\trevertMergeTreeDeltaRevertibles,\n\tSegmentGroup,\n\tSegmentGroupCollection,\n\tSortedSegmentSet,\n\tSortedSegmentSetItem,\n\tSortedSet,\n\tTextSegment,\n\ttoRemovalInfo,\n\tTrackable,\n\tTrackingGroup,\n\tTrackingGroupCollection,\n\tUnassignedSequenceNumber,\n\tUniversalSequenceNumber,\n} from \"../index\";\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mergeTree.annotate.deltaCallback.spec.d.ts","sourceRoot":"","sources":["../../src/test/mergeTree.annotate.deltaCallback.spec.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*!
|
|
3
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
4
|
+
* Licensed under the MIT License.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
const assert_1 = require("assert");
|
|
8
|
+
const ops_1 = require("../ops");
|
|
9
|
+
const mergeTreeDeltaCallback_1 = require("../mergeTreeDeltaCallback");
|
|
10
|
+
const constants_1 = require("../constants");
|
|
11
|
+
const textSegment_1 = require("../textSegment");
|
|
12
|
+
const mergeTree_1 = require("../mergeTree");
|
|
13
|
+
const testUtils_1 = require("./testUtils");
|
|
14
|
+
describe("MergeTree", () => {
|
|
15
|
+
let mergeTree;
|
|
16
|
+
const localClientId = 17;
|
|
17
|
+
let currentSequenceNumber;
|
|
18
|
+
beforeEach(() => {
|
|
19
|
+
mergeTree = new mergeTree_1.MergeTree();
|
|
20
|
+
(0, testUtils_1.insertSegments)({
|
|
21
|
+
mergeTree,
|
|
22
|
+
pos: 0,
|
|
23
|
+
segments: [textSegment_1.TextSegment.make("hello world")],
|
|
24
|
+
refSeq: constants_1.UniversalSequenceNumber,
|
|
25
|
+
clientId: constants_1.LocalClientId,
|
|
26
|
+
seq: constants_1.UniversalSequenceNumber,
|
|
27
|
+
opArgs: undefined,
|
|
28
|
+
});
|
|
29
|
+
currentSequenceNumber = 0;
|
|
30
|
+
mergeTree.startCollaboration(localClientId,
|
|
31
|
+
/* minSeq: */ currentSequenceNumber,
|
|
32
|
+
/* currentSeq: */ currentSequenceNumber);
|
|
33
|
+
});
|
|
34
|
+
describe("annotateRange", () => {
|
|
35
|
+
it("Event on annotation", () => {
|
|
36
|
+
const count = (0, testUtils_1.countOperations)(mergeTree);
|
|
37
|
+
mergeTree.annotateRange(4, 6, {
|
|
38
|
+
foo: "bar",
|
|
39
|
+
}, currentSequenceNumber, localClientId, constants_1.UnassignedSequenceNumber, undefined);
|
|
40
|
+
assert_1.strict.deepStrictEqual(count, {
|
|
41
|
+
[ops_1.MergeTreeDeltaType.ANNOTATE]: 1,
|
|
42
|
+
[mergeTreeDeltaCallback_1.MergeTreeMaintenanceType.SPLIT]: 2,
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
it("No event on annotation of empty range", () => {
|
|
46
|
+
const count = (0, testUtils_1.countOperations)(mergeTree);
|
|
47
|
+
mergeTree.annotateRange(3, 3, {
|
|
48
|
+
foo: "bar",
|
|
49
|
+
}, currentSequenceNumber, localClientId, ++currentSequenceNumber, undefined);
|
|
50
|
+
assert_1.strict.deepStrictEqual(count, {
|
|
51
|
+
[mergeTreeDeltaCallback_1.MergeTreeMaintenanceType.SPLIT]: 1,
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
it("Annotate over local insertion", () => {
|
|
55
|
+
(0, testUtils_1.insertText)({
|
|
56
|
+
mergeTree,
|
|
57
|
+
pos: 4,
|
|
58
|
+
refSeq: currentSequenceNumber,
|
|
59
|
+
clientId: localClientId,
|
|
60
|
+
seq: constants_1.UnassignedSequenceNumber,
|
|
61
|
+
text: "a",
|
|
62
|
+
props: undefined,
|
|
63
|
+
opArgs: undefined,
|
|
64
|
+
});
|
|
65
|
+
const count = (0, testUtils_1.countOperations)(mergeTree);
|
|
66
|
+
mergeTree.annotateRange(3, 8, {
|
|
67
|
+
foo: "bar",
|
|
68
|
+
}, currentSequenceNumber, localClientId, constants_1.UnassignedSequenceNumber, undefined);
|
|
69
|
+
assert_1.strict.deepStrictEqual(count, {
|
|
70
|
+
[ops_1.MergeTreeDeltaType.ANNOTATE]: 1,
|
|
71
|
+
[mergeTreeDeltaCallback_1.MergeTreeMaintenanceType.SPLIT]: 2,
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
it("Annotate over remote insertion", () => {
|
|
75
|
+
const remoteClientId = 35;
|
|
76
|
+
let remoteSequenceNumber = currentSequenceNumber;
|
|
77
|
+
(0, testUtils_1.insertText)({
|
|
78
|
+
mergeTree,
|
|
79
|
+
pos: 4,
|
|
80
|
+
refSeq: remoteSequenceNumber,
|
|
81
|
+
clientId: remoteClientId,
|
|
82
|
+
seq: ++remoteSequenceNumber,
|
|
83
|
+
text: "a",
|
|
84
|
+
props: undefined,
|
|
85
|
+
opArgs: undefined,
|
|
86
|
+
});
|
|
87
|
+
const count = (0, testUtils_1.countOperations)(mergeTree);
|
|
88
|
+
mergeTree.annotateRange(3, 8, {
|
|
89
|
+
foo: "bar",
|
|
90
|
+
}, currentSequenceNumber, localClientId, constants_1.UnassignedSequenceNumber, undefined);
|
|
91
|
+
assert_1.strict.deepStrictEqual(count, {
|
|
92
|
+
[ops_1.MergeTreeDeltaType.ANNOTATE]: 1,
|
|
93
|
+
[mergeTreeDeltaCallback_1.MergeTreeMaintenanceType.SPLIT]: 2,
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
it("Annotate over remote deletion", () => {
|
|
97
|
+
const remoteClientId = 35;
|
|
98
|
+
let remoteSequenceNumber = currentSequenceNumber;
|
|
99
|
+
(0, testUtils_1.markRangeRemoved)({
|
|
100
|
+
mergeTree,
|
|
101
|
+
start: 4,
|
|
102
|
+
end: 6,
|
|
103
|
+
refSeq: remoteSequenceNumber,
|
|
104
|
+
clientId: remoteClientId,
|
|
105
|
+
seq: ++remoteSequenceNumber,
|
|
106
|
+
overwrite: false,
|
|
107
|
+
opArgs: undefined,
|
|
108
|
+
});
|
|
109
|
+
const count = (0, testUtils_1.countOperations)(mergeTree);
|
|
110
|
+
mergeTree.annotateRange(3, 8, {
|
|
111
|
+
foo: "bar",
|
|
112
|
+
}, currentSequenceNumber, localClientId, constants_1.UnassignedSequenceNumber, undefined);
|
|
113
|
+
assert_1.strict.deepStrictEqual(count, {
|
|
114
|
+
[ops_1.MergeTreeDeltaType.ANNOTATE]: 1,
|
|
115
|
+
[mergeTreeDeltaCallback_1.MergeTreeMaintenanceType.SPLIT]: 2,
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
it("Remote annotate within local deletion", () => {
|
|
119
|
+
const remoteClientId = 35;
|
|
120
|
+
let remoteSequenceNumber = currentSequenceNumber;
|
|
121
|
+
(0, testUtils_1.markRangeRemoved)({
|
|
122
|
+
mergeTree,
|
|
123
|
+
start: 3,
|
|
124
|
+
end: 8,
|
|
125
|
+
refSeq: currentSequenceNumber,
|
|
126
|
+
clientId: localClientId,
|
|
127
|
+
seq: constants_1.UnassignedSequenceNumber,
|
|
128
|
+
overwrite: false,
|
|
129
|
+
opArgs: undefined,
|
|
130
|
+
});
|
|
131
|
+
const count = (0, testUtils_1.countOperations)(mergeTree);
|
|
132
|
+
mergeTree.annotateRange(4, 6, {
|
|
133
|
+
foo: "bar",
|
|
134
|
+
}, remoteSequenceNumber, remoteClientId, ++remoteSequenceNumber, undefined);
|
|
135
|
+
assert_1.strict.deepStrictEqual(count, {
|
|
136
|
+
[ops_1.MergeTreeDeltaType.ANNOTATE]: 1,
|
|
137
|
+
[mergeTreeDeltaCallback_1.MergeTreeMaintenanceType.SPLIT]: 2,
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
//# sourceMappingURL=mergeTree.annotate.deltaCallback.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mergeTree.annotate.deltaCallback.spec.js","sourceRoot":"","sources":["../../src/test/mergeTree.annotate.deltaCallback.spec.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { strict as assert } from \"assert\";\nimport { MergeTreeDeltaType } from \"../ops\";\nimport { MergeTreeMaintenanceType } from \"../mergeTreeDeltaCallback\";\nimport { LocalClientId, UnassignedSequenceNumber, UniversalSequenceNumber } from \"../constants\";\nimport { TextSegment } from \"../textSegment\";\nimport { MergeTree } from \"../mergeTree\";\nimport { countOperations, insertSegments, insertText, markRangeRemoved } from \"./testUtils\";\n\ndescribe(\"MergeTree\", () => {\n\tlet mergeTree: MergeTree;\n\tconst localClientId = 17;\n\tlet currentSequenceNumber: number;\n\tbeforeEach(() => {\n\t\tmergeTree = new MergeTree();\n\t\tinsertSegments({\n\t\t\tmergeTree,\n\t\t\tpos: 0,\n\t\t\tsegments: [TextSegment.make(\"hello world\")],\n\t\t\trefSeq: UniversalSequenceNumber,\n\t\t\tclientId: LocalClientId,\n\t\t\tseq: UniversalSequenceNumber,\n\t\t\topArgs: undefined,\n\t\t});\n\n\t\tcurrentSequenceNumber = 0;\n\t\tmergeTree.startCollaboration(\n\t\t\tlocalClientId,\n\t\t\t/* minSeq: */ currentSequenceNumber,\n\t\t\t/* currentSeq: */ currentSequenceNumber,\n\t\t);\n\t});\n\n\tdescribe(\"annotateRange\", () => {\n\t\tit(\"Event on annotation\", () => {\n\t\t\tconst count = countOperations(mergeTree);\n\n\t\t\tmergeTree.annotateRange(\n\t\t\t\t4,\n\t\t\t\t6,\n\t\t\t\t{\n\t\t\t\t\tfoo: \"bar\",\n\t\t\t\t},\n\t\t\t\tcurrentSequenceNumber,\n\t\t\t\tlocalClientId,\n\t\t\t\tUnassignedSequenceNumber,\n\t\t\t\tundefined as any,\n\t\t\t);\n\n\t\t\tassert.deepStrictEqual(count, {\n\t\t\t\t[MergeTreeDeltaType.ANNOTATE]: 1,\n\t\t\t\t[MergeTreeMaintenanceType.SPLIT]: 2,\n\t\t\t});\n\t\t});\n\n\t\tit(\"No event on annotation of empty range\", () => {\n\t\t\tconst count = countOperations(mergeTree);\n\t\t\tmergeTree.annotateRange(\n\t\t\t\t3,\n\t\t\t\t3,\n\t\t\t\t{\n\t\t\t\t\tfoo: \"bar\",\n\t\t\t\t},\n\t\t\t\tcurrentSequenceNumber,\n\t\t\t\tlocalClientId,\n\t\t\t\t++currentSequenceNumber,\n\t\t\t\tundefined as any,\n\t\t\t);\n\n\t\t\tassert.deepStrictEqual(count, {\n\t\t\t\t[MergeTreeMaintenanceType.SPLIT]: 1,\n\t\t\t});\n\t\t});\n\n\t\tit(\"Annotate over local insertion\", () => {\n\t\t\tinsertText({\n\t\t\t\tmergeTree,\n\t\t\t\tpos: 4,\n\t\t\t\trefSeq: currentSequenceNumber,\n\t\t\t\tclientId: localClientId,\n\t\t\t\tseq: UnassignedSequenceNumber,\n\t\t\t\ttext: \"a\",\n\t\t\t\tprops: undefined,\n\t\t\t\topArgs: undefined,\n\t\t\t});\n\n\t\t\tconst count = countOperations(mergeTree);\n\n\t\t\tmergeTree.annotateRange(\n\t\t\t\t3,\n\t\t\t\t8,\n\t\t\t\t{\n\t\t\t\t\tfoo: \"bar\",\n\t\t\t\t},\n\t\t\t\tcurrentSequenceNumber,\n\t\t\t\tlocalClientId,\n\t\t\t\tUnassignedSequenceNumber,\n\t\t\t\tundefined as any,\n\t\t\t);\n\n\t\t\tassert.deepStrictEqual(count, {\n\t\t\t\t[MergeTreeDeltaType.ANNOTATE]: 1,\n\t\t\t\t[MergeTreeMaintenanceType.SPLIT]: 2,\n\t\t\t});\n\t\t});\n\n\t\tit(\"Annotate over remote insertion\", () => {\n\t\t\tconst remoteClientId: number = 35;\n\t\t\tlet remoteSequenceNumber = currentSequenceNumber;\n\n\t\t\tinsertText({\n\t\t\t\tmergeTree,\n\t\t\t\tpos: 4,\n\t\t\t\trefSeq: remoteSequenceNumber,\n\t\t\t\tclientId: remoteClientId,\n\t\t\t\tseq: ++remoteSequenceNumber,\n\t\t\t\ttext: \"a\",\n\t\t\t\tprops: undefined,\n\t\t\t\topArgs: undefined,\n\t\t\t});\n\n\t\t\tconst count = countOperations(mergeTree);\n\n\t\t\tmergeTree.annotateRange(\n\t\t\t\t3,\n\t\t\t\t8,\n\t\t\t\t{\n\t\t\t\t\tfoo: \"bar\",\n\t\t\t\t},\n\t\t\t\tcurrentSequenceNumber,\n\t\t\t\tlocalClientId,\n\t\t\t\tUnassignedSequenceNumber,\n\t\t\t\tundefined as any,\n\t\t\t);\n\n\t\t\tassert.deepStrictEqual(count, {\n\t\t\t\t[MergeTreeDeltaType.ANNOTATE]: 1,\n\t\t\t\t[MergeTreeMaintenanceType.SPLIT]: 2,\n\t\t\t});\n\t\t});\n\n\t\tit(\"Annotate over remote deletion\", () => {\n\t\t\tconst remoteClientId: number = 35;\n\t\t\tlet remoteSequenceNumber = currentSequenceNumber;\n\n\t\t\tmarkRangeRemoved({\n\t\t\t\tmergeTree,\n\t\t\t\tstart: 4,\n\t\t\t\tend: 6,\n\t\t\t\trefSeq: remoteSequenceNumber,\n\t\t\t\tclientId: remoteClientId,\n\t\t\t\tseq: ++remoteSequenceNumber,\n\t\t\t\toverwrite: false,\n\t\t\t\topArgs: undefined as any,\n\t\t\t});\n\n\t\t\tconst count = countOperations(mergeTree);\n\n\t\t\tmergeTree.annotateRange(\n\t\t\t\t3,\n\t\t\t\t8,\n\t\t\t\t{\n\t\t\t\t\tfoo: \"bar\",\n\t\t\t\t},\n\t\t\t\tcurrentSequenceNumber,\n\t\t\t\tlocalClientId,\n\t\t\t\tUnassignedSequenceNumber,\n\t\t\t\tundefined as any,\n\t\t\t);\n\n\t\t\tassert.deepStrictEqual(count, {\n\t\t\t\t[MergeTreeDeltaType.ANNOTATE]: 1,\n\t\t\t\t[MergeTreeMaintenanceType.SPLIT]: 2,\n\t\t\t});\n\t\t});\n\n\t\tit(\"Remote annotate within local deletion\", () => {\n\t\t\tconst remoteClientId: number = 35;\n\t\t\tlet remoteSequenceNumber = currentSequenceNumber;\n\n\t\t\tmarkRangeRemoved({\n\t\t\t\tmergeTree,\n\t\t\t\tstart: 3,\n\t\t\t\tend: 8,\n\t\t\t\trefSeq: currentSequenceNumber,\n\t\t\t\tclientId: localClientId,\n\t\t\t\tseq: UnassignedSequenceNumber,\n\t\t\t\toverwrite: false,\n\t\t\t\topArgs: undefined as any,\n\t\t\t});\n\n\t\t\tconst count = countOperations(mergeTree);\n\n\t\t\tmergeTree.annotateRange(\n\t\t\t\t4,\n\t\t\t\t6,\n\t\t\t\t{\n\t\t\t\t\tfoo: \"bar\",\n\t\t\t\t},\n\t\t\t\tremoteSequenceNumber,\n\t\t\t\tremoteClientId,\n\t\t\t\t++remoteSequenceNumber,\n\t\t\t\tundefined as any,\n\t\t\t);\n\n\t\t\tassert.deepStrictEqual(count, {\n\t\t\t\t[MergeTreeDeltaType.ANNOTATE]: 1,\n\t\t\t\t[MergeTreeMaintenanceType.SPLIT]: 2,\n\t\t\t});\n\t\t});\n\t});\n});\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mergeTree.annotate.spec.d.ts","sourceRoot":"","sources":["../../src/test/mergeTree.annotate.spec.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|