@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.
Files changed (388) hide show
  1. package/.eslintrc.cjs +4 -1
  2. package/{.mocharc.js → .mocharc.cjs} +1 -1
  3. package/CHANGELOG.md +8 -0
  4. package/README.md +2 -2
  5. package/{api-extractor-esm.json → api-extractor-cjs.json} +5 -1
  6. package/api-extractor.json +1 -1
  7. package/api-report/sequence.api.md +14 -27
  8. package/dist/{localValues.d.ts → IntervalCollectionValues.d.ts} +13 -12
  9. package/dist/IntervalCollectionValues.d.ts.map +1 -0
  10. package/dist/{localValues.js → IntervalCollectionValues.js} +4 -4
  11. package/dist/IntervalCollectionValues.js.map +1 -0
  12. package/dist/index.d.ts +11 -11
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +42 -42
  15. package/dist/index.js.map +1 -1
  16. package/dist/intervalCollection.d.ts +15 -22
  17. package/dist/intervalCollection.d.ts.map +1 -1
  18. package/dist/intervalCollection.js +53 -108
  19. package/dist/intervalCollection.js.map +1 -1
  20. package/dist/{defaultMap.d.ts → intervalCollectionMap.d.ts} +18 -57
  21. package/dist/intervalCollectionMap.d.ts.map +1 -0
  22. package/dist/{defaultMap.js → intervalCollectionMap.js} +77 -129
  23. package/dist/intervalCollectionMap.js.map +1 -0
  24. package/{lib/defaultMapInterfaces.d.mts → dist/intervalCollectionMapInterfaces.d.ts} +16 -22
  25. package/dist/intervalCollectionMapInterfaces.d.ts.map +1 -0
  26. package/dist/{defaultMapInterfaces.js → intervalCollectionMapInterfaces.js} +1 -1
  27. package/dist/intervalCollectionMapInterfaces.js.map +1 -0
  28. package/dist/intervalIndex/endpointInRangeIndex.d.ts +3 -3
  29. package/dist/intervalIndex/endpointInRangeIndex.d.ts.map +1 -1
  30. package/dist/intervalIndex/endpointInRangeIndex.js +9 -9
  31. package/dist/intervalIndex/endpointInRangeIndex.js.map +1 -1
  32. package/dist/intervalIndex/endpointIndex.d.ts +3 -3
  33. package/dist/intervalIndex/endpointIndex.d.ts.map +1 -1
  34. package/dist/intervalIndex/endpointIndex.js +5 -5
  35. package/dist/intervalIndex/endpointIndex.js.map +1 -1
  36. package/dist/intervalIndex/idIntervalIndex.d.ts +2 -2
  37. package/dist/intervalIndex/idIntervalIndex.d.ts.map +1 -1
  38. package/dist/intervalIndex/idIntervalIndex.js +2 -2
  39. package/dist/intervalIndex/idIntervalIndex.js.map +1 -1
  40. package/dist/intervalIndex/index.d.ts +8 -8
  41. package/dist/intervalIndex/index.d.ts.map +1 -1
  42. package/dist/intervalIndex/index.js +16 -16
  43. package/dist/intervalIndex/index.js.map +1 -1
  44. package/dist/intervalIndex/intervalIndex.d.ts +1 -1
  45. package/dist/intervalIndex/intervalIndex.d.ts.map +1 -1
  46. package/dist/intervalIndex/intervalIndex.js.map +1 -1
  47. package/dist/intervalIndex/overlappingIntervalsIndex.d.ts +7 -10
  48. package/dist/intervalIndex/overlappingIntervalsIndex.d.ts.map +1 -1
  49. package/dist/intervalIndex/overlappingIntervalsIndex.js +12 -14
  50. package/dist/intervalIndex/overlappingIntervalsIndex.js.map +1 -1
  51. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.d.ts +2 -2
  52. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.d.ts.map +1 -1
  53. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.js +8 -8
  54. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.js.map +1 -1
  55. package/dist/intervalIndex/sequenceIntervalIndexes.d.ts +2 -2
  56. package/dist/intervalIndex/sequenceIntervalIndexes.d.ts.map +1 -1
  57. package/dist/intervalIndex/sequenceIntervalIndexes.js.map +1 -1
  58. package/dist/intervalIndex/startpointInRangeIndex.d.ts +3 -3
  59. package/dist/intervalIndex/startpointInRangeIndex.d.ts.map +1 -1
  60. package/dist/intervalIndex/startpointInRangeIndex.js +9 -9
  61. package/dist/intervalIndex/startpointInRangeIndex.js.map +1 -1
  62. package/dist/intervalTree.d.ts +1 -1
  63. package/dist/intervalTree.d.ts.map +1 -1
  64. package/dist/intervalTree.js.map +1 -1
  65. package/dist/intervals/index.d.ts +3 -3
  66. package/dist/intervals/index.d.ts.map +1 -1
  67. package/dist/intervals/index.js +16 -16
  68. package/dist/intervals/index.js.map +1 -1
  69. package/dist/intervals/interval.d.ts +2 -2
  70. package/dist/intervals/interval.d.ts.map +1 -1
  71. package/dist/intervals/interval.js +3 -3
  72. package/dist/intervals/interval.js.map +1 -1
  73. package/dist/intervals/intervalUtils.d.ts +3 -3
  74. package/dist/intervals/intervalUtils.d.ts.map +1 -1
  75. package/dist/intervals/intervalUtils.js +1 -1
  76. package/dist/intervals/intervalUtils.js.map +1 -1
  77. package/dist/intervals/sequenceInterval.d.ts +2 -2
  78. package/dist/intervals/sequenceInterval.d.ts.map +1 -1
  79. package/dist/intervals/sequenceInterval.js +22 -23
  80. package/dist/intervals/sequenceInterval.js.map +1 -1
  81. package/dist/package.json +3 -0
  82. package/dist/packageVersion.d.ts +1 -1
  83. package/dist/packageVersion.js +1 -1
  84. package/dist/packageVersion.js.map +1 -1
  85. package/dist/revertibles.d.ts +12 -12
  86. package/dist/revertibles.d.ts.map +1 -1
  87. package/dist/revertibles.js +26 -26
  88. package/dist/revertibles.js.map +1 -1
  89. package/dist/sequence-alpha.d.ts +149 -13
  90. package/dist/sequence-beta.d.ts +2 -0
  91. package/dist/sequence-public.d.ts +2 -0
  92. package/dist/sequence-untrimmed.d.ts +50 -14
  93. package/dist/sequence.d.ts +38 -5
  94. package/dist/sequence.d.ts.map +1 -1
  95. package/dist/sequence.js +79 -35
  96. package/dist/sequence.js.map +1 -1
  97. package/dist/sequenceFactory.d.ts +4 -1
  98. package/dist/sequenceFactory.d.ts.map +1 -1
  99. package/dist/sequenceFactory.js +8 -5
  100. package/dist/sequenceFactory.js.map +1 -1
  101. package/dist/sharedIntervalCollection.d.ts +2 -2
  102. package/dist/sharedIntervalCollection.d.ts.map +1 -1
  103. package/dist/sharedIntervalCollection.js +5 -5
  104. package/dist/sharedIntervalCollection.js.map +1 -1
  105. package/dist/sharedSequence.d.ts +1 -1
  106. package/dist/sharedSequence.d.ts.map +1 -1
  107. package/dist/sharedSequence.js +2 -2
  108. package/dist/sharedSequence.js.map +1 -1
  109. package/dist/sharedString.d.ts +2 -2
  110. package/dist/sharedString.d.ts.map +1 -1
  111. package/dist/sharedString.js +6 -6
  112. package/dist/sharedString.js.map +1 -1
  113. package/dist/tsdoc-metadata.json +1 -1
  114. package/lib/{localValues.d.mts → IntervalCollectionValues.d.ts} +13 -12
  115. package/lib/IntervalCollectionValues.d.ts.map +1 -0
  116. package/lib/{localValues.mjs → IntervalCollectionValues.js} +2 -2
  117. package/lib/IntervalCollectionValues.js.map +1 -0
  118. package/lib/{index.d.mts → index.d.ts} +24 -12
  119. package/lib/index.d.ts.map +1 -0
  120. package/lib/{index.mjs → index.js} +11 -11
  121. package/lib/index.js.map +1 -0
  122. package/lib/{intervalCollection.d.mts → intervalCollection.d.ts} +16 -23
  123. package/lib/intervalCollection.d.ts.map +1 -0
  124. package/lib/{intervalCollection.mjs → intervalCollection.js} +17 -72
  125. package/lib/intervalCollection.js.map +1 -0
  126. package/lib/{defaultMap.d.mts → intervalCollectionMap.d.ts} +18 -57
  127. package/lib/intervalCollectionMap.d.ts.map +1 -0
  128. package/lib/{defaultMap.mjs → intervalCollectionMap.js} +75 -127
  129. package/lib/intervalCollectionMap.js.map +1 -0
  130. package/{dist/defaultMapInterfaces.d.ts → lib/intervalCollectionMapInterfaces.d.ts} +16 -22
  131. package/lib/intervalCollectionMapInterfaces.d.ts.map +1 -0
  132. package/lib/{intervalIndex/sequenceIntervalIndexes.mjs → intervalCollectionMapInterfaces.js} +1 -1
  133. package/lib/intervalCollectionMapInterfaces.js.map +1 -0
  134. package/lib/intervalIndex/{endpointInRangeIndex.d.mts → endpointInRangeIndex.d.ts} +4 -4
  135. package/lib/intervalIndex/endpointInRangeIndex.d.ts.map +1 -0
  136. package/lib/intervalIndex/{endpointInRangeIndex.mjs → endpointInRangeIndex.js} +3 -3
  137. package/lib/intervalIndex/endpointInRangeIndex.js.map +1 -0
  138. package/lib/intervalIndex/{endpointIndex.d.mts → endpointIndex.d.ts} +4 -4
  139. package/lib/intervalIndex/endpointIndex.d.ts.map +1 -0
  140. package/lib/intervalIndex/{endpointIndex.mjs → endpointIndex.js} +2 -2
  141. package/lib/intervalIndex/endpointIndex.js.map +1 -0
  142. package/lib/intervalIndex/{idIntervalIndex.d.mts → idIntervalIndex.d.ts} +3 -3
  143. package/lib/intervalIndex/idIntervalIndex.d.ts.map +1 -0
  144. package/lib/intervalIndex/{idIntervalIndex.mjs → idIntervalIndex.js} +2 -2
  145. package/lib/intervalIndex/idIntervalIndex.js.map +1 -0
  146. package/lib/intervalIndex/{index.d.mts → index.d.ts} +9 -9
  147. package/lib/intervalIndex/index.d.ts.map +1 -0
  148. package/lib/intervalIndex/{index.mjs → index.js} +7 -7
  149. package/lib/intervalIndex/index.js.map +1 -0
  150. package/lib/intervalIndex/{intervalIndex.d.mts → intervalIndex.d.ts} +2 -2
  151. package/lib/intervalIndex/intervalIndex.d.ts.map +1 -0
  152. package/lib/intervalIndex/{intervalIndex.mjs → intervalIndex.js} +1 -1
  153. package/lib/intervalIndex/intervalIndex.js.map +1 -0
  154. package/lib/intervalIndex/{intervalIndexUtils.d.mts → intervalIndexUtils.d.ts} +1 -1
  155. package/lib/intervalIndex/intervalIndexUtils.d.ts.map +1 -0
  156. package/lib/intervalIndex/{intervalIndexUtils.mjs → intervalIndexUtils.js} +1 -1
  157. package/lib/intervalIndex/intervalIndexUtils.js.map +1 -0
  158. package/lib/intervalIndex/{overlappingIntervalsIndex.d.mts → overlappingIntervalsIndex.d.ts} +8 -11
  159. package/lib/intervalIndex/overlappingIntervalsIndex.d.ts.map +1 -0
  160. package/lib/intervalIndex/{overlappingIntervalsIndex.mjs → overlappingIntervalsIndex.js} +8 -10
  161. package/lib/intervalIndex/overlappingIntervalsIndex.js.map +1 -0
  162. package/lib/intervalIndex/{overlappingSequenceIntervalsIndex.d.mts → overlappingSequenceIntervalsIndex.d.ts} +3 -3
  163. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.d.ts.map +1 -0
  164. package/lib/intervalIndex/{overlappingSequenceIntervalsIndex.mjs → overlappingSequenceIntervalsIndex.js} +3 -3
  165. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.js.map +1 -0
  166. package/lib/intervalIndex/{sequenceIntervalIndexes.d.mts → sequenceIntervalIndexes.d.ts} +3 -3
  167. package/lib/intervalIndex/sequenceIntervalIndexes.d.ts.map +1 -0
  168. package/lib/{defaultMapInterfaces.mjs → intervalIndex/sequenceIntervalIndexes.js} +1 -1
  169. package/lib/intervalIndex/sequenceIntervalIndexes.js.map +1 -0
  170. package/lib/intervalIndex/{startpointInRangeIndex.d.mts → startpointInRangeIndex.d.ts} +4 -4
  171. package/lib/intervalIndex/startpointInRangeIndex.d.ts.map +1 -0
  172. package/lib/intervalIndex/{startpointInRangeIndex.mjs → startpointInRangeIndex.js} +3 -3
  173. package/lib/intervalIndex/startpointInRangeIndex.js.map +1 -0
  174. package/lib/{intervalTree.d.mts → intervalTree.d.ts} +2 -2
  175. package/lib/intervalTree.d.ts.map +1 -0
  176. package/lib/{intervalTree.mjs → intervalTree.js} +1 -1
  177. package/lib/intervalTree.js.map +1 -0
  178. package/lib/intervals/{index.d.mts → index.d.ts} +4 -4
  179. package/lib/intervals/index.d.ts.map +1 -0
  180. package/lib/intervals/{index.mjs → index.js} +4 -4
  181. package/lib/intervals/index.js.map +1 -0
  182. package/lib/intervals/{interval.d.mts → interval.d.ts} +3 -3
  183. package/lib/intervals/{interval.d.mts.map → interval.d.ts.map} +1 -1
  184. package/lib/intervals/{interval.mjs → interval.js} +2 -2
  185. package/lib/intervals/interval.js.map +1 -0
  186. package/lib/intervals/{intervalUtils.d.mts → intervalUtils.d.ts} +4 -4
  187. package/lib/intervals/intervalUtils.d.ts.map +1 -0
  188. package/lib/intervals/{intervalUtils.mjs → intervalUtils.js} +3 -2
  189. package/lib/intervals/intervalUtils.js.map +1 -0
  190. package/lib/intervals/{sequenceInterval.d.mts → sequenceInterval.d.ts} +3 -3
  191. package/lib/intervals/sequenceInterval.d.ts.map +1 -0
  192. package/lib/intervals/{sequenceInterval.mjs → sequenceInterval.js} +5 -4
  193. package/lib/intervals/{sequenceInterval.mjs.map → sequenceInterval.js.map} +1 -1
  194. package/lib/{packageVersion.d.mts → packageVersion.d.ts} +2 -2
  195. package/lib/packageVersion.d.ts.map +1 -0
  196. package/lib/{packageVersion.mjs → packageVersion.js} +2 -2
  197. package/lib/packageVersion.js.map +1 -0
  198. package/lib/{revertibles.d.mts → revertibles.d.ts} +13 -13
  199. package/lib/revertibles.d.ts.map +1 -0
  200. package/lib/{revertibles.mjs → revertibles.js} +11 -10
  201. package/lib/revertibles.js.map +1 -0
  202. package/lib/{sequence-alpha.d.mts → sequence-alpha.d.ts} +162 -13
  203. package/lib/{sequence-beta.d.mts → sequence-beta.d.ts} +15 -0
  204. package/lib/{sequence-public.d.mts → sequence-public.d.ts} +15 -0
  205. package/lib/{sequence-untrimmed.d.mts → sequence-untrimmed.d.ts} +63 -14
  206. package/lib/{sequence.d.mts → sequence.d.ts} +39 -6
  207. package/lib/sequence.d.ts.map +1 -0
  208. package/lib/{sequence.mjs → sequence.js} +78 -34
  209. package/lib/sequence.js.map +1 -0
  210. package/lib/{sequenceDeltaEvent.d.mts → sequenceDeltaEvent.d.ts} +1 -1
  211. package/lib/sequenceDeltaEvent.d.ts.map +1 -0
  212. package/lib/{sequenceDeltaEvent.mjs → sequenceDeltaEvent.js} +1 -1
  213. package/lib/sequenceDeltaEvent.js.map +1 -0
  214. package/lib/{sequenceFactory.d.mts → sequenceFactory.d.ts} +5 -2
  215. package/lib/sequenceFactory.d.ts.map +1 -0
  216. package/lib/{sequenceFactory.mjs → sequenceFactory.js} +6 -3
  217. package/lib/sequenceFactory.js.map +1 -0
  218. package/lib/{sharedIntervalCollection.d.mts → sharedIntervalCollection.d.ts} +3 -3
  219. package/lib/sharedIntervalCollection.d.ts.map +1 -0
  220. package/lib/{sharedIntervalCollection.mjs → sharedIntervalCollection.js} +5 -5
  221. package/lib/sharedIntervalCollection.js.map +1 -0
  222. package/lib/{sharedSequence.d.mts → sharedSequence.d.ts} +2 -2
  223. package/lib/sharedSequence.d.ts.map +1 -0
  224. package/lib/{sharedSequence.mjs → sharedSequence.js} +2 -2
  225. package/lib/sharedSequence.js.map +1 -0
  226. package/lib/{sharedString.d.mts → sharedString.d.ts} +3 -3
  227. package/lib/sharedString.d.ts.map +1 -0
  228. package/lib/{sharedString.mjs → sharedString.js} +3 -3
  229. package/lib/sharedString.js.map +1 -0
  230. package/lib/test/collections.intervalTree.js +73 -0
  231. package/lib/test/collections.intervalTree.js.map +1 -0
  232. package/lib/test/createSnapshotFiles.js +15 -0
  233. package/lib/test/createSnapshotFiles.js.map +1 -0
  234. package/lib/test/dirname.cjs +16 -0
  235. package/lib/test/dirname.cjs.map +1 -0
  236. package/lib/test/endpointInRangeIndex.spec.js +182 -0
  237. package/lib/test/endpointInRangeIndex.spec.js.map +1 -0
  238. package/lib/test/fuzz/fuzzUtils.js +362 -0
  239. package/lib/test/fuzz/fuzzUtils.js.map +1 -0
  240. package/lib/test/fuzz/intervalCollection.fuzz.spec.js +87 -0
  241. package/lib/test/fuzz/intervalCollection.fuzz.spec.js.map +1 -0
  242. package/lib/test/fuzz/intervalRevertibles.fuzz.spec.js +128 -0
  243. package/lib/test/fuzz/intervalRevertibles.fuzz.spec.js.map +1 -0
  244. package/lib/test/fuzz/sharedString.fuzz.spec.js +91 -0
  245. package/lib/test/fuzz/sharedString.fuzz.spec.js.map +1 -0
  246. package/lib/test/generateSharedStrings.js +138 -0
  247. package/lib/test/generateSharedStrings.js.map +1 -0
  248. package/lib/test/intervalCollection.detached.spec.js +128 -0
  249. package/lib/test/intervalCollection.detached.spec.js.map +1 -0
  250. package/lib/test/intervalCollection.events.spec.js +491 -0
  251. package/lib/test/intervalCollection.events.spec.js.map +1 -0
  252. package/lib/test/intervalCollection.perf.spec.js +88 -0
  253. package/lib/test/intervalCollection.perf.spec.js.map +1 -0
  254. package/lib/test/intervalCollection.snapshot.spec.js +171 -0
  255. package/lib/test/intervalCollection.snapshot.spec.js.map +1 -0
  256. package/lib/test/intervalCollection.spec.js +1660 -0
  257. package/lib/test/intervalCollection.spec.js.map +1 -0
  258. package/lib/test/intervalIndexTestUtils.js +49 -0
  259. package/lib/test/intervalIndexTestUtils.js.map +1 -0
  260. package/lib/test/intervalRebasing.spec.js +589 -0
  261. package/lib/test/intervalRebasing.spec.js.map +1 -0
  262. package/lib/test/intervalStashedOps.spec.js +142 -0
  263. package/lib/test/intervalStashedOps.spec.js.map +1 -0
  264. package/lib/test/intervalTestUtils.js +81 -0
  265. package/lib/test/intervalTestUtils.js.map +1 -0
  266. package/lib/test/marshalling.spec.js +55 -0
  267. package/lib/test/marshalling.spec.js.map +1 -0
  268. package/lib/test/memory/sharedSequence.spec.js +82 -0
  269. package/lib/test/memory/sharedSequence.spec.js.map +1 -0
  270. package/lib/test/memory/sharedString.spec.js +134 -0
  271. package/lib/test/memory/sharedString.spec.js.map +1 -0
  272. package/lib/test/overlappingSequenceIntervalsIndex.spec.js +348 -0
  273. package/lib/test/overlappingSequenceIntervalsIndex.spec.js.map +1 -0
  274. package/lib/test/partialLoad.spec.js +211 -0
  275. package/lib/test/partialLoad.spec.js.map +1 -0
  276. package/lib/test/rebasing.spec.js +81 -0
  277. package/lib/test/rebasing.spec.js.map +1 -0
  278. package/lib/test/reentrancy.spec.js +174 -0
  279. package/lib/test/reentrancy.spec.js.map +1 -0
  280. package/lib/test/revertibles.spec.js +1019 -0
  281. package/lib/test/revertibles.spec.js.map +1 -0
  282. package/lib/test/sequenceDeltaEvent.spec.js +2144 -0
  283. package/lib/test/sequenceDeltaEvent.spec.js.map +1 -0
  284. package/lib/test/sharedIntervalCollection.spec.js +159 -0
  285. package/lib/test/sharedIntervalCollection.spec.js.map +1 -0
  286. package/lib/test/sharedString.spec.js +532 -0
  287. package/lib/test/sharedString.spec.js.map +1 -0
  288. package/lib/test/snapshotEmptyProps.spec.js +45 -0
  289. package/lib/test/snapshotEmptyProps.spec.js.map +1 -0
  290. package/lib/test/snapshotVersion.spec.js +149 -0
  291. package/lib/test/snapshotVersion.spec.js.map +1 -0
  292. package/lib/test/startpointInRangeIndex.spec.js +182 -0
  293. package/lib/test/startpointInRangeIndex.spec.js.map +1 -0
  294. package/lib/test/subSequence.spec.js +92 -0
  295. package/lib/test/subSequence.spec.js.map +1 -0
  296. package/lib/test/types/validateSequencePrevious.generated.js +162 -0
  297. package/lib/test/types/validateSequencePrevious.generated.js.map +1 -0
  298. package/lib/test/v1IntervalCollectionHelpers.js +93 -0
  299. package/lib/test/v1IntervalCollectionHelpers.js.map +1 -0
  300. package/package.json +64 -60
  301. package/src/{localValues.ts → IntervalCollectionValues.ts} +23 -17
  302. package/src/index.ts +15 -11
  303. package/src/intervalCollection.ts +37 -104
  304. package/src/{defaultMap.ts → intervalCollectionMap.ts} +120 -211
  305. package/src/{defaultMapInterfaces.ts → intervalCollectionMapInterfaces.ts} +24 -23
  306. package/src/intervalIndex/endpointInRangeIndex.ts +5 -4
  307. package/src/intervalIndex/endpointIndex.ts +4 -3
  308. package/src/intervalIndex/idIntervalIndex.ts +3 -4
  309. package/src/intervalIndex/index.ts +8 -8
  310. package/src/intervalIndex/intervalIndex.ts +1 -1
  311. package/src/intervalIndex/overlappingIntervalsIndex.ts +11 -11
  312. package/src/intervalIndex/overlappingSequenceIntervalsIndex.ts +5 -4
  313. package/src/intervalIndex/sequenceIntervalIndexes.ts +2 -2
  314. package/src/intervalIndex/startpointInRangeIndex.ts +5 -4
  315. package/src/intervalTree.ts +1 -1
  316. package/src/intervals/index.ts +3 -3
  317. package/src/intervals/interval.ts +3 -4
  318. package/src/intervals/intervalUtils.ts +3 -3
  319. package/src/intervals/sequenceInterval.ts +3 -4
  320. package/src/packageVersion.ts +1 -1
  321. package/src/revertibles.ts +13 -13
  322. package/src/sequence.ts +101 -55
  323. package/src/sequenceFactory.ts +5 -2
  324. package/src/sharedIntervalCollection.ts +7 -11
  325. package/src/sharedSequence.ts +1 -1
  326. package/src/sharedString.ts +2 -2
  327. package/tsconfig.cjs.json +7 -0
  328. package/tsconfig.json +2 -5
  329. package/dist/defaultMap.d.ts.map +0 -1
  330. package/dist/defaultMap.js.map +0 -1
  331. package/dist/defaultMapInterfaces.d.ts.map +0 -1
  332. package/dist/defaultMapInterfaces.js.map +0 -1
  333. package/dist/localValues.d.ts.map +0 -1
  334. package/dist/localValues.js.map +0 -1
  335. package/lib/defaultMap.d.mts.map +0 -1
  336. package/lib/defaultMap.mjs.map +0 -1
  337. package/lib/defaultMapInterfaces.d.mts.map +0 -1
  338. package/lib/defaultMapInterfaces.mjs.map +0 -1
  339. package/lib/index.d.mts.map +0 -1
  340. package/lib/index.mjs.map +0 -1
  341. package/lib/intervalCollection.d.mts.map +0 -1
  342. package/lib/intervalCollection.mjs.map +0 -1
  343. package/lib/intervalIndex/endpointInRangeIndex.d.mts.map +0 -1
  344. package/lib/intervalIndex/endpointInRangeIndex.mjs.map +0 -1
  345. package/lib/intervalIndex/endpointIndex.d.mts.map +0 -1
  346. package/lib/intervalIndex/endpointIndex.mjs.map +0 -1
  347. package/lib/intervalIndex/idIntervalIndex.d.mts.map +0 -1
  348. package/lib/intervalIndex/idIntervalIndex.mjs.map +0 -1
  349. package/lib/intervalIndex/index.d.mts.map +0 -1
  350. package/lib/intervalIndex/index.mjs.map +0 -1
  351. package/lib/intervalIndex/intervalIndex.d.mts.map +0 -1
  352. package/lib/intervalIndex/intervalIndex.mjs.map +0 -1
  353. package/lib/intervalIndex/intervalIndexUtils.d.mts.map +0 -1
  354. package/lib/intervalIndex/intervalIndexUtils.mjs.map +0 -1
  355. package/lib/intervalIndex/overlappingIntervalsIndex.d.mts.map +0 -1
  356. package/lib/intervalIndex/overlappingIntervalsIndex.mjs.map +0 -1
  357. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.d.mts.map +0 -1
  358. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.mjs.map +0 -1
  359. package/lib/intervalIndex/sequenceIntervalIndexes.d.mts.map +0 -1
  360. package/lib/intervalIndex/sequenceIntervalIndexes.mjs.map +0 -1
  361. package/lib/intervalIndex/startpointInRangeIndex.d.mts.map +0 -1
  362. package/lib/intervalIndex/startpointInRangeIndex.mjs.map +0 -1
  363. package/lib/intervalTree.d.mts.map +0 -1
  364. package/lib/intervalTree.mjs.map +0 -1
  365. package/lib/intervals/index.d.mts.map +0 -1
  366. package/lib/intervals/index.mjs.map +0 -1
  367. package/lib/intervals/interval.mjs.map +0 -1
  368. package/lib/intervals/intervalUtils.d.mts.map +0 -1
  369. package/lib/intervals/intervalUtils.mjs.map +0 -1
  370. package/lib/intervals/sequenceInterval.d.mts.map +0 -1
  371. package/lib/localValues.d.mts.map +0 -1
  372. package/lib/localValues.mjs.map +0 -1
  373. package/lib/packageVersion.d.mts.map +0 -1
  374. package/lib/packageVersion.mjs.map +0 -1
  375. package/lib/revertibles.d.mts.map +0 -1
  376. package/lib/revertibles.mjs.map +0 -1
  377. package/lib/sequence.d.mts.map +0 -1
  378. package/lib/sequence.mjs.map +0 -1
  379. package/lib/sequenceDeltaEvent.d.mts.map +0 -1
  380. package/lib/sequenceDeltaEvent.mjs.map +0 -1
  381. package/lib/sequenceFactory.d.mts.map +0 -1
  382. package/lib/sequenceFactory.mjs.map +0 -1
  383. package/lib/sharedIntervalCollection.d.mts.map +0 -1
  384. package/lib/sharedIntervalCollection.mjs.map +0 -1
  385. package/lib/sharedSequence.d.mts.map +0 -1
  386. package/lib/sharedSequence.mjs.map +0 -1
  387. package/lib/sharedString.d.mts.map +0 -1
  388. 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, IValueFactory, IValueOpEmitter, IValueOperation, IValueType, IValueTypeOperationValue, SequenceOptions } from "./defaultMapInterfaces";
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 | "end" | "start" | undefined;
71
- endPos: number | "end" | "start" | undefined;
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 IValueType<IntervalCollection<SequenceInterval>> {
116
+ export declare class SequenceIntervalCollectionValueType implements IIntervalCollectionType<SequenceInterval> {
114
117
  static Name: string;
115
118
  get name(): string;
116
- get factory(): IValueFactory<IntervalCollection<SequenceInterval>>;
117
- get ops(): Map<IntervalOpType, IValueOperation<IntervalCollection<SequenceInterval>>>;
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 IValueType<IntervalCollection<Interval>> {
124
+ export declare class IntervalCollectionValueType implements IIntervalCollectionType<Interval> {
122
125
  static Name: string;
123
126
  get name(): string;
124
- get factory(): IValueFactory<IntervalCollection<Interval>>;
125
- get ops(): Map<IntervalOpType, IValueOperation<IntervalCollection<Interval>>>;
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, IValueOperation<IntervalCollection<T>>>;
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 intervals_1 = require("./intervals");
16
- const intervalIndex_1 = require("./intervalIndex");
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
- const reservedIntervalIdKey = "intervalId";
28
+ exports.reservedIntervalIdKey = "intervalId";
29
29
  function sidesFromStickiness(stickiness) {
30
- const startSide = (stickiness & intervals_1.IntervalStickiness.START) !== 0 ? Side.After : Side.Before;
31
- const endSide = (stickiness & intervals_1.IntervalStickiness.END) !== 0 ? Side.Before : Side.After;
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] ?? intervals_1.IntervalStickiness.END;
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 !== intervals_1.IntervalStickiness.END) {
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
- function toOptionalSequencePlace(pos, side = Side.Before) {
93
- return typeof pos === "number" ? { pos, side } : pos;
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 = intervals_1.IntervalStickiness.NONE;
98
+ let stickiness = index_js_1.IntervalStickiness.NONE;
97
99
  if (startSide === Side.After || startPos === "start") {
98
- stickiness |= intervals_1.IntervalStickiness.START;
100
+ stickiness |= index_js_1.IntervalStickiness.START;
99
101
  }
100
102
  if (endSide === Side.Before || endPos === "end") {
101
- stickiness |= intervals_1.IntervalStickiness.END;
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: intervals_1.createInterval,
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 intervalIndex_1.OverlappingIntervalsIndex(client, helpers);
124
- this.idIntervalIndex = (0, intervalIndex_1.createIdIntervalIndex)();
125
- this.endIntervalIndex = new intervalIndex_1.EndpointIndex(client, helpers);
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 intervals_1.SequenceInterval) {
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 intervals_1.SequenceInterval) {
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 intervals_1.SequenceInterval) {
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(intervals_1.sequenceIntervalHelpers, true, emitter, raw, options);
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: intervals_1.createInterval,
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
- intervals_1.IntervalOpType.ADD,
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
- intervals_1.IntervalOpType.DELETE,
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
- intervals_1.IntervalOpType.CHANGE,
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 intervals_1.SequenceInterval) {
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), intervals_1.IntervalType.SlideOnRemove, props);
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 intervals_1.SequenceInterval) {
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: intervals_1.IntervalType.SlideOnRemove,
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 intervals_1.SequenceInterval) {
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 intervals_1.SequenceInterval, 0x3a0 /* localInterval must be `SequenceInterval` when used with client */);
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 intervals_1.SequenceInterval)) {
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, intervals_1.createPositionReferenceFromSegoff)(this.client, newStart, interval.start.refType, op, undefined, undefined, (0, intervals_1.startReferenceSlidingPreference)(interval.stickiness), (0, intervals_1.startReferenceSlidingPreference)(interval.stickiness) ===
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, intervals_1.createPositionReferenceFromSegoff)(this.client, newEnd, interval.end.refType, op, undefined, undefined, (0, intervals_1.endReferenceSlidingPreference)(interval.stickiness), (0, intervals_1.endReferenceSlidingPreference)(interval.stickiness) ===
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");