@fluidframework/sequence 2.0.0-dev-rc.1.0.0.232845 → 2.0.0-dev-rc.2.0.0.246488
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 +4 -1
- package/{.mocharc.js → .mocharc.cjs} +1 -1
- package/CHANGELOG.md +8 -0
- package/README.md +2 -2
- package/{api-extractor-esm.json → api-extractor-cjs.json} +5 -1
- package/api-extractor.json +1 -1
- package/api-report/sequence.api.md +14 -27
- package/dist/{localValues.d.ts → IntervalCollectionValues.d.ts} +13 -12
- package/dist/IntervalCollectionValues.d.ts.map +1 -0
- package/dist/{localValues.js → IntervalCollectionValues.js} +4 -4
- package/dist/IntervalCollectionValues.js.map +1 -0
- package/dist/index.d.ts +11 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +42 -42
- package/dist/index.js.map +1 -1
- package/dist/intervalCollection.d.ts +15 -22
- package/dist/intervalCollection.d.ts.map +1 -1
- package/dist/intervalCollection.js +53 -108
- package/dist/intervalCollection.js.map +1 -1
- package/dist/{defaultMap.d.ts → intervalCollectionMap.d.ts} +18 -57
- package/dist/intervalCollectionMap.d.ts.map +1 -0
- package/dist/{defaultMap.js → intervalCollectionMap.js} +77 -129
- package/dist/intervalCollectionMap.js.map +1 -0
- package/{lib/defaultMapInterfaces.d.mts → dist/intervalCollectionMapInterfaces.d.ts} +16 -22
- package/dist/intervalCollectionMapInterfaces.d.ts.map +1 -0
- package/dist/{defaultMapInterfaces.js → intervalCollectionMapInterfaces.js} +1 -1
- package/dist/intervalCollectionMapInterfaces.js.map +1 -0
- package/dist/intervalIndex/endpointInRangeIndex.d.ts +3 -3
- package/dist/intervalIndex/endpointInRangeIndex.d.ts.map +1 -1
- package/dist/intervalIndex/endpointInRangeIndex.js +9 -9
- package/dist/intervalIndex/endpointInRangeIndex.js.map +1 -1
- package/dist/intervalIndex/endpointIndex.d.ts +3 -3
- package/dist/intervalIndex/endpointIndex.d.ts.map +1 -1
- package/dist/intervalIndex/endpointIndex.js +5 -5
- package/dist/intervalIndex/endpointIndex.js.map +1 -1
- package/dist/intervalIndex/idIntervalIndex.d.ts +2 -2
- package/dist/intervalIndex/idIntervalIndex.d.ts.map +1 -1
- package/dist/intervalIndex/idIntervalIndex.js +2 -2
- package/dist/intervalIndex/idIntervalIndex.js.map +1 -1
- package/dist/intervalIndex/index.d.ts +8 -8
- package/dist/intervalIndex/index.d.ts.map +1 -1
- package/dist/intervalIndex/index.js +16 -16
- package/dist/intervalIndex/index.js.map +1 -1
- package/dist/intervalIndex/intervalIndex.d.ts +1 -1
- package/dist/intervalIndex/intervalIndex.d.ts.map +1 -1
- package/dist/intervalIndex/intervalIndex.js.map +1 -1
- package/dist/intervalIndex/overlappingIntervalsIndex.d.ts +7 -10
- package/dist/intervalIndex/overlappingIntervalsIndex.d.ts.map +1 -1
- package/dist/intervalIndex/overlappingIntervalsIndex.js +12 -14
- package/dist/intervalIndex/overlappingIntervalsIndex.js.map +1 -1
- package/dist/intervalIndex/overlappingSequenceIntervalsIndex.d.ts +2 -2
- package/dist/intervalIndex/overlappingSequenceIntervalsIndex.d.ts.map +1 -1
- package/dist/intervalIndex/overlappingSequenceIntervalsIndex.js +8 -8
- package/dist/intervalIndex/overlappingSequenceIntervalsIndex.js.map +1 -1
- package/dist/intervalIndex/sequenceIntervalIndexes.d.ts +2 -2
- package/dist/intervalIndex/sequenceIntervalIndexes.d.ts.map +1 -1
- package/dist/intervalIndex/sequenceIntervalIndexes.js.map +1 -1
- package/dist/intervalIndex/startpointInRangeIndex.d.ts +3 -3
- package/dist/intervalIndex/startpointInRangeIndex.d.ts.map +1 -1
- package/dist/intervalIndex/startpointInRangeIndex.js +9 -9
- package/dist/intervalIndex/startpointInRangeIndex.js.map +1 -1
- package/dist/intervalTree.d.ts +1 -1
- package/dist/intervalTree.d.ts.map +1 -1
- package/dist/intervalTree.js.map +1 -1
- package/dist/intervals/index.d.ts +3 -3
- package/dist/intervals/index.d.ts.map +1 -1
- package/dist/intervals/index.js +16 -16
- package/dist/intervals/index.js.map +1 -1
- package/dist/intervals/interval.d.ts +2 -2
- package/dist/intervals/interval.d.ts.map +1 -1
- package/dist/intervals/interval.js +3 -3
- package/dist/intervals/interval.js.map +1 -1
- package/dist/intervals/intervalUtils.d.ts +3 -3
- package/dist/intervals/intervalUtils.d.ts.map +1 -1
- package/dist/intervals/intervalUtils.js +1 -1
- package/dist/intervals/intervalUtils.js.map +1 -1
- package/dist/intervals/sequenceInterval.d.ts +2 -2
- package/dist/intervals/sequenceInterval.d.ts.map +1 -1
- package/dist/intervals/sequenceInterval.js +22 -23
- package/dist/intervals/sequenceInterval.js.map +1 -1
- package/dist/package.json +3 -0
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/dist/revertibles.d.ts +12 -12
- package/dist/revertibles.d.ts.map +1 -1
- package/dist/revertibles.js +26 -26
- package/dist/revertibles.js.map +1 -1
- package/dist/sequence-alpha.d.ts +149 -13
- package/dist/sequence-beta.d.ts +2 -0
- package/dist/sequence-public.d.ts +2 -0
- package/dist/sequence-untrimmed.d.ts +50 -14
- package/dist/sequence.d.ts +38 -5
- package/dist/sequence.d.ts.map +1 -1
- package/dist/sequence.js +79 -35
- package/dist/sequence.js.map +1 -1
- package/dist/sequenceFactory.d.ts +4 -1
- package/dist/sequenceFactory.d.ts.map +1 -1
- package/dist/sequenceFactory.js +8 -5
- package/dist/sequenceFactory.js.map +1 -1
- package/dist/sharedIntervalCollection.d.ts +2 -2
- package/dist/sharedIntervalCollection.d.ts.map +1 -1
- package/dist/sharedIntervalCollection.js +5 -5
- package/dist/sharedIntervalCollection.js.map +1 -1
- package/dist/sharedSequence.d.ts +1 -1
- package/dist/sharedSequence.d.ts.map +1 -1
- package/dist/sharedSequence.js +2 -2
- package/dist/sharedSequence.js.map +1 -1
- package/dist/sharedString.d.ts +2 -2
- package/dist/sharedString.d.ts.map +1 -1
- package/dist/sharedString.js +6 -6
- package/dist/sharedString.js.map +1 -1
- package/dist/tsdoc-metadata.json +1 -1
- package/lib/{localValues.d.mts → IntervalCollectionValues.d.ts} +13 -12
- package/lib/IntervalCollectionValues.d.ts.map +1 -0
- package/lib/{localValues.mjs → IntervalCollectionValues.js} +2 -2
- package/lib/IntervalCollectionValues.js.map +1 -0
- package/lib/{index.d.mts → index.d.ts} +24 -12
- package/lib/index.d.ts.map +1 -0
- package/lib/{index.mjs → index.js} +11 -11
- package/lib/index.js.map +1 -0
- package/lib/{intervalCollection.d.mts → intervalCollection.d.ts} +16 -23
- package/lib/intervalCollection.d.ts.map +1 -0
- package/lib/{intervalCollection.mjs → intervalCollection.js} +17 -72
- package/lib/intervalCollection.js.map +1 -0
- package/lib/{defaultMap.d.mts → intervalCollectionMap.d.ts} +18 -57
- package/lib/intervalCollectionMap.d.ts.map +1 -0
- package/lib/{defaultMap.mjs → intervalCollectionMap.js} +75 -127
- package/lib/intervalCollectionMap.js.map +1 -0
- package/{dist/defaultMapInterfaces.d.ts → lib/intervalCollectionMapInterfaces.d.ts} +16 -22
- package/lib/intervalCollectionMapInterfaces.d.ts.map +1 -0
- package/lib/{intervalIndex/sequenceIntervalIndexes.mjs → intervalCollectionMapInterfaces.js} +1 -1
- package/lib/intervalCollectionMapInterfaces.js.map +1 -0
- package/lib/intervalIndex/{endpointInRangeIndex.d.mts → endpointInRangeIndex.d.ts} +4 -4
- package/lib/intervalIndex/endpointInRangeIndex.d.ts.map +1 -0
- package/lib/intervalIndex/{endpointInRangeIndex.mjs → endpointInRangeIndex.js} +3 -3
- package/lib/intervalIndex/endpointInRangeIndex.js.map +1 -0
- package/lib/intervalIndex/{endpointIndex.d.mts → endpointIndex.d.ts} +4 -4
- package/lib/intervalIndex/endpointIndex.d.ts.map +1 -0
- package/lib/intervalIndex/{endpointIndex.mjs → endpointIndex.js} +2 -2
- package/lib/intervalIndex/endpointIndex.js.map +1 -0
- package/lib/intervalIndex/{idIntervalIndex.d.mts → idIntervalIndex.d.ts} +3 -3
- package/lib/intervalIndex/idIntervalIndex.d.ts.map +1 -0
- package/lib/intervalIndex/{idIntervalIndex.mjs → idIntervalIndex.js} +2 -2
- package/lib/intervalIndex/idIntervalIndex.js.map +1 -0
- package/lib/intervalIndex/{index.d.mts → index.d.ts} +9 -9
- package/lib/intervalIndex/index.d.ts.map +1 -0
- package/lib/intervalIndex/{index.mjs → index.js} +7 -7
- package/lib/intervalIndex/index.js.map +1 -0
- package/lib/intervalIndex/{intervalIndex.d.mts → intervalIndex.d.ts} +2 -2
- package/lib/intervalIndex/intervalIndex.d.ts.map +1 -0
- package/lib/intervalIndex/{intervalIndex.mjs → intervalIndex.js} +1 -1
- package/lib/intervalIndex/intervalIndex.js.map +1 -0
- package/lib/intervalIndex/{intervalIndexUtils.d.mts → intervalIndexUtils.d.ts} +1 -1
- package/lib/intervalIndex/intervalIndexUtils.d.ts.map +1 -0
- package/lib/intervalIndex/{intervalIndexUtils.mjs → intervalIndexUtils.js} +1 -1
- package/lib/intervalIndex/intervalIndexUtils.js.map +1 -0
- package/lib/intervalIndex/{overlappingIntervalsIndex.d.mts → overlappingIntervalsIndex.d.ts} +8 -11
- package/lib/intervalIndex/overlappingIntervalsIndex.d.ts.map +1 -0
- package/lib/intervalIndex/{overlappingIntervalsIndex.mjs → overlappingIntervalsIndex.js} +8 -10
- package/lib/intervalIndex/overlappingIntervalsIndex.js.map +1 -0
- package/lib/intervalIndex/{overlappingSequenceIntervalsIndex.d.mts → overlappingSequenceIntervalsIndex.d.ts} +3 -3
- package/lib/intervalIndex/overlappingSequenceIntervalsIndex.d.ts.map +1 -0
- package/lib/intervalIndex/{overlappingSequenceIntervalsIndex.mjs → overlappingSequenceIntervalsIndex.js} +3 -3
- package/lib/intervalIndex/overlappingSequenceIntervalsIndex.js.map +1 -0
- package/lib/intervalIndex/{sequenceIntervalIndexes.d.mts → sequenceIntervalIndexes.d.ts} +3 -3
- package/lib/intervalIndex/sequenceIntervalIndexes.d.ts.map +1 -0
- package/lib/{defaultMapInterfaces.mjs → intervalIndex/sequenceIntervalIndexes.js} +1 -1
- package/lib/intervalIndex/sequenceIntervalIndexes.js.map +1 -0
- package/lib/intervalIndex/{startpointInRangeIndex.d.mts → startpointInRangeIndex.d.ts} +4 -4
- package/lib/intervalIndex/startpointInRangeIndex.d.ts.map +1 -0
- package/lib/intervalIndex/{startpointInRangeIndex.mjs → startpointInRangeIndex.js} +3 -3
- package/lib/intervalIndex/startpointInRangeIndex.js.map +1 -0
- package/lib/{intervalTree.d.mts → intervalTree.d.ts} +2 -2
- package/lib/intervalTree.d.ts.map +1 -0
- package/lib/{intervalTree.mjs → intervalTree.js} +1 -1
- package/lib/intervalTree.js.map +1 -0
- package/lib/intervals/{index.d.mts → index.d.ts} +4 -4
- package/lib/intervals/index.d.ts.map +1 -0
- package/lib/intervals/{index.mjs → index.js} +4 -4
- package/lib/intervals/index.js.map +1 -0
- package/lib/intervals/{interval.d.mts → interval.d.ts} +3 -3
- package/lib/intervals/{interval.d.mts.map → interval.d.ts.map} +1 -1
- package/lib/intervals/{interval.mjs → interval.js} +2 -2
- package/lib/intervals/interval.js.map +1 -0
- package/lib/intervals/{intervalUtils.d.mts → intervalUtils.d.ts} +4 -4
- package/lib/intervals/intervalUtils.d.ts.map +1 -0
- package/lib/intervals/{intervalUtils.mjs → intervalUtils.js} +3 -2
- package/lib/intervals/intervalUtils.js.map +1 -0
- package/lib/intervals/{sequenceInterval.d.mts → sequenceInterval.d.ts} +3 -3
- package/lib/intervals/sequenceInterval.d.ts.map +1 -0
- package/lib/intervals/{sequenceInterval.mjs → sequenceInterval.js} +5 -4
- package/lib/intervals/{sequenceInterval.mjs.map → sequenceInterval.js.map} +1 -1
- package/lib/{packageVersion.d.mts → packageVersion.d.ts} +2 -2
- package/lib/packageVersion.d.ts.map +1 -0
- package/lib/{packageVersion.mjs → packageVersion.js} +2 -2
- package/lib/packageVersion.js.map +1 -0
- package/lib/{revertibles.d.mts → revertibles.d.ts} +13 -13
- package/lib/revertibles.d.ts.map +1 -0
- package/lib/{revertibles.mjs → revertibles.js} +11 -10
- package/lib/revertibles.js.map +1 -0
- package/lib/{sequence-alpha.d.mts → sequence-alpha.d.ts} +162 -13
- package/lib/{sequence-beta.d.mts → sequence-beta.d.ts} +15 -0
- package/lib/{sequence-public.d.mts → sequence-public.d.ts} +15 -0
- package/lib/{sequence-untrimmed.d.mts → sequence-untrimmed.d.ts} +63 -14
- package/lib/{sequence.d.mts → sequence.d.ts} +39 -6
- package/lib/sequence.d.ts.map +1 -0
- package/lib/{sequence.mjs → sequence.js} +78 -34
- package/lib/sequence.js.map +1 -0
- package/lib/{sequenceDeltaEvent.d.mts → sequenceDeltaEvent.d.ts} +1 -1
- package/lib/sequenceDeltaEvent.d.ts.map +1 -0
- package/lib/{sequenceDeltaEvent.mjs → sequenceDeltaEvent.js} +1 -1
- package/lib/sequenceDeltaEvent.js.map +1 -0
- package/lib/{sequenceFactory.d.mts → sequenceFactory.d.ts} +5 -2
- package/lib/sequenceFactory.d.ts.map +1 -0
- package/lib/{sequenceFactory.mjs → sequenceFactory.js} +6 -3
- package/lib/sequenceFactory.js.map +1 -0
- package/lib/{sharedIntervalCollection.d.mts → sharedIntervalCollection.d.ts} +3 -3
- package/lib/sharedIntervalCollection.d.ts.map +1 -0
- package/lib/{sharedIntervalCollection.mjs → sharedIntervalCollection.js} +5 -5
- package/lib/sharedIntervalCollection.js.map +1 -0
- package/lib/{sharedSequence.d.mts → sharedSequence.d.ts} +2 -2
- package/lib/sharedSequence.d.ts.map +1 -0
- package/lib/{sharedSequence.mjs → sharedSequence.js} +2 -2
- package/lib/sharedSequence.js.map +1 -0
- package/lib/{sharedString.d.mts → sharedString.d.ts} +3 -3
- package/lib/sharedString.d.ts.map +1 -0
- package/lib/{sharedString.mjs → sharedString.js} +3 -3
- package/lib/sharedString.js.map +1 -0
- package/lib/test/collections.intervalTree.js +73 -0
- package/lib/test/collections.intervalTree.js.map +1 -0
- package/lib/test/createSnapshotFiles.js +15 -0
- package/lib/test/createSnapshotFiles.js.map +1 -0
- package/lib/test/dirname.cjs +16 -0
- package/lib/test/dirname.cjs.map +1 -0
- package/lib/test/endpointInRangeIndex.spec.js +182 -0
- package/lib/test/endpointInRangeIndex.spec.js.map +1 -0
- package/lib/test/fuzz/fuzzUtils.js +362 -0
- package/lib/test/fuzz/fuzzUtils.js.map +1 -0
- package/lib/test/fuzz/intervalCollection.fuzz.spec.js +87 -0
- package/lib/test/fuzz/intervalCollection.fuzz.spec.js.map +1 -0
- package/lib/test/fuzz/intervalRevertibles.fuzz.spec.js +128 -0
- package/lib/test/fuzz/intervalRevertibles.fuzz.spec.js.map +1 -0
- package/lib/test/fuzz/sharedString.fuzz.spec.js +91 -0
- package/lib/test/fuzz/sharedString.fuzz.spec.js.map +1 -0
- package/lib/test/generateSharedStrings.js +138 -0
- package/lib/test/generateSharedStrings.js.map +1 -0
- package/lib/test/intervalCollection.detached.spec.js +128 -0
- package/lib/test/intervalCollection.detached.spec.js.map +1 -0
- package/lib/test/intervalCollection.events.spec.js +491 -0
- package/lib/test/intervalCollection.events.spec.js.map +1 -0
- package/lib/test/intervalCollection.perf.spec.js +88 -0
- package/lib/test/intervalCollection.perf.spec.js.map +1 -0
- package/lib/test/intervalCollection.snapshot.spec.js +171 -0
- package/lib/test/intervalCollection.snapshot.spec.js.map +1 -0
- package/lib/test/intervalCollection.spec.js +1660 -0
- package/lib/test/intervalCollection.spec.js.map +1 -0
- package/lib/test/intervalIndexTestUtils.js +49 -0
- package/lib/test/intervalIndexTestUtils.js.map +1 -0
- package/lib/test/intervalRebasing.spec.js +589 -0
- package/lib/test/intervalRebasing.spec.js.map +1 -0
- package/lib/test/intervalStashedOps.spec.js +142 -0
- package/lib/test/intervalStashedOps.spec.js.map +1 -0
- package/lib/test/intervalTestUtils.js +81 -0
- package/lib/test/intervalTestUtils.js.map +1 -0
- package/lib/test/marshalling.spec.js +55 -0
- package/lib/test/marshalling.spec.js.map +1 -0
- package/lib/test/memory/sharedSequence.spec.js +82 -0
- package/lib/test/memory/sharedSequence.spec.js.map +1 -0
- package/lib/test/memory/sharedString.spec.js +134 -0
- package/lib/test/memory/sharedString.spec.js.map +1 -0
- package/lib/test/overlappingSequenceIntervalsIndex.spec.js +348 -0
- package/lib/test/overlappingSequenceIntervalsIndex.spec.js.map +1 -0
- package/lib/test/partialLoad.spec.js +211 -0
- package/lib/test/partialLoad.spec.js.map +1 -0
- package/lib/test/rebasing.spec.js +81 -0
- package/lib/test/rebasing.spec.js.map +1 -0
- package/lib/test/reentrancy.spec.js +174 -0
- package/lib/test/reentrancy.spec.js.map +1 -0
- package/lib/test/revertibles.spec.js +1019 -0
- package/lib/test/revertibles.spec.js.map +1 -0
- package/lib/test/sequenceDeltaEvent.spec.js +2144 -0
- package/lib/test/sequenceDeltaEvent.spec.js.map +1 -0
- package/lib/test/sharedIntervalCollection.spec.js +159 -0
- package/lib/test/sharedIntervalCollection.spec.js.map +1 -0
- package/lib/test/sharedString.spec.js +532 -0
- package/lib/test/sharedString.spec.js.map +1 -0
- package/lib/test/snapshotEmptyProps.spec.js +45 -0
- package/lib/test/snapshotEmptyProps.spec.js.map +1 -0
- package/lib/test/snapshotVersion.spec.js +149 -0
- package/lib/test/snapshotVersion.spec.js.map +1 -0
- package/lib/test/startpointInRangeIndex.spec.js +182 -0
- package/lib/test/startpointInRangeIndex.spec.js.map +1 -0
- package/lib/test/subSequence.spec.js +92 -0
- package/lib/test/subSequence.spec.js.map +1 -0
- package/lib/test/types/validateSequencePrevious.generated.js +162 -0
- package/lib/test/types/validateSequencePrevious.generated.js.map +1 -0
- package/lib/test/v1IntervalCollectionHelpers.js +93 -0
- package/lib/test/v1IntervalCollectionHelpers.js.map +1 -0
- package/package.json +64 -60
- package/src/{localValues.ts → IntervalCollectionValues.ts} +23 -17
- package/src/index.ts +15 -11
- package/src/intervalCollection.ts +37 -104
- package/src/{defaultMap.ts → intervalCollectionMap.ts} +120 -211
- package/src/{defaultMapInterfaces.ts → intervalCollectionMapInterfaces.ts} +24 -23
- package/src/intervalIndex/endpointInRangeIndex.ts +5 -4
- package/src/intervalIndex/endpointIndex.ts +4 -3
- package/src/intervalIndex/idIntervalIndex.ts +3 -4
- package/src/intervalIndex/index.ts +8 -8
- package/src/intervalIndex/intervalIndex.ts +1 -1
- package/src/intervalIndex/overlappingIntervalsIndex.ts +11 -11
- package/src/intervalIndex/overlappingSequenceIntervalsIndex.ts +5 -4
- package/src/intervalIndex/sequenceIntervalIndexes.ts +2 -2
- package/src/intervalIndex/startpointInRangeIndex.ts +5 -4
- package/src/intervalTree.ts +1 -1
- package/src/intervals/index.ts +3 -3
- package/src/intervals/interval.ts +3 -4
- package/src/intervals/intervalUtils.ts +3 -3
- package/src/intervals/sequenceInterval.ts +3 -4
- package/src/packageVersion.ts +1 -1
- package/src/revertibles.ts +13 -13
- package/src/sequence.ts +101 -55
- package/src/sequenceFactory.ts +5 -2
- package/src/sharedIntervalCollection.ts +7 -11
- package/src/sharedSequence.ts +1 -1
- package/src/sharedString.ts +2 -2
- package/tsconfig.cjs.json +7 -0
- package/tsconfig.json +2 -5
- package/dist/defaultMap.d.ts.map +0 -1
- package/dist/defaultMap.js.map +0 -1
- package/dist/defaultMapInterfaces.d.ts.map +0 -1
- package/dist/defaultMapInterfaces.js.map +0 -1
- package/dist/localValues.d.ts.map +0 -1
- package/dist/localValues.js.map +0 -1
- package/lib/defaultMap.d.mts.map +0 -1
- package/lib/defaultMap.mjs.map +0 -1
- package/lib/defaultMapInterfaces.d.mts.map +0 -1
- package/lib/defaultMapInterfaces.mjs.map +0 -1
- package/lib/index.d.mts.map +0 -1
- package/lib/index.mjs.map +0 -1
- package/lib/intervalCollection.d.mts.map +0 -1
- package/lib/intervalCollection.mjs.map +0 -1
- package/lib/intervalIndex/endpointInRangeIndex.d.mts.map +0 -1
- package/lib/intervalIndex/endpointInRangeIndex.mjs.map +0 -1
- package/lib/intervalIndex/endpointIndex.d.mts.map +0 -1
- package/lib/intervalIndex/endpointIndex.mjs.map +0 -1
- package/lib/intervalIndex/idIntervalIndex.d.mts.map +0 -1
- package/lib/intervalIndex/idIntervalIndex.mjs.map +0 -1
- package/lib/intervalIndex/index.d.mts.map +0 -1
- package/lib/intervalIndex/index.mjs.map +0 -1
- package/lib/intervalIndex/intervalIndex.d.mts.map +0 -1
- package/lib/intervalIndex/intervalIndex.mjs.map +0 -1
- package/lib/intervalIndex/intervalIndexUtils.d.mts.map +0 -1
- package/lib/intervalIndex/intervalIndexUtils.mjs.map +0 -1
- package/lib/intervalIndex/overlappingIntervalsIndex.d.mts.map +0 -1
- package/lib/intervalIndex/overlappingIntervalsIndex.mjs.map +0 -1
- package/lib/intervalIndex/overlappingSequenceIntervalsIndex.d.mts.map +0 -1
- package/lib/intervalIndex/overlappingSequenceIntervalsIndex.mjs.map +0 -1
- package/lib/intervalIndex/sequenceIntervalIndexes.d.mts.map +0 -1
- package/lib/intervalIndex/sequenceIntervalIndexes.mjs.map +0 -1
- package/lib/intervalIndex/startpointInRangeIndex.d.mts.map +0 -1
- package/lib/intervalIndex/startpointInRangeIndex.mjs.map +0 -1
- package/lib/intervalTree.d.mts.map +0 -1
- package/lib/intervalTree.mjs.map +0 -1
- package/lib/intervals/index.d.mts.map +0 -1
- package/lib/intervals/index.mjs.map +0 -1
- package/lib/intervals/interval.mjs.map +0 -1
- package/lib/intervals/intervalUtils.d.mts.map +0 -1
- package/lib/intervals/intervalUtils.mjs.map +0 -1
- package/lib/intervals/sequenceInterval.d.mts.map +0 -1
- package/lib/localValues.d.mts.map +0 -1
- package/lib/localValues.mjs.map +0 -1
- package/lib/packageVersion.d.mts.map +0 -1
- package/lib/packageVersion.mjs.map +0 -1
- package/lib/revertibles.d.mts.map +0 -1
- package/lib/revertibles.mjs.map +0 -1
- package/lib/sequence.d.mts.map +0 -1
- package/lib/sequence.mjs.map +0 -1
- package/lib/sequenceDeltaEvent.d.mts.map +0 -1
- package/lib/sequenceDeltaEvent.mjs.map +0 -1
- package/lib/sequenceFactory.d.mts.map +0 -1
- package/lib/sequenceFactory.mjs.map +0 -1
- package/lib/sharedIntervalCollection.d.mts.map +0 -1
- package/lib/sharedIntervalCollection.mjs.map +0 -1
- package/lib/sharedSequence.d.mts.map +0 -1
- package/lib/sharedSequence.mjs.map +0 -1
- package/lib/sharedString.d.mts.map +0 -1
- package/lib/sharedString.mjs.map +0 -1
|
@@ -6,9 +6,9 @@ import { TypedEventEmitter } from "@fluid-internal/client-utils";
|
|
|
6
6
|
import { IEvent } from "@fluidframework/core-interfaces";
|
|
7
7
|
import { Client, PropertySet, LocalReferencePosition } from "@fluidframework/merge-tree";
|
|
8
8
|
import { ISequencedDocumentMessage } from "@fluidframework/protocol-definitions";
|
|
9
|
-
import { IMapMessageLocalMetadata,
|
|
10
|
-
import { CompressedSerializedInterval, IIntervalHelpers, Interval, IntervalOpType, IntervalStickiness, IntervalType, ISerializableInterval, ISerializedInterval, SequenceInterval, SerializedIntervalDelta } from "./intervals";
|
|
11
|
-
import { IEndpointIndex, IIdIntervalIndex, IOverlappingIntervalsIndex, IntervalIndex } from "./intervalIndex";
|
|
9
|
+
import { IMapMessageLocalMetadata, IIntervalCollectionFactory, IValueOpEmitter, IIntervalCollectionOperation, IIntervalCollectionType, SequenceOptions } from "./intervalCollectionMapInterfaces.js";
|
|
10
|
+
import { CompressedSerializedInterval, IIntervalHelpers, Interval, IntervalOpType, IntervalStickiness, IntervalType, ISerializableInterval, ISerializedInterval, SequenceInterval, SerializedIntervalDelta } from "./intervals/index.js";
|
|
11
|
+
import { IEndpointIndex, IIdIntervalIndex, IOverlappingIntervalsIndex, IntervalIndex } from "./intervalIndex/index.js";
|
|
12
12
|
/**
|
|
13
13
|
* Defines a position and side relative to a character in a sequence.
|
|
14
14
|
*
|
|
@@ -55,6 +55,7 @@ export declare enum Side {
|
|
|
55
55
|
Before = 0,
|
|
56
56
|
After = 1
|
|
57
57
|
}
|
|
58
|
+
export declare const reservedIntervalIdKey = "intervalId";
|
|
58
59
|
export interface ISerializedIntervalCollectionV2 {
|
|
59
60
|
label: string;
|
|
60
61
|
version: 2;
|
|
@@ -67,9 +68,11 @@ export declare function sidesFromStickiness(stickiness: IntervalStickiness): {
|
|
|
67
68
|
export declare function endpointPosAndSide(start: SequencePlace | undefined, end: SequencePlace | undefined): {
|
|
68
69
|
startSide: Side | undefined;
|
|
69
70
|
endSide: Side | undefined;
|
|
70
|
-
startPos: number | "
|
|
71
|
-
endPos: number | "
|
|
71
|
+
startPos: number | "start" | "end" | undefined;
|
|
72
|
+
endPos: number | "start" | "end" | undefined;
|
|
72
73
|
};
|
|
74
|
+
export declare function toSequencePlace(pos: number | "start" | "end", side: Side | undefined): SequencePlace;
|
|
75
|
+
export declare function toOptionalSequencePlace(pos: number | "start" | "end" | undefined, side: Side | undefined): SequencePlace | undefined;
|
|
73
76
|
export declare function computeStickinessFromSide(startPos?: number | "start" | "end" | undefined, startSide?: Side, endPos?: number | "start" | "end" | undefined, endSide?: Side): IntervalStickiness;
|
|
74
77
|
export declare function createIntervalIndex(): LocalIntervalCollection<Interval>;
|
|
75
78
|
export declare class LocalIntervalCollection<TInterval extends ISerializableInterval> {
|
|
@@ -110,23 +113,23 @@ export declare class LocalIntervalCollection<TInterval extends ISerializableInte
|
|
|
110
113
|
private addIntervalListeners;
|
|
111
114
|
private removeIntervalListeners;
|
|
112
115
|
}
|
|
113
|
-
export declare class SequenceIntervalCollectionValueType implements
|
|
116
|
+
export declare class SequenceIntervalCollectionValueType implements IIntervalCollectionType<SequenceInterval> {
|
|
114
117
|
static Name: string;
|
|
115
118
|
get name(): string;
|
|
116
|
-
get factory():
|
|
117
|
-
get ops(): Map<IntervalOpType,
|
|
119
|
+
get factory(): IIntervalCollectionFactory<SequenceInterval>;
|
|
120
|
+
get ops(): Map<IntervalOpType, IIntervalCollectionOperation<SequenceInterval>>;
|
|
118
121
|
private static readonly _factory;
|
|
119
122
|
private static readonly _ops;
|
|
120
123
|
}
|
|
121
|
-
export declare class IntervalCollectionValueType implements
|
|
124
|
+
export declare class IntervalCollectionValueType implements IIntervalCollectionType<Interval> {
|
|
122
125
|
static Name: string;
|
|
123
126
|
get name(): string;
|
|
124
|
-
get factory():
|
|
125
|
-
get ops(): Map<IntervalOpType,
|
|
127
|
+
get factory(): IIntervalCollectionFactory<Interval>;
|
|
128
|
+
get ops(): Map<IntervalOpType, IIntervalCollectionOperation<Interval>>;
|
|
126
129
|
private static readonly _factory;
|
|
127
130
|
private static readonly _ops;
|
|
128
131
|
}
|
|
129
|
-
export declare function makeOpsMap<T extends ISerializableInterval>(): Map<IntervalOpType,
|
|
132
|
+
export declare function makeOpsMap<T extends ISerializableInterval>(): Map<IntervalOpType, IIntervalCollectionOperation<T>>;
|
|
130
133
|
/**
|
|
131
134
|
* @alpha
|
|
132
135
|
*/
|
|
@@ -398,7 +401,6 @@ export declare class IntervalCollection<TInterval extends ISerializableInterval>
|
|
|
398
401
|
private readonly pendingChangesStart;
|
|
399
402
|
private readonly pendingChangesEnd;
|
|
400
403
|
get attached(): boolean;
|
|
401
|
-
/** @internal */
|
|
402
404
|
constructor(helpers: IIntervalHelpers<TInterval>, requiresClient: boolean, emitter: IValueOpEmitter, serializedIntervals: ISerializedInterval[] | ISerializedIntervalCollectionV2, options?: Partial<SequenceOptions>);
|
|
403
405
|
/**
|
|
404
406
|
* {@inheritdoc IIntervalCollection.attachIndex}
|
|
@@ -410,7 +412,6 @@ export declare class IntervalCollection<TInterval extends ISerializableInterval>
|
|
|
410
412
|
detachIndex(index: IntervalIndex<TInterval>): boolean;
|
|
411
413
|
private rebasePositionWithSegmentSlide;
|
|
412
414
|
private computeRebasedPositions;
|
|
413
|
-
/** @internal */
|
|
414
415
|
attachGraph(client: Client, label: string): void;
|
|
415
416
|
/**
|
|
416
417
|
* Gets the next local sequence number, modifying this client's collab window in doing so.
|
|
@@ -450,7 +451,6 @@ export declare class IntervalCollection<TInterval extends ISerializableInterval>
|
|
|
450
451
|
private removePendingChangeHelper;
|
|
451
452
|
private hasPendingChangeStart;
|
|
452
453
|
private hasPendingChangeEnd;
|
|
453
|
-
/** @internal */
|
|
454
454
|
ackChange(serializedInterval: ISerializedInterval, local: boolean, op: ISequencedDocumentMessage, localOpMetadata: IMapMessageLocalMetadata | undefined): void;
|
|
455
455
|
/**
|
|
456
456
|
* {@inheritdoc IIntervalCollection.attachDeserializer}
|
|
@@ -461,19 +461,12 @@ export declare class IntervalCollection<TInterval extends ISerializableInterval>
|
|
|
461
461
|
* deleted as a result of rebasing. This can occur if the interval applies
|
|
462
462
|
* to a range that no longer exists, and the interval was unable to slide.
|
|
463
463
|
*
|
|
464
|
-
* @internal
|
|
465
464
|
*/
|
|
466
465
|
rebaseLocalInterval(opName: string, serializedInterval: SerializedIntervalDelta, localSeq: number): SerializedIntervalDelta | undefined;
|
|
467
|
-
applyStashedOp(op: IValueTypeOperationValue): IMapMessageLocalMetadata;
|
|
468
466
|
private getSlideToSegment;
|
|
469
467
|
private ackInterval;
|
|
470
|
-
/** @internal */
|
|
471
468
|
ackAdd(serializedInterval: ISerializedInterval, local: boolean, op: ISequencedDocumentMessage, localOpMetadata: IMapMessageLocalMetadata | undefined): TInterval | undefined;
|
|
472
|
-
/** @internal */
|
|
473
469
|
ackDelete(serializedInterval: ISerializedInterval, local: boolean, op: ISequencedDocumentMessage): void;
|
|
474
|
-
/**
|
|
475
|
-
* @internal
|
|
476
|
-
*/
|
|
477
470
|
serializeInternal(): ISerializedIntervalCollectionV2;
|
|
478
471
|
/**
|
|
479
472
|
* @returns an iterator over all intervals in this collection.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intervalCollection.d.ts","sourceRoot":"","sources":["../src/intervalCollection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"intervalCollection.d.ts","sourceRoot":"","sources":["../src/intervalCollection.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Licensed under the MIT License.
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.intervalLocatorFromEndpoint = exports.IntervalCollection = exports.makeOpsMap = exports.IntervalCollectionValueType = exports.SequenceIntervalCollectionValueType = exports.LocalIntervalCollection = exports.createIntervalIndex = exports.computeStickinessFromSide = exports.endpointPosAndSide = exports.sidesFromStickiness = exports.Side = void 0;
|
|
7
|
+
exports.intervalLocatorFromEndpoint = exports.IntervalCollection = exports.makeOpsMap = exports.IntervalCollectionValueType = exports.SequenceIntervalCollectionValueType = exports.LocalIntervalCollection = exports.createIntervalIndex = exports.computeStickinessFromSide = exports.toOptionalSequencePlace = exports.toSequencePlace = exports.endpointPosAndSide = exports.sidesFromStickiness = exports.reservedIntervalIdKey = exports.Side = void 0;
|
|
8
8
|
/* eslint-disable no-bitwise */
|
|
9
9
|
/* eslint-disable import/no-deprecated */
|
|
10
10
|
const client_utils_1 = require("@fluid-internal/client-utils");
|
|
@@ -12,8 +12,8 @@ const core_utils_1 = require("@fluidframework/core-utils");
|
|
|
12
12
|
const merge_tree_1 = require("@fluidframework/merge-tree");
|
|
13
13
|
const telemetry_utils_1 = require("@fluidframework/telemetry-utils");
|
|
14
14
|
const uuid_1 = require("uuid");
|
|
15
|
-
const
|
|
16
|
-
const
|
|
15
|
+
const index_js_1 = require("./intervals/index.js");
|
|
16
|
+
const index_js_2 = require("./intervalIndex/index.js");
|
|
17
17
|
/**
|
|
18
18
|
* Defines a side relative to a character in a sequence.
|
|
19
19
|
*
|
|
@@ -25,10 +25,10 @@ var Side;
|
|
|
25
25
|
Side[Side["Before"] = 0] = "Before";
|
|
26
26
|
Side[Side["After"] = 1] = "After";
|
|
27
27
|
})(Side || (exports.Side = Side = {}));
|
|
28
|
-
|
|
28
|
+
exports.reservedIntervalIdKey = "intervalId";
|
|
29
29
|
function sidesFromStickiness(stickiness) {
|
|
30
|
-
const startSide = (stickiness &
|
|
31
|
-
const endSide = (stickiness &
|
|
30
|
+
const startSide = (stickiness & index_js_1.IntervalStickiness.START) !== 0 ? Side.After : Side.Before;
|
|
31
|
+
const endSide = (stickiness & index_js_1.IntervalStickiness.END) !== 0 ? Side.Before : Side.After;
|
|
32
32
|
return { startSide, endSide };
|
|
33
33
|
}
|
|
34
34
|
exports.sidesFromStickiness = sidesFromStickiness;
|
|
@@ -37,7 +37,7 @@ exports.sidesFromStickiness = sidesFromStickiness;
|
|
|
37
37
|
* of this compression is unspecified and subject to change
|
|
38
38
|
*/
|
|
39
39
|
function decompressInterval(interval, label) {
|
|
40
|
-
const stickiness = interval[5] ??
|
|
40
|
+
const stickiness = interval[5] ?? index_js_1.IntervalStickiness.END;
|
|
41
41
|
const { startSide, endSide } = sidesFromStickiness(stickiness);
|
|
42
42
|
return {
|
|
43
43
|
start: interval[0],
|
|
@@ -65,7 +65,7 @@ function compressInterval(interval) {
|
|
|
65
65
|
// in the `label` field of the summary
|
|
66
66
|
{ ...properties, [merge_tree_1.reservedRangeLabelsKey]: undefined },
|
|
67
67
|
];
|
|
68
|
-
if (interval.stickiness !== undefined && interval.stickiness !==
|
|
68
|
+
if (interval.stickiness !== undefined && interval.stickiness !== index_js_1.IntervalStickiness.END) {
|
|
69
69
|
// reassignment to make it easier for typescript to reason about types
|
|
70
70
|
base = [...base, interval.stickiness];
|
|
71
71
|
}
|
|
@@ -87,25 +87,27 @@ function endpointPosAndSide(start, end) {
|
|
|
87
87
|
}
|
|
88
88
|
exports.endpointPosAndSide = endpointPosAndSide;
|
|
89
89
|
function toSequencePlace(pos, side) {
|
|
90
|
-
return typeof pos === "number" ? { pos, side } : pos;
|
|
90
|
+
return typeof pos === "number" && side !== undefined ? { pos, side } : pos;
|
|
91
91
|
}
|
|
92
|
-
|
|
93
|
-
|
|
92
|
+
exports.toSequencePlace = toSequencePlace;
|
|
93
|
+
function toOptionalSequencePlace(pos, side) {
|
|
94
|
+
return typeof pos === "number" && side !== undefined ? { pos, side } : pos;
|
|
94
95
|
}
|
|
96
|
+
exports.toOptionalSequencePlace = toOptionalSequencePlace;
|
|
95
97
|
function computeStickinessFromSide(startPos = -1, startSide = Side.Before, endPos = -1, endSide = Side.Before) {
|
|
96
|
-
let stickiness =
|
|
98
|
+
let stickiness = index_js_1.IntervalStickiness.NONE;
|
|
97
99
|
if (startSide === Side.After || startPos === "start") {
|
|
98
|
-
stickiness |=
|
|
100
|
+
stickiness |= index_js_1.IntervalStickiness.START;
|
|
99
101
|
}
|
|
100
102
|
if (endSide === Side.Before || endPos === "end") {
|
|
101
|
-
stickiness |=
|
|
103
|
+
stickiness |= index_js_1.IntervalStickiness.END;
|
|
102
104
|
}
|
|
103
105
|
return stickiness;
|
|
104
106
|
}
|
|
105
107
|
exports.computeStickinessFromSide = computeStickinessFromSide;
|
|
106
108
|
function createIntervalIndex() {
|
|
107
109
|
const helpers = {
|
|
108
|
-
create:
|
|
110
|
+
create: index_js_1.createInterval,
|
|
109
111
|
};
|
|
110
112
|
const lc = new LocalIntervalCollection(undefined, "", helpers, {});
|
|
111
113
|
return lc;
|
|
@@ -120,9 +122,9 @@ class LocalIntervalCollection {
|
|
|
120
122
|
this.helpers = helpers;
|
|
121
123
|
this.options = options;
|
|
122
124
|
this.onPositionChange = onPositionChange;
|
|
123
|
-
this.overlappingIntervalsIndex = new
|
|
124
|
-
this.idIntervalIndex = (0,
|
|
125
|
-
this.endIntervalIndex = new
|
|
125
|
+
this.overlappingIntervalsIndex = new index_js_2.OverlappingIntervalsIndex(client, helpers);
|
|
126
|
+
this.idIntervalIndex = (0, index_js_2.createIdIntervalIndex)();
|
|
127
|
+
this.endIntervalIndex = new index_js_2.EndpointIndex(client, helpers);
|
|
126
128
|
this.indexes = new Set([
|
|
127
129
|
this.overlappingIntervalsIndex,
|
|
128
130
|
this.idIntervalIndex,
|
|
@@ -142,19 +144,19 @@ class LocalIntervalCollection {
|
|
|
142
144
|
* @returns The interval's existing or newly created id
|
|
143
145
|
*/
|
|
144
146
|
ensureSerializedId(serializedInterval) {
|
|
145
|
-
let id = serializedInterval.properties?.[reservedIntervalIdKey];
|
|
147
|
+
let id = serializedInterval.properties?.[exports.reservedIntervalIdKey];
|
|
146
148
|
if (id === undefined) {
|
|
147
149
|
// Back-compat: 0.39 and earlier did not have IDs on intervals. If an interval from such a client
|
|
148
150
|
// comes over the wire, create a non-unique one based on start/end.
|
|
149
151
|
// This will allow all clients to refer to this interval consistently.
|
|
150
152
|
id = this.createLegacyId(serializedInterval.start, serializedInterval.end);
|
|
151
153
|
const newProps = {
|
|
152
|
-
[reservedIntervalIdKey]: id,
|
|
154
|
+
[exports.reservedIntervalIdKey]: id,
|
|
153
155
|
};
|
|
154
156
|
serializedInterval.properties = (0, merge_tree_1.addProperties)(serializedInterval.properties, newProps);
|
|
155
157
|
}
|
|
156
158
|
// Make the ID immutable for safety's sake.
|
|
157
|
-
Object.defineProperty(serializedInterval.properties, reservedIntervalIdKey, {
|
|
159
|
+
Object.defineProperty(serializedInterval.properties, exports.reservedIntervalIdKey, {
|
|
158
160
|
configurable: false,
|
|
159
161
|
enumerable: true,
|
|
160
162
|
writable: false,
|
|
@@ -196,13 +198,13 @@ class LocalIntervalCollection {
|
|
|
196
198
|
}
|
|
197
199
|
interval.addProperties(props);
|
|
198
200
|
}
|
|
199
|
-
(_a = interval.properties)[reservedIntervalIdKey] ?? (_a[reservedIntervalIdKey] = (0, uuid_1.v4)());
|
|
201
|
+
(_a = interval.properties)[exports.reservedIntervalIdKey] ?? (_a[exports.reservedIntervalIdKey] = (0, uuid_1.v4)());
|
|
200
202
|
this.add(interval);
|
|
201
203
|
}
|
|
202
204
|
return interval;
|
|
203
205
|
}
|
|
204
206
|
linkEndpointsToInterval(interval) {
|
|
205
|
-
if (interval instanceof
|
|
207
|
+
if (interval instanceof index_js_1.SequenceInterval) {
|
|
206
208
|
interval.start.addProperties({ interval });
|
|
207
209
|
interval.end.addProperties({ interval });
|
|
208
210
|
}
|
|
@@ -243,7 +245,7 @@ class LocalIntervalCollection {
|
|
|
243
245
|
}
|
|
244
246
|
return this.client.createLocalReferencePosition(segment, ref.getOffset(), merge_tree_1.ReferenceType.Transient, ref.properties, ref.slidingPreference, ref.canSlideToEndpoint);
|
|
245
247
|
};
|
|
246
|
-
if (interval instanceof
|
|
248
|
+
if (interval instanceof index_js_1.SequenceInterval) {
|
|
247
249
|
let previousInterval;
|
|
248
250
|
let pendingChanges = 0;
|
|
249
251
|
interval.addPositionChangeListeners(() => {
|
|
@@ -267,7 +269,7 @@ class LocalIntervalCollection {
|
|
|
267
269
|
}
|
|
268
270
|
}
|
|
269
271
|
removeIntervalListeners(interval) {
|
|
270
|
-
if (interval instanceof
|
|
272
|
+
if (interval instanceof index_js_1.SequenceInterval) {
|
|
271
273
|
interval.removePositionChangeListeners();
|
|
272
274
|
}
|
|
273
275
|
}
|
|
@@ -276,7 +278,7 @@ exports.LocalIntervalCollection = LocalIntervalCollection;
|
|
|
276
278
|
LocalIntervalCollection.legacyIdPrefix = "legacy";
|
|
277
279
|
class SequenceIntervalCollectionFactory {
|
|
278
280
|
load(emitter, raw = [], options) {
|
|
279
|
-
return new IntervalCollection(
|
|
281
|
+
return new IntervalCollection(index_js_1.sequenceIntervalHelpers, true, emitter, raw, options);
|
|
280
282
|
}
|
|
281
283
|
store(value) {
|
|
282
284
|
return value.serializeInternal();
|
|
@@ -300,7 +302,7 @@ SequenceIntervalCollectionValueType._ops = makeOpsMap();
|
|
|
300
302
|
class IntervalCollectionFactory {
|
|
301
303
|
load(emitter, raw = [], options) {
|
|
302
304
|
const helpers = {
|
|
303
|
-
create:
|
|
305
|
+
create: index_js_1.createInterval,
|
|
304
306
|
};
|
|
305
307
|
const collection = new IntervalCollection(helpers, false, emitter, raw, options);
|
|
306
308
|
collection.attachGraph(undefined, "");
|
|
@@ -335,12 +337,9 @@ function makeOpsMap() {
|
|
|
335
337
|
const rebasedOp = { ...op, value: rebasedValue };
|
|
336
338
|
return { rebasedOp, rebasedLocalOpMetadata: localOpMetadata };
|
|
337
339
|
};
|
|
338
|
-
const applyStashedOp = (collection, op) => {
|
|
339
|
-
return collection.applyStashedOp(op);
|
|
340
|
-
};
|
|
341
340
|
return new Map([
|
|
342
341
|
[
|
|
343
|
-
|
|
342
|
+
index_js_1.IntervalOpType.ADD,
|
|
344
343
|
{
|
|
345
344
|
process: (collection, params, local, op, localOpMetadata) => {
|
|
346
345
|
// if params is undefined, the interval was deleted during
|
|
@@ -352,11 +351,10 @@ function makeOpsMap() {
|
|
|
352
351
|
collection.ackAdd(params, local, op, localOpMetadata);
|
|
353
352
|
},
|
|
354
353
|
rebase,
|
|
355
|
-
applyStashedOp,
|
|
356
354
|
},
|
|
357
355
|
],
|
|
358
356
|
[
|
|
359
|
-
|
|
357
|
+
index_js_1.IntervalOpType.DELETE,
|
|
360
358
|
{
|
|
361
359
|
process: (collection, params, local, op) => {
|
|
362
360
|
(0, core_utils_1.assert)(op !== undefined, 0x3fc /* op should exist here */);
|
|
@@ -366,11 +364,10 @@ function makeOpsMap() {
|
|
|
366
364
|
// Deletion of intervals is based on id, so requires no rebasing.
|
|
367
365
|
return { rebasedOp: op, rebasedLocalOpMetadata: localOpMetadata };
|
|
368
366
|
},
|
|
369
|
-
applyStashedOp,
|
|
370
367
|
},
|
|
371
368
|
],
|
|
372
369
|
[
|
|
373
|
-
|
|
370
|
+
index_js_1.IntervalOpType.CHANGE,
|
|
374
371
|
{
|
|
375
372
|
process: (collection, params, local, op, localOpMetadata) => {
|
|
376
373
|
// if params is undefined, the interval was deleted during
|
|
@@ -382,7 +379,6 @@ function makeOpsMap() {
|
|
|
382
379
|
collection.ackChange(params, local, op, localOpMetadata);
|
|
383
380
|
},
|
|
384
381
|
rebase,
|
|
385
|
-
applyStashedOp,
|
|
386
382
|
},
|
|
387
383
|
],
|
|
388
384
|
]);
|
|
@@ -414,7 +410,6 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
414
410
|
get attached() {
|
|
415
411
|
return !!this.localCollection;
|
|
416
412
|
}
|
|
417
|
-
/** @internal */
|
|
418
413
|
constructor(helpers, requiresClient, emitter, serializedIntervals, options = {}) {
|
|
419
414
|
super();
|
|
420
415
|
this.helpers = helpers;
|
|
@@ -493,7 +488,6 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
493
488
|
}
|
|
494
489
|
return rebased;
|
|
495
490
|
}
|
|
496
|
-
/** @internal */
|
|
497
491
|
attachGraph(client, label) {
|
|
498
492
|
if (this.attached) {
|
|
499
493
|
throw new telemetry_utils_1.LoggingError("Only supports one Sequence attach");
|
|
@@ -545,7 +539,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
545
539
|
// is restored as single-endpoint changes re-use previous references.
|
|
546
540
|
let startRefType;
|
|
547
541
|
let endRefType;
|
|
548
|
-
if (previousInterval instanceof
|
|
542
|
+
if (previousInterval instanceof index_js_1.SequenceInterval) {
|
|
549
543
|
startRefType = previousInterval.start.refType;
|
|
550
544
|
endRefType = previousInterval.end.refType;
|
|
551
545
|
previousInterval.start.refType = merge_tree_1.ReferenceType.Transient;
|
|
@@ -589,16 +583,16 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
589
583
|
endSide !== undefined, 0x793 /* start and end cannot be undefined because they were not passed in as undefined */);
|
|
590
584
|
const stickiness = computeStickinessFromSide(startPos, startSide, endPos, endSide);
|
|
591
585
|
this.assertStickinessEnabled(start, end);
|
|
592
|
-
const interval = this.localCollection.addInterval(toSequencePlace(startPos, startSide), toSequencePlace(endPos, endSide),
|
|
586
|
+
const interval = this.localCollection.addInterval(toSequencePlace(startPos, startSide), toSequencePlace(endPos, endSide), index_js_1.IntervalType.SlideOnRemove, props);
|
|
593
587
|
if (interval) {
|
|
594
|
-
if (!this.isCollaborating && interval instanceof
|
|
588
|
+
if (!this.isCollaborating && interval instanceof index_js_1.SequenceInterval) {
|
|
595
589
|
setSlideOnRemove(interval.start);
|
|
596
590
|
setSlideOnRemove(interval.end);
|
|
597
591
|
}
|
|
598
592
|
const serializedInterval = {
|
|
599
593
|
start: startPos,
|
|
600
594
|
end: endPos,
|
|
601
|
-
intervalType:
|
|
595
|
+
intervalType: index_js_1.IntervalType.SlideOnRemove,
|
|
602
596
|
properties: interval.properties,
|
|
603
597
|
sequenceNumber: this.client?.getCurrentSeq() ?? 0,
|
|
604
598
|
stickiness,
|
|
@@ -678,7 +672,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
678
672
|
}
|
|
679
673
|
if (start !== undefined && end !== undefined) {
|
|
680
674
|
newInterval = this.localCollection.changeInterval(interval, start, end);
|
|
681
|
-
if (!this.isCollaborating && newInterval instanceof
|
|
675
|
+
if (!this.isCollaborating && newInterval instanceof index_js_1.SequenceInterval) {
|
|
682
676
|
setSlideOnRemove(newInterval.start);
|
|
683
677
|
setSlideOnRemove(newInterval.end);
|
|
684
678
|
}
|
|
@@ -693,7 +687,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
693
687
|
serializedInterval.stickiness = stickiness;
|
|
694
688
|
// Emit a property bag containing the ID and the other (if any) properties changed
|
|
695
689
|
serializedInterval.properties = {
|
|
696
|
-
[reservedIntervalIdKey]: interval.getIntervalId(),
|
|
690
|
+
[exports.reservedIntervalIdKey]: interval.getIntervalId(),
|
|
697
691
|
...props,
|
|
698
692
|
};
|
|
699
693
|
const localSeq = this.getNextLocalSeq();
|
|
@@ -708,6 +702,10 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
708
702
|
if (newInterval) {
|
|
709
703
|
this.addPendingChange(id, serializedInterval);
|
|
710
704
|
this.emitChange(newInterval, interval, true, false);
|
|
705
|
+
if (interval instanceof index_js_1.SequenceInterval) {
|
|
706
|
+
this.client?.removeLocalReferencePosition(interval.start);
|
|
707
|
+
this.client?.removeLocalReferencePosition(interval.end);
|
|
708
|
+
}
|
|
711
709
|
}
|
|
712
710
|
return newInterval;
|
|
713
711
|
}
|
|
@@ -738,7 +736,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
738
736
|
}
|
|
739
737
|
removePendingChange(serializedInterval) {
|
|
740
738
|
// Change ops always have an ID.
|
|
741
|
-
const id = serializedInterval.properties?.[reservedIntervalIdKey];
|
|
739
|
+
const id = serializedInterval.properties?.[exports.reservedIntervalIdKey];
|
|
742
740
|
if (serializedInterval.start !== undefined) {
|
|
743
741
|
this.removePendingChangeHelper(id, this.pendingChangesStart, serializedInterval);
|
|
744
742
|
}
|
|
@@ -767,7 +765,6 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
767
765
|
const entries = this.pendingChangesEnd.get(id);
|
|
768
766
|
return entries && entries.length !== 0;
|
|
769
767
|
}
|
|
770
|
-
/** @internal */
|
|
771
768
|
ackChange(serializedInterval, local, op, localOpMetadata) {
|
|
772
769
|
if (!this.localCollection) {
|
|
773
770
|
throw new telemetry_utils_1.LoggingError("Attach must be called before accessing intervals");
|
|
@@ -781,7 +778,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
781
778
|
// Note that the ID is in the property bag only to allow us to find the interval.
|
|
782
779
|
// This API cannot change the ID, and writing to the ID property will result in an exception. So we
|
|
783
780
|
// strip it out of the properties here.
|
|
784
|
-
const { [reservedIntervalIdKey]: id, ...newProps } = serializedInterval.properties ?? {};
|
|
781
|
+
const { [exports.reservedIntervalIdKey]: id, ...newProps } = serializedInterval.properties ?? {};
|
|
785
782
|
(0, core_utils_1.assert)(id !== undefined, 0x3fe /* id must exist on the interval */);
|
|
786
783
|
const interval = this.getIntervalById(id);
|
|
787
784
|
if (!interval) {
|
|
@@ -813,7 +810,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
813
810
|
// If changeInterval gives us a new interval, work with that one. Otherwise keep working with
|
|
814
811
|
// the one we originally found in the tree.
|
|
815
812
|
newInterval =
|
|
816
|
-
this.localCollection.changeInterval(interval, toOptionalSequencePlace(start, serializedInterval.startSide), toOptionalSequencePlace(end, serializedInterval.endSide), op) ?? interval;
|
|
813
|
+
this.localCollection.changeInterval(interval, toOptionalSequencePlace(start, serializedInterval.startSide ?? Side.Before), toOptionalSequencePlace(end, serializedInterval.endSide ?? Side.Before), op) ?? interval;
|
|
817
814
|
}
|
|
818
815
|
const deltaProps = newInterval.addProperties(newProps, true, op.sequenceNumber);
|
|
819
816
|
if (this.onDeserialize) {
|
|
@@ -849,7 +846,6 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
849
846
|
* deleted as a result of rebasing. This can occur if the interval applies
|
|
850
847
|
* to a range that no longer exists, and the interval was unable to slide.
|
|
851
848
|
*
|
|
852
|
-
* @internal
|
|
853
849
|
*/
|
|
854
850
|
rebaseLocalInterval(opName, serializedInterval, localSeq) {
|
|
855
851
|
if (!this.client) {
|
|
@@ -861,7 +857,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
861
857
|
}
|
|
862
858
|
const { intervalType, properties, stickiness, startSide, endSide } = serializedInterval;
|
|
863
859
|
const { start: startRebased, end: endRebased } = this.localSeqToRebasedInterval.get(localSeq) ?? this.computeRebasedPositions(localSeq);
|
|
864
|
-
const intervalId = properties?.[reservedIntervalIdKey];
|
|
860
|
+
const intervalId = properties?.[exports.reservedIntervalIdKey];
|
|
865
861
|
const localInterval = this.localCollection?.idIntervalIndex.getIntervalById(intervalId);
|
|
866
862
|
const rebased = {
|
|
867
863
|
start: startRebased,
|
|
@@ -889,59 +885,13 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
889
885
|
}
|
|
890
886
|
if (localInterval !== undefined) {
|
|
891
887
|
// we know we must be using `SequenceInterval` because `this.client` exists
|
|
892
|
-
(0, core_utils_1.assert)(localInterval instanceof
|
|
888
|
+
(0, core_utils_1.assert)(localInterval instanceof index_js_1.SequenceInterval, 0x3a0 /* localInterval must be `SequenceInterval` when used with client */);
|
|
893
889
|
// The rebased op may place this interval's endpoints on different segments. Calling `changeInterval` here
|
|
894
890
|
// updates the local client's state to be consistent with the emitted op.
|
|
895
|
-
this.localCollection?.changeInterval(localInterval, toOptionalSequencePlace(startRebased, startSide), toOptionalSequencePlace(endRebased, endSide), undefined, localSeq);
|
|
891
|
+
this.localCollection?.changeInterval(localInterval, toOptionalSequencePlace(startRebased, startSide ?? Side.Before), toOptionalSequencePlace(endRebased, endSide ?? Side.Before), undefined, localSeq);
|
|
896
892
|
}
|
|
897
893
|
return rebased;
|
|
898
894
|
}
|
|
899
|
-
applyStashedOp(op) {
|
|
900
|
-
let interval;
|
|
901
|
-
let props;
|
|
902
|
-
let intervalId;
|
|
903
|
-
switch (op.opName) {
|
|
904
|
-
case intervals_1.IntervalDeltaOpType.ADD: {
|
|
905
|
-
(0, core_utils_1.assert)(op.value.start !== undefined, 0x87a /* start is undefined */);
|
|
906
|
-
(0, core_utils_1.assert)(op.value.end !== undefined, 0x87b /* end is undefined */);
|
|
907
|
-
interval = this.add({
|
|
908
|
-
start: op.value.start,
|
|
909
|
-
end: op.value.end,
|
|
910
|
-
props: op.value.properties,
|
|
911
|
-
});
|
|
912
|
-
const metadata = {
|
|
913
|
-
localSeq: this.getNextLocalSeq(),
|
|
914
|
-
};
|
|
915
|
-
if (interval !== undefined) {
|
|
916
|
-
this.localSeqToSerializedInterval.set(metadata.localSeq, interval.serialize());
|
|
917
|
-
}
|
|
918
|
-
return metadata;
|
|
919
|
-
}
|
|
920
|
-
case intervals_1.IntervalDeltaOpType.DELETE:
|
|
921
|
-
this.removeIntervalById(op.value.properties?.intervalId);
|
|
922
|
-
return {
|
|
923
|
-
localSeq: this.getNextLocalSeq(),
|
|
924
|
-
};
|
|
925
|
-
case intervals_1.IntervalDeltaOpType.CHANGE: {
|
|
926
|
-
(0, core_utils_1.assert)(op.value.properties !== undefined, 0x87c /* properties is undefined */);
|
|
927
|
-
({ intervalId, ...props } = op.value.properties);
|
|
928
|
-
interval = this.change(intervalId, {
|
|
929
|
-
start: op.value.start,
|
|
930
|
-
end: op.value.end,
|
|
931
|
-
props,
|
|
932
|
-
});
|
|
933
|
-
const metadata = {
|
|
934
|
-
localSeq: this.getNextLocalSeq(),
|
|
935
|
-
};
|
|
936
|
-
if (interval !== undefined) {
|
|
937
|
-
this.localSeqToSerializedInterval.set(metadata.localSeq, interval.serialize());
|
|
938
|
-
}
|
|
939
|
-
return metadata;
|
|
940
|
-
}
|
|
941
|
-
default:
|
|
942
|
-
(0, core_utils_1.unreachableCase)(op.opName, `Unknown interval op type: ${op.opName}`);
|
|
943
|
-
}
|
|
944
|
-
}
|
|
945
895
|
getSlideToSegment(lref) {
|
|
946
896
|
if (!this.client) {
|
|
947
897
|
throw new telemetry_utils_1.LoggingError("client does not exist");
|
|
@@ -958,7 +908,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
958
908
|
}
|
|
959
909
|
ackInterval(interval, op) {
|
|
960
910
|
// Only SequenceIntervals need potential sliding
|
|
961
|
-
if (!(interval instanceof
|
|
911
|
+
if (!(interval instanceof index_js_1.SequenceInterval)) {
|
|
962
912
|
return;
|
|
963
913
|
}
|
|
964
914
|
if (!(0, merge_tree_1.refTypeIncludesFlag)(interval.start, merge_tree_1.ReferenceType.StayOnRemove) &&
|
|
@@ -967,7 +917,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
967
917
|
}
|
|
968
918
|
const newStart = this.getSlideToSegment(interval.start);
|
|
969
919
|
const newEnd = this.getSlideToSegment(interval.end);
|
|
970
|
-
const id = interval.properties[reservedIntervalIdKey];
|
|
920
|
+
const id = interval.properties[exports.reservedIntervalIdKey];
|
|
971
921
|
const hasPendingStartChange = this.hasPendingChangeStart(id);
|
|
972
922
|
const hasPendingEndChange = this.hasPendingChangeEnd(id);
|
|
973
923
|
if (!hasPendingStartChange) {
|
|
@@ -993,7 +943,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
993
943
|
}
|
|
994
944
|
if (needsStartUpdate) {
|
|
995
945
|
const props = interval.start.properties;
|
|
996
|
-
interval.start = (0,
|
|
946
|
+
interval.start = (0, index_js_1.createPositionReferenceFromSegoff)(this.client, newStart, interval.start.refType, op, undefined, undefined, (0, index_js_1.startReferenceSlidingPreference)(interval.stickiness), (0, index_js_1.startReferenceSlidingPreference)(interval.stickiness) ===
|
|
997
947
|
merge_tree_1.SlidingPreference.BACKWARD);
|
|
998
948
|
if (props) {
|
|
999
949
|
interval.start.addProperties(props);
|
|
@@ -1006,7 +956,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
1006
956
|
}
|
|
1007
957
|
if (needsEndUpdate) {
|
|
1008
958
|
const props = interval.end.properties;
|
|
1009
|
-
interval.end = (0,
|
|
959
|
+
interval.end = (0, index_js_1.createPositionReferenceFromSegoff)(this.client, newEnd, interval.end.refType, op, undefined, undefined, (0, index_js_1.endReferenceSlidingPreference)(interval.stickiness), (0, index_js_1.endReferenceSlidingPreference)(interval.stickiness) ===
|
|
1010
960
|
merge_tree_1.SlidingPreference.FORWARD);
|
|
1011
961
|
if (props) {
|
|
1012
962
|
interval.end.addProperties(props);
|
|
@@ -1021,12 +971,11 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
1021
971
|
this.emitChange(interval, oldInterval, true, true, op);
|
|
1022
972
|
}
|
|
1023
973
|
}
|
|
1024
|
-
/** @internal */
|
|
1025
974
|
ackAdd(serializedInterval, local, op, localOpMetadata) {
|
|
1026
975
|
if (local) {
|
|
1027
976
|
(0, core_utils_1.assert)(localOpMetadata !== undefined, 0x553 /* op metadata should be defined for local op */);
|
|
1028
977
|
this.localSeqToSerializedInterval.delete(localOpMetadata.localSeq);
|
|
1029
|
-
const id = serializedInterval.properties?.[reservedIntervalIdKey];
|
|
978
|
+
const id = serializedInterval.properties?.[exports.reservedIntervalIdKey];
|
|
1030
979
|
const localInterval = this.getIntervalById(id);
|
|
1031
980
|
if (localInterval) {
|
|
1032
981
|
this.ackInterval(localInterval, op);
|
|
@@ -1046,7 +995,6 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
1046
995
|
this.emit("addInterval", interval, local, op);
|
|
1047
996
|
return interval;
|
|
1048
997
|
}
|
|
1049
|
-
/** @internal */
|
|
1050
998
|
ackDelete(serializedInterval, local, op) {
|
|
1051
999
|
if (local) {
|
|
1052
1000
|
// Local ops were applied when the message was created and there's no "pending delete"
|
|
@@ -1063,9 +1011,6 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
1063
1011
|
this.deleteExistingInterval(interval, local, op);
|
|
1064
1012
|
}
|
|
1065
1013
|
}
|
|
1066
|
-
/**
|
|
1067
|
-
* @internal
|
|
1068
|
-
*/
|
|
1069
1014
|
serializeInternal() {
|
|
1070
1015
|
if (!this.localCollection) {
|
|
1071
1016
|
throw new telemetry_utils_1.LoggingError("attachSequence must be called");
|