@fluidframework/sequence 2.0.0-rc.1.0.4 → 2.0.0-rc.2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{.eslintrc.js → .eslintrc.cjs} +4 -1
- package/{.mocharc.js → .mocharc.cjs} +1 -1
- package/CHANGELOG.md +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 +15 -27
- package/dist/defaultMap.d.ts +10 -16
- package/dist/defaultMap.d.ts.map +1 -1
- package/dist/defaultMap.js +73 -70
- package/dist/defaultMap.js.map +1 -1
- package/dist/defaultMapInterfaces.d.ts +1 -8
- package/dist/defaultMapInterfaces.d.ts.map +1 -1
- package/dist/defaultMapInterfaces.js.map +1 -1
- 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 +21 -15
- package/dist/intervalCollection.d.ts.map +1 -1
- package/dist/intervalCollection.js +59 -110
- package/dist/intervalCollection.js.map +1 -1
- package/dist/intervalIndex/endpointInRangeIndex.d.ts +3 -3
- package/dist/intervalIndex/endpointInRangeIndex.d.ts.map +1 -1
- package/dist/intervalIndex/endpointInRangeIndex.js +8 -8
- 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 +4 -4
- 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 -13
- 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 +7 -7
- 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 +8 -8
- 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 +2 -2
- 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/localValues.d.ts +2 -2
- package/dist/localValues.d.ts.map +1 -1
- package/dist/localValues.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 +172 -13
- package/dist/sequence-beta.d.ts +2 -0
- package/dist/sequence-public.d.ts +2 -0
- package/dist/sequence-untrimmed.d.ts +73 -14
- package/dist/sequence.d.ts +48 -5
- package/dist/sequence.d.ts.map +1 -1
- package/dist/sequence.js +103 -29
- 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/{defaultMap.d.mts → defaultMap.d.ts} +11 -17
- package/lib/defaultMap.d.ts.map +1 -0
- package/lib/{defaultMap.mjs → defaultMap.js} +72 -69
- package/lib/defaultMap.js.map +1 -0
- package/lib/{defaultMapInterfaces.d.mts → defaultMapInterfaces.d.ts} +2 -9
- package/lib/defaultMapInterfaces.d.ts.map +1 -0
- package/lib/{defaultMapInterfaces.mjs → defaultMapInterfaces.js} +1 -1
- package/lib/defaultMapInterfaces.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} +22 -16
- package/lib/intervalCollection.d.ts.map +1 -0
- package/lib/{intervalCollection.mjs → intervalCollection.js} +23 -74
- package/lib/intervalCollection.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 -9
- 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/intervalIndex/{sequenceIntervalIndexes.mjs → 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/{localValues.d.mts → localValues.d.ts} +3 -3
- package/lib/{localValues.d.mts.map → localValues.d.ts.map} +1 -1
- package/lib/{localValues.mjs → localValues.js} +1 -1
- package/lib/localValues.js.map +1 -0
- 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} +185 -13
- package/lib/{sequence-public.d.mts → sequence-beta.d.ts} +15 -0
- package/lib/{sequence-beta.d.mts → sequence-public.d.ts} +15 -0
- package/lib/{sequence-untrimmed.d.mts → sequence-untrimmed.d.ts} +86 -14
- package/lib/{sequence.d.mts → sequence.d.ts} +49 -6
- package/lib/sequence.d.ts.map +1 -0
- package/lib/{sequence.mjs → sequence.js} +100 -29
- 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} +4 -4
- 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 +250 -0
- package/lib/test/fuzz/fuzzUtils.js.map +1 -0
- package/lib/test/fuzz/intervalCollection.fuzz.spec.js +200 -0
- package/lib/test/fuzz/intervalCollection.fuzz.spec.js.map +1 -0
- package/lib/test/fuzz/intervalRevertibles.fuzz.spec.js +129 -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 +126 -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 +971 -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 +66 -60
- package/src/defaultMap.ts +97 -123
- package/src/defaultMapInterfaces.ts +1 -9
- package/src/index.ts +15 -11
- package/src/intervalCollection.ts +57 -84
- package/src/intervalIndex/endpointInRangeIndex.ts +4 -4
- package/src/intervalIndex/endpointIndex.ts +3 -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 +10 -11
- package/src/intervalIndex/overlappingSequenceIntervalsIndex.ts +4 -4
- package/src/intervalIndex/sequenceIntervalIndexes.ts +2 -2
- package/src/intervalIndex/startpointInRangeIndex.ts +4 -4
- package/src/intervalTree.ts +1 -1
- package/src/intervals/index.ts +3 -3
- package/src/intervals/interval.ts +2 -4
- package/src/intervals/intervalUtils.ts +3 -3
- package/src/intervals/sequenceInterval.ts +3 -4
- package/src/localValues.ts +2 -2
- package/src/packageVersion.ts +1 -1
- package/src/revertibles.ts +13 -13
- package/src/sequence.ts +126 -44
- package/src/sequenceFactory.ts +5 -2
- package/src/sharedIntervalCollection.ts +5 -5
- package/src/sharedSequence.ts +1 -1
- package/src/sharedString.ts +2 -2
- package/tsconfig.cjs.json +7 -0
- package/tsconfig.json +2 -5
- 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.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
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Supports distributed data structures which are list-like.
|
|
3
|
+
*
|
|
4
|
+
* This library's main export is {@link SharedString}, a DDS for storing and simultaneously editing a sequence of
|
|
5
|
+
* text.
|
|
6
|
+
*
|
|
7
|
+
* See the package's README for a high-level introduction to `SharedString`'s feature set.
|
|
8
|
+
* @remarks Note that SharedString is a sequence DDS but it has additional specialized features and behaviors for
|
|
9
|
+
* working with text.
|
|
10
|
+
*
|
|
11
|
+
* @packageDocumentation
|
|
12
|
+
*/
|
|
13
|
+
|
|
1
14
|
import { BaseSegment } from '@fluidframework/merge-tree';
|
|
2
15
|
import { Client } from '@fluidframework/merge-tree';
|
|
3
16
|
import { Deferred } from '@fluidframework/core-utils';
|
|
@@ -44,15 +57,37 @@ import { TextSegment } from '@fluidframework/merge-tree';
|
|
|
44
57
|
import { TrackingGroup } from '@fluidframework/merge-tree';
|
|
45
58
|
import { TypedEventEmitter } from '@fluid-internal/client-utils';
|
|
46
59
|
|
|
47
|
-
|
|
60
|
+
/**
|
|
61
|
+
* Create revertibles for adding an interval
|
|
62
|
+
* @alpha
|
|
63
|
+
*/
|
|
64
|
+
export declare function appendAddIntervalToRevertibles(interval: SequenceInterval, revertibles: SharedStringRevertible[]): SharedStringRevertible[];
|
|
48
65
|
|
|
49
|
-
|
|
66
|
+
/**
|
|
67
|
+
* Create revertibles for moving endpoints of an interval
|
|
68
|
+
* @alpha
|
|
69
|
+
*/
|
|
70
|
+
export declare function appendChangeIntervalToRevertibles(string: SharedString, newInterval: SequenceInterval, previousInterval: SequenceInterval, revertibles: SharedStringRevertible[]): SharedStringRevertible[];
|
|
50
71
|
|
|
51
|
-
|
|
72
|
+
/**
|
|
73
|
+
* Create revertibles for deleting an interval
|
|
74
|
+
* @alpha
|
|
75
|
+
*/
|
|
76
|
+
export declare function appendDeleteIntervalToRevertibles(string: SharedString, interval: SequenceInterval, revertibles: SharedStringRevertible[]): SharedStringRevertible[];
|
|
52
77
|
|
|
53
|
-
|
|
78
|
+
/**
|
|
79
|
+
* Create revertibles for changing properties of an interval
|
|
80
|
+
* @alpha
|
|
81
|
+
*/
|
|
82
|
+
export declare function appendIntervalPropertyChangedToRevertibles(interval: SequenceInterval, deltas: PropertySet, revertibles: SharedStringRevertible[]): SharedStringRevertible[];
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Create revertibles for SharedStringDeltas, handling indirectly modified intervals
|
|
86
|
+
* (e.g. reverting remove of a range that contains an interval will move the interval back)
|
|
87
|
+
* @alpha
|
|
88
|
+
*/
|
|
89
|
+
export declare function appendSharedStringDeltaToRevertibles(string: SharedString, delta: SequenceDeltaEvent, revertibles: SharedStringRevertible[]): void;
|
|
54
90
|
|
|
55
|
-
/* Excluded from this release type: appendSharedStringDeltaToRevertibles */
|
|
56
91
|
export { BaseSegment }
|
|
57
92
|
|
|
58
93
|
/* Excluded from this release type: createEndpointIndex */
|
|
@@ -61,7 +96,10 @@ export { BaseSegment }
|
|
|
61
96
|
|
|
62
97
|
/* Excluded from this release type: createIdIntervalIndex */
|
|
63
98
|
|
|
64
|
-
|
|
99
|
+
/**
|
|
100
|
+
* @alpha
|
|
101
|
+
*/
|
|
102
|
+
export declare function createOverlappingIntervalsIndex(sharedString: SharedString): IOverlappingIntervalsIndex<SequenceInterval>;
|
|
65
103
|
|
|
66
104
|
/* Excluded from this release type: createOverlappingSequenceIntervalsIndex */
|
|
67
105
|
|
|
@@ -72,7 +110,11 @@ export { BaseSegment }
|
|
|
72
110
|
*/
|
|
73
111
|
export declare type DeserializeCallback = (properties: PropertySet) => void;
|
|
74
112
|
|
|
75
|
-
|
|
113
|
+
/**
|
|
114
|
+
* Clean up resources held by revertibles that are no longer needed.
|
|
115
|
+
* @alpha
|
|
116
|
+
*/
|
|
117
|
+
export declare function discardSharedStringRevertibles(sharedString: SharedString, revertibles: SharedStringRevertible[]): void;
|
|
76
118
|
|
|
77
119
|
/* Excluded from this release type: getTextAndMarkers */
|
|
78
120
|
|
|
@@ -359,6 +401,19 @@ export declare interface IIntervalCollectionEvent<TInterval extends ISerializabl
|
|
|
359
401
|
* `op` is defined if and only if the server has acked this change.
|
|
360
402
|
*/
|
|
361
403
|
(event: "propertyChanged", listener: (interval: TInterval, propertyDeltas: PropertySet, local: boolean, op: ISequencedDocumentMessage | undefined) => void): void;
|
|
404
|
+
/**
|
|
405
|
+
* This event is invoked whenever an interval's endpoints or properties (or both) have changed.
|
|
406
|
+
* `interval` reflects the state of the updated endpoints or properties.
|
|
407
|
+
* `propertyDeltas` is a map-like whose keys contain all values that were changed, and whose
|
|
408
|
+
* values contain all previous values of the property set.
|
|
409
|
+
* This object can be used directly in a call to `changeProperties` to revert the property change if desired.
|
|
410
|
+
* 'previousInterval' contains transient `ReferencePosition`s at the same location as the interval's original
|
|
411
|
+
* endpoints. These references should be used for position information only. In the case of a property change
|
|
412
|
+
* only, this argument should be undefined.
|
|
413
|
+
* `local` reflects whether the change originated locally.
|
|
414
|
+
* `slide` is true if the change is due to sliding on removal of position.
|
|
415
|
+
*/
|
|
416
|
+
(event: "changed", listener: (interval: TInterval, propertyDeltas: PropertySet, previousInterval: TInterval | undefined, local: boolean, slide: boolean) => void): void;
|
|
362
417
|
}
|
|
363
418
|
|
|
364
419
|
/* Excluded from this release type: IIntervalHelpers */
|
|
@@ -409,9 +464,59 @@ export declare interface IntervalIndex<TInterval extends ISerializableInterval>
|
|
|
409
464
|
|
|
410
465
|
/* Excluded from this release type: intervalLocatorFromEndpoint */
|
|
411
466
|
|
|
412
|
-
|
|
467
|
+
/**
|
|
468
|
+
* Values are used in revertibles.
|
|
469
|
+
* @alpha
|
|
470
|
+
*/
|
|
471
|
+
export declare const IntervalOpType: {
|
|
472
|
+
readonly PROPERTY_CHANGED: "propertyChanged";
|
|
473
|
+
readonly POSITION_REMOVE: "positionRemove";
|
|
474
|
+
readonly ADD: "add";
|
|
475
|
+
readonly DELETE: "delete";
|
|
476
|
+
readonly CHANGE: "change";
|
|
477
|
+
};
|
|
413
478
|
|
|
414
|
-
|
|
479
|
+
/**
|
|
480
|
+
* @alpha
|
|
481
|
+
*/
|
|
482
|
+
export declare type IntervalOpType = (typeof IntervalOpType)[keyof typeof IntervalOpType];
|
|
483
|
+
|
|
484
|
+
/**
|
|
485
|
+
* Data for undoing edits affecting Intervals.
|
|
486
|
+
* @alpha
|
|
487
|
+
*/
|
|
488
|
+
export declare type IntervalRevertible = {
|
|
489
|
+
event: typeof IntervalOpType.CHANGE;
|
|
490
|
+
interval: SequenceInterval;
|
|
491
|
+
start: LocalReferencePosition;
|
|
492
|
+
end: LocalReferencePosition;
|
|
493
|
+
} | {
|
|
494
|
+
event: typeof IntervalOpType.ADD;
|
|
495
|
+
interval: SequenceInterval;
|
|
496
|
+
} | {
|
|
497
|
+
event: typeof IntervalOpType.DELETE;
|
|
498
|
+
interval: SequenceInterval;
|
|
499
|
+
start: LocalReferencePosition;
|
|
500
|
+
end: LocalReferencePosition;
|
|
501
|
+
} | {
|
|
502
|
+
event: typeof IntervalOpType.PROPERTY_CHANGED;
|
|
503
|
+
interval: SequenceInterval;
|
|
504
|
+
propertyDeltas: PropertySet;
|
|
505
|
+
} | {
|
|
506
|
+
event: typeof IntervalOpType.POSITION_REMOVE;
|
|
507
|
+
intervals: {
|
|
508
|
+
intervalId: string;
|
|
509
|
+
label: string;
|
|
510
|
+
startOffset?: number;
|
|
511
|
+
endOffset?: number;
|
|
512
|
+
}[];
|
|
513
|
+
revertibleRefs: {
|
|
514
|
+
revertible: IntervalRevertible;
|
|
515
|
+
offset: number;
|
|
516
|
+
isStart: boolean;
|
|
517
|
+
}[];
|
|
518
|
+
mergeTreeRevertible: MergeTreeDeltaRevertible;
|
|
519
|
+
};
|
|
415
520
|
|
|
416
521
|
/**
|
|
417
522
|
* Determines how an interval should expand when segments are inserted adjacent
|
|
@@ -468,7 +573,20 @@ export declare enum IntervalType {
|
|
|
468
573
|
/* Excluded from this release type: Transient */
|
|
469
574
|
}
|
|
470
575
|
|
|
471
|
-
|
|
576
|
+
/**
|
|
577
|
+
* @alpha
|
|
578
|
+
*/
|
|
579
|
+
export declare interface IOverlappingIntervalsIndex<TInterval extends ISerializableInterval> extends IntervalIndex<TInterval> {
|
|
580
|
+
/**
|
|
581
|
+
* @returns an array of all intervals contained in this collection that overlap the range
|
|
582
|
+
* `[start end]`.
|
|
583
|
+
*/
|
|
584
|
+
findOverlappingIntervals(start: SequencePlace, end: SequencePlace): TInterval[];
|
|
585
|
+
/**
|
|
586
|
+
* Gathers the interval results based on specified parameters.
|
|
587
|
+
*/
|
|
588
|
+
gatherIterationResults(results: TInterval[], iteratesForward: boolean, start?: SequencePlace, end?: SequencePlace): void;
|
|
589
|
+
}
|
|
472
590
|
|
|
473
591
|
export { ISegment }
|
|
474
592
|
|
|
@@ -655,7 +773,11 @@ export { ReferenceType }
|
|
|
655
773
|
|
|
656
774
|
/* Excluded from this release type: reservedTileLabelsKey */
|
|
657
775
|
|
|
658
|
-
|
|
776
|
+
/**
|
|
777
|
+
* Invoke revertibles to reverse prior edits
|
|
778
|
+
* @alpha
|
|
779
|
+
*/
|
|
780
|
+
export declare function revertSharedStringRevertibles(sharedString: SharedString, revertibles: SharedStringRevertible[]): void;
|
|
659
781
|
|
|
660
782
|
/**
|
|
661
783
|
* The event object returned on sequenceDelta events.
|
|
@@ -906,6 +1028,35 @@ export declare abstract class SharedSegmentSequence<T extends ISegment> extends
|
|
|
906
1028
|
*/
|
|
907
1029
|
protected guardReentrancy: <TRet>(callback: () => TRet) => TRet;
|
|
908
1030
|
private static createOpsFromDelta;
|
|
1031
|
+
/**
|
|
1032
|
+
* Note: this field only provides a lower-bound on the reference sequence numbers for in-flight ops.
|
|
1033
|
+
* The exact reason isn't understood, but some e2e tests suggest that the runtime may sometimes process
|
|
1034
|
+
* incoming leave/join ops before putting an op that this DDS submits over the wire.
|
|
1035
|
+
*
|
|
1036
|
+
* E.g. SharedString submits an op while deltaManager has lastSequenceNumber = 10, but before the runtime
|
|
1037
|
+
* puts this op over the wire, it processes a client join/leave op with sequence number 11, so the referenceSequenceNumber
|
|
1038
|
+
* on the SharedString op is 11.
|
|
1039
|
+
*
|
|
1040
|
+
* The reference sequence numbers placed in this queue are also not accurate for stashed ops due to how the applyStashedOp
|
|
1041
|
+
* flow works at the runtime level. This is a legitimate bug, and AB#6602 tracks one way to fix it (stop reaching all the way
|
|
1042
|
+
* to deltaManager's lastSequenceNumber to obtain refSeq, instead leveraging some analogous notion on the container or datastore
|
|
1043
|
+
* runtime).
|
|
1044
|
+
*/
|
|
1045
|
+
private readonly inFlightRefSeqs;
|
|
1046
|
+
private ongoingResubmitRefSeq;
|
|
1047
|
+
/**
|
|
1048
|
+
* Gets the reference sequence number (i.e. sequence number of the runtime's last processed op) for an op submitted
|
|
1049
|
+
* in the current context.
|
|
1050
|
+
*
|
|
1051
|
+
* This value can be optionally overridden using `useResubmitRefSeq`.
|
|
1052
|
+
* IntervalCollection's resubmit logic currently relies on preserving merge information from when the op was originally submitted,
|
|
1053
|
+
* even if the op is resubmitted more than once. Thus during resubmit, `inFlightRefSeqs` gets populated with the
|
|
1054
|
+
* original refSeq rather than the refSeq at the time of reconnection.
|
|
1055
|
+
*
|
|
1056
|
+
* @remarks - In some not fully understood cases, the runtime may process incoming ops before putting an op that this
|
|
1057
|
+
* DDS submits over the wire. See `inFlightRefSeqs` for more details.
|
|
1058
|
+
*/
|
|
1059
|
+
private get currentRefSeq();
|
|
909
1060
|
protected client: Client;
|
|
910
1061
|
/** `Deferred` that triggers once the object is loaded */
|
|
911
1062
|
protected loadedDeferred: Deferred<void>;
|
|
@@ -978,6 +1129,11 @@ export declare abstract class SharedSegmentSequence<T extends ISegment> extends
|
|
|
978
1129
|
createLocalReferencePosition(segment: T, offset: number, refType: ReferenceType, properties: PropertySet | undefined, slidingPreference?: SlidingPreference, canSlideToEndpoint?: boolean): LocalReferencePosition;
|
|
979
1130
|
/**
|
|
980
1131
|
* Resolves a `ReferencePosition` into a character position using this client's perspective.
|
|
1132
|
+
*
|
|
1133
|
+
* Reference positions that point to a character that has been removed will
|
|
1134
|
+
* always return the position of the nearest non-removed character, regardless
|
|
1135
|
+
* of `ReferenceType`. To handle this case specifically, one may wish
|
|
1136
|
+
* to look at the segment returned by `ReferencePosition.getSegment`.
|
|
981
1137
|
*/
|
|
982
1138
|
localReferencePositionToPosition(lref: ReferencePosition): number;
|
|
983
1139
|
/**
|
|
@@ -1106,12 +1262,21 @@ export declare abstract class SharedSegmentSequence<T extends ISegment> extends
|
|
|
1106
1262
|
/**
|
|
1107
1263
|
* {@inheritDoc @fluidframework/shared-object-base#SharedObjectCore.applyStashedOp}
|
|
1108
1264
|
*/
|
|
1109
|
-
protected applyStashedOp(content: any):
|
|
1265
|
+
protected applyStashedOp(content: any): void;
|
|
1110
1266
|
private summarizeMergeTree;
|
|
1267
|
+
/**
|
|
1268
|
+
*
|
|
1269
|
+
* @param message - Message with decoded and hydrated handles
|
|
1270
|
+
*/
|
|
1111
1271
|
private processMergeTreeMsg;
|
|
1112
1272
|
private processMinSequenceNumberChanged;
|
|
1113
1273
|
private loadFinished;
|
|
1114
1274
|
private initializeIntervalCollections;
|
|
1275
|
+
/**
|
|
1276
|
+
* Overrides the "currently applicable reference sequence number" for the duration of the callback.
|
|
1277
|
+
* See remarks on `currentRefSeq` for more context.
|
|
1278
|
+
*/
|
|
1279
|
+
private useResubmitRefSeq;
|
|
1115
1280
|
}
|
|
1116
1281
|
|
|
1117
1282
|
/* Excluded from this release type: SharedSequence */
|
|
@@ -1231,10 +1396,17 @@ export declare class SharedStringFactory implements IChannelFactory {
|
|
|
1231
1396
|
* {@inheritDoc @fluidframework/datastore-definitions#IChannelFactory.load}
|
|
1232
1397
|
*/
|
|
1233
1398
|
load(runtime: IFluidDataStoreRuntime, id: string, services: IChannelServices, attributes: IChannelAttributes): Promise<SharedString>;
|
|
1399
|
+
/**
|
|
1400
|
+
* {@inheritDoc @fluidframework/datastore-definitions#IChannelFactory.create}
|
|
1401
|
+
*/
|
|
1234
1402
|
create(document: IFluidDataStoreRuntime, id: string): SharedString;
|
|
1235
1403
|
}
|
|
1236
1404
|
|
|
1237
|
-
|
|
1405
|
+
/**
|
|
1406
|
+
* Data for undoing edits on SharedStrings and Intervals.
|
|
1407
|
+
* @alpha
|
|
1408
|
+
*/
|
|
1409
|
+
export declare type SharedStringRevertible = MergeTreeDeltaRevertible | IntervalRevertible;
|
|
1238
1410
|
|
|
1239
1411
|
/**
|
|
1240
1412
|
* @alpha
|
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Supports distributed data structures which are list-like.
|
|
3
|
+
*
|
|
4
|
+
* This library's main export is {@link SharedString}, a DDS for storing and simultaneously editing a sequence of
|
|
5
|
+
* text.
|
|
6
|
+
*
|
|
7
|
+
* See the package's README for a high-level introduction to `SharedString`'s feature set.
|
|
8
|
+
* @remarks Note that SharedString is a sequence DDS but it has additional specialized features and behaviors for
|
|
9
|
+
* working with text.
|
|
10
|
+
*
|
|
11
|
+
* @packageDocumentation
|
|
12
|
+
*/
|
|
13
|
+
|
|
1
14
|
import { BaseSegment } from '@fluidframework/merge-tree';
|
|
2
15
|
import { Client } from '@fluidframework/merge-tree';
|
|
3
16
|
import { Deferred } from '@fluidframework/core-utils';
|
|
@@ -206,6 +219,8 @@ import { TypedEventEmitter } from '@fluid-internal/client-utils';
|
|
|
206
219
|
|
|
207
220
|
/* Excluded from this release type: SharedIntervalCollectionFactory */
|
|
208
221
|
|
|
222
|
+
/* Excluded from this release type: SharedObject */
|
|
223
|
+
|
|
209
224
|
/* Excluded from this release type: SharedSegmentSequence */
|
|
210
225
|
|
|
211
226
|
/* Excluded from this release type: SharedSequence */
|
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Supports distributed data structures which are list-like.
|
|
3
|
+
*
|
|
4
|
+
* This library's main export is {@link SharedString}, a DDS for storing and simultaneously editing a sequence of
|
|
5
|
+
* text.
|
|
6
|
+
*
|
|
7
|
+
* See the package's README for a high-level introduction to `SharedString`'s feature set.
|
|
8
|
+
* @remarks Note that SharedString is a sequence DDS but it has additional specialized features and behaviors for
|
|
9
|
+
* working with text.
|
|
10
|
+
*
|
|
11
|
+
* @packageDocumentation
|
|
12
|
+
*/
|
|
13
|
+
|
|
1
14
|
import { BaseSegment } from '@fluidframework/merge-tree';
|
|
2
15
|
import { Client } from '@fluidframework/merge-tree';
|
|
3
16
|
import { Deferred } from '@fluidframework/core-utils';
|
|
@@ -206,6 +219,8 @@ import { TypedEventEmitter } from '@fluid-internal/client-utils';
|
|
|
206
219
|
|
|
207
220
|
/* Excluded from this release type: SharedIntervalCollectionFactory */
|
|
208
221
|
|
|
222
|
+
/* Excluded from this release type: SharedObject */
|
|
223
|
+
|
|
209
224
|
/* Excluded from this release type: SharedSegmentSequence */
|
|
210
225
|
|
|
211
226
|
/* Excluded from this release type: SharedSequence */
|
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Supports distributed data structures which are list-like.
|
|
3
|
+
*
|
|
4
|
+
* This library's main export is {@link SharedString}, a DDS for storing and simultaneously editing a sequence of
|
|
5
|
+
* text.
|
|
6
|
+
*
|
|
7
|
+
* See the package's README for a high-level introduction to `SharedString`'s feature set.
|
|
8
|
+
* @remarks Note that SharedString is a sequence DDS but it has additional specialized features and behaviors for
|
|
9
|
+
* working with text.
|
|
10
|
+
*
|
|
11
|
+
* @packageDocumentation
|
|
12
|
+
*/
|
|
13
|
+
|
|
1
14
|
import { BaseSegment } from '@fluidframework/merge-tree';
|
|
2
15
|
import { Client } from '@fluidframework/merge-tree';
|
|
3
16
|
import { Deferred } from '@fluidframework/core-utils';
|
|
@@ -46,32 +59,32 @@ import { TypedEventEmitter } from '@fluid-internal/client-utils';
|
|
|
46
59
|
|
|
47
60
|
/**
|
|
48
61
|
* Create revertibles for adding an interval
|
|
49
|
-
* @
|
|
62
|
+
* @alpha
|
|
50
63
|
*/
|
|
51
64
|
export declare function appendAddIntervalToRevertibles(interval: SequenceInterval, revertibles: SharedStringRevertible[]): SharedStringRevertible[];
|
|
52
65
|
|
|
53
66
|
/**
|
|
54
67
|
* Create revertibles for moving endpoints of an interval
|
|
55
|
-
* @
|
|
68
|
+
* @alpha
|
|
56
69
|
*/
|
|
57
70
|
export declare function appendChangeIntervalToRevertibles(string: SharedString, newInterval: SequenceInterval, previousInterval: SequenceInterval, revertibles: SharedStringRevertible[]): SharedStringRevertible[];
|
|
58
71
|
|
|
59
72
|
/**
|
|
60
73
|
* Create revertibles for deleting an interval
|
|
61
|
-
* @
|
|
74
|
+
* @alpha
|
|
62
75
|
*/
|
|
63
76
|
export declare function appendDeleteIntervalToRevertibles(string: SharedString, interval: SequenceInterval, revertibles: SharedStringRevertible[]): SharedStringRevertible[];
|
|
64
77
|
|
|
65
78
|
/**
|
|
66
79
|
* Create revertibles for changing properties of an interval
|
|
67
|
-
* @
|
|
80
|
+
* @alpha
|
|
68
81
|
*/
|
|
69
82
|
export declare function appendIntervalPropertyChangedToRevertibles(interval: SequenceInterval, deltas: PropertySet, revertibles: SharedStringRevertible[]): SharedStringRevertible[];
|
|
70
83
|
|
|
71
84
|
/**
|
|
72
85
|
* Create revertibles for SharedStringDeltas, handling indirectly modified intervals
|
|
73
86
|
* (e.g. reverting remove of a range that contains an interval will move the interval back)
|
|
74
|
-
* @
|
|
87
|
+
* @alpha
|
|
75
88
|
*/
|
|
76
89
|
export declare function appendSharedStringDeltaToRevertibles(string: SharedString, delta: SequenceDeltaEvent, revertibles: SharedStringRevertible[]): void;
|
|
77
90
|
|
|
@@ -93,7 +106,7 @@ export declare function createEndpointInRangeIndex(sharedString: SharedString):
|
|
|
93
106
|
export declare function createIdIntervalIndex<TInterval extends ISerializableInterval>(): IIdIntervalIndex<TInterval>;
|
|
94
107
|
|
|
95
108
|
/**
|
|
96
|
-
* @
|
|
109
|
+
* @alpha
|
|
97
110
|
*/
|
|
98
111
|
export declare function createOverlappingIntervalsIndex(sharedString: SharedString): IOverlappingIntervalsIndex<SequenceInterval>;
|
|
99
112
|
|
|
@@ -114,7 +127,7 @@ export declare type DeserializeCallback = (properties: PropertySet) => void;
|
|
|
114
127
|
|
|
115
128
|
/**
|
|
116
129
|
* Clean up resources held by revertibles that are no longer needed.
|
|
117
|
-
* @
|
|
130
|
+
* @alpha
|
|
118
131
|
*/
|
|
119
132
|
export declare function discardSharedStringRevertibles(sharedString: SharedString, revertibles: SharedStringRevertible[]): void;
|
|
120
133
|
|
|
@@ -452,6 +465,19 @@ export declare interface IIntervalCollectionEvent<TInterval extends ISerializabl
|
|
|
452
465
|
* `op` is defined if and only if the server has acked this change.
|
|
453
466
|
*/
|
|
454
467
|
(event: "propertyChanged", listener: (interval: TInterval, propertyDeltas: PropertySet, local: boolean, op: ISequencedDocumentMessage | undefined) => void): void;
|
|
468
|
+
/**
|
|
469
|
+
* This event is invoked whenever an interval's endpoints or properties (or both) have changed.
|
|
470
|
+
* `interval` reflects the state of the updated endpoints or properties.
|
|
471
|
+
* `propertyDeltas` is a map-like whose keys contain all values that were changed, and whose
|
|
472
|
+
* values contain all previous values of the property set.
|
|
473
|
+
* This object can be used directly in a call to `changeProperties` to revert the property change if desired.
|
|
474
|
+
* 'previousInterval' contains transient `ReferencePosition`s at the same location as the interval's original
|
|
475
|
+
* endpoints. These references should be used for position information only. In the case of a property change
|
|
476
|
+
* only, this argument should be undefined.
|
|
477
|
+
* `local` reflects whether the change originated locally.
|
|
478
|
+
* `slide` is true if the change is due to sliding on removal of position.
|
|
479
|
+
*/
|
|
480
|
+
(event: "changed", listener: (interval: TInterval, propertyDeltas: PropertySet, previousInterval: TInterval | undefined, local: boolean, slide: boolean) => void): void;
|
|
455
481
|
}
|
|
456
482
|
|
|
457
483
|
/**
|
|
@@ -629,7 +655,7 @@ export declare function intervalLocatorFromEndpoint(potentialEndpoint: LocalRefe
|
|
|
629
655
|
|
|
630
656
|
/**
|
|
631
657
|
* Values are used in revertibles.
|
|
632
|
-
* @
|
|
658
|
+
* @alpha
|
|
633
659
|
*/
|
|
634
660
|
export declare const IntervalOpType: {
|
|
635
661
|
readonly PROPERTY_CHANGED: "propertyChanged";
|
|
@@ -640,13 +666,13 @@ export declare const IntervalOpType: {
|
|
|
640
666
|
};
|
|
641
667
|
|
|
642
668
|
/**
|
|
643
|
-
* @
|
|
669
|
+
* @alpha
|
|
644
670
|
*/
|
|
645
671
|
export declare type IntervalOpType = (typeof IntervalOpType)[keyof typeof IntervalOpType];
|
|
646
672
|
|
|
647
673
|
/**
|
|
648
674
|
* Data for undoing edits affecting Intervals.
|
|
649
|
-
* @
|
|
675
|
+
* @alpha
|
|
650
676
|
*/
|
|
651
677
|
export declare type IntervalRevertible = {
|
|
652
678
|
event: typeof IntervalOpType.CHANGE;
|
|
@@ -741,7 +767,7 @@ export declare enum IntervalType {
|
|
|
741
767
|
}
|
|
742
768
|
|
|
743
769
|
/**
|
|
744
|
-
* @
|
|
770
|
+
* @alpha
|
|
745
771
|
*/
|
|
746
772
|
export declare interface IOverlappingIntervalsIndex<TInterval extends ISerializableInterval> extends IntervalIndex<TInterval> {
|
|
747
773
|
/**
|
|
@@ -968,7 +994,7 @@ export { reservedTileLabelsKey }
|
|
|
968
994
|
|
|
969
995
|
/**
|
|
970
996
|
* Invoke revertibles to reverse prior edits
|
|
971
|
-
* @
|
|
997
|
+
* @alpha
|
|
972
998
|
*/
|
|
973
999
|
export declare function revertSharedStringRevertibles(sharedString: SharedString, revertibles: SharedStringRevertible[]): void;
|
|
974
1000
|
|
|
@@ -1342,6 +1368,35 @@ export declare abstract class SharedSegmentSequence<T extends ISegment> extends
|
|
|
1342
1368
|
*/
|
|
1343
1369
|
protected guardReentrancy: <TRet>(callback: () => TRet) => TRet;
|
|
1344
1370
|
private static createOpsFromDelta;
|
|
1371
|
+
/**
|
|
1372
|
+
* Note: this field only provides a lower-bound on the reference sequence numbers for in-flight ops.
|
|
1373
|
+
* The exact reason isn't understood, but some e2e tests suggest that the runtime may sometimes process
|
|
1374
|
+
* incoming leave/join ops before putting an op that this DDS submits over the wire.
|
|
1375
|
+
*
|
|
1376
|
+
* E.g. SharedString submits an op while deltaManager has lastSequenceNumber = 10, but before the runtime
|
|
1377
|
+
* puts this op over the wire, it processes a client join/leave op with sequence number 11, so the referenceSequenceNumber
|
|
1378
|
+
* on the SharedString op is 11.
|
|
1379
|
+
*
|
|
1380
|
+
* The reference sequence numbers placed in this queue are also not accurate for stashed ops due to how the applyStashedOp
|
|
1381
|
+
* flow works at the runtime level. This is a legitimate bug, and AB#6602 tracks one way to fix it (stop reaching all the way
|
|
1382
|
+
* to deltaManager's lastSequenceNumber to obtain refSeq, instead leveraging some analogous notion on the container or datastore
|
|
1383
|
+
* runtime).
|
|
1384
|
+
*/
|
|
1385
|
+
private readonly inFlightRefSeqs;
|
|
1386
|
+
private ongoingResubmitRefSeq;
|
|
1387
|
+
/**
|
|
1388
|
+
* Gets the reference sequence number (i.e. sequence number of the runtime's last processed op) for an op submitted
|
|
1389
|
+
* in the current context.
|
|
1390
|
+
*
|
|
1391
|
+
* This value can be optionally overridden using `useResubmitRefSeq`.
|
|
1392
|
+
* IntervalCollection's resubmit logic currently relies on preserving merge information from when the op was originally submitted,
|
|
1393
|
+
* even if the op is resubmitted more than once. Thus during resubmit, `inFlightRefSeqs` gets populated with the
|
|
1394
|
+
* original refSeq rather than the refSeq at the time of reconnection.
|
|
1395
|
+
*
|
|
1396
|
+
* @remarks - In some not fully understood cases, the runtime may process incoming ops before putting an op that this
|
|
1397
|
+
* DDS submits over the wire. See `inFlightRefSeqs` for more details.
|
|
1398
|
+
*/
|
|
1399
|
+
private get currentRefSeq();
|
|
1345
1400
|
protected client: Client;
|
|
1346
1401
|
/** `Deferred` that triggers once the object is loaded */
|
|
1347
1402
|
protected loadedDeferred: Deferred<void>;
|
|
@@ -1414,6 +1469,11 @@ export declare abstract class SharedSegmentSequence<T extends ISegment> extends
|
|
|
1414
1469
|
createLocalReferencePosition(segment: T, offset: number, refType: ReferenceType, properties: PropertySet | undefined, slidingPreference?: SlidingPreference, canSlideToEndpoint?: boolean): LocalReferencePosition;
|
|
1415
1470
|
/**
|
|
1416
1471
|
* Resolves a `ReferencePosition` into a character position using this client's perspective.
|
|
1472
|
+
*
|
|
1473
|
+
* Reference positions that point to a character that has been removed will
|
|
1474
|
+
* always return the position of the nearest non-removed character, regardless
|
|
1475
|
+
* of `ReferenceType`. To handle this case specifically, one may wish
|
|
1476
|
+
* to look at the segment returned by `ReferencePosition.getSegment`.
|
|
1417
1477
|
*/
|
|
1418
1478
|
localReferencePositionToPosition(lref: ReferencePosition): number;
|
|
1419
1479
|
/**
|
|
@@ -1542,12 +1602,21 @@ export declare abstract class SharedSegmentSequence<T extends ISegment> extends
|
|
|
1542
1602
|
/**
|
|
1543
1603
|
* {@inheritDoc @fluidframework/shared-object-base#SharedObjectCore.applyStashedOp}
|
|
1544
1604
|
*/
|
|
1545
|
-
protected applyStashedOp(content: any):
|
|
1605
|
+
protected applyStashedOp(content: any): void;
|
|
1546
1606
|
private summarizeMergeTree;
|
|
1607
|
+
/**
|
|
1608
|
+
*
|
|
1609
|
+
* @param message - Message with decoded and hydrated handles
|
|
1610
|
+
*/
|
|
1547
1611
|
private processMergeTreeMsg;
|
|
1548
1612
|
private processMinSequenceNumberChanged;
|
|
1549
1613
|
private loadFinished;
|
|
1550
1614
|
private initializeIntervalCollections;
|
|
1615
|
+
/**
|
|
1616
|
+
* Overrides the "currently applicable reference sequence number" for the duration of the callback.
|
|
1617
|
+
* See remarks on `currentRefSeq` for more context.
|
|
1618
|
+
*/
|
|
1619
|
+
private useResubmitRefSeq;
|
|
1551
1620
|
}
|
|
1552
1621
|
|
|
1553
1622
|
/**
|
|
@@ -1696,12 +1765,15 @@ export declare class SharedStringFactory implements IChannelFactory {
|
|
|
1696
1765
|
* {@inheritDoc @fluidframework/datastore-definitions#IChannelFactory.load}
|
|
1697
1766
|
*/
|
|
1698
1767
|
load(runtime: IFluidDataStoreRuntime, id: string, services: IChannelServices, attributes: IChannelAttributes): Promise<SharedString>;
|
|
1768
|
+
/**
|
|
1769
|
+
* {@inheritDoc @fluidframework/datastore-definitions#IChannelFactory.create}
|
|
1770
|
+
*/
|
|
1699
1771
|
create(document: IFluidDataStoreRuntime, id: string): SharedString;
|
|
1700
1772
|
}
|
|
1701
1773
|
|
|
1702
1774
|
/**
|
|
1703
1775
|
* Data for undoing edits on SharedStrings and Intervals.
|
|
1704
|
-
* @
|
|
1776
|
+
* @alpha
|
|
1705
1777
|
*/
|
|
1706
1778
|
export declare type SharedStringRevertible = MergeTreeDeltaRevertible | IntervalRevertible;
|
|
1707
1779
|
|
|
@@ -9,10 +9,10 @@ import { Client, IJSONSegment, IMergeTreeGroupMsg, IRelativePosition, ISegment,
|
|
|
9
9
|
import { IFluidSerializer, SharedObject, ISharedObjectEvents } from "@fluidframework/shared-object-base";
|
|
10
10
|
import { IEventThisPlaceHolder } from "@fluidframework/core-interfaces";
|
|
11
11
|
import { ISummaryTreeWithStats, ITelemetryContext } from "@fluidframework/runtime-definitions";
|
|
12
|
-
import { SequenceInterval } from "./intervals/index.
|
|
13
|
-
import { IIntervalCollection } from "./intervalCollection.
|
|
14
|
-
import { SequenceDeltaEvent, SequenceMaintenanceEvent } from "./sequenceDeltaEvent.
|
|
15
|
-
import { ISharedIntervalCollection } from "./sharedIntervalCollection.
|
|
12
|
+
import { SequenceInterval } from "./intervals/index.js";
|
|
13
|
+
import { IIntervalCollection } from "./intervalCollection.js";
|
|
14
|
+
import { SequenceDeltaEvent, SequenceMaintenanceEvent } from "./sequenceDeltaEvent.js";
|
|
15
|
+
import { ISharedIntervalCollection } from "./sharedIntervalCollection.js";
|
|
16
16
|
/**
|
|
17
17
|
* Events emitted in response to changes to the sequence data.
|
|
18
18
|
*
|
|
@@ -74,6 +74,35 @@ export declare abstract class SharedSegmentSequence<T extends ISegment> extends
|
|
|
74
74
|
*/
|
|
75
75
|
protected guardReentrancy: <TRet>(callback: () => TRet) => TRet;
|
|
76
76
|
private static createOpsFromDelta;
|
|
77
|
+
/**
|
|
78
|
+
* Note: this field only provides a lower-bound on the reference sequence numbers for in-flight ops.
|
|
79
|
+
* The exact reason isn't understood, but some e2e tests suggest that the runtime may sometimes process
|
|
80
|
+
* incoming leave/join ops before putting an op that this DDS submits over the wire.
|
|
81
|
+
*
|
|
82
|
+
* E.g. SharedString submits an op while deltaManager has lastSequenceNumber = 10, but before the runtime
|
|
83
|
+
* puts this op over the wire, it processes a client join/leave op with sequence number 11, so the referenceSequenceNumber
|
|
84
|
+
* on the SharedString op is 11.
|
|
85
|
+
*
|
|
86
|
+
* The reference sequence numbers placed in this queue are also not accurate for stashed ops due to how the applyStashedOp
|
|
87
|
+
* flow works at the runtime level. This is a legitimate bug, and AB#6602 tracks one way to fix it (stop reaching all the way
|
|
88
|
+
* to deltaManager's lastSequenceNumber to obtain refSeq, instead leveraging some analogous notion on the container or datastore
|
|
89
|
+
* runtime).
|
|
90
|
+
*/
|
|
91
|
+
private readonly inFlightRefSeqs;
|
|
92
|
+
private ongoingResubmitRefSeq;
|
|
93
|
+
/**
|
|
94
|
+
* Gets the reference sequence number (i.e. sequence number of the runtime's last processed op) for an op submitted
|
|
95
|
+
* in the current context.
|
|
96
|
+
*
|
|
97
|
+
* This value can be optionally overridden using `useResubmitRefSeq`.
|
|
98
|
+
* IntervalCollection's resubmit logic currently relies on preserving merge information from when the op was originally submitted,
|
|
99
|
+
* even if the op is resubmitted more than once. Thus during resubmit, `inFlightRefSeqs` gets populated with the
|
|
100
|
+
* original refSeq rather than the refSeq at the time of reconnection.
|
|
101
|
+
*
|
|
102
|
+
* @remarks - In some not fully understood cases, the runtime may process incoming ops before putting an op that this
|
|
103
|
+
* DDS submits over the wire. See `inFlightRefSeqs` for more details.
|
|
104
|
+
*/
|
|
105
|
+
private get currentRefSeq();
|
|
77
106
|
protected client: Client;
|
|
78
107
|
/** `Deferred` that triggers once the object is loaded */
|
|
79
108
|
protected loadedDeferred: Deferred<void>;
|
|
@@ -146,6 +175,11 @@ export declare abstract class SharedSegmentSequence<T extends ISegment> extends
|
|
|
146
175
|
createLocalReferencePosition(segment: T, offset: number, refType: ReferenceType, properties: PropertySet | undefined, slidingPreference?: SlidingPreference, canSlideToEndpoint?: boolean): LocalReferencePosition;
|
|
147
176
|
/**
|
|
148
177
|
* Resolves a `ReferencePosition` into a character position using this client's perspective.
|
|
178
|
+
*
|
|
179
|
+
* Reference positions that point to a character that has been removed will
|
|
180
|
+
* always return the position of the nearest non-removed character, regardless
|
|
181
|
+
* of `ReferenceType`. To handle this case specifically, one may wish
|
|
182
|
+
* to look at the segment returned by `ReferencePosition.getSegment`.
|
|
149
183
|
*/
|
|
150
184
|
localReferencePositionToPosition(lref: ReferencePosition): number;
|
|
151
185
|
/**
|
|
@@ -274,15 +308,24 @@ export declare abstract class SharedSegmentSequence<T extends ISegment> extends
|
|
|
274
308
|
/**
|
|
275
309
|
* {@inheritDoc @fluidframework/shared-object-base#SharedObjectCore.applyStashedOp}
|
|
276
310
|
*/
|
|
277
|
-
protected applyStashedOp(content: any):
|
|
311
|
+
protected applyStashedOp(content: any): void;
|
|
278
312
|
private summarizeMergeTree;
|
|
313
|
+
/**
|
|
314
|
+
*
|
|
315
|
+
* @param message - Message with decoded and hydrated handles
|
|
316
|
+
*/
|
|
279
317
|
private processMergeTreeMsg;
|
|
280
318
|
private processMinSequenceNumberChanged;
|
|
281
319
|
private loadFinished;
|
|
282
320
|
private initializeIntervalCollections;
|
|
321
|
+
/**
|
|
322
|
+
* Overrides the "currently applicable reference sequence number" for the duration of the callback.
|
|
323
|
+
* See remarks on `currentRefSeq` for more context.
|
|
324
|
+
*/
|
|
325
|
+
private useResubmitRefSeq;
|
|
283
326
|
}
|
|
284
327
|
/**
|
|
285
328
|
* Resets the reentrancy log counter. Test-only API.
|
|
286
329
|
*/
|
|
287
330
|
export declare function resetReentrancyLogCounter(): void;
|
|
288
|
-
//# sourceMappingURL=sequence.d.
|
|
331
|
+
//# sourceMappingURL=sequence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sequence.d.ts","sourceRoot":"","sources":["../src/sequence.ts"],"names":[],"mappings":"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"}
|