@fluidframework/merge-tree 2.1.0-276985 → 2.1.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.cjs +2 -4
- package/CHANGELOG.md +15 -0
- package/README.md +109 -1
- package/api-extractor/api-extractor.current.json +5 -0
- package/api-extractor/api-extractor.legacy.json +1 -1
- package/api-extractor.json +1 -1
- package/api-report/merge-tree.legacy.alpha.api.md +10 -22
- package/api-report/merge-tree.legacy.public.api.md +9 -0
- package/dist/MergeTreeTextHelper.d.ts.map +1 -1
- package/dist/MergeTreeTextHelper.js +1 -1
- package/dist/MergeTreeTextHelper.js.map +1 -1
- package/dist/attributionCollection.d.ts.map +1 -1
- package/dist/attributionCollection.js +65 -17
- package/dist/attributionCollection.js.map +1 -1
- package/dist/attributionPolicy.d.ts +2 -1
- package/dist/attributionPolicy.d.ts.map +1 -1
- package/dist/attributionPolicy.js +10 -3
- package/dist/attributionPolicy.js.map +1 -1
- package/dist/client.d.ts +3 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +65 -37
- package/dist/client.js.map +1 -1
- package/dist/collections/list.d.ts.map +1 -1
- package/dist/collections/list.js +5 -2
- package/dist/collections/list.js.map +1 -1
- package/dist/collections/rbTree.d.ts +2 -2
- package/dist/collections/rbTree.d.ts.map +1 -1
- package/dist/collections/rbTree.js +23 -35
- package/dist/collections/rbTree.js.map +1 -1
- package/dist/endOfTreeSegment.d.ts.map +1 -1
- package/dist/endOfTreeSegment.js +4 -1
- package/dist/endOfTreeSegment.js.map +1 -1
- package/dist/legacy.d.ts +1 -1
- package/dist/localReference.d.ts +16 -6
- package/dist/localReference.d.ts.map +1 -1
- package/dist/localReference.js +31 -20
- package/dist/localReference.js.map +1 -1
- package/dist/mergeTree.d.ts +0 -1
- package/dist/mergeTree.d.ts.map +1 -1
- package/dist/mergeTree.js +127 -112
- package/dist/mergeTree.js.map +1 -1
- package/dist/mergeTreeNodeWalk.d.ts.map +1 -1
- package/dist/mergeTreeNodeWalk.js +1 -1
- package/dist/mergeTreeNodeWalk.js.map +1 -1
- package/dist/mergeTreeNodes.d.ts +6 -5
- package/dist/mergeTreeNodes.d.ts.map +1 -1
- package/dist/mergeTreeNodes.js +29 -20
- package/dist/mergeTreeNodes.js.map +1 -1
- package/dist/mergeTreeTracking.js +3 -3
- package/dist/mergeTreeTracking.js.map +1 -1
- package/dist/opBuilder.d.ts +6 -1
- package/dist/opBuilder.d.ts.map +1 -1
- package/dist/opBuilder.js +5 -0
- package/dist/opBuilder.js.map +1 -1
- package/dist/ops.d.ts.map +1 -1
- package/dist/ops.js.map +1 -1
- package/dist/ordinal.d.ts.map +1 -1
- package/dist/ordinal.js +7 -0
- package/dist/ordinal.js.map +1 -1
- package/dist/partialLengths.d.ts +4 -2
- package/dist/partialLengths.d.ts.map +1 -1
- package/dist/partialLengths.js +101 -53
- package/dist/partialLengths.js.map +1 -1
- package/dist/perspective.d.ts +4 -1
- package/dist/perspective.d.ts.map +1 -1
- package/dist/perspective.js +7 -6
- package/dist/perspective.js.map +1 -1
- package/dist/properties.d.ts +13 -10
- package/dist/properties.d.ts.map +1 -1
- package/dist/properties.js +22 -11
- package/dist/properties.js.map +1 -1
- package/dist/public.d.ts +1 -1
- package/dist/referencePositions.d.ts +7 -0
- package/dist/referencePositions.d.ts.map +1 -1
- package/dist/referencePositions.js +7 -0
- package/dist/referencePositions.js.map +1 -1
- package/dist/revertibles.d.ts +6 -0
- package/dist/revertibles.d.ts.map +1 -1
- package/dist/revertibles.js +50 -21
- package/dist/revertibles.js.map +1 -1
- package/dist/segmentGroupCollection.d.ts.map +1 -1
- package/dist/segmentGroupCollection.js +2 -0
- package/dist/segmentGroupCollection.js.map +1 -1
- package/dist/segmentPropertiesManager.d.ts +7 -3
- package/dist/segmentPropertiesManager.d.ts.map +1 -1
- package/dist/segmentPropertiesManager.js +20 -15
- package/dist/segmentPropertiesManager.js.map +1 -1
- package/dist/snapshotChunks.d.ts.map +1 -1
- package/dist/snapshotChunks.js +10 -5
- package/dist/snapshotChunks.js.map +1 -1
- package/dist/snapshotLoader.d.ts.map +1 -1
- package/dist/snapshotLoader.js +14 -10
- package/dist/snapshotLoader.js.map +1 -1
- package/dist/snapshotV1.d.ts.map +1 -1
- package/dist/snapshotV1.js +20 -8
- package/dist/snapshotV1.js.map +1 -1
- package/dist/snapshotlegacy.d.ts.map +1 -1
- package/dist/snapshotlegacy.js +4 -2
- package/dist/snapshotlegacy.js.map +1 -1
- package/dist/sortedSegmentSet.d.ts.map +1 -1
- package/dist/sortedSegmentSet.js +8 -1
- package/dist/sortedSegmentSet.js.map +1 -1
- package/dist/sortedSet.d.ts.map +1 -1
- package/dist/sortedSet.js +4 -0
- package/dist/sortedSet.js.map +1 -1
- package/dist/test/Insertion.perf.spec.js.map +1 -1
- package/dist/test/Removal.perf.spec.js.map +1 -1
- package/dist/test/Snapshot.perf.spec.js +1 -0
- package/dist/test/Snapshot.perf.spec.js.map +1 -1
- package/dist/test/attributionCollection.perf.spec.js +3 -1
- package/dist/test/attributionCollection.perf.spec.js.map +1 -1
- package/dist/test/attributionCollection.spec.js +69 -68
- package/dist/test/attributionCollection.spec.js.map +1 -1
- package/dist/test/attributionPolicy.spec.js +29 -27
- package/dist/test/attributionPolicy.spec.js.map +1 -1
- package/dist/test/beastTest.spec.d.ts +1 -4
- package/dist/test/beastTest.spec.d.ts.map +1 -1
- package/dist/test/beastTest.spec.js +32 -30
- package/dist/test/beastTest.spec.js.map +1 -1
- package/dist/test/client.annotateMarker.spec.js +5 -5
- package/dist/test/client.annotateMarker.spec.js.map +1 -1
- package/dist/test/client.apis.spec.d.ts.map +1 -1
- package/dist/test/client.apis.spec.js +5 -7
- package/dist/test/client.apis.spec.js.map +1 -1
- package/dist/test/client.applyMsg.spec.js +125 -103
- package/dist/test/client.applyMsg.spec.js.map +1 -1
- package/dist/test/client.applyStashedOpFarm.spec.js +18 -10
- package/dist/test/client.applyStashedOpFarm.spec.js.map +1 -1
- package/dist/test/client.attributionFarm.spec.js +13 -8
- package/dist/test/client.attributionFarm.spec.js.map +1 -1
- package/dist/test/client.conflictFarm.spec.js +4 -2
- package/dist/test/client.conflictFarm.spec.js.map +1 -1
- package/dist/test/client.getPosition.spec.js +10 -10
- package/dist/test/client.getPosition.spec.js.map +1 -1
- package/dist/test/client.localReference.spec.js +111 -104
- package/dist/test/client.localReference.spec.js.map +1 -1
- package/dist/test/client.localReferenceFarm.spec.js +14 -10
- package/dist/test/client.localReferenceFarm.spec.js.map +1 -1
- package/dist/test/client.rebasePosition.spec.js +12 -12
- package/dist/test/client.rebasePosition.spec.js.map +1 -1
- package/dist/test/client.reconnectFarm.spec.js +12 -9
- package/dist/test/client.reconnectFarm.spec.js.map +1 -1
- package/dist/test/client.replay.spec.js +11 -10
- package/dist/test/client.replay.spec.js.map +1 -1
- package/dist/test/client.rollback.spec.js +87 -84
- package/dist/test/client.rollback.spec.js.map +1 -1
- package/dist/test/client.rollbackFarm.spec.js +3 -1
- package/dist/test/client.rollbackFarm.spec.js.map +1 -1
- package/dist/test/client.searchForMarker.spec.js +122 -112
- package/dist/test/client.searchForMarker.spec.js.map +1 -1
- package/dist/test/client.walkSegments.spec.js +7 -7
- package/dist/test/client.walkSegments.spec.js.map +1 -1
- package/dist/test/collections.list.spec.js +14 -14
- package/dist/test/collections.list.spec.js.map +1 -1
- package/dist/test/createInsertOnlyAttributionPolicy.spec.js +3 -3
- package/dist/test/createInsertOnlyAttributionPolicy.spec.js.map +1 -1
- package/dist/test/dirname.cjs +1 -0
- package/dist/test/dirname.cjs.map +1 -1
- package/dist/test/dirname.d.cts.map +1 -1
- package/dist/test/mergeTree.annotate.deltaCallback.spec.js +7 -7
- package/dist/test/mergeTree.annotate.deltaCallback.spec.js.map +1 -1
- package/dist/test/mergeTree.annotate.spec.js +87 -87
- package/dist/test/mergeTree.annotate.spec.js.map +1 -1
- package/dist/test/mergeTree.insert.deltaCallback.spec.js +6 -6
- package/dist/test/mergeTree.insert.deltaCallback.spec.js.map +1 -1
- package/dist/test/mergeTree.insertingWalk.spec.js +24 -24
- package/dist/test/mergeTree.insertingWalk.spec.js.map +1 -1
- package/dist/test/mergeTree.markRangeRemoved.deltaCallback.spec.js +6 -6
- package/dist/test/mergeTree.markRangeRemoved.deltaCallback.spec.js.map +1 -1
- package/dist/test/mergeTree.markRangeRemoved.spec.js +23 -23
- package/dist/test/mergeTree.markRangeRemoved.spec.js.map +1 -1
- package/dist/test/mergeTree.walk.spec.js +3 -3
- package/dist/test/mergeTree.walk.spec.js.map +1 -1
- package/dist/test/mergeTree.zamboni.spec.js +10 -10
- package/dist/test/mergeTree.zamboni.spec.js.map +1 -1
- package/dist/test/mergeTreeOperationRunner.d.ts.map +1 -1
- package/dist/test/mergeTreeOperationRunner.js +28 -16
- package/dist/test/mergeTreeOperationRunner.js.map +1 -1
- package/dist/test/mergeTreeOperationRunner.spec.js +9 -5
- package/dist/test/mergeTreeOperationRunner.spec.js.map +1 -1
- package/dist/test/obliterate.concurrent.spec.js +165 -165
- package/dist/test/obliterate.concurrent.spec.js.map +1 -1
- package/dist/test/obliterate.deltaCallback.spec.js +20 -21
- package/dist/test/obliterate.deltaCallback.spec.js.map +1 -1
- package/dist/test/obliterate.partialLength.spec.js +7 -7
- package/dist/test/obliterate.partialLength.spec.js.map +1 -1
- package/dist/test/obliterate.reconnect.spec.js +13 -13
- package/dist/test/obliterate.reconnect.spec.js.map +1 -1
- package/dist/test/obliterate.spec.js +9 -9
- package/dist/test/obliterate.spec.js.map +1 -1
- package/dist/test/ordinal.spec.js +10 -4
- package/dist/test/ordinal.spec.js.map +1 -1
- 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 +4 -4
- package/dist/test/reconnectHelper.d.ts.map +1 -1
- package/dist/test/reconnectHelper.js +28 -20
- package/dist/test/reconnectHelper.js.map +1 -1
- package/dist/test/resetPendingSegmentsToOp.spec.js +35 -29
- package/dist/test/resetPendingSegmentsToOp.spec.js.map +1 -1
- package/dist/test/revertibleFarm.spec.js +11 -10
- package/dist/test/revertibleFarm.spec.js.map +1 -1
- package/dist/test/revertibles.spec.d.ts.map +1 -1
- package/dist/test/revertibles.spec.js +96 -57
- package/dist/test/revertibles.spec.js.map +1 -1
- package/dist/test/segmentGroupCollection.spec.js +17 -17
- package/dist/test/segmentGroupCollection.spec.js.map +1 -1
- package/dist/test/snapshot.spec.js +5 -5
- package/dist/test/snapshot.spec.js.map +1 -1
- package/dist/test/snapshot.utils.d.ts.map +1 -1
- package/dist/test/snapshot.utils.js +6 -6
- package/dist/test/snapshot.utils.js.map +1 -1
- package/dist/test/snapshotlegacy.spec.js +18 -13
- package/dist/test/snapshotlegacy.spec.js.map +1 -1
- package/dist/test/sortedSegmentSet.spec.js +22 -18
- package/dist/test/sortedSegmentSet.spec.js.map +1 -1
- package/dist/test/testClient.d.ts +6 -5
- package/dist/test/testClient.d.ts.map +1 -1
- package/dist/test/testClient.js +30 -32
- package/dist/test/testClient.js.map +1 -1
- package/dist/test/testClientLogger.d.ts.map +1 -1
- package/dist/test/testClientLogger.js +39 -38
- package/dist/test/testClientLogger.js.map +1 -1
- package/dist/test/testSerializer.d.ts +5 -5
- package/dist/test/testSerializer.d.ts.map +1 -1
- package/dist/test/testSerializer.js +0 -1
- package/dist/test/testSerializer.js.map +1 -1
- package/dist/test/testServer.d.ts.map +1 -1
- package/dist/test/testServer.js.map +1 -1
- package/dist/test/testUtils.d.ts +1 -1
- package/dist/test/testUtils.d.ts.map +1 -1
- package/dist/test/testUtils.js +15 -17
- package/dist/test/testUtils.js.map +1 -1
- package/dist/test/text.d.ts.map +1 -1
- package/dist/test/text.js +1 -1
- package/dist/test/text.js.map +1 -1
- package/dist/test/tracking.spec.js +50 -46
- package/dist/test/tracking.spec.js.map +1 -1
- package/dist/test/wordUnitTests.spec.d.ts.map +1 -1
- package/dist/test/wordUnitTests.spec.js +10 -10
- package/dist/test/wordUnitTests.spec.js.map +1 -1
- package/dist/textSegment.d.ts +1 -1
- package/dist/textSegment.d.ts.map +1 -1
- package/dist/textSegment.js +3 -3
- package/dist/textSegment.js.map +1 -1
- package/dist/zamboni.d.ts.map +1 -1
- package/dist/zamboni.js +7 -2
- package/dist/zamboni.js.map +1 -1
- package/internal.d.ts +1 -1
- package/legacy.d.ts +1 -1
- package/lib/MergeTreeTextHelper.d.ts.map +1 -1
- package/lib/MergeTreeTextHelper.js +1 -1
- package/lib/MergeTreeTextHelper.js.map +1 -1
- package/lib/attributionCollection.d.ts.map +1 -1
- package/lib/attributionCollection.js +65 -17
- package/lib/attributionCollection.js.map +1 -1
- package/lib/attributionPolicy.d.ts +2 -1
- package/lib/attributionPolicy.d.ts.map +1 -1
- package/lib/attributionPolicy.js +10 -3
- package/lib/attributionPolicy.js.map +1 -1
- package/lib/client.d.ts +3 -1
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +65 -37
- package/lib/client.js.map +1 -1
- package/lib/collections/list.d.ts.map +1 -1
- package/lib/collections/list.js +5 -2
- package/lib/collections/list.js.map +1 -1
- package/lib/collections/rbTree.d.ts +2 -2
- package/lib/collections/rbTree.d.ts.map +1 -1
- package/lib/collections/rbTree.js +23 -35
- package/lib/collections/rbTree.js.map +1 -1
- package/lib/endOfTreeSegment.d.ts.map +1 -1
- package/lib/endOfTreeSegment.js +4 -1
- package/lib/endOfTreeSegment.js.map +1 -1
- package/lib/legacy.d.ts +1 -1
- package/lib/localReference.d.ts +16 -6
- package/lib/localReference.d.ts.map +1 -1
- package/lib/localReference.js +31 -20
- package/lib/localReference.js.map +1 -1
- package/lib/mergeTree.d.ts +0 -1
- package/lib/mergeTree.d.ts.map +1 -1
- package/lib/mergeTree.js +127 -112
- package/lib/mergeTree.js.map +1 -1
- package/lib/mergeTreeNodeWalk.d.ts.map +1 -1
- package/lib/mergeTreeNodeWalk.js +1 -1
- package/lib/mergeTreeNodeWalk.js.map +1 -1
- package/lib/mergeTreeNodes.d.ts +6 -5
- package/lib/mergeTreeNodes.d.ts.map +1 -1
- package/lib/mergeTreeNodes.js +29 -20
- package/lib/mergeTreeNodes.js.map +1 -1
- package/lib/mergeTreeTracking.js +3 -3
- package/lib/mergeTreeTracking.js.map +1 -1
- package/lib/opBuilder.d.ts +6 -1
- package/lib/opBuilder.d.ts.map +1 -1
- package/lib/opBuilder.js +5 -0
- package/lib/opBuilder.js.map +1 -1
- package/lib/ops.d.ts.map +1 -1
- package/lib/ops.js.map +1 -1
- package/lib/ordinal.d.ts.map +1 -1
- package/lib/ordinal.js +7 -0
- package/lib/ordinal.js.map +1 -1
- package/lib/partialLengths.d.ts +4 -2
- package/lib/partialLengths.d.ts.map +1 -1
- package/lib/partialLengths.js +101 -53
- package/lib/partialLengths.js.map +1 -1
- package/lib/perspective.d.ts +4 -1
- package/lib/perspective.d.ts.map +1 -1
- package/lib/perspective.js +7 -6
- package/lib/perspective.js.map +1 -1
- package/lib/properties.d.ts +13 -10
- package/lib/properties.d.ts.map +1 -1
- package/lib/properties.js +22 -11
- package/lib/properties.js.map +1 -1
- package/lib/public.d.ts +1 -1
- package/lib/referencePositions.d.ts +7 -0
- package/lib/referencePositions.d.ts.map +1 -1
- package/lib/referencePositions.js +7 -0
- package/lib/referencePositions.js.map +1 -1
- package/lib/revertibles.d.ts +6 -0
- package/lib/revertibles.d.ts.map +1 -1
- package/lib/revertibles.js +50 -21
- package/lib/revertibles.js.map +1 -1
- package/lib/segmentGroupCollection.d.ts.map +1 -1
- package/lib/segmentGroupCollection.js +2 -0
- package/lib/segmentGroupCollection.js.map +1 -1
- package/lib/segmentPropertiesManager.d.ts +7 -3
- package/lib/segmentPropertiesManager.d.ts.map +1 -1
- package/lib/segmentPropertiesManager.js +20 -15
- package/lib/segmentPropertiesManager.js.map +1 -1
- package/lib/snapshotChunks.d.ts.map +1 -1
- package/lib/snapshotChunks.js +10 -5
- package/lib/snapshotChunks.js.map +1 -1
- package/lib/snapshotLoader.d.ts.map +1 -1
- package/lib/snapshotLoader.js +14 -10
- package/lib/snapshotLoader.js.map +1 -1
- package/lib/snapshotV1.d.ts.map +1 -1
- package/lib/snapshotV1.js +20 -8
- package/lib/snapshotV1.js.map +1 -1
- package/lib/snapshotlegacy.d.ts.map +1 -1
- package/lib/snapshotlegacy.js +4 -2
- package/lib/snapshotlegacy.js.map +1 -1
- package/lib/sortedSegmentSet.d.ts.map +1 -1
- package/lib/sortedSegmentSet.js +8 -1
- package/lib/sortedSegmentSet.js.map +1 -1
- package/lib/sortedSet.d.ts.map +1 -1
- package/lib/sortedSet.js +4 -0
- package/lib/sortedSet.js.map +1 -1
- package/lib/test/Insertion.perf.spec.js.map +1 -1
- package/lib/test/Removal.perf.spec.js.map +1 -1
- package/lib/test/Snapshot.perf.spec.js +1 -0
- package/lib/test/Snapshot.perf.spec.js.map +1 -1
- package/lib/test/attributionCollection.perf.spec.js +3 -1
- package/lib/test/attributionCollection.perf.spec.js.map +1 -1
- package/lib/test/attributionCollection.spec.js +3 -2
- package/lib/test/attributionCollection.spec.js.map +1 -1
- package/lib/test/attributionPolicy.spec.js +3 -1
- package/lib/test/attributionPolicy.spec.js.map +1 -1
- package/lib/test/beastTest.spec.d.ts +1 -4
- package/lib/test/beastTest.spec.d.ts.map +1 -1
- package/lib/test/beastTest.spec.js +26 -24
- package/lib/test/beastTest.spec.js.map +1 -1
- package/lib/test/client.annotateMarker.spec.js +1 -1
- package/lib/test/client.annotateMarker.spec.js.map +1 -1
- package/lib/test/client.apis.spec.d.ts.map +1 -1
- package/lib/test/client.apis.spec.js +4 -6
- package/lib/test/client.apis.spec.js.map +1 -1
- package/lib/test/client.applyMsg.spec.js +72 -50
- package/lib/test/client.applyMsg.spec.js.map +1 -1
- package/lib/test/client.applyStashedOpFarm.spec.js +18 -10
- package/lib/test/client.applyStashedOpFarm.spec.js.map +1 -1
- package/lib/test/client.attributionFarm.spec.js +12 -7
- package/lib/test/client.attributionFarm.spec.js.map +1 -1
- package/lib/test/client.conflictFarm.spec.js +4 -2
- package/lib/test/client.conflictFarm.spec.js.map +1 -1
- package/lib/test/client.getPosition.spec.js +1 -1
- package/lib/test/client.getPosition.spec.js.map +1 -1
- package/lib/test/client.localReference.spec.js +14 -7
- package/lib/test/client.localReference.spec.js.map +1 -1
- package/lib/test/client.localReferenceFarm.spec.js +13 -9
- package/lib/test/client.localReferenceFarm.spec.js.map +1 -1
- package/lib/test/client.rebasePosition.spec.js +1 -1
- package/lib/test/client.rebasePosition.spec.js.map +1 -1
- package/lib/test/client.reconnectFarm.spec.js +11 -8
- package/lib/test/client.reconnectFarm.spec.js.map +1 -1
- package/lib/test/client.replay.spec.js +8 -7
- package/lib/test/client.replay.spec.js.map +1 -1
- package/lib/test/client.rollback.spec.js +14 -11
- package/lib/test/client.rollback.spec.js.map +1 -1
- package/lib/test/client.rollbackFarm.spec.js +3 -1
- package/lib/test/client.rollbackFarm.spec.js.map +1 -1
- package/lib/test/client.searchForMarker.spec.js +29 -19
- package/lib/test/client.searchForMarker.spec.js.map +1 -1
- package/lib/test/client.walkSegments.spec.js +1 -1
- package/lib/test/client.walkSegments.spec.js.map +1 -1
- package/lib/test/collections.list.spec.js +1 -1
- package/lib/test/collections.list.spec.js.map +1 -1
- package/lib/test/createInsertOnlyAttributionPolicy.spec.js +1 -1
- package/lib/test/createInsertOnlyAttributionPolicy.spec.js.map +1 -1
- package/lib/test/dirname.cjs +1 -0
- package/lib/test/dirname.cjs.map +1 -1
- package/lib/test/dirname.d.cts.map +1 -1
- package/lib/test/mergeTree.annotate.deltaCallback.spec.js +1 -1
- package/lib/test/mergeTree.annotate.deltaCallback.spec.js.map +1 -1
- package/lib/test/mergeTree.annotate.spec.js +1 -1
- package/lib/test/mergeTree.annotate.spec.js.map +1 -1
- package/lib/test/mergeTree.insert.deltaCallback.spec.js +1 -1
- package/lib/test/mergeTree.insert.deltaCallback.spec.js.map +1 -1
- package/lib/test/mergeTree.insertingWalk.spec.js +8 -8
- package/lib/test/mergeTree.insertingWalk.spec.js.map +1 -1
- package/lib/test/mergeTree.markRangeRemoved.deltaCallback.spec.js +1 -1
- package/lib/test/mergeTree.markRangeRemoved.deltaCallback.spec.js.map +1 -1
- package/lib/test/mergeTree.markRangeRemoved.spec.js +1 -1
- package/lib/test/mergeTree.markRangeRemoved.spec.js.map +1 -1
- package/lib/test/mergeTree.walk.spec.js +1 -1
- package/lib/test/mergeTree.walk.spec.js.map +1 -1
- package/lib/test/mergeTree.zamboni.spec.js +1 -1
- package/lib/test/mergeTree.zamboni.spec.js.map +1 -1
- package/lib/test/mergeTreeOperationRunner.d.ts.map +1 -1
- package/lib/test/mergeTreeOperationRunner.js +27 -15
- package/lib/test/mergeTreeOperationRunner.js.map +1 -1
- package/lib/test/mergeTreeOperationRunner.spec.js +5 -1
- package/lib/test/mergeTreeOperationRunner.spec.js.map +1 -1
- package/lib/test/obliterate.concurrent.spec.js +4 -4
- package/lib/test/obliterate.concurrent.spec.js.map +1 -1
- package/lib/test/obliterate.deltaCallback.spec.js +2 -3
- package/lib/test/obliterate.deltaCallback.spec.js.map +1 -1
- package/lib/test/obliterate.partialLength.spec.js +1 -1
- package/lib/test/obliterate.partialLength.spec.js.map +1 -1
- package/lib/test/obliterate.reconnect.spec.js +1 -1
- package/lib/test/obliterate.reconnect.spec.js.map +1 -1
- package/lib/test/obliterate.spec.js +1 -1
- package/lib/test/obliterate.spec.js.map +1 -1
- package/lib/test/ordinal.spec.js +7 -1
- package/lib/test/ordinal.spec.js.map +1 -1
- package/lib/test/partialLength.spec.js.map +1 -1
- package/lib/test/properties.spec.js +1 -1
- package/lib/test/properties.spec.js.map +1 -1
- package/lib/test/reconnectHelper.d.ts +4 -4
- package/lib/test/reconnectHelper.d.ts.map +1 -1
- package/lib/test/reconnectHelper.js +22 -14
- package/lib/test/reconnectHelper.js.map +1 -1
- package/lib/test/resetPendingSegmentsToOp.spec.js +8 -2
- package/lib/test/resetPendingSegmentsToOp.spec.js.map +1 -1
- package/lib/test/revertibleFarm.spec.js +8 -7
- package/lib/test/revertibleFarm.spec.js.map +1 -1
- package/lib/test/revertibles.spec.d.ts.map +1 -1
- package/lib/test/revertibles.spec.js +93 -54
- package/lib/test/revertibles.spec.js.map +1 -1
- package/lib/test/segmentGroupCollection.spec.js +1 -1
- package/lib/test/segmentGroupCollection.spec.js.map +1 -1
- package/lib/test/snapshot.spec.js +1 -1
- package/lib/test/snapshot.spec.js.map +1 -1
- package/lib/test/snapshot.utils.d.ts.map +1 -1
- package/lib/test/snapshot.utils.js +1 -1
- package/lib/test/snapshot.utils.js.map +1 -1
- package/lib/test/snapshotlegacy.spec.js +10 -5
- package/lib/test/snapshotlegacy.spec.js.map +1 -1
- package/lib/test/sortedSegmentSet.spec.js +6 -2
- package/lib/test/sortedSegmentSet.spec.js.map +1 -1
- package/lib/test/testClient.d.ts +6 -5
- package/lib/test/testClient.d.ts.map +1 -1
- package/lib/test/testClient.js +25 -27
- package/lib/test/testClient.js.map +1 -1
- package/lib/test/testClientLogger.d.ts.map +1 -1
- package/lib/test/testClientLogger.js +37 -36
- package/lib/test/testClientLogger.js.map +1 -1
- package/lib/test/testSerializer.d.ts +5 -5
- package/lib/test/testSerializer.d.ts.map +1 -1
- package/lib/test/testSerializer.js +0 -1
- package/lib/test/testSerializer.js.map +1 -1
- package/lib/test/testServer.d.ts.map +1 -1
- package/lib/test/testServer.js.map +1 -1
- package/lib/test/testUtils.d.ts +1 -1
- package/lib/test/testUtils.d.ts.map +1 -1
- package/lib/test/testUtils.js +6 -8
- package/lib/test/testUtils.js.map +1 -1
- package/lib/test/text.d.ts.map +1 -1
- package/lib/test/text.js +1 -1
- package/lib/test/text.js.map +1 -1
- package/lib/test/tracking.spec.js +9 -5
- package/lib/test/tracking.spec.js.map +1 -1
- package/lib/test/wordUnitTests.spec.d.ts.map +1 -1
- package/lib/test/wordUnitTests.spec.js +9 -9
- package/lib/test/wordUnitTests.spec.js.map +1 -1
- package/lib/textSegment.d.ts +1 -1
- package/lib/textSegment.d.ts.map +1 -1
- package/lib/textSegment.js +3 -3
- package/lib/textSegment.js.map +1 -1
- package/lib/zamboni.d.ts.map +1 -1
- package/lib/zamboni.js +7 -2
- package/lib/zamboni.js.map +1 -1
- package/package.json +29 -27
- package/src/MergeTreeTextHelper.ts +2 -2
- package/src/attributionCollection.ts +71 -28
- package/src/attributionPolicy.ts +14 -9
- package/src/client.ts +120 -71
- package/src/collections/list.ts +9 -6
- package/src/collections/rbTree.ts +62 -71
- package/src/endOfTreeSegment.ts +21 -10
- package/src/localReference.ts +61 -43
- package/src/mergeTree.ts +229 -178
- package/src/mergeTreeNodeWalk.ts +2 -1
- package/src/mergeTreeNodes.ts +59 -46
- package/src/mergeTreeTracking.ts +3 -3
- package/src/opBuilder.ts +6 -1
- package/src/ops.ts +5 -0
- package/src/ordinal.ts +8 -1
- package/src/partialLengths.ts +143 -87
- package/src/perspective.ts +10 -7
- package/src/properties.ts +36 -18
- package/src/referencePositions.ts +7 -0
- package/src/revertibles.ts +71 -41
- package/src/segmentGroupCollection.ts +8 -6
- package/src/segmentPropertiesManager.ts +28 -24
- package/src/snapshotChunks.ts +12 -7
- package/src/snapshotLoader.ts +20 -17
- package/src/snapshotV1.ts +36 -18
- package/src/snapshotlegacy.ts +7 -5
- package/src/sortedSegmentSet.ts +9 -3
- package/src/sortedSet.ts +7 -3
- package/src/textSegment.ts +9 -9
- package/src/zamboni.ts +14 -10
- package/tsconfig.json +0 -1
package/src/localReference.ts
CHANGED
|
@@ -10,7 +10,6 @@ import { DoublyLinkedList, ListNode, walkList } from "./collections/index.js";
|
|
|
10
10
|
import { ISegment } from "./mergeTreeNodes.js";
|
|
11
11
|
import { TrackingGroup, TrackingGroupCollection } from "./mergeTreeTracking.js";
|
|
12
12
|
import { ReferenceType } from "./ops.js";
|
|
13
|
-
// eslint-disable-next-line import/no-deprecated
|
|
14
13
|
import { PropertySet, addProperties } from "./properties.js";
|
|
15
14
|
import { ReferencePosition, refTypeIncludesFlag } from "./referencePositions.js";
|
|
16
15
|
|
|
@@ -39,7 +38,7 @@ export const SlidingPreference = {
|
|
|
39
38
|
*/
|
|
40
39
|
export type SlidingPreference = (typeof SlidingPreference)[keyof typeof SlidingPreference];
|
|
41
40
|
|
|
42
|
-
function _validateReferenceType(refType: ReferenceType) {
|
|
41
|
+
function _validateReferenceType(refType: ReferenceType): void {
|
|
43
42
|
let exclusiveCount = 0;
|
|
44
43
|
if (refTypeIncludesFlag(refType, ReferenceType.Transient)) {
|
|
45
44
|
++exclusiveCount;
|
|
@@ -106,7 +105,7 @@ class LocalReference implements LocalReferencePosition {
|
|
|
106
105
|
segment: ISegment | undefined,
|
|
107
106
|
offset: number,
|
|
108
107
|
listNode: ListNode<LocalReference> | undefined,
|
|
109
|
-
) {
|
|
108
|
+
): void {
|
|
110
109
|
if (listNode !== this.listNode && this.listNode !== undefined) {
|
|
111
110
|
this.segment?.localRefs?.removeLocalRef(this);
|
|
112
111
|
}
|
|
@@ -114,45 +113,45 @@ class LocalReference implements LocalReferencePosition {
|
|
|
114
113
|
|
|
115
114
|
if (segment !== this.segment) {
|
|
116
115
|
const groups: TrackingGroup[] = [];
|
|
117
|
-
this.trackingCollection.trackingGroups
|
|
116
|
+
for (const tg of this.trackingCollection.trackingGroups) {
|
|
118
117
|
tg.unlink(this);
|
|
119
118
|
groups.push(tg);
|
|
120
|
-
}
|
|
119
|
+
}
|
|
121
120
|
|
|
122
121
|
this.segment = segment;
|
|
123
122
|
|
|
124
|
-
|
|
123
|
+
for (const tg of groups) tg.link(this);
|
|
125
124
|
}
|
|
126
125
|
this.offset = offset;
|
|
127
126
|
}
|
|
128
127
|
|
|
129
|
-
public isLeaf() {
|
|
128
|
+
public isLeaf(): boolean {
|
|
130
129
|
return false;
|
|
131
130
|
}
|
|
132
131
|
|
|
133
|
-
public addProperties(newProps: PropertySet) {
|
|
134
|
-
// eslint-disable-next-line import/no-deprecated
|
|
132
|
+
public addProperties(newProps: PropertySet): void {
|
|
135
133
|
this.properties = addProperties(this.properties, newProps);
|
|
136
134
|
}
|
|
137
135
|
|
|
138
|
-
public getSegment() {
|
|
136
|
+
public getSegment(): ISegment | undefined {
|
|
139
137
|
return this.segment;
|
|
140
138
|
}
|
|
141
139
|
|
|
142
|
-
public getOffset() {
|
|
140
|
+
public getOffset(): number {
|
|
143
141
|
return this.offset;
|
|
144
142
|
}
|
|
145
143
|
|
|
146
|
-
public getListNode() {
|
|
144
|
+
public getListNode(): ListNode<LocalReference> | undefined {
|
|
147
145
|
return this.listNode;
|
|
148
146
|
}
|
|
149
147
|
|
|
150
|
-
public getProperties() {
|
|
148
|
+
public getProperties(): PropertySet | undefined {
|
|
151
149
|
return this.properties;
|
|
152
150
|
}
|
|
153
151
|
}
|
|
154
152
|
|
|
155
153
|
/**
|
|
154
|
+
* Creates a new detached local reference.
|
|
156
155
|
* @internal
|
|
157
156
|
*/
|
|
158
157
|
export function createDetachedLocalReferencePosition(
|
|
@@ -168,12 +167,12 @@ interface IRefsAtOffset {
|
|
|
168
167
|
after?: DoublyLinkedList<LocalReference>;
|
|
169
168
|
}
|
|
170
169
|
|
|
171
|
-
function assertLocalReferences(lref:
|
|
170
|
+
function assertLocalReferences(lref: unknown): asserts lref is LocalReference {
|
|
172
171
|
assert(lref instanceof LocalReference, 0x2e0 /* "lref not a Local Reference" */);
|
|
173
172
|
}
|
|
174
173
|
|
|
175
174
|
/**
|
|
176
|
-
*
|
|
175
|
+
* Determines if the given function is true for any position within the collection.
|
|
177
176
|
*/
|
|
178
177
|
export function anyLocalReferencePosition(
|
|
179
178
|
collection: LocalReferenceCollection,
|
|
@@ -189,8 +188,7 @@ export function anyLocalReferencePosition(
|
|
|
189
188
|
}
|
|
190
189
|
|
|
191
190
|
/**
|
|
192
|
-
*
|
|
193
|
-
* true
|
|
191
|
+
* Finds the local reference positions that satisfy the given predicate.
|
|
194
192
|
*/
|
|
195
193
|
export function* filterLocalReferencePositions(
|
|
196
194
|
collection: LocalReferenceCollection,
|
|
@@ -209,7 +207,9 @@ export function* filterLocalReferencePositions(
|
|
|
209
207
|
*/
|
|
210
208
|
let validateRefCount: ((collection?: LocalReferenceCollection) => void) | undefined;
|
|
211
209
|
|
|
212
|
-
export function setValidateRefCount(
|
|
210
|
+
export function setValidateRefCount(
|
|
211
|
+
cb?: (collection?: LocalReferenceCollection) => void,
|
|
212
|
+
): void {
|
|
213
213
|
validateRefCount = cb;
|
|
214
214
|
}
|
|
215
215
|
|
|
@@ -223,7 +223,7 @@ export function setValidateRefCount(cb?: (collection?: LocalReferenceCollection)
|
|
|
223
223
|
* @alpha
|
|
224
224
|
*/
|
|
225
225
|
export class LocalReferenceCollection {
|
|
226
|
-
public static append(seg1: ISegment, seg2: ISegment) {
|
|
226
|
+
public static append(seg1: ISegment, seg2: ISegment): void {
|
|
227
227
|
if (seg2.localRefs && !seg2.localRefs.empty) {
|
|
228
228
|
if (!seg1.localRefs) {
|
|
229
229
|
seg1.localRefs = new LocalReferenceCollection(seg1);
|
|
@@ -242,18 +242,21 @@ export class LocalReferenceCollection {
|
|
|
242
242
|
validateRefCount?.(seg2.localRefs);
|
|
243
243
|
}
|
|
244
244
|
|
|
245
|
-
public static setOrGet(segment: ISegment) {
|
|
245
|
+
public static setOrGet(segment: ISegment): LocalReferenceCollection {
|
|
246
246
|
return (segment.localRefs ??= new LocalReferenceCollection(segment));
|
|
247
247
|
}
|
|
248
248
|
|
|
249
249
|
private readonly refsByOffset: (IRefsAtOffset | undefined)[];
|
|
250
250
|
private refCount: number = 0;
|
|
251
251
|
|
|
252
|
-
/***/
|
|
253
252
|
private constructor(
|
|
254
|
-
/**
|
|
253
|
+
/**
|
|
254
|
+
* The segment this `LocalReferenceCollection` is associated with.
|
|
255
|
+
*/
|
|
255
256
|
private readonly segment: ISegment,
|
|
256
|
-
initialRefsByfOffset
|
|
257
|
+
initialRefsByfOffset: (IRefsAtOffset | undefined)[] = Array.from({
|
|
258
|
+
length: segment.cachedLength,
|
|
259
|
+
}),
|
|
257
260
|
) {
|
|
258
261
|
// Since javascript arrays are sparse the above won't populate any of the
|
|
259
262
|
// indices, but it will ensure the length property of the array matches
|
|
@@ -262,9 +265,13 @@ export class LocalReferenceCollection {
|
|
|
262
265
|
}
|
|
263
266
|
|
|
264
267
|
/**
|
|
268
|
+
* Returns an iterator over this LocalReferenceCollection.
|
|
265
269
|
* @remarks This method should only be called by mergeTree.
|
|
266
270
|
*/
|
|
267
|
-
public [Symbol.iterator]() {
|
|
271
|
+
public [Symbol.iterator](): {
|
|
272
|
+
next(): IteratorResult<LocalReferencePosition>;
|
|
273
|
+
[Symbol.iterator](): IterableIterator<LocalReferencePosition>;
|
|
274
|
+
} {
|
|
268
275
|
const subiterators: IterableIterator<ListNode<LocalReferencePosition>>[] = [];
|
|
269
276
|
for (const refs of this.refsByOffset) {
|
|
270
277
|
if (refs) {
|
|
@@ -283,7 +290,9 @@ export class LocalReferenceCollection {
|
|
|
283
290
|
const iterator = {
|
|
284
291
|
next(): IteratorResult<LocalReferencePosition> {
|
|
285
292
|
while (subiterators.length > 0) {
|
|
286
|
-
|
|
293
|
+
// TODO Non null asserting, why is this not null?
|
|
294
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
295
|
+
const next = subiterators[0]!.next();
|
|
287
296
|
if (next.done === true) {
|
|
288
297
|
subiterators.shift();
|
|
289
298
|
} else {
|
|
@@ -293,7 +302,10 @@ export class LocalReferenceCollection {
|
|
|
293
302
|
|
|
294
303
|
return { value: undefined, done: true };
|
|
295
304
|
},
|
|
296
|
-
[Symbol.iterator]() {
|
|
305
|
+
[Symbol.iterator](): {
|
|
306
|
+
next(): IteratorResult<LocalReferencePosition>;
|
|
307
|
+
[Symbol.iterator](): IterableIterator<LocalReferencePosition>;
|
|
308
|
+
} {
|
|
297
309
|
return this;
|
|
298
310
|
},
|
|
299
311
|
};
|
|
@@ -301,14 +313,16 @@ export class LocalReferenceCollection {
|
|
|
301
313
|
}
|
|
302
314
|
|
|
303
315
|
/**
|
|
316
|
+
* Determines if the collection has no references in it.
|
|
304
317
|
* @remarks This method should only be called by mergeTree.
|
|
305
318
|
*/
|
|
306
|
-
public get empty() {
|
|
319
|
+
public get empty(): boolean {
|
|
307
320
|
validateRefCount?.(this);
|
|
308
321
|
return this.refCount === 0;
|
|
309
322
|
}
|
|
310
323
|
|
|
311
324
|
/**
|
|
325
|
+
* Creates a new local reference.
|
|
312
326
|
* @remarks This method should only be called by mergeTree.
|
|
313
327
|
*/
|
|
314
328
|
public createLocalRef(
|
|
@@ -328,9 +342,10 @@ export class LocalReferenceCollection {
|
|
|
328
342
|
}
|
|
329
343
|
|
|
330
344
|
/**
|
|
345
|
+
* Adds a local reference to the collection.
|
|
331
346
|
* @remarks This method should only be called by mergeTree.
|
|
332
347
|
*/
|
|
333
|
-
public addLocalRef(lref: LocalReferencePosition, offset: number) {
|
|
348
|
+
public addLocalRef(lref: LocalReferencePosition, offset: number): void {
|
|
334
349
|
assertLocalReferences(lref);
|
|
335
350
|
assert(
|
|
336
351
|
offset < this.segment.cachedLength,
|
|
@@ -352,6 +367,7 @@ export class LocalReferenceCollection {
|
|
|
352
367
|
}
|
|
353
368
|
|
|
354
369
|
/**
|
|
370
|
+
* Removes a local reference from the collection.
|
|
355
371
|
* @remarks This method should only be called by mergeTree.
|
|
356
372
|
*/
|
|
357
373
|
public removeLocalRef(lref: LocalReferencePosition): LocalReferencePosition | undefined {
|
|
@@ -380,7 +396,7 @@ export class LocalReferenceCollection {
|
|
|
380
396
|
*
|
|
381
397
|
* @remarks This method should only be called by mergeTree.
|
|
382
398
|
*/
|
|
383
|
-
public append(other: LocalReferenceCollection) {
|
|
399
|
+
public append(other: LocalReferenceCollection): void {
|
|
384
400
|
if (!other || other.empty) {
|
|
385
401
|
return;
|
|
386
402
|
}
|
|
@@ -439,8 +455,11 @@ export class LocalReferenceCollection {
|
|
|
439
455
|
*
|
|
440
456
|
* @remarks This method should only be called by mergeTree.
|
|
441
457
|
*/
|
|
442
|
-
public split(offset: number, splitSeg: ISegment) {
|
|
443
|
-
if (
|
|
458
|
+
public split(offset: number, splitSeg: ISegment): void {
|
|
459
|
+
if (this.empty) {
|
|
460
|
+
// shrink the offset array when empty and splitting
|
|
461
|
+
this.refsByOffset.length = offset;
|
|
462
|
+
} else {
|
|
444
463
|
const localRefs = new LocalReferenceCollection(
|
|
445
464
|
splitSeg,
|
|
446
465
|
this.refsByOffset.splice(offset, this.refsByOffset.length - offset),
|
|
@@ -453,17 +472,15 @@ export class LocalReferenceCollection {
|
|
|
453
472
|
this.refCount--;
|
|
454
473
|
localRefs.refCount++;
|
|
455
474
|
}
|
|
456
|
-
} else {
|
|
457
|
-
// shrink the offset array when empty and splitting
|
|
458
|
-
this.refsByOffset.length = offset;
|
|
459
475
|
}
|
|
460
476
|
validateRefCount?.(this);
|
|
461
477
|
}
|
|
462
478
|
|
|
463
479
|
/**
|
|
480
|
+
* Insert a reference before tombstoned references.
|
|
464
481
|
* @remarks This method should only be called by mergeTree.
|
|
465
482
|
*/
|
|
466
|
-
public addBeforeTombstones(...refs: Iterable<LocalReferencePosition>[]) {
|
|
483
|
+
public addBeforeTombstones(...refs: Iterable<LocalReferencePosition>[]): void {
|
|
467
484
|
const beforeRefs = this.refsByOffset[0]?.before ?? new DoublyLinkedList();
|
|
468
485
|
|
|
469
486
|
if (this.refsByOffset[0]?.before === undefined) {
|
|
@@ -494,9 +511,10 @@ export class LocalReferenceCollection {
|
|
|
494
511
|
validateRefCount?.(this);
|
|
495
512
|
}
|
|
496
513
|
/**
|
|
514
|
+
* Insert a reference after tombstoned references.
|
|
497
515
|
* @remarks This method should only be called by mergeTree.
|
|
498
516
|
*/
|
|
499
|
-
public addAfterTombstones(...refs: Iterable<LocalReferencePosition>[]) {
|
|
517
|
+
public addAfterTombstones(...refs: Iterable<LocalReferencePosition>[]): void {
|
|
500
518
|
const lastOffset = this.segment.cachedLength - 1;
|
|
501
519
|
const afterRefs = this.refsByOffset[lastOffset]?.after ?? new DoublyLinkedList();
|
|
502
520
|
|
|
@@ -525,9 +543,10 @@ export class LocalReferenceCollection {
|
|
|
525
543
|
}
|
|
526
544
|
|
|
527
545
|
/**
|
|
546
|
+
* Determines if a reference is after tombstoned references.
|
|
528
547
|
* @remarks This method should only be called by mergeTree.
|
|
529
548
|
*/
|
|
530
|
-
public isAfterTombstone(lref: LocalReferencePosition) {
|
|
549
|
+
public isAfterTombstone(lref: LocalReferencePosition): boolean {
|
|
531
550
|
const after = this.refsByOffset[lref.getOffset()]?.after;
|
|
532
551
|
if (after) {
|
|
533
552
|
assertLocalReferences(lref);
|
|
@@ -537,13 +556,14 @@ export class LocalReferenceCollection {
|
|
|
537
556
|
}
|
|
538
557
|
|
|
539
558
|
/**
|
|
559
|
+
* Walks all of the references in a collection.
|
|
540
560
|
* @remarks This method should only be called by mergeTree.
|
|
541
561
|
*/
|
|
542
562
|
public walkReferences(
|
|
543
563
|
visitor: (lref: LocalReferencePosition) => boolean | void | undefined,
|
|
544
564
|
start?: LocalReferencePosition,
|
|
545
565
|
forward: boolean = true,
|
|
546
|
-
) {
|
|
566
|
+
): boolean {
|
|
547
567
|
if (start !== undefined) {
|
|
548
568
|
if (!this.has(start)) {
|
|
549
569
|
throw new UsageError("start must be in collection");
|
|
@@ -575,7 +595,7 @@ export class LocalReferenceCollection {
|
|
|
575
595
|
}
|
|
576
596
|
}
|
|
577
597
|
|
|
578
|
-
const listWalker = (pos: DoublyLinkedList<LocalReference>) => {
|
|
598
|
+
const listWalker = (pos: DoublyLinkedList<LocalReference>): boolean => {
|
|
579
599
|
return walkList(
|
|
580
600
|
pos,
|
|
581
601
|
(node) => visitor(node.data),
|
|
@@ -587,10 +607,8 @@ export class LocalReferenceCollection {
|
|
|
587
607
|
while (offset >= 0 && offset < this.refsByOffset.length) {
|
|
588
608
|
while (offsetPositions.length > 0) {
|
|
589
609
|
const offsetPos = forward ? offsetPositions.shift() : offsetPositions.pop();
|
|
590
|
-
if (offsetPos?.data !== undefined) {
|
|
591
|
-
|
|
592
|
-
return false;
|
|
593
|
-
}
|
|
610
|
+
if (offsetPos?.data !== undefined && listWalker(offsetPos.data) === false) {
|
|
611
|
+
return false;
|
|
594
612
|
}
|
|
595
613
|
}
|
|
596
614
|
offset += increment;
|