@fluidframework/merge-tree 2.0.0-rc.1.0.3 → 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.
Files changed (770) hide show
  1. package/{.eslintrc.js → .eslintrc.cjs} +4 -1
  2. package/{.mocharc.js → .mocharc.cjs} +1 -1
  3. package/CHANGELOG.md +4 -0
  4. package/api-extractor-cjs.json +8 -0
  5. package/api-extractor-lint.json +1 -1
  6. package/api-extractor.json +1 -9
  7. package/api-report/merge-tree.api.md +6 -12
  8. package/dist/MergeTreeTextHelper.d.ts +2 -2
  9. package/dist/MergeTreeTextHelper.d.ts.map +1 -1
  10. package/dist/MergeTreeTextHelper.js +3 -3
  11. package/dist/MergeTreeTextHelper.js.map +1 -1
  12. package/dist/attributionCollection.d.ts +1 -1
  13. package/dist/attributionCollection.d.ts.map +1 -1
  14. package/dist/attributionCollection.js.map +1 -1
  15. package/dist/attributionPolicy.d.ts +1 -1
  16. package/dist/attributionPolicy.d.ts.map +1 -1
  17. package/dist/attributionPolicy.js +15 -15
  18. package/dist/attributionPolicy.js.map +1 -1
  19. package/dist/client.d.ts +31 -12
  20. package/dist/client.d.ts.map +1 -1
  21. package/dist/client.js +103 -92
  22. package/dist/client.js.map +1 -1
  23. package/dist/collections/index.d.ts +2 -2
  24. package/dist/collections/index.d.ts.map +1 -1
  25. package/dist/collections/index.js +6 -6
  26. package/dist/collections/index.js.map +1 -1
  27. package/dist/endOfTreeSegment.d.ts +3 -3
  28. package/dist/endOfTreeSegment.d.ts.map +1 -1
  29. package/dist/endOfTreeSegment.js +8 -8
  30. package/dist/endOfTreeSegment.js.map +1 -1
  31. package/dist/index.d.ts +20 -20
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +71 -71
  34. package/dist/index.js.map +1 -1
  35. package/dist/localReference.d.ts +9 -39
  36. package/dist/localReference.d.ts.map +1 -1
  37. package/dist/localReference.js +29 -24
  38. package/dist/localReference.js.map +1 -1
  39. package/dist/merge-tree-alpha.d.ts +28 -450
  40. package/dist/merge-tree-beta.d.ts +0 -438
  41. package/dist/merge-tree-public.d.ts +0 -438
  42. package/dist/merge-tree-untrimmed.d.ts +28 -787
  43. package/dist/mergeTree.d.ts +11 -19
  44. package/dist/mergeTree.d.ts.map +1 -1
  45. package/dist/mergeTree.js +201 -189
  46. package/dist/mergeTree.js.map +1 -1
  47. package/dist/mergeTreeDeltaCallback.d.ts +3 -7
  48. package/dist/mergeTreeDeltaCallback.d.ts.map +1 -1
  49. package/dist/mergeTreeDeltaCallback.js.map +1 -1
  50. package/dist/mergeTreeNodeWalk.d.ts +1 -1
  51. package/dist/mergeTreeNodeWalk.d.ts.map +1 -1
  52. package/dist/mergeTreeNodeWalk.js.map +1 -1
  53. package/dist/mergeTreeNodes.d.ts +17 -14
  54. package/dist/mergeTreeNodes.d.ts.map +1 -1
  55. package/dist/mergeTreeNodes.js +32 -32
  56. package/dist/mergeTreeNodes.js.map +1 -1
  57. package/dist/mergeTreeTracking.d.ts +2 -2
  58. package/dist/mergeTreeTracking.d.ts.map +1 -1
  59. package/dist/mergeTreeTracking.js +2 -2
  60. package/dist/mergeTreeTracking.js.map +1 -1
  61. package/dist/opBuilder.d.ts +3 -3
  62. package/dist/opBuilder.d.ts.map +1 -1
  63. package/dist/opBuilder.js +7 -7
  64. package/dist/opBuilder.js.map +1 -1
  65. package/dist/package.json +3 -0
  66. package/dist/partialLengths.d.ts +5 -5
  67. package/dist/partialLengths.d.ts.map +1 -1
  68. package/dist/partialLengths.js +29 -29
  69. package/dist/partialLengths.js.map +1 -1
  70. package/dist/referencePositions.d.ts +4 -4
  71. package/dist/referencePositions.d.ts.map +1 -1
  72. package/dist/referencePositions.js +2 -2
  73. package/dist/referencePositions.js.map +1 -1
  74. package/dist/revertibles.d.ts +7 -7
  75. package/dist/revertibles.d.ts.map +1 -1
  76. package/dist/revertibles.js +39 -39
  77. package/dist/revertibles.js.map +1 -1
  78. package/dist/segmentGroupCollection.d.ts +1 -1
  79. package/dist/segmentGroupCollection.d.ts.map +1 -1
  80. package/dist/segmentGroupCollection.js +3 -3
  81. package/dist/segmentGroupCollection.js.map +1 -1
  82. package/dist/segmentPropertiesManager.d.ts +2 -2
  83. package/dist/segmentPropertiesManager.d.ts.map +1 -1
  84. package/dist/segmentPropertiesManager.js +8 -8
  85. package/dist/segmentPropertiesManager.js.map +1 -1
  86. package/dist/snapshotChunks.d.ts +3 -3
  87. package/dist/snapshotChunks.d.ts.map +1 -1
  88. package/dist/snapshotChunks.js +5 -5
  89. package/dist/snapshotChunks.js.map +1 -1
  90. package/dist/snapshotLoader.d.ts +3 -3
  91. package/dist/snapshotLoader.d.ts.map +1 -1
  92. package/dist/snapshotLoader.js +19 -19
  93. package/dist/snapshotLoader.js.map +1 -1
  94. package/dist/snapshotV1.d.ts +3 -3
  95. package/dist/snapshotV1.d.ts.map +1 -1
  96. package/dist/snapshotV1.js +35 -18
  97. package/dist/snapshotV1.js.map +1 -1
  98. package/dist/snapshotlegacy.d.ts +2 -2
  99. package/dist/snapshotlegacy.d.ts.map +1 -1
  100. package/dist/snapshotlegacy.js +22 -10
  101. package/dist/snapshotlegacy.js.map +1 -1
  102. package/dist/sortedSegmentSet.d.ts +3 -3
  103. package/dist/sortedSegmentSet.d.ts.map +1 -1
  104. package/dist/sortedSegmentSet.js +7 -5
  105. package/dist/sortedSegmentSet.js.map +1 -1
  106. package/dist/test/Insertion.perf.spec.js +15 -15
  107. package/dist/test/Insertion.perf.spec.js.map +1 -1
  108. package/dist/test/PartialLengths.perf.spec.js +13 -13
  109. package/dist/test/PartialLengths.perf.spec.js.map +1 -1
  110. package/dist/test/Removal.perf.spec.js +25 -25
  111. package/dist/test/Removal.perf.spec.js.map +1 -1
  112. package/dist/test/Snapshot.perf.spec.js +3 -3
  113. package/dist/test/Snapshot.perf.spec.js.map +1 -1
  114. package/dist/test/attributionCollection.perf.spec.js +9 -9
  115. package/dist/test/attributionCollection.perf.spec.js.map +1 -1
  116. package/dist/test/attributionCollection.spec.js +46 -46
  117. package/dist/test/attributionCollection.spec.js.map +1 -1
  118. package/dist/test/attributionPolicy.spec.js +13 -13
  119. package/dist/test/attributionPolicy.spec.js.map +1 -1
  120. package/dist/test/{beastTest.d.ts → beastTest.spec.d.ts} +3 -3
  121. package/dist/test/beastTest.spec.d.ts.map +1 -0
  122. package/dist/test/{beastTest.js → beastTest.spec.js} +120 -119
  123. package/dist/test/beastTest.spec.js.map +1 -0
  124. package/dist/test/client.annotateMarker.spec.js +13 -13
  125. package/dist/test/client.annotateMarker.spec.js.map +1 -1
  126. package/dist/test/{client.apis.d.ts → client.apis.spec.d.ts} +1 -1
  127. package/dist/test/client.apis.spec.d.ts.map +1 -0
  128. package/dist/test/{client.apis.js → client.apis.spec.js} +8 -8
  129. package/dist/test/client.apis.spec.js.map +1 -0
  130. package/dist/test/client.applyMsg.spec.js +106 -43
  131. package/dist/test/client.applyMsg.spec.js.map +1 -1
  132. package/dist/test/client.applyStashedOpFarm.spec.d.ts +1 -1
  133. package/dist/test/client.applyStashedOpFarm.spec.d.ts.map +1 -1
  134. package/dist/test/client.applyStashedOpFarm.spec.js +33 -21
  135. package/dist/test/client.applyStashedOpFarm.spec.js.map +1 -1
  136. package/dist/test/client.attributionFarm.spec.d.ts +1 -1
  137. package/dist/test/client.attributionFarm.spec.d.ts.map +1 -1
  138. package/dist/test/client.attributionFarm.spec.js +13 -13
  139. package/dist/test/client.attributionFarm.spec.js.map +1 -1
  140. package/dist/test/client.conflictFarm.spec.d.ts +1 -1
  141. package/dist/test/client.conflictFarm.spec.d.ts.map +1 -1
  142. package/dist/test/client.conflictFarm.spec.js +9 -9
  143. package/dist/test/client.conflictFarm.spec.js.map +1 -1
  144. package/dist/test/client.getPosition.spec.js +4 -4
  145. package/dist/test/client.getPosition.spec.js.map +1 -1
  146. package/dist/test/client.localReference.spec.js +140 -109
  147. package/dist/test/client.localReference.spec.js.map +1 -1
  148. package/dist/test/client.localReferenceFarm.spec.js +18 -18
  149. package/dist/test/client.localReferenceFarm.spec.js.map +1 -1
  150. package/dist/test/client.rebasePosition.spec.js +2 -2
  151. package/dist/test/client.rebasePosition.spec.js.map +1 -1
  152. package/dist/test/client.reconnectFarm.spec.d.ts +1 -1
  153. package/dist/test/client.reconnectFarm.spec.d.ts.map +1 -1
  154. package/dist/test/client.reconnectFarm.spec.js +10 -10
  155. package/dist/test/client.reconnectFarm.spec.js.map +1 -1
  156. package/dist/test/client.replay.spec.js +11 -11
  157. package/dist/test/client.replay.spec.js.map +1 -1
  158. package/dist/test/client.rollback.spec.js +83 -83
  159. package/dist/test/client.rollback.spec.js.map +1 -1
  160. package/dist/test/client.rollbackFarm.spec.js +9 -9
  161. package/dist/test/client.rollbackFarm.spec.js.map +1 -1
  162. package/dist/test/client.searchForMarker.spec.js +137 -137
  163. package/dist/test/client.searchForMarker.spec.js.map +1 -1
  164. package/dist/test/client.walkSegments.spec.js +2 -2
  165. package/dist/test/client.walkSegments.spec.js.map +1 -1
  166. package/dist/test/collections.list.spec.js +4 -4
  167. package/dist/test/collections.list.spec.js.map +1 -1
  168. package/dist/test/createInsertOnlyAttributionPolicy.spec.js +4 -4
  169. package/dist/test/createInsertOnlyAttributionPolicy.spec.js.map +1 -1
  170. package/dist/test/dirname.cjs +16 -0
  171. package/dist/test/dirname.cjs.map +1 -0
  172. package/dist/test/dirname.d.cts +6 -0
  173. package/dist/test/dirname.d.cts.map +1 -0
  174. package/dist/test/index.d.ts +8 -8
  175. package/dist/test/index.d.ts.map +1 -1
  176. package/dist/test/index.js +82 -81
  177. package/dist/test/index.js.map +1 -1
  178. package/dist/test/mergeTree.annotate.deltaCallback.spec.js +39 -39
  179. package/dist/test/mergeTree.annotate.deltaCallback.spec.js.map +1 -1
  180. package/dist/test/mergeTree.annotate.spec.js +39 -39
  181. package/dist/test/mergeTree.annotate.spec.js.map +1 -1
  182. package/dist/test/mergeTree.insert.deltaCallback.spec.js +35 -35
  183. package/dist/test/mergeTree.insert.deltaCallback.spec.js.map +1 -1
  184. package/dist/test/mergeTree.insertingWalk.spec.js +77 -77
  185. package/dist/test/mergeTree.insertingWalk.spec.js.map +1 -1
  186. package/dist/test/mergeTree.markRangeRemoved.deltaCallback.spec.js +42 -42
  187. package/dist/test/mergeTree.markRangeRemoved.deltaCallback.spec.js.map +1 -1
  188. package/dist/test/mergeTree.markRangeRemoved.spec.js +15 -15
  189. package/dist/test/mergeTree.markRangeRemoved.spec.js.map +1 -1
  190. package/dist/test/mergeTree.walk.spec.js +14 -14
  191. package/dist/test/mergeTree.walk.spec.js.map +1 -1
  192. package/dist/test/mergeTree.zamboni.spec.js +9 -9
  193. package/dist/test/mergeTree.zamboni.spec.js.map +1 -1
  194. package/dist/test/mergeTreeOperationRunner.d.ts +4 -4
  195. package/dist/test/mergeTreeOperationRunner.d.ts.map +1 -1
  196. package/dist/test/mergeTreeOperationRunner.js +16 -15
  197. package/dist/test/mergeTreeOperationRunner.js.map +1 -1
  198. package/dist/test/mergeTreeOperationRunner.spec.js +5 -5
  199. package/dist/test/mergeTreeOperationRunner.spec.js.map +1 -1
  200. package/dist/test/obliterate.concurrent.spec.js +85 -88
  201. package/dist/test/obliterate.concurrent.spec.js.map +1 -1
  202. package/dist/test/obliterate.deltaCallback.spec.d.ts +6 -0
  203. package/dist/test/obliterate.deltaCallback.spec.d.ts.map +1 -0
  204. package/dist/test/obliterate.deltaCallback.spec.js +146 -0
  205. package/dist/test/obliterate.deltaCallback.spec.js.map +1 -0
  206. package/dist/test/obliterate.partialLength.spec.js +39 -44
  207. package/dist/test/obliterate.partialLength.spec.js.map +1 -1
  208. package/dist/test/obliterate.reconnect.spec.js +15 -18
  209. package/dist/test/obliterate.reconnect.spec.js.map +1 -1
  210. package/dist/test/obliterate.spec.js +16 -16
  211. package/dist/test/obliterate.spec.js.map +1 -1
  212. package/dist/test/ordinal.spec.js +5 -5
  213. package/dist/test/ordinal.spec.js.map +1 -1
  214. package/dist/test/partialLength.spec.js +58 -64
  215. package/dist/test/partialLength.spec.js.map +1 -1
  216. package/dist/test/properties.spec.js +15 -15
  217. package/dist/test/properties.spec.js.map +1 -1
  218. package/dist/test/reconnectHelper.d.ts +8 -8
  219. package/dist/test/reconnectHelper.d.ts.map +1 -1
  220. package/dist/test/reconnectHelper.js +3 -3
  221. package/dist/test/reconnectHelper.js.map +1 -1
  222. package/dist/test/resetPendingSegmentsToOp.spec.js +18 -18
  223. package/dist/test/resetPendingSegmentsToOp.spec.js.map +1 -1
  224. package/dist/test/revertibleFarm.spec.js +21 -21
  225. package/dist/test/revertibleFarm.spec.js.map +1 -1
  226. package/dist/test/revertibles.spec.js +67 -67
  227. package/dist/test/revertibles.spec.js.map +1 -1
  228. package/dist/test/segmentGroupCollection.spec.js +3 -3
  229. package/dist/test/segmentGroupCollection.spec.js.map +1 -1
  230. package/dist/test/snapshot.spec.js +16 -16
  231. package/dist/test/snapshot.spec.js.map +1 -1
  232. package/dist/test/snapshot.utils.d.ts +4 -4
  233. package/dist/test/snapshot.utils.d.ts.map +1 -1
  234. package/dist/test/snapshot.utils.js +11 -11
  235. package/dist/test/snapshot.utils.js.map +1 -1
  236. package/dist/test/snapshotlegacy.spec.js +22 -22
  237. package/dist/test/snapshotlegacy.spec.js.map +1 -1
  238. package/dist/test/sortedSegmentSet.spec.js +9 -9
  239. package/dist/test/sortedSegmentSet.spec.js.map +1 -1
  240. package/dist/test/testClient.d.ts +13 -16
  241. package/dist/test/testClient.d.ts.map +1 -1
  242. package/dist/test/testClient.js +57 -59
  243. package/dist/test/testClient.js.map +1 -1
  244. package/dist/test/testClientLogger.d.ts +3 -3
  245. package/dist/test/testClientLogger.d.ts.map +1 -1
  246. package/dist/test/testClientLogger.js +19 -19
  247. package/dist/test/testClientLogger.js.map +1 -1
  248. package/dist/test/testServer.d.ts +3 -3
  249. package/dist/test/testServer.d.ts.map +1 -1
  250. package/dist/test/testServer.js +8 -8
  251. package/dist/test/testServer.js.map +1 -1
  252. package/dist/test/testUtils.d.ts +14 -6
  253. package/dist/test/testUtils.d.ts.map +1 -1
  254. package/dist/test/testUtils.js +36 -17
  255. package/dist/test/testUtils.js.map +1 -1
  256. package/dist/test/text.d.ts +2 -2
  257. package/dist/test/text.d.ts.map +1 -1
  258. package/dist/test/text.js +10 -10
  259. package/dist/test/text.js.map +1 -1
  260. package/dist/test/tracking.spec.js +12 -12
  261. package/dist/test/tracking.spec.js.map +1 -1
  262. package/dist/test/{wordUnitTests.d.ts → wordUnitTests.spec.d.ts} +1 -1
  263. package/dist/test/wordUnitTests.spec.d.ts.map +1 -0
  264. package/dist/test/{wordUnitTests.js → wordUnitTests.spec.js} +16 -15
  265. package/dist/test/wordUnitTests.spec.js.map +1 -0
  266. package/dist/textSegment.d.ts +3 -3
  267. package/dist/textSegment.d.ts.map +1 -1
  268. package/dist/textSegment.js +2 -2
  269. package/dist/textSegment.js.map +1 -1
  270. package/dist/tsdoc-metadata.json +1 -1
  271. package/dist/zamboni.d.ts +2 -2
  272. package/dist/zamboni.d.ts.map +1 -1
  273. package/dist/zamboni.js +19 -19
  274. package/dist/zamboni.js.map +1 -1
  275. package/lib/{MergeTreeTextHelper.d.mts → MergeTreeTextHelper.d.ts} +3 -3
  276. package/lib/MergeTreeTextHelper.d.ts.map +1 -0
  277. package/lib/{MergeTreeTextHelper.mjs → MergeTreeTextHelper.js} +3 -2
  278. package/lib/MergeTreeTextHelper.js.map +1 -0
  279. package/lib/{attributionCollection.d.mts → attributionCollection.d.ts} +2 -2
  280. package/lib/attributionCollection.d.ts.map +1 -0
  281. package/lib/{attributionCollection.mjs → attributionCollection.js} +1 -1
  282. package/lib/attributionCollection.js.map +1 -0
  283. package/lib/{attributionPolicy.d.mts → attributionPolicy.d.ts} +2 -2
  284. package/lib/attributionPolicy.d.ts.map +1 -0
  285. package/lib/{attributionPolicy.mjs → attributionPolicy.js} +4 -4
  286. package/lib/attributionPolicy.js.map +1 -0
  287. package/lib/{client.d.mts → client.d.ts} +32 -13
  288. package/lib/client.d.ts.map +1 -0
  289. package/lib/{client.mjs → client.js} +42 -31
  290. package/lib/client.js.map +1 -0
  291. package/lib/collections/{index.d.mts → index.d.ts} +3 -3
  292. package/lib/collections/index.d.ts.map +1 -0
  293. package/lib/collections/index.js +7 -0
  294. package/lib/collections/index.js.map +1 -0
  295. package/lib/collections/{list.d.mts → list.d.ts} +1 -1
  296. package/lib/collections/list.d.ts.map +1 -0
  297. package/lib/collections/{list.mjs → list.js} +1 -1
  298. package/lib/collections/list.js.map +1 -0
  299. package/lib/collections/{rbTree.d.mts → rbTree.d.ts} +1 -1
  300. package/lib/collections/rbTree.d.ts.map +1 -0
  301. package/lib/collections/{rbTree.mjs → rbTree.js} +1 -1
  302. package/lib/collections/rbTree.js.map +1 -0
  303. package/lib/{constants.d.mts → constants.d.ts} +1 -1
  304. package/lib/constants.d.ts.map +1 -0
  305. package/lib/{constants.mjs → constants.js} +1 -1
  306. package/lib/constants.js.map +1 -0
  307. package/lib/{endOfTreeSegment.d.mts → endOfTreeSegment.d.ts} +4 -4
  308. package/lib/endOfTreeSegment.d.ts.map +1 -0
  309. package/lib/{endOfTreeSegment.mjs → endOfTreeSegment.js} +3 -3
  310. package/lib/endOfTreeSegment.js.map +1 -0
  311. package/lib/{index.d.mts → index.d.ts} +21 -21
  312. package/lib/index.d.ts.map +1 -0
  313. package/lib/{index.mjs → index.js} +20 -20
  314. package/lib/index.js.map +1 -0
  315. package/lib/{localReference.d.mts → localReference.d.ts} +10 -40
  316. package/lib/localReference.d.ts.map +1 -0
  317. package/lib/{localReference.mjs → localReference.js} +12 -6
  318. package/lib/localReference.js.map +1 -0
  319. package/lib/{merge-tree-alpha.d.mts → merge-tree-alpha.d.ts} +28 -450
  320. package/lib/merge-tree-beta.d.ts +230 -0
  321. package/lib/merge-tree-public.d.ts +230 -0
  322. package/lib/{merge-tree-untrimmed.d.mts → merge-tree-untrimmed.d.ts} +28 -787
  323. package/lib/{mergeTree.d.mts → mergeTree.d.ts} +12 -20
  324. package/lib/mergeTree.d.ts.map +1 -0
  325. package/lib/{mergeTree.mjs → mergeTree.js} +47 -32
  326. package/lib/mergeTree.js.map +1 -0
  327. package/lib/{mergeTreeDeltaCallback.d.mts → mergeTreeDeltaCallback.d.ts} +8 -8
  328. package/lib/mergeTreeDeltaCallback.d.ts.map +1 -0
  329. package/lib/{mergeTreeDeltaCallback.mjs → mergeTreeDeltaCallback.js} +1 -1
  330. package/lib/mergeTreeDeltaCallback.js.map +1 -0
  331. package/lib/{mergeTreeNodeWalk.d.mts → mergeTreeNodeWalk.d.ts} +2 -2
  332. package/lib/mergeTreeNodeWalk.d.ts.map +1 -0
  333. package/lib/{mergeTreeNodeWalk.mjs → mergeTreeNodeWalk.js} +1 -1
  334. package/lib/mergeTreeNodeWalk.js.map +1 -0
  335. package/lib/{mergeTreeNodes.d.mts → mergeTreeNodes.d.ts} +18 -15
  336. package/lib/mergeTreeNodes.d.ts.map +1 -0
  337. package/lib/{mergeTreeNodes.mjs → mergeTreeNodes.js} +12 -10
  338. package/lib/mergeTreeNodes.js.map +1 -0
  339. package/lib/{mergeTreeTracking.d.mts → mergeTreeTracking.d.ts} +3 -3
  340. package/lib/mergeTreeTracking.d.ts.map +1 -0
  341. package/lib/{mergeTreeTracking.mjs → mergeTreeTracking.js} +3 -2
  342. package/lib/mergeTreeTracking.js.map +1 -0
  343. package/lib/{opBuilder.d.mts → opBuilder.d.ts} +4 -4
  344. package/lib/{opBuilder.d.mts.map → opBuilder.d.ts.map} +1 -1
  345. package/lib/{opBuilder.mjs → opBuilder.js} +2 -2
  346. package/lib/opBuilder.js.map +1 -0
  347. package/lib/{ops.d.mts → ops.d.ts} +1 -1
  348. package/lib/ops.d.ts.map +1 -0
  349. package/lib/{ops.mjs → ops.js} +1 -1
  350. package/lib/ops.js.map +1 -0
  351. package/lib/{ordinal.d.mts → ordinal.d.ts} +1 -1
  352. package/lib/ordinal.d.ts.map +1 -0
  353. package/lib/{ordinal.mjs → ordinal.js} +2 -1
  354. package/lib/ordinal.js.map +1 -0
  355. package/lib/{partialLengths.d.mts → partialLengths.d.ts} +6 -6
  356. package/lib/partialLengths.d.ts.map +1 -0
  357. package/lib/{partialLengths.mjs → partialLengths.js} +11 -10
  358. package/lib/partialLengths.js.map +1 -0
  359. package/lib/{properties.d.mts → properties.d.ts} +1 -1
  360. package/lib/properties.d.ts.map +1 -0
  361. package/lib/{properties.mjs → properties.js} +1 -1
  362. package/lib/properties.js.map +1 -0
  363. package/lib/{referencePositions.d.mts → referencePositions.d.ts} +5 -5
  364. package/lib/referencePositions.d.ts.map +1 -0
  365. package/lib/{referencePositions.mjs → referencePositions.js} +2 -2
  366. package/lib/referencePositions.js.map +1 -0
  367. package/lib/{revertibles.d.mts → revertibles.d.ts} +8 -8
  368. package/lib/revertibles.d.ts.map +1 -0
  369. package/lib/{revertibles.mjs → revertibles.js} +13 -13
  370. package/lib/revertibles.js.map +1 -0
  371. package/lib/{segmentGroupCollection.d.mts → segmentGroupCollection.d.ts} +2 -2
  372. package/lib/segmentGroupCollection.d.ts.map +1 -0
  373. package/lib/{segmentGroupCollection.mjs → segmentGroupCollection.js} +2 -2
  374. package/lib/segmentGroupCollection.js.map +1 -0
  375. package/lib/{segmentPropertiesManager.d.mts → segmentPropertiesManager.d.ts} +3 -3
  376. package/lib/segmentPropertiesManager.d.ts.map +1 -0
  377. package/lib/{segmentPropertiesManager.mjs → segmentPropertiesManager.js} +5 -3
  378. package/lib/segmentPropertiesManager.js.map +1 -0
  379. package/lib/{snapshotChunks.d.mts → snapshotChunks.d.ts} +4 -4
  380. package/lib/snapshotChunks.d.ts.map +1 -0
  381. package/lib/{snapshotChunks.mjs → snapshotChunks.js} +2 -2
  382. package/lib/snapshotChunks.js.map +1 -0
  383. package/lib/{snapshotLoader.d.mts → snapshotLoader.d.ts} +4 -4
  384. package/lib/snapshotLoader.d.ts.map +1 -0
  385. package/lib/{snapshotLoader.mjs → snapshotLoader.js} +10 -9
  386. package/lib/snapshotLoader.js.map +1 -0
  387. package/lib/{snapshotV1.d.mts → snapshotV1.d.ts} +4 -4
  388. package/lib/snapshotV1.d.ts.map +1 -0
  389. package/lib/{snapshotV1.mjs → snapshotV1.js} +24 -7
  390. package/lib/snapshotV1.js.map +1 -0
  391. package/lib/{snapshotlegacy.d.mts → snapshotlegacy.d.ts} +3 -3
  392. package/lib/snapshotlegacy.d.ts.map +1 -0
  393. package/lib/{snapshotlegacy.mjs → snapshotlegacy.js} +17 -4
  394. package/lib/snapshotlegacy.js.map +1 -0
  395. package/lib/{sortedSegmentSet.d.mts → sortedSegmentSet.d.ts} +4 -4
  396. package/lib/sortedSegmentSet.d.ts.map +1 -0
  397. package/lib/{sortedSegmentSet.mjs → sortedSegmentSet.js} +8 -5
  398. package/lib/sortedSegmentSet.js.map +1 -0
  399. package/lib/{sortedSet.d.mts → sortedSet.d.ts} +1 -1
  400. package/lib/sortedSet.d.ts.map +1 -0
  401. package/lib/{sortedSet.mjs → sortedSet.js} +1 -1
  402. package/lib/sortedSet.js.map +1 -0
  403. package/lib/test/Insertion.perf.spec.d.ts +6 -0
  404. package/lib/test/Insertion.perf.spec.d.ts.map +1 -0
  405. package/lib/test/Insertion.perf.spec.js +111 -0
  406. package/lib/test/Insertion.perf.spec.js.map +1 -0
  407. package/lib/test/PartialLengths.perf.spec.d.ts +6 -0
  408. package/lib/test/PartialLengths.perf.spec.d.ts.map +1 -0
  409. package/lib/test/PartialLengths.perf.spec.js +65 -0
  410. package/lib/test/PartialLengths.perf.spec.js.map +1 -0
  411. package/lib/test/Removal.perf.spec.d.ts +6 -0
  412. package/lib/test/Removal.perf.spec.d.ts.map +1 -0
  413. package/lib/test/Removal.perf.spec.js +164 -0
  414. package/lib/test/Removal.perf.spec.js.map +1 -0
  415. package/lib/test/Snapshot.perf.spec.d.ts +6 -0
  416. package/lib/test/Snapshot.perf.spec.d.ts.map +1 -0
  417. package/lib/test/Snapshot.perf.spec.js +31 -0
  418. package/lib/test/Snapshot.perf.spec.js.map +1 -0
  419. package/lib/test/attributionCollection.perf.spec.d.ts +6 -0
  420. package/lib/test/attributionCollection.perf.spec.d.ts.map +1 -0
  421. package/lib/test/attributionCollection.perf.spec.js +229 -0
  422. package/lib/test/attributionCollection.perf.spec.js.map +1 -0
  423. package/lib/test/attributionCollection.spec.d.ts +6 -0
  424. package/lib/test/attributionCollection.spec.d.ts.map +1 -0
  425. package/lib/test/attributionCollection.spec.js +484 -0
  426. package/lib/test/attributionCollection.spec.js.map +1 -0
  427. package/lib/test/attributionPolicy.spec.d.ts +6 -0
  428. package/lib/test/attributionPolicy.spec.d.ts.map +1 -0
  429. package/lib/test/attributionPolicy.spec.js +187 -0
  430. package/lib/test/attributionPolicy.spec.js.map +1 -0
  431. package/lib/test/beastTest.spec.d.ts +54 -0
  432. package/lib/test/beastTest.spec.d.ts.map +1 -0
  433. package/lib/test/beastTest.spec.js +1318 -0
  434. package/lib/test/beastTest.spec.js.map +1 -0
  435. package/lib/test/client.annotateMarker.spec.d.ts +6 -0
  436. package/lib/test/client.annotateMarker.spec.d.ts.map +1 -0
  437. package/lib/test/client.annotateMarker.spec.js +43 -0
  438. package/lib/test/client.annotateMarker.spec.js.map +1 -0
  439. package/lib/test/client.apis.spec.d.ts +7 -0
  440. package/lib/test/client.apis.spec.d.ts.map +1 -0
  441. package/lib/test/client.apis.spec.js +67 -0
  442. package/lib/test/client.apis.spec.js.map +1 -0
  443. package/lib/test/client.applyMsg.spec.d.ts +6 -0
  444. package/lib/test/client.applyMsg.spec.d.ts.map +1 -0
  445. package/lib/test/client.applyMsg.spec.js +561 -0
  446. package/lib/test/client.applyMsg.spec.js.map +1 -0
  447. package/lib/test/client.applyStashedOpFarm.spec.d.ts +12 -0
  448. package/lib/test/client.applyStashedOpFarm.spec.d.ts.map +1 -0
  449. package/lib/test/client.applyStashedOpFarm.spec.js +153 -0
  450. package/lib/test/client.applyStashedOpFarm.spec.js.map +1 -0
  451. package/lib/test/client.attributionFarm.spec.d.ts +7 -0
  452. package/lib/test/client.attributionFarm.spec.d.ts.map +1 -0
  453. package/lib/test/client.attributionFarm.spec.js +92 -0
  454. package/lib/test/client.attributionFarm.spec.js.map +1 -0
  455. package/lib/test/client.conflictFarm.spec.d.ts +15 -0
  456. package/lib/test/client.conflictFarm.spec.d.ts.map +1 -0
  457. package/lib/test/client.conflictFarm.spec.js +85 -0
  458. package/lib/test/client.conflictFarm.spec.js.map +1 -0
  459. package/lib/test/client.getPosition.spec.d.ts +6 -0
  460. package/lib/test/client.getPosition.spec.d.ts.map +1 -0
  461. package/lib/test/client.getPosition.spec.js +52 -0
  462. package/lib/test/client.getPosition.spec.js.map +1 -0
  463. package/lib/test/client.localReference.spec.d.ts +6 -0
  464. package/lib/test/client.localReference.spec.d.ts.map +1 -0
  465. package/lib/test/client.localReference.spec.js +468 -0
  466. package/lib/test/client.localReference.spec.js.map +1 -0
  467. package/lib/test/client.localReferenceFarm.spec.d.ts +6 -0
  468. package/lib/test/client.localReferenceFarm.spec.d.ts.map +1 -0
  469. package/lib/test/client.localReferenceFarm.spec.js +86 -0
  470. package/lib/test/client.localReferenceFarm.spec.js.map +1 -0
  471. package/lib/test/client.rebasePosition.spec.d.ts +6 -0
  472. package/lib/test/client.rebasePosition.spec.d.ts.map +1 -0
  473. package/lib/test/client.rebasePosition.spec.js +100 -0
  474. package/lib/test/client.rebasePosition.spec.js.map +1 -0
  475. package/lib/test/client.reconnectFarm.spec.d.ts +12 -0
  476. package/lib/test/client.reconnectFarm.spec.d.ts.map +1 -0
  477. package/lib/test/client.reconnectFarm.spec.js +88 -0
  478. package/lib/test/client.reconnectFarm.spec.js.map +1 -0
  479. package/lib/test/client.replay.spec.d.ts +6 -0
  480. package/lib/test/client.replay.spec.d.ts.map +1 -0
  481. package/lib/test/client.replay.spec.js +57 -0
  482. package/lib/test/client.replay.spec.js.map +1 -0
  483. package/lib/test/client.rollback.spec.d.ts +6 -0
  484. package/lib/test/client.rollback.spec.d.ts.map +1 -0
  485. package/lib/test/client.rollback.spec.js +451 -0
  486. package/lib/test/client.rollback.spec.js.map +1 -0
  487. package/lib/test/client.rollbackFarm.spec.d.ts +6 -0
  488. package/lib/test/client.rollbackFarm.spec.d.ts.map +1 -0
  489. package/lib/test/client.rollbackFarm.spec.js +46 -0
  490. package/lib/test/client.rollbackFarm.spec.js.map +1 -0
  491. package/lib/test/client.searchForMarker.spec.d.ts +6 -0
  492. package/lib/test/client.searchForMarker.spec.d.ts.map +1 -0
  493. package/lib/test/client.searchForMarker.spec.js +495 -0
  494. package/lib/test/client.searchForMarker.spec.js.map +1 -0
  495. package/lib/test/client.walkSegments.spec.d.ts +6 -0
  496. package/lib/test/client.walkSegments.spec.d.ts.map +1 -0
  497. package/lib/test/client.walkSegments.spec.js +52 -0
  498. package/lib/test/client.walkSegments.spec.js.map +1 -0
  499. package/lib/test/collections.list.spec.d.ts +6 -0
  500. package/lib/test/collections.list.spec.d.ts.map +1 -0
  501. package/lib/test/collections.list.spec.js +82 -0
  502. package/lib/test/collections.list.spec.js.map +1 -0
  503. package/lib/test/createInsertOnlyAttributionPolicy.spec.d.ts +6 -0
  504. package/lib/test/createInsertOnlyAttributionPolicy.spec.d.ts.map +1 -0
  505. package/lib/test/createInsertOnlyAttributionPolicy.spec.js +33 -0
  506. package/lib/test/createInsertOnlyAttributionPolicy.spec.js.map +1 -0
  507. package/lib/test/dirname.cjs +16 -0
  508. package/lib/test/dirname.cjs.map +1 -0
  509. package/lib/test/dirname.d.cts +6 -0
  510. package/lib/test/dirname.d.cts.map +1 -0
  511. package/lib/test/index.d.ts +13 -0
  512. package/lib/test/index.d.ts.map +1 -0
  513. package/lib/test/index.js +13 -0
  514. package/lib/test/index.js.map +1 -0
  515. package/lib/test/mergeTree.annotate.deltaCallback.spec.d.ts +6 -0
  516. package/lib/test/mergeTree.annotate.deltaCallback.spec.d.ts.map +1 -0
  517. package/lib/test/mergeTree.annotate.deltaCallback.spec.js +140 -0
  518. package/lib/test/mergeTree.annotate.deltaCallback.spec.js.map +1 -0
  519. package/lib/test/mergeTree.annotate.spec.d.ts +6 -0
  520. package/lib/test/mergeTree.annotate.spec.d.ts.map +1 -0
  521. package/lib/test/mergeTree.annotate.spec.js +446 -0
  522. package/lib/test/mergeTree.annotate.spec.js.map +1 -0
  523. package/lib/test/mergeTree.insert.deltaCallback.spec.d.ts +6 -0
  524. package/lib/test/mergeTree.insert.deltaCallback.spec.d.ts.map +1 -0
  525. package/lib/test/mergeTree.insert.deltaCallback.spec.js +124 -0
  526. package/lib/test/mergeTree.insert.deltaCallback.spec.js.map +1 -0
  527. package/lib/test/mergeTree.insertingWalk.spec.d.ts +6 -0
  528. package/lib/test/mergeTree.insertingWalk.spec.d.ts.map +1 -0
  529. package/lib/test/mergeTree.insertingWalk.spec.js +277 -0
  530. package/lib/test/mergeTree.insertingWalk.spec.js.map +1 -0
  531. package/lib/test/mergeTree.markRangeRemoved.deltaCallback.spec.d.ts +6 -0
  532. package/lib/test/mergeTree.markRangeRemoved.deltaCallback.spec.d.ts.map +1 -0
  533. package/lib/test/mergeTree.markRangeRemoved.deltaCallback.spec.js +176 -0
  534. package/lib/test/mergeTree.markRangeRemoved.deltaCallback.spec.js.map +1 -0
  535. package/lib/test/mergeTree.markRangeRemoved.spec.d.ts +6 -0
  536. package/lib/test/mergeTree.markRangeRemoved.spec.d.ts.map +1 -0
  537. package/lib/test/mergeTree.markRangeRemoved.spec.js +128 -0
  538. package/lib/test/mergeTree.markRangeRemoved.spec.js.map +1 -0
  539. package/lib/test/mergeTree.walk.spec.d.ts +6 -0
  540. package/lib/test/mergeTree.walk.spec.d.ts.map +1 -0
  541. package/lib/test/mergeTree.walk.spec.js +61 -0
  542. package/lib/test/mergeTree.walk.spec.js.map +1 -0
  543. package/lib/test/mergeTree.zamboni.spec.d.ts +6 -0
  544. package/lib/test/mergeTree.zamboni.spec.d.ts.map +1 -0
  545. package/lib/test/mergeTree.zamboni.spec.js +50 -0
  546. package/lib/test/mergeTree.zamboni.spec.js.map +1 -0
  547. package/lib/test/mergeTreeOperationRunner.d.ts +63 -0
  548. package/lib/test/mergeTreeOperationRunner.d.ts.map +1 -0
  549. package/lib/test/mergeTreeOperationRunner.js +207 -0
  550. package/lib/test/mergeTreeOperationRunner.js.map +1 -0
  551. package/lib/test/mergeTreeOperationRunner.spec.d.ts +6 -0
  552. package/lib/test/mergeTreeOperationRunner.spec.d.ts.map +1 -0
  553. package/lib/test/mergeTreeOperationRunner.spec.js +154 -0
  554. package/lib/test/mergeTreeOperationRunner.spec.js.map +1 -0
  555. package/lib/test/obliterate.concurrent.spec.d.ts +6 -0
  556. package/lib/test/obliterate.concurrent.spec.d.ts.map +1 -0
  557. package/lib/test/obliterate.concurrent.spec.js +1441 -0
  558. package/lib/test/obliterate.concurrent.spec.js.map +1 -0
  559. package/lib/test/obliterate.deltaCallback.spec.d.ts +6 -0
  560. package/lib/test/obliterate.deltaCallback.spec.d.ts.map +1 -0
  561. package/lib/test/obliterate.deltaCallback.spec.js +144 -0
  562. package/lib/test/obliterate.deltaCallback.spec.js.map +1 -0
  563. package/lib/test/obliterate.partialLength.spec.d.ts +6 -0
  564. package/lib/test/obliterate.partialLength.spec.d.ts.map +1 -0
  565. package/lib/test/obliterate.partialLength.spec.js +272 -0
  566. package/lib/test/obliterate.partialLength.spec.js.map +1 -0
  567. package/lib/test/obliterate.reconnect.spec.d.ts +6 -0
  568. package/lib/test/obliterate.reconnect.spec.d.ts.map +1 -0
  569. package/lib/test/obliterate.reconnect.spec.js +159 -0
  570. package/lib/test/obliterate.reconnect.spec.js.map +1 -0
  571. package/lib/test/obliterate.spec.d.ts +6 -0
  572. package/lib/test/obliterate.spec.d.ts.map +1 -0
  573. package/lib/test/obliterate.spec.js +160 -0
  574. package/lib/test/obliterate.spec.js.map +1 -0
  575. package/lib/test/ordinal.spec.d.ts +2 -0
  576. package/lib/test/ordinal.spec.d.ts.map +1 -0
  577. package/lib/test/ordinal.spec.js +38 -0
  578. package/lib/test/ordinal.spec.js.map +1 -0
  579. package/lib/test/partialLength.spec.d.ts +6 -0
  580. package/lib/test/partialLength.spec.d.ts.map +1 -0
  581. package/lib/test/partialLength.spec.js +274 -0
  582. package/lib/test/partialLength.spec.js.map +1 -0
  583. package/lib/test/properties.spec.d.ts +6 -0
  584. package/lib/test/properties.spec.d.ts.map +1 -0
  585. package/lib/test/properties.spec.js +53 -0
  586. package/lib/test/properties.spec.js.map +1 -0
  587. package/lib/test/reconnectHelper.d.ts +48 -0
  588. package/lib/test/reconnectHelper.d.ts.map +1 -0
  589. package/lib/test/reconnectHelper.js +82 -0
  590. package/lib/test/reconnectHelper.js.map +1 -0
  591. package/lib/test/resetPendingSegmentsToOp.spec.d.ts +6 -0
  592. package/lib/test/resetPendingSegmentsToOp.spec.d.ts.map +1 -0
  593. package/lib/test/resetPendingSegmentsToOp.spec.js +235 -0
  594. package/lib/test/resetPendingSegmentsToOp.spec.js.map +1 -0
  595. package/lib/test/revertibleFarm.spec.d.ts +6 -0
  596. package/lib/test/revertibleFarm.spec.d.ts.map +1 -0
  597. package/lib/test/revertibleFarm.spec.js +119 -0
  598. package/lib/test/revertibleFarm.spec.js.map +1 -0
  599. package/lib/test/revertibles.spec.d.ts +17 -0
  600. package/lib/test/revertibles.spec.d.ts.map +1 -0
  601. package/lib/test/revertibles.spec.js +381 -0
  602. package/lib/test/revertibles.spec.js.map +1 -0
  603. package/lib/test/segmentGroupCollection.spec.d.ts +6 -0
  604. package/lib/test/segmentGroupCollection.spec.d.ts.map +1 -0
  605. package/lib/test/segmentGroupCollection.spec.js +58 -0
  606. package/lib/test/segmentGroupCollection.spec.js.map +1 -0
  607. package/lib/test/snapshot.spec.d.ts +6 -0
  608. package/lib/test/snapshot.spec.d.ts.map +1 -0
  609. package/lib/test/snapshot.spec.js +176 -0
  610. package/lib/test/snapshot.spec.js.map +1 -0
  611. package/lib/test/snapshot.utils.d.ts +33 -0
  612. package/lib/test/snapshot.utils.d.ts.map +1 -0
  613. package/lib/test/snapshot.utils.js +104 -0
  614. package/lib/test/snapshot.utils.js.map +1 -0
  615. package/lib/test/snapshotlegacy.spec.d.ts +6 -0
  616. package/lib/test/snapshotlegacy.spec.d.ts.map +1 -0
  617. package/lib/test/snapshotlegacy.spec.js +137 -0
  618. package/lib/test/snapshotlegacy.spec.js.map +1 -0
  619. package/lib/test/sortedSegmentSet.spec.d.ts +6 -0
  620. package/lib/test/sortedSegmentSet.spec.d.ts.map +1 -0
  621. package/lib/test/sortedSegmentSet.spec.js +93 -0
  622. package/lib/test/sortedSegmentSet.spec.js.map +1 -0
  623. package/lib/test/testClient.d.ts +116 -0
  624. package/lib/test/testClient.d.ts.map +1 -0
  625. package/lib/test/testClient.js +430 -0
  626. package/lib/test/testClient.js.map +1 -0
  627. package/lib/test/testClientLogger.d.ts +44 -0
  628. package/lib/test/testClientLogger.d.ts.map +1 -0
  629. package/lib/test/testClientLogger.js +282 -0
  630. package/lib/test/testClientLogger.js.map +1 -0
  631. package/lib/test/testSerializer.d.ts +18 -0
  632. package/lib/test/testSerializer.d.ts.map +1 -0
  633. package/lib/test/testSerializer.js +29 -0
  634. package/lib/test/testSerializer.js.map +1 -0
  635. package/lib/test/testServer.d.ts +36 -0
  636. package/lib/test/testServer.d.ts.map +1 -0
  637. package/lib/test/testServer.js +133 -0
  638. package/lib/test/testServer.js.map +1 -0
  639. package/lib/test/testUtils.d.ts +77 -0
  640. package/lib/test/testUtils.d.ts.map +1 -0
  641. package/lib/test/testUtils.js +151 -0
  642. package/lib/test/testUtils.js.map +1 -0
  643. package/lib/test/text.d.ts +9 -0
  644. package/lib/test/text.d.ts.map +1 -0
  645. package/lib/test/text.js +71 -0
  646. package/lib/test/text.js.map +1 -0
  647. package/lib/test/tracking.spec.d.ts +6 -0
  648. package/lib/test/tracking.spec.d.ts.map +1 -0
  649. package/lib/test/tracking.spec.js +118 -0
  650. package/lib/test/tracking.spec.js.map +1 -0
  651. package/lib/test/types/validateMergeTreePrevious.generated.d.ts +2 -0
  652. package/lib/test/types/validateMergeTreePrevious.generated.d.ts.map +1 -0
  653. package/lib/test/types/validateMergeTreePrevious.generated.js +228 -0
  654. package/lib/test/types/validateMergeTreePrevious.generated.js.map +1 -0
  655. package/lib/test/wordUnitTests.spec.d.ts +6 -0
  656. package/lib/test/wordUnitTests.spec.d.ts.map +1 -0
  657. package/lib/test/wordUnitTests.spec.js +166 -0
  658. package/lib/test/wordUnitTests.spec.js.map +1 -0
  659. package/lib/{textSegment.d.mts → textSegment.d.ts} +4 -4
  660. package/lib/textSegment.d.ts.map +1 -0
  661. package/lib/{textSegment.mjs → textSegment.js} +2 -2
  662. package/lib/textSegment.js.map +1 -0
  663. package/lib/{zamboni.d.mts → zamboni.d.ts} +3 -3
  664. package/lib/zamboni.d.ts.map +1 -0
  665. package/lib/{zamboni.mjs → zamboni.js} +7 -6
  666. package/lib/zamboni.js.map +1 -0
  667. package/package.json +50 -57
  668. package/src/MergeTreeTextHelper.ts +4 -4
  669. package/src/attributionCollection.ts +1 -1
  670. package/src/attributionPolicy.ts +5 -5
  671. package/src/client.ts +50 -41
  672. package/src/collections/index.ts +2 -2
  673. package/src/endOfTreeSegment.ts +5 -5
  674. package/src/index.ts +20 -20
  675. package/src/localReference.ts +13 -7
  676. package/src/mergeTree.ts +53 -44
  677. package/src/mergeTreeDeltaCallback.ts +3 -8
  678. package/src/mergeTreeNodeWalk.ts +1 -1
  679. package/src/mergeTreeNodes.ts +21 -19
  680. package/src/mergeTreeTracking.ts +3 -3
  681. package/src/opBuilder.ts +3 -3
  682. package/src/partialLengths.ts +10 -10
  683. package/src/referencePositions.ts +4 -4
  684. package/src/revertibles.ts +14 -18
  685. package/src/segmentGroupCollection.ts +2 -2
  686. package/src/segmentPropertiesManager.ts +3 -3
  687. package/src/snapshotChunks.ts +4 -4
  688. package/src/snapshotLoader.ts +14 -11
  689. package/src/snapshotV1.ts +29 -9
  690. package/src/snapshotlegacy.ts +19 -5
  691. package/src/sortedSegmentSet.ts +8 -6
  692. package/src/textSegment.ts +3 -3
  693. package/src/zamboni.ts +7 -7
  694. package/tsconfig.cjs.json +7 -0
  695. package/tsconfig.json +2 -5
  696. package/api-extractor-esm.json +0 -17
  697. package/dist/test/beastTest.d.ts.map +0 -1
  698. package/dist/test/beastTest.js.map +0 -1
  699. package/dist/test/client.apis.d.ts.map +0 -1
  700. package/dist/test/client.apis.js.map +0 -1
  701. package/dist/test/wordUnitTests.d.ts.map +0 -1
  702. package/dist/test/wordUnitTests.js.map +0 -1
  703. package/lib/MergeTreeTextHelper.d.mts.map +0 -1
  704. package/lib/MergeTreeTextHelper.mjs.map +0 -1
  705. package/lib/attributionCollection.d.mts.map +0 -1
  706. package/lib/attributionCollection.mjs.map +0 -1
  707. package/lib/attributionPolicy.d.mts.map +0 -1
  708. package/lib/attributionPolicy.mjs.map +0 -1
  709. package/lib/client.d.mts.map +0 -1
  710. package/lib/client.mjs.map +0 -1
  711. package/lib/collections/index.d.mts.map +0 -1
  712. package/lib/collections/index.mjs +0 -7
  713. package/lib/collections/index.mjs.map +0 -1
  714. package/lib/collections/list.d.mts.map +0 -1
  715. package/lib/collections/list.mjs.map +0 -1
  716. package/lib/collections/rbTree.d.mts.map +0 -1
  717. package/lib/collections/rbTree.mjs.map +0 -1
  718. package/lib/constants.d.mts.map +0 -1
  719. package/lib/constants.mjs.map +0 -1
  720. package/lib/endOfTreeSegment.d.mts.map +0 -1
  721. package/lib/endOfTreeSegment.mjs.map +0 -1
  722. package/lib/index.d.mts.map +0 -1
  723. package/lib/index.mjs.map +0 -1
  724. package/lib/localReference.d.mts.map +0 -1
  725. package/lib/localReference.mjs.map +0 -1
  726. package/lib/merge-tree-beta.d.mts +0 -668
  727. package/lib/merge-tree-public.d.mts +0 -668
  728. package/lib/mergeTree.d.mts.map +0 -1
  729. package/lib/mergeTree.mjs.map +0 -1
  730. package/lib/mergeTreeDeltaCallback.d.mts.map +0 -1
  731. package/lib/mergeTreeDeltaCallback.mjs.map +0 -1
  732. package/lib/mergeTreeNodeWalk.d.mts.map +0 -1
  733. package/lib/mergeTreeNodeWalk.mjs.map +0 -1
  734. package/lib/mergeTreeNodes.d.mts.map +0 -1
  735. package/lib/mergeTreeNodes.mjs.map +0 -1
  736. package/lib/mergeTreeTracking.d.mts.map +0 -1
  737. package/lib/mergeTreeTracking.mjs.map +0 -1
  738. package/lib/opBuilder.mjs.map +0 -1
  739. package/lib/ops.d.mts.map +0 -1
  740. package/lib/ops.mjs.map +0 -1
  741. package/lib/ordinal.d.mts.map +0 -1
  742. package/lib/ordinal.mjs.map +0 -1
  743. package/lib/partialLengths.d.mts.map +0 -1
  744. package/lib/partialLengths.mjs.map +0 -1
  745. package/lib/properties.d.mts.map +0 -1
  746. package/lib/properties.mjs.map +0 -1
  747. package/lib/referencePositions.d.mts.map +0 -1
  748. package/lib/referencePositions.mjs.map +0 -1
  749. package/lib/revertibles.d.mts.map +0 -1
  750. package/lib/revertibles.mjs.map +0 -1
  751. package/lib/segmentGroupCollection.d.mts.map +0 -1
  752. package/lib/segmentGroupCollection.mjs.map +0 -1
  753. package/lib/segmentPropertiesManager.d.mts.map +0 -1
  754. package/lib/segmentPropertiesManager.mjs.map +0 -1
  755. package/lib/snapshotChunks.d.mts.map +0 -1
  756. package/lib/snapshotChunks.mjs.map +0 -1
  757. package/lib/snapshotLoader.d.mts.map +0 -1
  758. package/lib/snapshotLoader.mjs.map +0 -1
  759. package/lib/snapshotV1.d.mts.map +0 -1
  760. package/lib/snapshotV1.mjs.map +0 -1
  761. package/lib/snapshotlegacy.d.mts.map +0 -1
  762. package/lib/snapshotlegacy.mjs.map +0 -1
  763. package/lib/sortedSegmentSet.d.mts.map +0 -1
  764. package/lib/sortedSegmentSet.mjs.map +0 -1
  765. package/lib/sortedSet.d.mts.map +0 -1
  766. package/lib/sortedSet.mjs.map +0 -1
  767. package/lib/textSegment.d.mts.map +0 -1
  768. package/lib/textSegment.mjs.map +0 -1
  769. package/lib/zamboni.d.mts.map +0 -1
  770. package/lib/zamboni.mjs.map +0 -1
package/src/index.ts CHANGED
@@ -9,9 +9,9 @@ export {
9
9
  IAttributionCollectionSpec,
10
10
  SerializedAttributionCollection,
11
11
  SequenceOffsets,
12
- } from "./attributionCollection";
13
- export { createInsertOnlyAttributionPolicy } from "./attributionPolicy";
14
- export { Client, IClientEvents } from "./client";
12
+ } from "./attributionCollection.js";
13
+ export { createInsertOnlyAttributionPolicy } from "./attributionPolicy.js";
14
+ export { Client, IClientEvents } from "./client.js";
15
15
  export {
16
16
  ConflictAction,
17
17
  Dictionary,
@@ -26,20 +26,20 @@ export {
26
26
  RBNodeActions,
27
27
  RedBlackTree,
28
28
  SortedDictionary,
29
- } from "./collections";
30
- export { UnassignedSequenceNumber, UniversalSequenceNumber } from "./constants";
29
+ } from "./collections/index.js";
30
+ export { UnassignedSequenceNumber, UniversalSequenceNumber } from "./constants.js";
31
31
  export {
32
32
  createDetachedLocalReferencePosition,
33
33
  LocalReferenceCollection,
34
34
  LocalReferencePosition,
35
35
  SlidingPreference,
36
- } from "./localReference";
36
+ } from "./localReference.js";
37
37
  export {
38
38
  AttributionPolicy,
39
39
  IMergeTreeAttributionOptions,
40
40
  IMergeTreeOptions,
41
41
  getSlideToSegoff,
42
- } from "./mergeTree";
42
+ } from "./mergeTree.js";
43
43
  export {
44
44
  IMergeTreeClientSequenceArgs,
45
45
  IMergeTreeDeltaCallbackArgs,
@@ -49,7 +49,7 @@ export {
49
49
  MergeTreeDeltaOperationType,
50
50
  MergeTreeDeltaOperationTypes,
51
51
  MergeTreeMaintenanceType,
52
- } from "./mergeTreeDeltaCallback";
52
+ } from "./mergeTreeDeltaCallback.js";
53
53
  export {
54
54
  BaseSegment,
55
55
  CollaborationWindow,
@@ -66,13 +66,13 @@ export {
66
66
  reservedMarkerSimpleTypeKey,
67
67
  SegmentGroup,
68
68
  toRemovalInfo,
69
- } from "./mergeTreeNodes";
69
+ } from "./mergeTreeNodes.js";
70
70
  export {
71
71
  Trackable,
72
72
  TrackingGroup,
73
73
  ITrackingGroup,
74
74
  TrackingGroupCollection,
75
- } from "./mergeTreeTracking";
75
+ } from "./mergeTreeTracking.js";
76
76
  export {
77
77
  createAnnotateRangeOp,
78
78
  createGroupOp,
@@ -80,7 +80,7 @@ export {
80
80
  createInsertSegmentOp,
81
81
  createRemoveRangeOp,
82
82
  createObliterateRangeOp,
83
- } from "./opBuilder";
83
+ } from "./opBuilder.js";
84
84
  export {
85
85
  IJSONSegment,
86
86
  IMarkerDef,
@@ -95,8 +95,8 @@ export {
95
95
  MergeTreeDeltaType,
96
96
  ReferenceType,
97
97
  IMergeTreeObliterateMsg,
98
- } from "./ops";
99
- export { addProperties, createMap, MapLike, matchProperties, PropertySet } from "./properties";
98
+ } from "./ops.js";
99
+ export { addProperties, createMap, MapLike, matchProperties, PropertySet } from "./properties.js";
100
100
  export {
101
101
  compareReferencePositions,
102
102
  DetachedReferencePosition,
@@ -109,12 +109,12 @@ export {
109
109
  refTypeIncludesFlag,
110
110
  reservedRangeLabelsKey,
111
111
  reservedTileLabelsKey,
112
- } from "./referencePositions";
113
- export { SegmentGroupCollection } from "./segmentGroupCollection";
114
- export { PropertiesManager, PropertiesRollback } from "./segmentPropertiesManager";
115
- export { SortedSet } from "./sortedSet";
116
- export { SortedSegmentSet, SortedSegmentSetItem } from "./sortedSegmentSet";
117
- export { IJSONTextSegment, IMergeTreeTextHelper, TextSegment } from "./textSegment";
112
+ } from "./referencePositions.js";
113
+ export { SegmentGroupCollection } from "./segmentGroupCollection.js";
114
+ export { PropertiesManager, PropertiesRollback } from "./segmentPropertiesManager.js";
115
+ export { SortedSet } from "./sortedSet.js";
116
+ export { SortedSegmentSet, SortedSegmentSetItem } from "./sortedSegmentSet.js";
117
+ export { IJSONTextSegment, IMergeTreeTextHelper, TextSegment } from "./textSegment.js";
118
118
  export {
119
119
  appendToMergeTreeDeltaRevertibles,
120
120
  discardMergeTreeDeltaRevertible,
@@ -122,4 +122,4 @@ export {
122
122
  MergeTreeDeltaRevertible,
123
123
  MergeTreeRevertibleDriver,
124
124
  revertMergeTreeDeltaRevertibles,
125
- } from "./revertibles";
125
+ } from "./revertibles.js";
@@ -5,13 +5,13 @@
5
5
 
6
6
  import { assert } from "@fluidframework/core-utils";
7
7
  import { UsageError } from "@fluidframework/telemetry-utils";
8
- import { DoublyLinkedList, ListNode, walkList } from "./collections";
9
- import { ISegment } from "./mergeTreeNodes";
10
- import { TrackingGroup, TrackingGroupCollection } from "./mergeTreeTracking";
11
- import { ReferenceType } from "./ops";
8
+ import { DoublyLinkedList, ListNode, walkList } from "./collections/index.js";
9
+ import { ISegment } from "./mergeTreeNodes.js";
10
+ import { TrackingGroup, TrackingGroupCollection } from "./mergeTreeTracking.js";
11
+ import { ReferenceType } from "./ops.js";
12
12
  // eslint-disable-next-line import/no-deprecated
13
- import { addProperties, PropertySet } from "./properties";
14
- import { ReferencePosition, refTypeIncludesFlag } from "./referencePositions";
13
+ import { addProperties, PropertySet } from "./properties.js";
14
+ import { ReferencePosition, refTypeIncludesFlag } from "./referencePositions.js";
15
15
 
16
16
  /**
17
17
  * Dictates the preferential direction for a {@link ReferencePosition} to slide
@@ -212,6 +212,8 @@ export function setValidateRefCount(cb?: (collection?: LocalReferenceCollection)
212
212
  * Represents a collection of {@link LocalReferencePosition}s associated with
213
213
  * one segment in a merge-tree.
214
214
  * Represents a collection of {@link LocalReferencePosition}s associated with one segment in a merge-tree.
215
+ * @sealed
216
+ *
215
217
  * @alpha
216
218
  */
217
219
  export class LocalReferenceCollection {
@@ -234,11 +236,15 @@ export class LocalReferenceCollection {
234
236
  validateRefCount?.(seg2.localRefs);
235
237
  }
236
238
 
239
+ public static setOrGet(segment: ISegment) {
240
+ return (segment.localRefs ??= new LocalReferenceCollection(segment));
241
+ }
242
+
237
243
  private readonly refsByOffset: (IRefsAtOffset | undefined)[];
238
244
  private refCount: number = 0;
239
245
 
240
246
  /***/
241
- constructor(
247
+ private constructor(
242
248
  /** Segment this `LocalReferenceCollection` is associated to. */
243
249
  private readonly segment: ISegment,
244
250
  initialRefsByfOffset = new Array<IRefsAtOffset | undefined>(segment.cachedLength),
package/src/mergeTree.ts CHANGED
@@ -8,28 +8,28 @@
8
8
 
9
9
  import { assert, Heap, IComparer } from "@fluidframework/core-utils";
10
10
  import { DataProcessingError, UsageError } from "@fluidframework/telemetry-utils";
11
- import { IAttributionCollectionSerializer } from "./attributionCollection";
12
- import { DoublyLinkedList, ListNode } from "./collections";
11
+ import { IAttributionCollectionSerializer } from "./attributionCollection.js";
12
+ import { DoublyLinkedList, ListNode } from "./collections/index.js";
13
13
  import {
14
14
  NonCollabClient,
15
15
  TreeMaintenanceSequenceNumber,
16
16
  UnassignedSequenceNumber,
17
17
  UniversalSequenceNumber,
18
- } from "./constants";
18
+ } from "./constants.js";
19
19
  import {
20
20
  anyLocalReferencePosition,
21
21
  filterLocalReferencePositions,
22
22
  LocalReferenceCollection,
23
23
  LocalReferencePosition,
24
24
  SlidingPreference,
25
- } from "./localReference";
25
+ } from "./localReference.js";
26
26
  import {
27
27
  BlockAction,
28
28
  // eslint-disable-next-line import/no-deprecated
29
29
  CollaborationWindow,
30
30
  IHierBlock,
31
31
  IMergeBlock,
32
- IMergeLeaf,
32
+ ISegmentLeaf,
33
33
  IMergeNode,
34
34
  IMoveInfo,
35
35
  InsertContext,
@@ -46,45 +46,39 @@ import {
46
46
  toMoveInfo,
47
47
  seqLTE,
48
48
  toRemovalInfo,
49
- } from "./mergeTreeNodes";
49
+ } from "./mergeTreeNodes.js";
50
50
  import {
51
51
  IMergeTreeDeltaOpArgs,
52
52
  IMergeTreeSegmentDelta,
53
53
  MergeTreeDeltaCallback,
54
54
  MergeTreeMaintenanceCallback,
55
55
  MergeTreeMaintenanceType,
56
- } from "./mergeTreeDeltaCallback";
57
- import { createAnnotateRangeOp, createInsertSegmentOp, createRemoveRangeOp } from "./opBuilder";
58
- import { IMergeTreeDeltaOp, IRelativePosition, MergeTreeDeltaType, ReferenceType } from "./ops";
59
- import { PartialSequenceLengths } from "./partialLengths";
56
+ } from "./mergeTreeDeltaCallback.js";
57
+ import { createAnnotateRangeOp, createInsertSegmentOp, createRemoveRangeOp } from "./opBuilder.js";
58
+ import { IMergeTreeDeltaOp, IRelativePosition, MergeTreeDeltaType, ReferenceType } from "./ops.js";
59
+ import { PartialSequenceLengths } from "./partialLengths.js";
60
60
  // eslint-disable-next-line import/no-deprecated
61
- import { createMap, extend, extendIfUndefined, MapLike, PropertySet } from "./properties";
61
+ import { createMap, extend, extendIfUndefined, MapLike, PropertySet } from "./properties.js";
62
62
  import {
63
63
  refTypeIncludesFlag,
64
64
  ReferencePosition,
65
65
  DetachedReferencePosition,
66
66
  refGetTileLabels,
67
67
  refHasTileLabel,
68
- } from "./referencePositions";
69
- import { PropertiesRollback } from "./segmentPropertiesManager";
68
+ } from "./referencePositions.js";
69
+ import { PropertiesRollback } from "./segmentPropertiesManager.js";
70
70
  import {
71
71
  backwardExcursion,
72
72
  depthFirstNodeWalk,
73
73
  forwardExcursion,
74
74
  NodeAction,
75
75
  walkAllChildSegments,
76
- } from "./mergeTreeNodeWalk";
77
- import type { TrackingGroup } from "./mergeTreeTracking";
78
- import { zamboniSegments } from "./zamboni";
76
+ } from "./mergeTreeNodeWalk.js";
77
+ import type { TrackingGroup } from "./mergeTreeTracking.js";
78
+ import { zamboniSegments } from "./zamboni.js";
79
79
  // eslint-disable-next-line import/no-deprecated
80
- import { Client } from "./client";
81
- import { EndOfTreeSegment, StartOfTreeSegment } from "./endOfTreeSegment";
82
-
83
- /**
84
- * someday we may split tree leaves from segments, but for now they are the same
85
- * this is just a convenience type that makes it clear that we need something that is both a segment and a leaf node
86
- */
87
- export type ISegmentLeaf = ISegment & IMergeLeaf;
80
+ import { Client } from "./client.js";
81
+ import { EndOfTreeSegment, StartOfTreeSegment } from "./endOfTreeSegment.js";
88
82
 
89
83
  function wasRemovedAfter(seg: ISegment, seq: number): boolean {
90
84
  return (
@@ -124,6 +118,10 @@ function isRemovedAndAckedOrMovedAndAcked(segment: ISegment): boolean {
124
118
  return isRemovedAndAcked(segment) || isMovedAndAcked(segment);
125
119
  }
126
120
 
121
+ function isRemovedOrMoved(segment: ISegment): boolean {
122
+ return isRemoved(segment) || isMoved(segment);
123
+ }
124
+
127
125
  function nodeTotalLength(mergeTree: MergeTree, node: IMergeNode): number | undefined {
128
126
  if (!node.isLeaf()) {
129
127
  return node.cachedLength;
@@ -643,7 +641,7 @@ export class MergeTree {
643
641
  this.nodeUpdateLengthNewStructure(this.root, true);
644
642
  }
645
643
 
646
- private addToLRUSet(leaf: IMergeLeaf, seq: number) {
644
+ private addToLRUSet(leaf: ISegmentLeaf, seq: number) {
647
645
  // If the parent node has not yet been marked for scour (i.e., needsScour is not false or undefined),
648
646
  // add the segment and mark the mark the node now.
649
647
 
@@ -786,7 +784,7 @@ export class MergeTree {
786
784
 
787
785
  if (maybeEndpoint) {
788
786
  const endpoint = maybeEndpoint === "start" ? this.startOfTree : this.endOfTree;
789
- const localRefs = (endpoint.localRefs ??= new LocalReferenceCollection(endpoint));
787
+ const localRefs = LocalReferenceCollection.setOrGet(endpoint);
790
788
  if (currentSlideIsForward) {
791
789
  localRefs.addBeforeTombstones(...endpointRefsToAdd);
792
790
  } else {
@@ -795,8 +793,7 @@ export class MergeTree {
795
793
  }
796
794
 
797
795
  if (currentSlideDestination !== undefined) {
798
- const localRefs = (currentSlideDestination.localRefs ??=
799
- new LocalReferenceCollection(currentSlideDestination));
796
+ const localRefs = LocalReferenceCollection.setOrGet(currentSlideDestination);
800
797
  if (currentSlideIsForward) {
801
798
  localRefs.addBeforeTombstones(...nonEndpointRefsToAdd);
802
799
  } else {
@@ -1072,8 +1069,14 @@ export class MergeTree {
1072
1069
  return this.getPosition(refPos, refSeq, clientId);
1073
1070
  }
1074
1071
  if (refTypeIncludesFlag(refPos, ReferenceType.Transient) || seg.localRefs?.has(refPos)) {
1075
- const offset = isRemoved(seg) || isMoved(seg) ? 0 : refPos.getOffset();
1076
- return offset + this.getPosition(seg, refSeq, clientId);
1072
+ const offset = isRemovedOrMoved(seg) ? 0 : refPos.getOffset();
1073
+ const pos = this.getPosition(seg, refSeq, clientId);
1074
+
1075
+ if (isRemovedOrMoved(seg) && refPos.slidingPreference === SlidingPreference.BACKWARD) {
1076
+ return pos === 0 ? 0 : pos - 1;
1077
+ }
1078
+
1079
+ return offset + pos;
1077
1080
  }
1078
1081
  return DetachedReferencePosition;
1079
1082
  }
@@ -1099,7 +1102,7 @@ export class MergeTree {
1099
1102
  let foundMarker: Marker | undefined;
1100
1103
 
1101
1104
  const { segment } = this.getContainingSegment(startPos, UniversalSequenceNumber, clientId);
1102
- const segWithParent: IMergeLeaf | undefined = segment;
1105
+ const segWithParent: ISegmentLeaf | undefined = segment;
1103
1106
  if (segWithParent?.parent === undefined) {
1104
1107
  return undefined;
1105
1108
  }
@@ -1169,7 +1172,7 @@ export class MergeTree {
1169
1172
  const locallyMovedSegments = this.locallyMovedSegments.get(localMovedSeq);
1170
1173
 
1171
1174
  if (locallyMovedSegments) {
1172
- for (const segment of locallyMovedSegments.segments) {
1175
+ locallyMovedSegments.segments.forEach((segment: ISegmentLeaf) => {
1173
1176
  segment.localMovedSeq = undefined;
1174
1177
 
1175
1178
  if (!nodesToUpdate.includes(segment.parent!)) {
@@ -1179,7 +1182,7 @@ export class MergeTree {
1179
1182
  if (segment.movedSeq === UnassignedSequenceNumber) {
1180
1183
  segment.movedSeq = seq;
1181
1184
  }
1182
- }
1185
+ });
1183
1186
 
1184
1187
  this.locallyMovedSegments.delete(localMovedSeq);
1185
1188
  }
@@ -1328,10 +1331,16 @@ export class MergeTree {
1328
1331
 
1329
1332
  // opArgs == undefined => loading snapshot or test code
1330
1333
  if (opArgs !== undefined) {
1331
- this.mergeTreeDeltaCallback?.(opArgs, {
1332
- operation: MergeTreeDeltaType.INSERT,
1333
- deltaSegments: segments.map((segment) => ({ segment })),
1334
- });
1334
+ const deltaSegments = segments
1335
+ .filter((segment) => !toMoveInfo(segment))
1336
+ .map((segment) => ({ segment }));
1337
+
1338
+ if (deltaSegments.length > 0) {
1339
+ this.mergeTreeDeltaCallback?.(opArgs, {
1340
+ operation: MergeTreeDeltaType.INSERT,
1341
+ deltaSegments,
1342
+ });
1343
+ }
1335
1344
  }
1336
1345
 
1337
1346
  if (
@@ -1892,9 +1901,6 @@ export class MergeTree {
1892
1901
  }
1893
1902
  }
1894
1903
 
1895
- /**
1896
- * @alpha
1897
- */
1898
1904
  public obliterateRange(
1899
1905
  start: number,
1900
1906
  end: number,
@@ -1960,7 +1966,9 @@ export class MergeTree {
1960
1966
  segment.localMovedSeq = localSeq;
1961
1967
  segment.movedSeqs = [seq];
1962
1968
 
1963
- movedSegments.push({ segment });
1969
+ if (!toRemovalInfo(segment)) {
1970
+ movedSegments.push({ segment });
1971
+ }
1964
1972
  }
1965
1973
 
1966
1974
  // Save segment so can assign moved sequence number when acked by server
@@ -2070,7 +2078,9 @@ export class MergeTree {
2070
2078
  segment.removedSeq = seq;
2071
2079
  segment.localRemovedSeq = localSeq;
2072
2080
 
2073
- removedSegments.push({ segment });
2081
+ if (!toMoveInfo(segment)) {
2082
+ removedSegments.push({ segment });
2083
+ }
2074
2084
  }
2075
2085
 
2076
2086
  // Save segment so we can assign removed sequence number when acked by server
@@ -2298,8 +2308,7 @@ export class MergeTree {
2298
2308
  segment = _segment;
2299
2309
  }
2300
2310
 
2301
- const localRefs = segment.localRefs ?? new LocalReferenceCollection(segment);
2302
- segment.localRefs = localRefs;
2311
+ const localRefs = LocalReferenceCollection.setOrGet(segment);
2303
2312
 
2304
2313
  const segRef = localRefs.createLocalRef(
2305
2314
  offset,
@@ -4,9 +4,9 @@
4
4
  */
5
5
  import { ISequencedDocumentMessage } from "@fluidframework/protocol-definitions";
6
6
  // eslint-disable-next-line import/no-deprecated
7
- import { IMergeTreeGroupMsg, IMergeTreeOp, MergeTreeDeltaType } from "./ops";
8
- import { PropertySet } from "./properties";
9
- import { ISegment } from "./mergeTreeNodes";
7
+ import { IMergeTreeGroupMsg, IMergeTreeOp, MergeTreeDeltaType } from "./ops.js";
8
+ import { PropertySet } from "./properties.js";
9
+ import { ISegment } from "./mergeTreeNodes.js";
10
10
 
11
11
  /**
12
12
  * @alpha
@@ -99,11 +99,6 @@ export interface IMergeTreeDeltaOpArgs {
99
99
  * Delta op args are for an unacked local change
100
100
  */
101
101
  readonly sequencedMessage?: ISequencedDocumentMessage;
102
-
103
- /**
104
- * If the operation is being applied as a stashed op, which means it may have been previously submitted, and therefore should not be resubmitted
105
- */
106
- readonly stashed?: boolean;
107
102
  }
108
103
 
109
104
  /**
@@ -3,7 +3,7 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { IMergeBlock, IMergeNode, ISegment } from "./mergeTreeNodes";
6
+ import { IMergeBlock, IMergeNode, ISegment } from "./mergeTreeNodes.js";
7
7
 
8
8
  export const LeafAction = {
9
9
  Exit: false,
@@ -7,20 +7,19 @@
7
7
 
8
8
  import { assert } from "@fluidframework/core-utils";
9
9
  import { AttributionKey } from "@fluidframework/runtime-definitions";
10
- import { IAttributionCollection } from "./attributionCollection";
11
- import { LocalClientId, UnassignedSequenceNumber, UniversalSequenceNumber } from "./constants";
12
- import { LocalReferenceCollection } from "./localReference";
13
- import { ISegmentLeaf } from "./mergeTree";
14
- import { IMergeTreeDeltaOpArgs } from "./mergeTreeDeltaCallback";
15
- import { TrackingGroupCollection } from "./mergeTreeTracking";
16
- import { IJSONSegment, IMarkerDef, MergeTreeDeltaType, ReferenceType } from "./ops";
17
- import { computeHierarchicalOrdinal } from "./ordinal";
18
- import { PartialSequenceLengths } from "./partialLengths";
10
+ import { IAttributionCollection } from "./attributionCollection.js";
11
+ import { LocalClientId, UnassignedSequenceNumber, UniversalSequenceNumber } from "./constants.js";
12
+ import { LocalReferenceCollection } from "./localReference.js";
13
+ import { IMergeTreeDeltaOpArgs } from "./mergeTreeDeltaCallback.js";
14
+ import { TrackingGroupCollection } from "./mergeTreeTracking.js";
15
+ import { IJSONSegment, IMarkerDef, MergeTreeDeltaType, ReferenceType } from "./ops.js";
16
+ import { computeHierarchicalOrdinal } from "./ordinal.js";
17
+ import { PartialSequenceLengths } from "./partialLengths.js";
19
18
  // eslint-disable-next-line import/no-deprecated
20
- import { clone, createMap, MapLike, PropertySet } from "./properties";
21
- import { refTypeIncludesFlag, ReferencePosition, refGetTileLabels } from "./referencePositions";
22
- import { SegmentGroupCollection } from "./segmentGroupCollection";
23
- import { PropertiesManager, PropertiesRollback } from "./segmentPropertiesManager";
19
+ import { clone, createMap, MapLike, PropertySet } from "./properties.js";
20
+ import { refTypeIncludesFlag, ReferencePosition, refGetTileLabels } from "./referencePositions.js";
21
+ import { SegmentGroupCollection } from "./segmentGroupCollection.js";
22
+ import { PropertiesManager, PropertiesRollback } from "./segmentPropertiesManager.js";
24
23
 
25
24
  /**
26
25
  * Common properties for a node in a merge tree.
@@ -38,9 +37,12 @@ export interface IMergeNodeCommon {
38
37
  ordinal: string;
39
38
  isLeaf(): this is ISegment;
40
39
  }
41
-
42
- export type IMergeLeaf = ISegment & { parent?: IMergeBlock };
43
- export type IMergeNode = IMergeBlock | IMergeLeaf;
40
+ /**
41
+ * someday we may split tree leaves from segments, but for now they are the same
42
+ * this is just a convenience type that makes it clear that we need something that is both a segment and a leaf node
43
+ */
44
+ export type ISegmentLeaf = ISegment & { parent?: IMergeBlock };
45
+ export type IMergeNode = IMergeBlock | ISegmentLeaf;
44
46
  /**
45
47
  * Internal (i.e. non-leaf) node in a merge tree.
46
48
  * @internal
@@ -399,7 +401,7 @@ export interface SegmentActions<TClientData> {
399
401
  * @alpha
400
402
  */
401
403
  export interface SegmentGroup {
402
- segments: ISegmentLeaf[];
404
+ segments: ISegment[];
403
405
  previousProps?: PropertySet[];
404
406
  localSeq?: number;
405
407
  refSeq: number;
@@ -610,7 +612,7 @@ export abstract class BaseSegment extends MergeNode implements ISegment {
610
612
  return undefined;
611
613
  }
612
614
 
613
- const leafSegment: IMergeLeaf | undefined = this.createSplitSegmentAt(pos);
615
+ const leafSegment: ISegmentLeaf | undefined = this.createSplitSegmentAt(pos);
614
616
 
615
617
  if (!leafSegment) {
616
618
  return undefined;
@@ -618,7 +620,7 @@ export abstract class BaseSegment extends MergeNode implements ISegment {
618
620
 
619
621
  this.copyPropertiesTo(leafSegment);
620
622
  // eslint-disable-next-line @typescript-eslint/no-this-alias
621
- const thisAsMergeSegment: IMergeLeaf = this;
623
+ const thisAsMergeSegment: ISegmentLeaf = this;
622
624
  leafSegment.parent = thisAsMergeSegment.parent;
623
625
 
624
626
  // Give the leaf a temporary yet valid ordinal.
@@ -3,10 +3,10 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { LocalReferencePosition } from "./localReference";
7
- import { ISegment } from "./mergeTreeNodes";
6
+ import { LocalReferencePosition } from "./localReference.js";
7
+ import { ISegment } from "./mergeTreeNodes.js";
8
8
  // eslint-disable-next-line import/no-deprecated
9
- import { SortedSegmentSet } from "./sortedSegmentSet";
9
+ import { SortedSegmentSet } from "./sortedSegmentSet.js";
10
10
 
11
11
  /**
12
12
  * @alpha
package/src/opBuilder.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { ISegment, Marker } from "./mergeTreeNodes";
6
+ import { ISegment, Marker } from "./mergeTreeNodes.js";
7
7
  import {
8
8
  IMergeTreeAnnotateMsg,
9
9
  // eslint-disable-next-line import/no-deprecated
@@ -14,8 +14,8 @@ import {
14
14
  IMergeTreeDeltaOp,
15
15
  // eslint-disable-next-line import/no-deprecated
16
16
  IMergeTreeObliterateMsg,
17
- } from "./ops";
18
- import { PropertySet } from "./properties";
17
+ } from "./ops.js";
18
+ import { PropertySet } from "./properties.js";
19
19
 
20
20
  /**
21
21
  * Creates the op for annotating the markers with the provided properties
@@ -4,9 +4,9 @@
4
4
  */
5
5
 
6
6
  import { assert } from "@fluidframework/core-utils";
7
- import { Property, RedBlackTree } from "./collections";
8
- import { UnassignedSequenceNumber } from "./constants";
9
- import { MergeTree } from "./mergeTree";
7
+ import { Property, RedBlackTree } from "./collections/index.js";
8
+ import { UnassignedSequenceNumber } from "./constants.js";
9
+ import { MergeTree } from "./mergeTree.js";
10
10
  import {
11
11
  // eslint-disable-next-line import/no-deprecated
12
12
  CollaborationWindow,
@@ -19,9 +19,9 @@ import {
19
19
  toMoveInfo,
20
20
  seqLTE,
21
21
  toRemovalInfo,
22
- } from "./mergeTreeNodes";
22
+ } from "./mergeTreeNodes.js";
23
23
  // eslint-disable-next-line import/no-deprecated
24
- import { SortedSet } from "./sortedSet";
24
+ import { SortedSet } from "./sortedSet.js";
25
25
 
26
26
  // eslint-disable-next-line import/no-deprecated
27
27
  class PartialSequenceLengthsSet extends SortedSet<PartialSequenceLength, number> {
@@ -1185,7 +1185,7 @@ export class PartialSequenceLengths {
1185
1185
  }
1186
1186
 
1187
1187
  /* eslint-disable @typescript-eslint/dot-notation */
1188
- function verifyPartialLengths(
1188
+ function verifyPartialLengthsInner(
1189
1189
  partialSeqLengths: PartialSequenceLengths,
1190
1190
  partialLengths: PartialSequenceLengthsSet,
1191
1191
  clientPartials: boolean,
@@ -1266,7 +1266,7 @@ function verifyPartialLengths(
1266
1266
  return count;
1267
1267
  }
1268
1268
 
1269
- export function verifyExpected(
1269
+ export function verifyExpectedPartialLengths(
1270
1270
  mergeTree: MergeTree,
1271
1271
  node: IMergeBlock,
1272
1272
  refSeq: number,
@@ -1305,11 +1305,11 @@ export function verifyExpected(
1305
1305
  }
1306
1306
  }
1307
1307
 
1308
- export function verify(partialSeqLengths: PartialSequenceLengths) {
1308
+ export function verifyPartialLengths(partialSeqLengths: PartialSequenceLengths) {
1309
1309
  if (partialSeqLengths["clientSeqNumbers"]) {
1310
1310
  for (const cliSeq of partialSeqLengths["clientSeqNumbers"]) {
1311
1311
  if (cliSeq) {
1312
- verifyPartialLengths(partialSeqLengths, cliSeq, true);
1312
+ verifyPartialLengthsInner(partialSeqLengths, cliSeq, true);
1313
1313
  }
1314
1314
  }
1315
1315
 
@@ -1319,7 +1319,7 @@ export function verify(partialSeqLengths: PartialSequenceLengths) {
1319
1319
  0x059 /* "Client view exists but flat view does not!" */,
1320
1320
  );
1321
1321
 
1322
- verifyPartialLengths(partialSeqLengths, partialSeqLengths["partialLengths"], false);
1322
+ verifyPartialLengthsInner(partialSeqLengths, partialSeqLengths["partialLengths"], false);
1323
1323
  } else {
1324
1324
  // If we don't have a client view, we shouldn't have the flat view either
1325
1325
  assert(
@@ -3,10 +3,10 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { SlidingPreference } from "./localReference";
7
- import { ISegment } from "./mergeTreeNodes";
8
- import { ReferenceType } from "./ops";
9
- import { PropertySet } from "./properties";
6
+ import { SlidingPreference } from "./localReference.js";
7
+ import { ISegment } from "./mergeTreeNodes.js";
8
+ import { ReferenceType } from "./ops.js";
9
+ import { PropertySet } from "./properties.js";
10
10
 
11
11
  /**
12
12
  * @internal