@fluidframework/merge-tree 2.0.0-internal.8.0.0 → 2.0.0-rc.1.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 (481) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +0 -6
  3. package/api-extractor-esm.json +17 -0
  4. package/api-extractor-lint.json +1 -10
  5. package/api-extractor.json +0 -4
  6. package/api-report/merge-tree.api.md +4 -9
  7. package/dist/client.d.ts +0 -7
  8. package/dist/client.d.ts.map +1 -1
  9. package/dist/client.js +0 -7
  10. package/dist/client.js.map +1 -1
  11. package/dist/merge-tree-alpha.d.ts +27 -12
  12. package/dist/merge-tree-beta.d.ts +0 -16
  13. package/dist/merge-tree-public.d.ts +0 -16
  14. package/dist/merge-tree-untrimmed.d.ts +5 -29
  15. package/dist/mergeTree.d.ts +0 -17
  16. package/dist/mergeTree.d.ts.map +1 -1
  17. package/dist/mergeTree.js +0 -130
  18. package/dist/mergeTree.js.map +1 -1
  19. package/dist/ops.d.ts +1 -1
  20. package/dist/ops.js +1 -1
  21. package/dist/ops.js.map +1 -1
  22. package/dist/revertibles.d.ts +4 -4
  23. package/dist/revertibles.js +3 -3
  24. package/dist/revertibles.js.map +1 -1
  25. package/dist/test/Insertion.perf.spec.d.ts +6 -0
  26. package/dist/test/Insertion.perf.spec.d.ts.map +1 -0
  27. package/dist/test/Insertion.perf.spec.js +113 -0
  28. package/dist/test/Insertion.perf.spec.js.map +1 -0
  29. package/dist/test/PartialLengths.perf.spec.d.ts +6 -0
  30. package/dist/test/PartialLengths.perf.spec.d.ts.map +1 -0
  31. package/dist/test/PartialLengths.perf.spec.js +67 -0
  32. package/dist/test/PartialLengths.perf.spec.js.map +1 -0
  33. package/dist/test/Removal.perf.spec.d.ts +6 -0
  34. package/dist/test/Removal.perf.spec.d.ts.map +1 -0
  35. package/dist/test/Removal.perf.spec.js +166 -0
  36. package/dist/test/Removal.perf.spec.js.map +1 -0
  37. package/dist/test/Snapshot.perf.spec.d.ts +6 -0
  38. package/dist/test/Snapshot.perf.spec.d.ts.map +1 -0
  39. package/dist/test/Snapshot.perf.spec.js +33 -0
  40. package/dist/test/Snapshot.perf.spec.js.map +1 -0
  41. package/dist/test/attributionCollection.perf.spec.d.ts +6 -0
  42. package/dist/test/attributionCollection.perf.spec.d.ts.map +1 -0
  43. package/dist/test/attributionCollection.perf.spec.js +231 -0
  44. package/dist/test/attributionCollection.perf.spec.js.map +1 -0
  45. package/dist/test/attributionCollection.spec.d.ts +6 -0
  46. package/dist/test/attributionCollection.spec.d.ts.map +1 -0
  47. package/dist/test/attributionCollection.spec.js +486 -0
  48. package/dist/test/attributionCollection.spec.js.map +1 -0
  49. package/dist/test/attributionPolicy.spec.d.ts +6 -0
  50. package/dist/test/attributionPolicy.spec.d.ts.map +1 -0
  51. package/dist/test/attributionPolicy.spec.js +189 -0
  52. package/dist/test/attributionPolicy.spec.js.map +1 -0
  53. package/dist/test/beastTest.d.ts +54 -0
  54. package/dist/test/beastTest.d.ts.map +1 -0
  55. package/dist/test/beastTest.js +1333 -0
  56. package/dist/test/beastTest.js.map +1 -0
  57. package/dist/test/client.annotateMarker.spec.d.ts +6 -0
  58. package/dist/test/client.annotateMarker.spec.d.ts.map +1 -0
  59. package/dist/test/client.annotateMarker.spec.js +45 -0
  60. package/dist/test/client.annotateMarker.spec.js.map +1 -0
  61. package/dist/test/client.apis.d.ts +7 -0
  62. package/dist/test/client.apis.d.ts.map +1 -0
  63. package/dist/test/client.apis.js +72 -0
  64. package/dist/test/client.apis.js.map +1 -0
  65. package/dist/test/client.applyMsg.spec.d.ts +6 -0
  66. package/dist/test/client.applyMsg.spec.d.ts.map +1 -0
  67. package/dist/test/client.applyMsg.spec.js +500 -0
  68. package/dist/test/client.applyMsg.spec.js.map +1 -0
  69. package/dist/test/client.applyStashedOpFarm.spec.d.ts +12 -0
  70. package/dist/test/client.applyStashedOpFarm.spec.d.ts.map +1 -0
  71. package/dist/test/client.applyStashedOpFarm.spec.js +144 -0
  72. package/dist/test/client.applyStashedOpFarm.spec.js.map +1 -0
  73. package/dist/test/client.attributionFarm.spec.d.ts +7 -0
  74. package/dist/test/client.attributionFarm.spec.d.ts.map +1 -0
  75. package/dist/test/client.attributionFarm.spec.js +96 -0
  76. package/dist/test/client.attributionFarm.spec.js.map +1 -0
  77. package/dist/test/client.conflictFarm.spec.d.ts +15 -0
  78. package/dist/test/client.conflictFarm.spec.d.ts.map +1 -0
  79. package/dist/test/client.conflictFarm.spec.js +88 -0
  80. package/dist/test/client.conflictFarm.spec.js.map +1 -0
  81. package/dist/test/client.getPosition.spec.d.ts +6 -0
  82. package/dist/test/client.getPosition.spec.d.ts.map +1 -0
  83. package/dist/test/client.getPosition.spec.js +54 -0
  84. package/dist/test/client.getPosition.spec.js.map +1 -0
  85. package/dist/test/client.localReference.spec.d.ts +6 -0
  86. package/dist/test/client.localReference.spec.d.ts.map +1 -0
  87. package/dist/test/client.localReference.spec.js +439 -0
  88. package/dist/test/client.localReference.spec.js.map +1 -0
  89. package/dist/test/client.localReferenceFarm.spec.d.ts +6 -0
  90. package/dist/test/client.localReferenceFarm.spec.d.ts.map +1 -0
  91. package/dist/test/client.localReferenceFarm.spec.js +88 -0
  92. package/dist/test/client.localReferenceFarm.spec.js.map +1 -0
  93. package/dist/test/client.rebasePosition.spec.d.ts +6 -0
  94. package/dist/test/client.rebasePosition.spec.d.ts.map +1 -0
  95. package/dist/test/client.rebasePosition.spec.js +102 -0
  96. package/dist/test/client.rebasePosition.spec.js.map +1 -0
  97. package/dist/test/client.reconnectFarm.spec.d.ts +12 -0
  98. package/dist/test/client.reconnectFarm.spec.d.ts.map +1 -0
  99. package/dist/test/client.reconnectFarm.spec.js +91 -0
  100. package/dist/test/client.reconnectFarm.spec.js.map +1 -0
  101. package/dist/test/client.replay.spec.d.ts +6 -0
  102. package/dist/test/client.replay.spec.d.ts.map +1 -0
  103. package/dist/test/client.replay.spec.js +85 -0
  104. package/dist/test/client.replay.spec.js.map +1 -0
  105. package/dist/test/client.rollback.spec.d.ts +6 -0
  106. package/dist/test/client.rollback.spec.d.ts.map +1 -0
  107. package/dist/test/client.rollback.spec.js +453 -0
  108. package/dist/test/client.rollback.spec.js.map +1 -0
  109. package/dist/test/client.rollbackFarm.spec.d.ts +6 -0
  110. package/dist/test/client.rollbackFarm.spec.d.ts.map +1 -0
  111. package/dist/test/client.rollbackFarm.spec.js +48 -0
  112. package/dist/test/client.rollbackFarm.spec.js.map +1 -0
  113. package/dist/test/client.searchForMarker.spec.d.ts +6 -0
  114. package/dist/test/client.searchForMarker.spec.d.ts.map +1 -0
  115. package/dist/test/client.searchForMarker.spec.js +446 -0
  116. package/dist/test/client.searchForMarker.spec.js.map +1 -0
  117. package/dist/test/client.walkSegments.spec.d.ts +6 -0
  118. package/dist/test/client.walkSegments.spec.d.ts.map +1 -0
  119. package/dist/test/client.walkSegments.spec.js +54 -0
  120. package/dist/test/client.walkSegments.spec.js.map +1 -0
  121. package/dist/test/collections.list.spec.d.ts +6 -0
  122. package/dist/test/collections.list.spec.d.ts.map +1 -0
  123. package/dist/test/collections.list.spec.js +84 -0
  124. package/dist/test/collections.list.spec.js.map +1 -0
  125. package/dist/test/createInsertOnlyAttributionPolicy.spec.d.ts +6 -0
  126. package/dist/test/createInsertOnlyAttributionPolicy.spec.d.ts.map +1 -0
  127. package/dist/test/createInsertOnlyAttributionPolicy.spec.js +35 -0
  128. package/dist/test/createInsertOnlyAttributionPolicy.spec.js.map +1 -0
  129. package/dist/test/index.d.ts +13 -0
  130. package/dist/test/index.d.ts.map +1 -0
  131. package/dist/test/index.js +88 -0
  132. package/dist/test/index.js.map +1 -0
  133. package/dist/test/mergeTree.annotate.deltaCallback.spec.d.ts +6 -0
  134. package/dist/test/mergeTree.annotate.deltaCallback.spec.d.ts.map +1 -0
  135. package/dist/test/mergeTree.annotate.deltaCallback.spec.js +142 -0
  136. package/dist/test/mergeTree.annotate.deltaCallback.spec.js.map +1 -0
  137. package/dist/test/mergeTree.annotate.spec.d.ts +6 -0
  138. package/dist/test/mergeTree.annotate.spec.d.ts.map +1 -0
  139. package/dist/test/mergeTree.annotate.spec.js +448 -0
  140. package/dist/test/mergeTree.annotate.spec.js.map +1 -0
  141. package/dist/test/mergeTree.insert.deltaCallback.spec.d.ts +6 -0
  142. package/dist/test/mergeTree.insert.deltaCallback.spec.d.ts.map +1 -0
  143. package/dist/test/mergeTree.insert.deltaCallback.spec.js +126 -0
  144. package/dist/test/mergeTree.insert.deltaCallback.spec.js.map +1 -0
  145. package/dist/test/mergeTree.insertingWalk.spec.d.ts +6 -0
  146. package/dist/test/mergeTree.insertingWalk.spec.d.ts.map +1 -0
  147. package/dist/test/mergeTree.insertingWalk.spec.js +279 -0
  148. package/dist/test/mergeTree.insertingWalk.spec.js.map +1 -0
  149. package/dist/test/mergeTree.markRangeRemoved.deltaCallback.spec.d.ts +6 -0
  150. package/dist/test/mergeTree.markRangeRemoved.deltaCallback.spec.d.ts.map +1 -0
  151. package/dist/test/mergeTree.markRangeRemoved.deltaCallback.spec.js +178 -0
  152. package/dist/test/mergeTree.markRangeRemoved.deltaCallback.spec.js.map +1 -0
  153. package/dist/test/mergeTree.markRangeRemoved.spec.d.ts +6 -0
  154. package/dist/test/mergeTree.markRangeRemoved.spec.d.ts.map +1 -0
  155. package/dist/test/mergeTree.markRangeRemoved.spec.js +130 -0
  156. package/dist/test/mergeTree.markRangeRemoved.spec.js.map +1 -0
  157. package/dist/test/mergeTree.walk.spec.d.ts +6 -0
  158. package/dist/test/mergeTree.walk.spec.d.ts.map +1 -0
  159. package/dist/test/mergeTree.walk.spec.js +63 -0
  160. package/dist/test/mergeTree.walk.spec.js.map +1 -0
  161. package/dist/test/mergeTree.zamboni.spec.d.ts +6 -0
  162. package/dist/test/mergeTree.zamboni.spec.d.ts.map +1 -0
  163. package/dist/test/mergeTree.zamboni.spec.js +52 -0
  164. package/dist/test/mergeTree.zamboni.spec.js.map +1 -0
  165. package/dist/test/mergeTreeOperationRunner.d.ts +63 -0
  166. package/dist/test/mergeTreeOperationRunner.d.ts.map +1 -0
  167. package/dist/test/mergeTreeOperationRunner.js +245 -0
  168. package/dist/test/mergeTreeOperationRunner.js.map +1 -0
  169. package/dist/test/mergeTreeOperationRunner.spec.d.ts +6 -0
  170. package/dist/test/mergeTreeOperationRunner.spec.d.ts.map +1 -0
  171. package/dist/test/mergeTreeOperationRunner.spec.js +156 -0
  172. package/dist/test/mergeTreeOperationRunner.spec.js.map +1 -0
  173. package/dist/test/obliterate.concurrent.spec.d.ts +6 -0
  174. package/dist/test/obliterate.concurrent.spec.d.ts.map +1 -0
  175. package/dist/test/obliterate.concurrent.spec.js +1446 -0
  176. package/dist/test/obliterate.concurrent.spec.js.map +1 -0
  177. package/dist/test/obliterate.partialLength.spec.d.ts +6 -0
  178. package/dist/test/obliterate.partialLength.spec.d.ts.map +1 -0
  179. package/dist/test/obliterate.partialLength.spec.js +279 -0
  180. package/dist/test/obliterate.partialLength.spec.js.map +1 -0
  181. package/dist/test/obliterate.reconnect.spec.d.ts +6 -0
  182. package/dist/test/obliterate.reconnect.spec.d.ts.map +1 -0
  183. package/dist/test/obliterate.reconnect.spec.js +164 -0
  184. package/dist/test/obliterate.reconnect.spec.js.map +1 -0
  185. package/dist/test/obliterate.spec.d.ts +6 -0
  186. package/dist/test/obliterate.spec.d.ts.map +1 -0
  187. package/dist/test/obliterate.spec.js +162 -0
  188. package/dist/test/obliterate.spec.js.map +1 -0
  189. package/dist/test/ordinal.spec.d.ts +2 -0
  190. package/dist/test/ordinal.spec.d.ts.map +1 -0
  191. package/dist/test/ordinal.spec.js +43 -0
  192. package/dist/test/ordinal.spec.js.map +1 -0
  193. package/dist/test/partialLength.spec.d.ts +6 -0
  194. package/dist/test/partialLength.spec.d.ts.map +1 -0
  195. package/dist/test/partialLength.spec.js +282 -0
  196. package/dist/test/partialLength.spec.js.map +1 -0
  197. package/dist/test/properties.spec.d.ts +6 -0
  198. package/dist/test/properties.spec.d.ts.map +1 -0
  199. package/dist/test/properties.spec.js +55 -0
  200. package/dist/test/properties.spec.js.map +1 -0
  201. package/dist/test/reconnectHelper.d.ts +48 -0
  202. package/dist/test/reconnectHelper.d.ts.map +1 -0
  203. package/dist/test/reconnectHelper.js +86 -0
  204. package/dist/test/reconnectHelper.js.map +1 -0
  205. package/dist/test/resetPendingSegmentsToOp.spec.d.ts +6 -0
  206. package/dist/test/resetPendingSegmentsToOp.spec.d.ts.map +1 -0
  207. package/dist/test/resetPendingSegmentsToOp.spec.js +218 -0
  208. package/dist/test/resetPendingSegmentsToOp.spec.js.map +1 -0
  209. package/dist/test/revertibleFarm.spec.d.ts +6 -0
  210. package/dist/test/revertibleFarm.spec.d.ts.map +1 -0
  211. package/dist/test/revertibleFarm.spec.js +124 -0
  212. package/dist/test/revertibleFarm.spec.js.map +1 -0
  213. package/dist/test/revertibles.spec.d.ts +17 -0
  214. package/dist/test/revertibles.spec.d.ts.map +1 -0
  215. package/dist/test/revertibles.spec.js +385 -0
  216. package/dist/test/revertibles.spec.js.map +1 -0
  217. package/dist/test/segmentGroupCollection.spec.d.ts +6 -0
  218. package/dist/test/segmentGroupCollection.spec.d.ts.map +1 -0
  219. package/dist/test/segmentGroupCollection.spec.js +60 -0
  220. package/dist/test/segmentGroupCollection.spec.js.map +1 -0
  221. package/dist/test/snapshot.spec.d.ts +6 -0
  222. package/dist/test/snapshot.spec.d.ts.map +1 -0
  223. package/dist/test/snapshot.spec.js +178 -0
  224. package/dist/test/snapshot.spec.js.map +1 -0
  225. package/dist/test/snapshot.utils.d.ts +33 -0
  226. package/dist/test/snapshot.utils.d.ts.map +1 -0
  227. package/dist/test/snapshot.utils.js +109 -0
  228. package/dist/test/snapshot.utils.js.map +1 -0
  229. package/dist/test/snapshotlegacy.spec.d.ts +6 -0
  230. package/dist/test/snapshotlegacy.spec.d.ts.map +1 -0
  231. package/dist/test/snapshotlegacy.spec.js +139 -0
  232. package/dist/test/snapshotlegacy.spec.js.map +1 -0
  233. package/dist/test/sortedSegmentSet.spec.d.ts +6 -0
  234. package/dist/test/sortedSegmentSet.spec.d.ts.map +1 -0
  235. package/dist/test/sortedSegmentSet.spec.js +95 -0
  236. package/dist/test/sortedSegmentSet.spec.js.map +1 -0
  237. package/dist/test/testClient.d.ts +119 -0
  238. package/dist/test/testClient.d.ts.map +1 -0
  239. package/dist/test/testClient.js +439 -0
  240. package/dist/test/testClient.js.map +1 -0
  241. package/dist/test/testClientLogger.d.ts +44 -0
  242. package/dist/test/testClientLogger.d.ts.map +1 -0
  243. package/dist/test/testClientLogger.js +287 -0
  244. package/dist/test/testClientLogger.js.map +1 -0
  245. package/dist/test/testSerializer.d.ts +18 -0
  246. package/dist/test/testSerializer.d.ts.map +1 -0
  247. package/dist/test/testSerializer.js +33 -0
  248. package/dist/test/testSerializer.js.map +1 -0
  249. package/dist/test/testServer.d.ts +36 -0
  250. package/dist/test/testServer.d.ts.map +1 -0
  251. package/dist/test/testServer.js +138 -0
  252. package/dist/test/testServer.js.map +1 -0
  253. package/dist/test/testUtils.d.ts +69 -0
  254. package/dist/test/testUtils.d.ts.map +1 -0
  255. package/dist/test/testUtils.js +149 -0
  256. package/dist/test/testUtils.js.map +1 -0
  257. package/dist/test/text.d.ts +9 -0
  258. package/dist/test/text.d.ts.map +1 -0
  259. package/dist/test/text.js +76 -0
  260. package/dist/test/text.js.map +1 -0
  261. package/dist/test/tracking.spec.d.ts +6 -0
  262. package/dist/test/tracking.spec.d.ts.map +1 -0
  263. package/dist/test/tracking.spec.js +120 -0
  264. package/dist/test/tracking.spec.js.map +1 -0
  265. package/dist/test/wordUnitTests.d.ts +6 -0
  266. package/dist/test/wordUnitTests.d.ts.map +1 -0
  267. package/dist/test/wordUnitTests.js +172 -0
  268. package/dist/test/wordUnitTests.js.map +1 -0
  269. package/lib/{MergeTreeTextHelper.d.ts → MergeTreeTextHelper.d.mts} +3 -3
  270. package/lib/MergeTreeTextHelper.d.mts.map +1 -0
  271. package/lib/{MergeTreeTextHelper.js → MergeTreeTextHelper.mjs} +5 -10
  272. package/lib/MergeTreeTextHelper.mjs.map +1 -0
  273. package/lib/{attributionCollection.d.ts → attributionCollection.d.mts} +2 -2
  274. package/lib/attributionCollection.d.mts.map +1 -0
  275. package/lib/{attributionCollection.js → attributionCollection.mjs} +9 -14
  276. package/lib/attributionCollection.mjs.map +1 -0
  277. package/lib/{attributionPolicy.d.ts → attributionPolicy.d.mts} +2 -2
  278. package/lib/attributionPolicy.d.mts.map +1 -0
  279. package/lib/{attributionPolicy.js → attributionPolicy.mjs} +21 -27
  280. package/lib/attributionPolicy.mjs.map +1 -0
  281. package/lib/{client.d.ts → client.d.mts} +9 -16
  282. package/lib/client.d.mts.map +1 -0
  283. package/lib/{client.js → client.mjs} +101 -110
  284. package/lib/client.mjs.map +1 -0
  285. package/lib/collections/{index.d.ts → index.d.mts} +3 -3
  286. package/lib/collections/index.d.mts.map +1 -0
  287. package/lib/collections/index.mjs +7 -0
  288. package/lib/collections/index.mjs.map +1 -0
  289. package/lib/collections/{list.d.ts → list.d.mts} +1 -1
  290. package/lib/collections/list.d.mts.map +1 -0
  291. package/lib/collections/{list.js → list.mjs} +6 -11
  292. package/lib/collections/list.mjs.map +1 -0
  293. package/lib/collections/{rbTree.d.ts → rbTree.d.mts} +1 -1
  294. package/lib/collections/rbTree.d.mts.map +1 -0
  295. package/lib/collections/{rbTree.js → rbTree.mjs} +16 -20
  296. package/lib/collections/rbTree.mjs.map +1 -0
  297. package/lib/{constants.d.ts → constants.d.mts} +1 -1
  298. package/lib/constants.d.mts.map +1 -0
  299. package/lib/constants.mjs +32 -0
  300. package/lib/constants.mjs.map +1 -0
  301. package/lib/{endOfTreeSegment.d.ts → endOfTreeSegment.d.mts} +4 -4
  302. package/lib/endOfTreeSegment.d.mts.map +1 -0
  303. package/lib/{endOfTreeSegment.js → endOfTreeSegment.mjs} +13 -18
  304. package/lib/endOfTreeSegment.mjs.map +1 -0
  305. package/lib/{index.d.ts → index.d.mts} +21 -21
  306. package/lib/index.d.mts.map +1 -0
  307. package/lib/index.mjs +24 -0
  308. package/lib/index.mjs.map +1 -0
  309. package/lib/{localReference.d.ts → localReference.d.mts} +7 -7
  310. package/lib/localReference.d.mts.map +1 -0
  311. package/lib/{localReference.js → localReference.mjs} +38 -47
  312. package/lib/localReference.mjs.map +1 -0
  313. package/lib/{merge-tree-alpha.d.ts → merge-tree-alpha.d.mts} +27 -12
  314. package/lib/{merge-tree-beta.d.ts → merge-tree-beta.d.mts} +0 -16
  315. package/lib/{merge-tree-public.d.ts → merge-tree-public.d.mts} +0 -16
  316. package/lib/{merge-tree-untrimmed.d.ts → merge-tree-untrimmed.d.mts} +5 -29
  317. package/lib/{mergeTree.d.ts → mergeTree.d.mts} +12 -29
  318. package/lib/mergeTree.d.mts.map +1 -0
  319. package/lib/{mergeTree.js → mergeTree.mjs} +203 -340
  320. package/lib/mergeTree.mjs.map +1 -0
  321. package/lib/{mergeTreeDeltaCallback.d.ts → mergeTreeDeltaCallback.d.mts} +4 -8
  322. package/lib/mergeTreeDeltaCallback.d.mts.map +1 -0
  323. package/lib/{mergeTreeDeltaCallback.js → mergeTreeDeltaCallback.mjs} +2 -5
  324. package/lib/mergeTreeDeltaCallback.mjs.map +1 -0
  325. package/lib/{mergeTreeNodeWalk.d.ts → mergeTreeNodeWalk.d.mts} +2 -2
  326. package/lib/mergeTreeNodeWalk.d.mts.map +1 -0
  327. package/lib/{mergeTreeNodeWalk.js → mergeTreeNodeWalk.mjs} +14 -21
  328. package/lib/mergeTreeNodeWalk.mjs.map +1 -0
  329. package/lib/{mergeTreeNodes.d.ts → mergeTreeNodes.d.mts} +12 -12
  330. package/lib/mergeTreeNodes.d.mts.map +1 -0
  331. package/lib/{mergeTreeNodes.js → mergeTreeNodes.mjs} +60 -76
  332. package/lib/mergeTreeNodes.mjs.map +1 -0
  333. package/lib/{mergeTreeTracking.d.ts → mergeTreeTracking.d.mts} +3 -3
  334. package/lib/mergeTreeTracking.d.mts.map +1 -0
  335. package/lib/{mergeTreeTracking.js → mergeTreeTracking.mjs} +6 -13
  336. package/lib/mergeTreeTracking.mjs.map +1 -0
  337. package/lib/{opBuilder.d.ts → opBuilder.d.mts} +4 -4
  338. package/lib/opBuilder.d.mts.map +1 -0
  339. package/lib/{opBuilder.js → opBuilder.mjs} +15 -25
  340. package/lib/opBuilder.mjs.map +1 -0
  341. package/lib/{ops.d.ts → ops.d.mts} +2 -2
  342. package/lib/ops.d.mts.map +1 -0
  343. package/lib/{ops.js → ops.mjs} +5 -8
  344. package/lib/ops.mjs.map +1 -0
  345. package/lib/{ordinal.d.ts → ordinal.d.mts} +1 -1
  346. package/lib/ordinal.d.mts.map +1 -0
  347. package/lib/{ordinal.js → ordinal.mjs} +4 -9
  348. package/lib/ordinal.mjs.map +1 -0
  349. package/lib/{partialLengths.d.ts → partialLengths.d.mts} +4 -4
  350. package/lib/partialLengths.d.mts.map +1 -0
  351. package/lib/{partialLengths.js → partialLengths.mjs} +38 -46
  352. package/lib/partialLengths.mjs.map +1 -0
  353. package/lib/{properties.d.ts → properties.d.mts} +1 -1
  354. package/lib/properties.d.mts.map +1 -0
  355. package/lib/{properties.js → properties.mjs} +7 -16
  356. package/lib/properties.mjs.map +1 -0
  357. package/lib/{referencePositions.d.ts → referencePositions.d.mts} +5 -5
  358. package/lib/referencePositions.d.mts.map +1 -0
  359. package/lib/referencePositions.mjs +70 -0
  360. package/lib/referencePositions.mjs.map +1 -0
  361. package/lib/{revertibles.d.ts → revertibles.d.mts} +12 -12
  362. package/lib/revertibles.d.mts.map +1 -0
  363. package/lib/{revertibles.js → revertibles.mjs} +60 -67
  364. package/lib/revertibles.mjs.map +1 -0
  365. package/lib/{segmentGroupCollection.d.ts → segmentGroupCollection.d.mts} +2 -2
  366. package/lib/segmentGroupCollection.d.mts.map +1 -0
  367. package/lib/{segmentGroupCollection.js → segmentGroupCollection.mjs} +5 -9
  368. package/lib/segmentGroupCollection.mjs.map +1 -0
  369. package/lib/{segmentPropertiesManager.d.ts → segmentPropertiesManager.d.mts} +3 -3
  370. package/lib/segmentPropertiesManager.d.mts.map +1 -0
  371. package/lib/{segmentPropertiesManager.js → segmentPropertiesManager.mjs} +14 -20
  372. package/lib/{segmentPropertiesManager.js.map → segmentPropertiesManager.mjs.map} +1 -1
  373. package/lib/{snapshotChunks.d.ts → snapshotChunks.d.mts} +4 -4
  374. package/lib/snapshotChunks.d.mts.map +1 -0
  375. package/lib/{snapshotChunks.js → snapshotChunks.mjs} +10 -17
  376. package/lib/snapshotChunks.mjs.map +1 -0
  377. package/lib/{snapshotLoader.d.ts → snapshotLoader.d.mts} +3 -3
  378. package/lib/snapshotLoader.d.mts.map +1 -0
  379. package/lib/{snapshotLoader.js → snapshotLoader.mjs} +33 -38
  380. package/lib/snapshotLoader.mjs.map +1 -0
  381. package/lib/{snapshotV1.d.ts → snapshotV1.d.mts} +4 -4
  382. package/lib/snapshotV1.d.mts.map +1 -0
  383. package/lib/{snapshotV1.js → snapshotV1.mjs} +28 -32
  384. package/lib/snapshotV1.mjs.map +1 -0
  385. package/lib/{snapshotlegacy.d.ts → snapshotlegacy.d.mts} +3 -3
  386. package/lib/snapshotlegacy.d.mts.map +1 -0
  387. package/lib/{snapshotlegacy.js → snapshotlegacy.mjs} +21 -26
  388. package/lib/snapshotlegacy.mjs.map +1 -0
  389. package/lib/{sortedSegmentSet.d.ts → sortedSegmentSet.d.mts} +4 -4
  390. package/lib/sortedSegmentSet.d.mts.map +1 -0
  391. package/lib/{sortedSegmentSet.js → sortedSegmentSet.mjs} +3 -8
  392. package/lib/sortedSegmentSet.mjs.map +1 -0
  393. package/lib/{sortedSet.d.ts → sortedSet.d.mts} +1 -1
  394. package/lib/sortedSet.d.mts.map +1 -0
  395. package/lib/{sortedSet.js → sortedSet.mjs} +2 -6
  396. package/lib/sortedSet.mjs.map +1 -0
  397. package/lib/{textSegment.d.ts → textSegment.d.mts} +4 -4
  398. package/lib/textSegment.d.mts.map +1 -0
  399. package/lib/{textSegment.js → textSegment.mjs} +8 -12
  400. package/lib/textSegment.mjs.map +1 -0
  401. package/lib/{zamboni.d.ts → zamboni.d.mts} +3 -3
  402. package/lib/zamboni.d.mts.map +1 -0
  403. package/lib/{zamboni.js → zamboni.mjs} +22 -28
  404. package/lib/zamboni.mjs.map +1 -0
  405. package/package.json +95 -164
  406. package/src/client.ts +0 -8
  407. package/src/mergeTree.ts +0 -226
  408. package/src/ops.ts +1 -1
  409. package/src/revertibles.ts +4 -4
  410. package/lib/MergeTreeTextHelper.d.ts.map +0 -1
  411. package/lib/MergeTreeTextHelper.js.map +0 -1
  412. package/lib/attributionCollection.d.ts.map +0 -1
  413. package/lib/attributionCollection.js.map +0 -1
  414. package/lib/attributionPolicy.d.ts.map +0 -1
  415. package/lib/attributionPolicy.js.map +0 -1
  416. package/lib/client.d.ts.map +0 -1
  417. package/lib/client.js.map +0 -1
  418. package/lib/collections/index.d.ts.map +0 -1
  419. package/lib/collections/index.js +0 -14
  420. package/lib/collections/index.js.map +0 -1
  421. package/lib/collections/list.d.ts.map +0 -1
  422. package/lib/collections/list.js.map +0 -1
  423. package/lib/collections/rbTree.d.ts.map +0 -1
  424. package/lib/collections/rbTree.js.map +0 -1
  425. package/lib/constants.d.ts.map +0 -1
  426. package/lib/constants.js +0 -35
  427. package/lib/constants.js.map +0 -1
  428. package/lib/endOfTreeSegment.d.ts.map +0 -1
  429. package/lib/endOfTreeSegment.js.map +0 -1
  430. package/lib/index.d.ts.map +0 -1
  431. package/lib/index.js +0 -80
  432. package/lib/index.js.map +0 -1
  433. package/lib/localReference.d.ts.map +0 -1
  434. package/lib/localReference.js.map +0 -1
  435. package/lib/mergeTree.d.ts.map +0 -1
  436. package/lib/mergeTree.js.map +0 -1
  437. package/lib/mergeTreeDeltaCallback.d.ts.map +0 -1
  438. package/lib/mergeTreeDeltaCallback.js.map +0 -1
  439. package/lib/mergeTreeNodeWalk.d.ts.map +0 -1
  440. package/lib/mergeTreeNodeWalk.js.map +0 -1
  441. package/lib/mergeTreeNodes.d.ts.map +0 -1
  442. package/lib/mergeTreeNodes.js.map +0 -1
  443. package/lib/mergeTreeTracking.d.ts.map +0 -1
  444. package/lib/mergeTreeTracking.js.map +0 -1
  445. package/lib/opBuilder.d.ts.map +0 -1
  446. package/lib/opBuilder.js.map +0 -1
  447. package/lib/ops.d.ts.map +0 -1
  448. package/lib/ops.js.map +0 -1
  449. package/lib/ordinal.d.ts.map +0 -1
  450. package/lib/ordinal.js.map +0 -1
  451. package/lib/partialLengths.d.ts.map +0 -1
  452. package/lib/partialLengths.js.map +0 -1
  453. package/lib/properties.d.ts.map +0 -1
  454. package/lib/properties.js.map +0 -1
  455. package/lib/referencePositions.d.ts.map +0 -1
  456. package/lib/referencePositions.js +0 -80
  457. package/lib/referencePositions.js.map +0 -1
  458. package/lib/revertibles.d.ts.map +0 -1
  459. package/lib/revertibles.js.map +0 -1
  460. package/lib/segmentGroupCollection.d.ts.map +0 -1
  461. package/lib/segmentGroupCollection.js.map +0 -1
  462. package/lib/segmentPropertiesManager.d.ts.map +0 -1
  463. package/lib/snapshotChunks.d.ts.map +0 -1
  464. package/lib/snapshotChunks.js.map +0 -1
  465. package/lib/snapshotLoader.d.ts.map +0 -1
  466. package/lib/snapshotLoader.js.map +0 -1
  467. package/lib/snapshotV1.d.ts.map +0 -1
  468. package/lib/snapshotV1.js.map +0 -1
  469. package/lib/snapshotlegacy.d.ts.map +0 -1
  470. package/lib/snapshotlegacy.js.map +0 -1
  471. package/lib/sortedSegmentSet.d.ts.map +0 -1
  472. package/lib/sortedSegmentSet.js.map +0 -1
  473. package/lib/sortedSet.d.ts.map +0 -1
  474. package/lib/sortedSet.js.map +0 -1
  475. package/lib/textSegment.d.ts.map +0 -1
  476. package/lib/textSegment.js.map +0 -1
  477. package/lib/zamboni.d.ts.map +0 -1
  478. package/lib/zamboni.js.map +0 -1
  479. package/merge-tree.test-files.tar +0 -0
  480. package/src/mergeTreeExample1.pdf +0 -0
  481. package/tsconfig.esnext.json +0 -6
@@ -1,11 +1,8 @@
1
- "use strict";
2
1
  /*!
3
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
4
3
  * Licensed under the MIT License.
5
4
  */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.createGroupOp = exports.createInsertOp = exports.createInsertSegmentOp = exports.createObliterateRangeOp = exports.createRemoveRangeOp = exports.createAnnotateRangeOp = exports.createAnnotateMarkerOp = void 0;
8
- const ops_1 = require("./ops");
5
+ import { MergeTreeDeltaType, } from "./ops.mjs";
9
6
  /**
10
7
  * Creates the op for annotating the markers with the provided properties
11
8
  * @param marker - The marker to annotate
@@ -14,7 +11,7 @@ const ops_1 = require("./ops");
14
11
  *
15
12
  * @internal
16
13
  */
17
- function createAnnotateMarkerOp(marker, props) {
14
+ export function createAnnotateMarkerOp(marker, props) {
18
15
  const id = marker.getId();
19
16
  if (!id) {
20
17
  return undefined;
@@ -23,10 +20,9 @@ function createAnnotateMarkerOp(marker, props) {
23
20
  props,
24
21
  relativePos1: { id, before: true },
25
22
  relativePos2: { id },
26
- type: ops_1.MergeTreeDeltaType.ANNOTATE,
23
+ type: MergeTreeDeltaType.ANNOTATE,
27
24
  };
28
25
  }
29
- exports.createAnnotateMarkerOp = createAnnotateMarkerOp;
30
26
  /**
31
27
  * Creates the op for annotating the range with the provided properties
32
28
  * @param start - The inclusive start position of the range to annotate
@@ -36,15 +32,14 @@ exports.createAnnotateMarkerOp = createAnnotateMarkerOp;
36
32
  *
37
33
  * @internal
38
34
  */
39
- function createAnnotateRangeOp(start, end, props) {
35
+ export function createAnnotateRangeOp(start, end, props) {
40
36
  return {
41
37
  pos1: start,
42
38
  pos2: end,
43
39
  props,
44
- type: ops_1.MergeTreeDeltaType.ANNOTATE,
40
+ type: MergeTreeDeltaType.ANNOTATE,
45
41
  };
46
42
  }
47
- exports.createAnnotateRangeOp = createAnnotateRangeOp;
48
43
  /**
49
44
  * Creates the op to remove a range
50
45
  *
@@ -53,14 +48,13 @@ exports.createAnnotateRangeOp = createAnnotateRangeOp;
53
48
  *
54
49
  * @internal
55
50
  */
56
- function createRemoveRangeOp(start, end) {
51
+ export function createRemoveRangeOp(start, end) {
57
52
  return {
58
53
  pos1: start,
59
54
  pos2: end,
60
- type: ops_1.MergeTreeDeltaType.REMOVE,
55
+ type: MergeTreeDeltaType.REMOVE,
61
56
  };
62
57
  }
63
- exports.createRemoveRangeOp = createRemoveRangeOp;
64
58
  /**
65
59
  * Creates the op to obliterate a range
66
60
  *
@@ -70,14 +64,13 @@ exports.createRemoveRangeOp = createRemoveRangeOp;
70
64
  * @internal
71
65
  */
72
66
  // eslint-disable-next-line import/no-deprecated
73
- function createObliterateRangeOp(start, end) {
67
+ export function createObliterateRangeOp(start, end) {
74
68
  return {
75
69
  pos1: start,
76
70
  pos2: end,
77
- type: ops_1.MergeTreeDeltaType.OBLITERATE,
71
+ type: MergeTreeDeltaType.OBLITERATE,
78
72
  };
79
73
  }
80
- exports.createObliterateRangeOp = createObliterateRangeOp;
81
74
  /**
82
75
  *
83
76
  * @param pos - The position to insert the segment at
@@ -85,21 +78,19 @@ exports.createObliterateRangeOp = createObliterateRangeOp;
85
78
  *
86
79
  * @internal
87
80
  */
88
- function createInsertSegmentOp(pos, segment) {
81
+ export function createInsertSegmentOp(pos, segment) {
89
82
  return createInsertOp(pos, segment.toJSONObject());
90
83
  }
91
- exports.createInsertSegmentOp = createInsertSegmentOp;
92
84
  /**
93
85
  * @internal
94
86
  */
95
- function createInsertOp(pos, segSpec) {
87
+ export function createInsertOp(pos, segSpec) {
96
88
  return {
97
89
  pos1: pos,
98
90
  seg: segSpec,
99
- type: ops_1.MergeTreeDeltaType.INSERT,
91
+ type: MergeTreeDeltaType.INSERT,
100
92
  };
101
93
  }
102
- exports.createInsertOp = createInsertOp;
103
94
  /**
104
95
  *
105
96
  * @param ops - The ops to group
@@ -112,11 +103,10 @@ exports.createInsertOp = createInsertOp;
112
103
  * @internal
113
104
  */
114
105
  // eslint-disable-next-line import/no-deprecated
115
- function createGroupOp(...ops) {
106
+ export function createGroupOp(...ops) {
116
107
  return {
117
108
  ops,
118
- type: ops_1.MergeTreeDeltaType.GROUP,
109
+ type: MergeTreeDeltaType.GROUP,
119
110
  };
120
111
  }
121
- exports.createGroupOp = createGroupOp;
122
- //# sourceMappingURL=opBuilder.js.map
112
+ //# sourceMappingURL=opBuilder.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opBuilder.mjs","sourceRoot":"","sources":["../src/opBuilder.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAGI,EAMN,kBAAkB,GAIlB;AAGD;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CACrC,MAAc,EACd,KAAkB;IAElB,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;IAC1B,IAAI,CAAC,EAAE,EAAE;QACR,OAAO,SAAS,CAAC;KACjB;IAED,OAAO;QACN,KAAK;QACL,YAAY,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;QAClC,YAAY,EAAE,EAAE,EAAE,EAAE;QACpB,IAAI,EAAE,kBAAkB,CAAC,QAAQ;KACjC,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CACpC,KAAa,EACb,GAAW,EACX,KAAkB;IAElB,OAAO;QACN,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,GAAG;QACT,KAAK;QACL,IAAI,EAAE,kBAAkB,CAAC,QAAQ;KACjC,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa,EAAE,GAAW;IAC7D,OAAO;QACN,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,kBAAkB,CAAC,MAAM;KAC/B,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,gDAAgD;AAChD,MAAM,UAAU,uBAAuB,CAAC,KAAa,EAAE,GAAW;IACjE,OAAO;QACN,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,kBAAkB,CAAC,UAAU;KACnC,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAW,EAAE,OAAiB;IACnE,OAAO,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW,EAAE,OAAY;IACvD,OAAO;QACN,IAAI,EAAE,GAAG;QACT,GAAG,EAAE,OAAO;QACZ,IAAI,EAAE,kBAAkB,CAAC,MAAM;KAC/B,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,gDAAgD;AAChD,MAAM,UAAU,aAAa,CAAC,GAAG,GAAwB;IACxD,OAAO;QACN,GAAG;QACH,IAAI,EAAE,kBAAkB,CAAC,KAAK;KAC9B,CAAC;AACH,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ISegment, Marker } from \"./mergeTreeNodes\";\nimport {\n\tIMergeTreeAnnotateMsg,\n\t// eslint-disable-next-line import/no-deprecated\n\tIMergeTreeGroupMsg,\n\tIMergeTreeInsertMsg,\n\tIMergeTreeRemoveMsg,\n\tMergeTreeDeltaType,\n\tIMergeTreeDeltaOp,\n\t// eslint-disable-next-line import/no-deprecated\n\tIMergeTreeObliterateMsg,\n} from \"./ops\";\nimport { PropertySet } from \"./properties\";\n\n/**\n * Creates the op for annotating the markers with the provided properties\n * @param marker - The marker to annotate\n * @param props - The properties to annotate the marker with\n * @returns The annotate op\n *\n * @internal\n */\nexport function createAnnotateMarkerOp(\n\tmarker: Marker,\n\tprops: PropertySet,\n): IMergeTreeAnnotateMsg | undefined {\n\tconst id = marker.getId();\n\tif (!id) {\n\t\treturn undefined;\n\t}\n\n\treturn {\n\t\tprops,\n\t\trelativePos1: { id, before: true },\n\t\trelativePos2: { id },\n\t\ttype: MergeTreeDeltaType.ANNOTATE,\n\t};\n}\n\n/**\n * Creates the op for annotating the range with the provided properties\n * @param start - The inclusive start position of the range to annotate\n * @param end - The exclusive end position of the range to annotate\n * @param props - The properties to annotate the range with\n * @returns The annotate op\n *\n * @internal\n */\nexport function createAnnotateRangeOp(\n\tstart: number,\n\tend: number,\n\tprops: PropertySet,\n): IMergeTreeAnnotateMsg {\n\treturn {\n\t\tpos1: start,\n\t\tpos2: end,\n\t\tprops,\n\t\ttype: MergeTreeDeltaType.ANNOTATE,\n\t};\n}\n\n/**\n * Creates the op to remove a range\n *\n * @param start - The inclusive start of the range to remove\n * @param end - The exclusive end of the range to remove\n *\n * @internal\n */\nexport function createRemoveRangeOp(start: number, end: number): IMergeTreeRemoveMsg {\n\treturn {\n\t\tpos1: start,\n\t\tpos2: end,\n\t\ttype: MergeTreeDeltaType.REMOVE,\n\t};\n}\n\n/**\n * Creates the op to obliterate a range\n *\n * @param start - The inclusive start of the range to obliterate\n * @param end - The exclusive end of the range to obliterate\n *\n * @internal\n */\n// eslint-disable-next-line import/no-deprecated\nexport function createObliterateRangeOp(start: number, end: number): IMergeTreeObliterateMsg {\n\treturn {\n\t\tpos1: start,\n\t\tpos2: end,\n\t\ttype: MergeTreeDeltaType.OBLITERATE,\n\t};\n}\n\n/**\n *\n * @param pos - The position to insert the segment at\n * @param segment - The segment to insert\n *\n * @internal\n */\nexport function createInsertSegmentOp(pos: number, segment: ISegment): IMergeTreeInsertMsg {\n\treturn createInsertOp(pos, segment.toJSONObject());\n}\n\n/**\n * @internal\n */\nexport function createInsertOp(pos: number, segSpec: any): IMergeTreeInsertMsg {\n\treturn {\n\t\tpos1: pos,\n\t\tseg: segSpec,\n\t\ttype: MergeTreeDeltaType.INSERT,\n\t};\n}\n\n/**\n *\n * @param ops - The ops to group\n *\n * @deprecated The ability to create group ops will be removed in an upcoming\n * release, as group ops are redundant with he native batching capabilities of\n * the runtime\n *\n * @deprecated The ability to create group ops will be removed in an upcoming release, as group ops are redundant with he native batching capabilities of the runtime\n * @internal\n */\n// eslint-disable-next-line import/no-deprecated\nexport function createGroupOp(...ops: IMergeTreeDeltaOp[]): IMergeTreeGroupMsg {\n\treturn {\n\t\tops,\n\t\ttype: MergeTreeDeltaType.GROUP,\n\t};\n}\n"]}
@@ -9,7 +9,7 @@
9
9
  export declare enum ReferenceType {
10
10
  Simple = 0,
11
11
  /**
12
- * Allows this reference to be located using the `findTile` API on merge-tree.
12
+ * Allows this reference to be located using the `searchForMarker` API on merge-tree.
13
13
  */
14
14
  Tile = 1,
15
15
  /**
@@ -172,4 +172,4 @@ export type IMergeTreeDeltaOp = IMergeTreeInsertMsg | IMergeTreeRemoveMsg | IMer
172
172
  * @alpha
173
173
  */
174
174
  export type IMergeTreeOp = IMergeTreeDeltaOp | IMergeTreeGroupMsg;
175
- //# sourceMappingURL=ops.d.ts.map
175
+ //# sourceMappingURL=ops.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ops.d.mts","sourceRoot":"","sources":["../src/ops.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,16 @@
1
- "use strict";
2
1
  /*!
3
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
4
3
  * Licensed under the MIT License.
5
4
  */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.MergeTreeDeltaType = exports.ReferenceType = void 0;
8
5
  /**
9
6
  * Flags enum that dictates behavior of a {@link ReferencePosition}
10
7
  * @alpha
11
8
  */
12
- var ReferenceType;
9
+ export var ReferenceType;
13
10
  (function (ReferenceType) {
14
11
  ReferenceType[ReferenceType["Simple"] = 0] = "Simple";
15
12
  /**
16
- * Allows this reference to be located using the `findTile` API on merge-tree.
13
+ * Allows this reference to be located using the `searchForMarker` API on merge-tree.
17
14
  */
18
15
  ReferenceType[ReferenceType["Tile"] = 1] = "Tile";
19
16
  /**
@@ -45,12 +42,12 @@ var ReferenceType;
45
42
  * This is useful for comparison/iteration purposes
46
43
  */
47
44
  ReferenceType[ReferenceType["Transient"] = 256] = "Transient";
48
- })(ReferenceType || (exports.ReferenceType = ReferenceType = {}));
45
+ })(ReferenceType || (ReferenceType = {}));
49
46
  // Note: Assigned positive integers to avoid clashing with MergeTreeMaintenanceType
50
47
  /**
51
48
  * @alpha
52
49
  */
53
- exports.MergeTreeDeltaType = {
50
+ export const MergeTreeDeltaType = {
54
51
  INSERT: 0,
55
52
  REMOVE: 1,
56
53
  ANNOTATE: 2,
@@ -60,4 +57,4 @@ exports.MergeTreeDeltaType = {
60
57
  GROUP: 3,
61
58
  OBLITERATE: 4,
62
59
  };
63
- //# sourceMappingURL=ops.js.map
60
+ //# sourceMappingURL=ops.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ops.mjs","sourceRoot":"","sources":["../src/ops.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,CAAN,IAAY,aAsCX;AAtCD,WAAY,aAAa;IACxB,qDAAY,CAAA;IACZ;;OAEG;IACH,iDAAU,CAAA;IAEV;;;;OAIG;IACH,8DAAiB,CAAA;IAEjB;;;;OAIG;IACH,0DAAe,CAAA;IAEf;;;;;;OAMG;IACH,oEAAoB,CAAA;IACpB;;OAEG;IACH,mEAAmB,CAAA;IACnB;;;OAGG;IACH,6DAAiB,CAAA;AAClB,CAAC,EAtCW,aAAa,KAAb,aAAa,QAsCxB;AASD,mFAAmF;AACnF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IACjC,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,QAAQ,EAAE,CAAC;IACX;;OAEG;IACH,KAAK,EAAE,CAAC;IACR,UAAU,EAAE,CAAC;CACJ,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Flags enum that dictates behavior of a {@link ReferencePosition}\n * @alpha\n */\nexport enum ReferenceType {\n\tSimple = 0x0,\n\t/**\n\t * Allows this reference to be located using the `searchForMarker` API on merge-tree.\n\t */\n\tTile = 0x1,\n\n\t/**\n\t * Denotes that this reference begins the start of an interval. This is\n\t * generally not meaningful outside the context of interval collections\n\t * on SharedString.\n\t */\n\tRangeBegin = 0x10,\n\n\t/**\n\t * Denotes that this reference is the end of an interval. This is\n\t * generally not meaningful outside the context of interval collections\n\t * on SharedString.\n\t */\n\tRangeEnd = 0x20,\n\n\t/**\n\t * When a segment is marked removed (locally or with ack), this reference will slide to the first\n\t * valid option of:\n\t * 1. the start of the next furthest segment\n\t * 2. the end of the next nearest segment\n\t * 3. DetachedReferencePosition\n\t */\n\tSlideOnRemove = 0x40,\n\t/**\n\t * When a segment is marked removed (locally or with ack), this reference will remain on that segment.\n\t */\n\tStayOnRemove = 0x80,\n\t/**\n\t * Specifies that the reference position should never be added to the segment it refers to.\n\t * This is useful for comparison/iteration purposes\n\t */\n\tTransient = 0x100,\n}\n\n/**\n * @alpha\n */\nexport interface IMarkerDef {\n\trefType?: ReferenceType;\n}\n\n// Note: Assigned positive integers to avoid clashing with MergeTreeMaintenanceType\n/**\n * @alpha\n */\nexport const MergeTreeDeltaType = {\n\tINSERT: 0,\n\tREMOVE: 1,\n\tANNOTATE: 2,\n\t/**\n\t * @deprecated The ability to create group ops will be removed in an upcoming release, as group ops are redundant with he native batching capabilities of the runtime\n\t */\n\tGROUP: 3,\n\tOBLITERATE: 4,\n} as const;\n\n/**\n * @alpha\n */\nexport type MergeTreeDeltaType = (typeof MergeTreeDeltaType)[keyof typeof MergeTreeDeltaType];\n\n/**\n * @alpha\n */\nexport interface IMergeTreeDelta {\n\t/**\n\t * Type of this change.\n\t */\n\ttype: MergeTreeDeltaType;\n}\n\n/**\n * A position specified relative to a segment.\n * @alpha\n */\nexport interface IRelativePosition {\n\t/**\n\t * String identifier specifying a segment.\n\t */\n\tid?: string;\n\t/**\n\t * If true, insert before the specified segment. If false or not defined,\n\t * insert after the specified segment.\n\t */\n\tbefore?: boolean;\n\t/**\n\t * A positive number \\>= 1. If before is false, offset is added to the position.\n\t * If before is true, offset is subtracted from the position.\n\t */\n\toffset?: number;\n}\n\n/**\n * @alpha\n */\nexport interface IMergeTreeInsertMsg extends IMergeTreeDelta {\n\ttype: typeof MergeTreeDeltaType.INSERT;\n\tpos1?: number;\n\trelativePos1?: IRelativePosition;\n\tpos2?: number;\n\trelativePos2?: IRelativePosition;\n\tseg?: any;\n}\n\n/**\n * @alpha\n */\nexport interface IMergeTreeRemoveMsg extends IMergeTreeDelta {\n\ttype: typeof MergeTreeDeltaType.REMOVE;\n\tpos1?: number;\n\trelativePos1?: IRelativePosition;\n\tpos2?: number;\n\trelativePos2?: IRelativePosition;\n}\n\n/**\n * @deprecated We no longer intend to support this functionality and it will\n * be removed in a future release. There is no replacement for this\n * functionality.\n * @alpha\n */\nexport interface IMergeTreeObliterateMsg extends IMergeTreeDelta {\n\ttype: typeof MergeTreeDeltaType.OBLITERATE;\n\tpos1?: number;\n\t/**\n\t * This field is currently unused, but we keep it around to make the union\n\t * type of all merge-tree messages have the same fields\n\t */\n\trelativePos1?: never;\n\tpos2?: number;\n\t/**\n\t * This field is currently unused, but we keep it around to make the union\n\t * type of all merge-tree messages have the same fields\n\t */\n\trelativePos2?: never;\n}\n\n/**\n * @alpha\n */\nexport interface IMergeTreeAnnotateMsg extends IMergeTreeDelta {\n\ttype: typeof MergeTreeDeltaType.ANNOTATE;\n\tpos1?: number;\n\trelativePos1?: IRelativePosition;\n\tpos2?: number;\n\trelativePos2?: IRelativePosition;\n\tprops: Record<string, any>;\n}\n\n/**\n * @deprecated The ability to create group ops will be removed in an upcoming\n * release, as group ops are redundant with the native batching capabilities\n * of the runtime\n *\n * @alpha\n */\nexport interface IMergeTreeGroupMsg extends IMergeTreeDelta {\n\ttype: typeof MergeTreeDeltaType.GROUP;\n\tops: IMergeTreeDeltaOp[];\n}\n\n/**\n * @alpha\n */\nexport interface IJSONSegment {\n\tprops?: Record<string, any>;\n}\n\n/**\n * @alpha\n */\nexport type IMergeTreeDeltaOp =\n\t| IMergeTreeInsertMsg\n\t| IMergeTreeRemoveMsg\n\t| IMergeTreeAnnotateMsg\n\t| IMergeTreeObliterateMsg;\n\n/**\n * @alpha\n */\nexport type IMergeTreeOp = IMergeTreeDeltaOp | IMergeTreeGroupMsg;\n"]}
@@ -3,4 +3,4 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
  export declare function computeHierarchicalOrdinal(maxCount: number, actualCount: number, parentOrdinal: string, previousOrdinal: string | undefined): string;
6
- //# sourceMappingURL=ordinal.d.ts.map
6
+ //# sourceMappingURL=ordinal.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ordinal.d.mts","sourceRoot":"","sources":["../src/ordinal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,wBAAgB,0BAA0B,CACzC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,MAAM,GAAG,SAAS,UAkBnC"}
@@ -1,14 +1,10 @@
1
- "use strict";
2
1
  /*!
3
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
4
3
  * Licensed under the MIT License.
5
4
  */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.computeHierarchicalOrdinal = void 0;
8
- /* eslint-disable no-bitwise */
9
- const core_utils_1 = require("@fluidframework/core-utils");
10
- function computeHierarchicalOrdinal(maxCount, actualCount, parentOrdinal, previousOrdinal) {
11
- (0, core_utils_1.assert)(maxCount <= 16 && actualCount <= maxCount, 0x3f0 /* count must be less than max, and max must be 16 or less */);
5
+ import { assert } from "@fluidframework/core-utils";
6
+ export function computeHierarchicalOrdinal(maxCount, actualCount, parentOrdinal, previousOrdinal) {
7
+ assert(maxCount <= 16 && actualCount <= maxCount, 0x3f0 /* count must be less than max, and max must be 16 or less */);
12
8
  const ordinalWidth = 1 << (maxCount - actualCount);
13
9
  let ordinal;
14
10
  if (previousOrdinal === undefined) {
@@ -21,5 +17,4 @@ function computeHierarchicalOrdinal(maxCount, actualCount, parentOrdinal, previo
21
17
  }
22
18
  return ordinal;
23
19
  }
24
- exports.computeHierarchicalOrdinal = computeHierarchicalOrdinal;
25
- //# sourceMappingURL=ordinal.js.map
20
+ //# sourceMappingURL=ordinal.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ordinal.mjs","sourceRoot":"","sources":["../src/ordinal.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAGI,EAAE,MAAM,EAAE,MAAM,4BAA4B;AAEnD,MAAM,UAAU,0BAA0B,CACzC,QAAgB,EAChB,WAAmB,EACnB,aAAqB,EACrB,eAAmC;IAEnC,MAAM,CACL,QAAQ,IAAI,EAAE,IAAI,WAAW,IAAI,QAAQ,EACzC,KAAK,CAAC,6DAA6D,CACnE,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAC;IACnD,IAAI,OAAe,CAAC;IACpB,IAAI,eAAe,KAAK,SAAS,EAAE;QAClC,OAAO,GAAG,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;KAChE;SAAM;QACN,MAAM,WAAW,GAAG,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3E,MAAM,YAAY,GAAG,WAAW,GAAG,YAAY,CAAC;QAChD,OAAO,GAAG,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;KAC5D;IAED,OAAO,OAAO,CAAC;AAChB,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/* eslint-disable no-bitwise */\nimport { assert } from \"@fluidframework/core-utils\";\n\nexport function computeHierarchicalOrdinal(\n\tmaxCount: number,\n\tactualCount: number,\n\tparentOrdinal: string,\n\tpreviousOrdinal: string | undefined,\n) {\n\tassert(\n\t\tmaxCount <= 16 && actualCount <= maxCount,\n\t\t0x3f0 /* count must be less than max, and max must be 16 or less */,\n\t);\n\n\tconst ordinalWidth = 1 << (maxCount - actualCount);\n\tlet ordinal: string;\n\tif (previousOrdinal === undefined) {\n\t\tordinal = parentOrdinal + String.fromCharCode(ordinalWidth - 1);\n\t} else {\n\t\tconst prevOrdCode = previousOrdinal.charCodeAt(previousOrdinal.length - 1);\n\t\tconst localOrdinal = prevOrdCode + ordinalWidth;\n\t\tordinal = parentOrdinal + String.fromCharCode(localOrdinal);\n\t}\n\n\treturn ordinal;\n}\n"]}
@@ -2,9 +2,9 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- import { RedBlackTree } from "./collections";
6
- import { MergeTree } from "./mergeTree";
7
- import { CollaborationWindow, IMergeBlock, ISegment } from "./mergeTreeNodes";
5
+ import { RedBlackTree } from "./collections/index.mjs";
6
+ import { MergeTree } from "./mergeTree.mjs";
7
+ import { CollaborationWindow, IMergeBlock, ISegment } from "./mergeTreeNodes.mjs";
8
8
  interface IOverlapClient {
9
9
  clientId: number;
10
10
  seglen: number;
@@ -273,4 +273,4 @@ export declare function verify(partialSeqLengths: PartialSequenceLengths): void;
273
273
  */
274
274
  export declare function combineOverlapClients(a: PartialSequenceLength, b: PartialSequenceLength): void;
275
275
  export {};
276
- //# sourceMappingURL=partialLengths.d.ts.map
276
+ //# sourceMappingURL=partialLengths.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partialLengths.d.mts","sourceRoot":"","sources":["../src/partialLengths.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,14 @@
1
- "use strict";
2
1
  /*!
3
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
4
3
  * Licensed under the MIT License.
5
4
  */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.combineOverlapClients = exports.verify = exports.verifyExpected = exports.PartialSequenceLengths = void 0;
8
- const core_utils_1 = require("@fluidframework/core-utils");
9
- const collections_1 = require("./collections");
10
- const constants_1 = require("./constants");
11
- const mergeTreeNodes_1 = require("./mergeTreeNodes");
5
+ import { assert } from "@fluidframework/core-utils";
6
+ import { RedBlackTree } from "./collections/index.mjs";
7
+ import { UnassignedSequenceNumber } from "./constants.mjs";
8
+ import { compareNumbers, toMoveInfo, seqLTE, toRemovalInfo, } from "./mergeTreeNodes.mjs";
9
+ import { SortedSet } from "./sortedSet.mjs";
12
10
  // eslint-disable-next-line import/no-deprecated
13
- const sortedSet_1 = require("./sortedSet");
14
- // eslint-disable-next-line import/no-deprecated
15
- class PartialSequenceLengthsSet extends sortedSet_1.SortedSet {
11
+ class PartialSequenceLengthsSet extends SortedSet {
16
12
  getKey(item) {
17
13
  return item.seq;
18
14
  }
@@ -126,7 +122,7 @@ class PartialSequenceLengthsSet extends sortedSet_1.SortedSet {
126
122
  * Note: there is some slight complication with clientSeqNumbers resulting from the possibility of different clients
127
123
  * concurrently removing the same segment. See the field's documentation for more details.
128
124
  */
129
- class PartialSequenceLengths {
125
+ export class PartialSequenceLengths {
130
126
  /**
131
127
  * Combine the partial lengths of block's children
132
128
  * @param block - an interior node. If `recur` is false, it is assumed that each interior node child of this block
@@ -213,18 +209,18 @@ class PartialSequenceLengths {
213
209
  if (child.isLeaf()) {
214
210
  // Leaf segment
215
211
  const segment = child;
216
- if (segment.seq !== undefined && (0, mergeTreeNodes_1.seqLTE)(segment.seq, collabWindow.minSeq)) {
212
+ if (segment.seq !== undefined && seqLTE(segment.seq, collabWindow.minSeq)) {
217
213
  combinedPartialLengths.minLength += segment.cachedLength;
218
214
  }
219
215
  else {
220
216
  PartialSequenceLengths.insertSegment(combinedPartialLengths, segment);
221
217
  }
222
- const removalInfo = (0, mergeTreeNodes_1.toRemovalInfo)(segment);
223
- const moveInfo = (0, mergeTreeNodes_1.toMoveInfo)(segment);
218
+ const removalInfo = toRemovalInfo(segment);
219
+ const moveInfo = toMoveInfo(segment);
224
220
  if ((removalInfo?.removedSeq !== undefined &&
225
- (0, mergeTreeNodes_1.seqLTE)(removalInfo.removedSeq, collabWindow.minSeq)) ||
221
+ seqLTE(removalInfo.removedSeq, collabWindow.minSeq)) ||
226
222
  (moveInfo?.movedSeq !== undefined &&
227
- (0, mergeTreeNodes_1.seqLTE)(moveInfo.movedSeq, collabWindow.minSeq))) {
223
+ seqLTE(moveInfo.movedSeq, collabWindow.minSeq))) {
228
224
  combinedPartialLengths.minLength -= segment.cachedLength;
229
225
  }
230
226
  else if (removalInfo !== undefined || moveInfo !== undefined) {
@@ -253,7 +249,7 @@ class PartialSequenceLengths {
253
249
  return combinedPartialLengths;
254
250
  }
255
251
  static getOverlapClients(overlapClientIds, seglen) {
256
- const bst = new collections_1.RedBlackTree(mergeTreeNodes_1.compareNumbers);
252
+ const bst = new RedBlackTree(compareNumbers);
257
253
  for (const clientId of overlapClientIds) {
258
254
  bst.put(clientId, { clientId, seglen });
259
255
  }
@@ -380,9 +376,9 @@ class PartialSequenceLengths {
380
376
  * `combinedPartialLengths.unsequencedRecords`.
381
377
  */
382
378
  static insertSegment(combinedPartialLengths, segment, removalInfo, moveInfo) {
383
- const removalIsLocal = !!removalInfo && removalInfo.removedSeq === constants_1.UnassignedSequenceNumber;
384
- const moveIsLocal = !!moveInfo && moveInfo.movedSeq === constants_1.UnassignedSequenceNumber;
385
- const isLocal = segment.seq === constants_1.UnassignedSequenceNumber ||
379
+ const removalIsLocal = !!removalInfo && removalInfo.removedSeq === UnassignedSequenceNumber;
380
+ const moveIsLocal = !!moveInfo && moveInfo.movedSeq === UnassignedSequenceNumber;
381
+ const isLocal = segment.seq === UnassignedSequenceNumber ||
386
382
  (!!removalInfo && removalIsLocal && (!moveInfo || moveIsLocal)) ||
387
383
  (!!moveInfo && moveIsLocal && (!removalInfo || removalIsLocal));
388
384
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
@@ -393,7 +389,7 @@ class PartialSequenceLengths {
393
389
  let moveClientOverlap;
394
390
  let remoteObliteratedLen;
395
391
  // it's not possible to have an overlapping obliterate and remove that are both local
396
- (0, core_utils_1.assert)((!moveIsLocal && !removalIsLocal) || moveIsLocal !== removalIsLocal, 0x870 /* overlapping local obliterate and remove */);
392
+ assert((!moveIsLocal && !removalIsLocal) || moveIsLocal !== removalIsLocal, 0x870 /* overlapping local obliterate and remove */);
397
393
  const removeHappenedFirst = removalInfo &&
398
394
  (!moveInfo ||
399
395
  moveIsLocal ||
@@ -415,7 +411,7 @@ class PartialSequenceLengths {
415
411
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
416
412
  seqOrLocalSeq = moveIsLocal ? moveInfo.localMovedSeq : moveInfo.movedSeq;
417
413
  if (segment.wasMovedOnInsert) {
418
- (0, core_utils_1.assert)(moveInfo.movedSeq !== -1, 0x871 /* wasMovedOnInsert should only be set on acked obliterates */);
414
+ assert(moveInfo.movedSeq !== -1, 0x871 /* wasMovedOnInsert should only be set on acked obliterates */);
419
415
  segmentLen = 0;
420
416
  }
421
417
  else {
@@ -585,10 +581,10 @@ class PartialSequenceLengths {
585
581
  }
586
582
  else {
587
583
  const segment = child;
588
- const removalInfo = (0, mergeTreeNodes_1.toRemovalInfo)(segment);
589
- const moveInfo = (0, mergeTreeNodes_1.toMoveInfo)(segment);
590
- const removalIsLocal = !!removalInfo && removalInfo.removedSeq === constants_1.UnassignedSequenceNumber;
591
- const moveIsLocal = !!moveInfo && moveInfo.movedSeq === constants_1.UnassignedSequenceNumber;
584
+ const removalInfo = toRemovalInfo(segment);
585
+ const moveInfo = toMoveInfo(segment);
586
+ const removalIsLocal = !!removalInfo && removalInfo.removedSeq === UnassignedSequenceNumber;
587
+ const moveIsLocal = !!moveInfo && moveInfo.movedSeq === UnassignedSequenceNumber;
592
588
  const removeHappenedFirst = removalInfo &&
593
589
  (!moveInfo ||
594
590
  moveIsLocal ||
@@ -622,13 +618,13 @@ class PartialSequenceLengths {
622
618
  remoteObliteratedLen -= segment.cachedLength;
623
619
  }
624
620
  else if (segment.wasMovedOnInsert &&
625
- segment.seq !== constants_1.UnassignedSequenceNumber &&
621
+ segment.seq !== UnassignedSequenceNumber &&
626
622
  segment.seq !== undefined &&
627
623
  moveInfo.movedSeq > segment.seq) {
628
624
  remoteObliteratedLen += segment.cachedLength;
629
625
  seqSeglen -= segment.cachedLength;
630
626
  }
631
- else if (segment.seq !== constants_1.UnassignedSequenceNumber) {
627
+ else if (segment.seq !== UnassignedSequenceNumber) {
632
628
  seqSeglen -= segment.cachedLength;
633
629
  }
634
630
  }
@@ -676,7 +672,7 @@ class PartialSequenceLengths {
676
672
  }
677
673
  }
678
674
  else {
679
- (0, core_utils_1.assert)(this.unsequencedRecords !== undefined, 0x39f /* Local getPartialLength invoked without computing local partials. */);
675
+ assert(this.unsequencedRecords !== undefined, 0x39f /* Local getPartialLength invoked without computing local partials. */);
680
676
  const unsequencedPartialLengths = this.unsequencedRecords.partialLengths;
681
677
  // Local segments at or before localSeq should also be included
682
678
  const local = unsequencedPartialLengths.latestLeq(localSeq);
@@ -805,7 +801,6 @@ class PartialSequenceLengths {
805
801
  return cliSeqs && cliSeqs.size > 0 ? cliSeqs.size - 1 : -1;
806
802
  }
807
803
  }
808
- exports.PartialSequenceLengths = PartialSequenceLengths;
809
804
  PartialSequenceLengths.options = {
810
805
  zamboni: true,
811
806
  };
@@ -821,14 +816,14 @@ function verifyPartialLengths(partialSeqLengths, partialLengths, clientPartials)
821
816
  // Count total number of partial length entries
822
817
  count++;
823
818
  // Sequence number should be larger or equal to minseq
824
- (0, core_utils_1.assert)(partialSeqLengths.minSeq <= partialLength.seq, 0x054 /* "Sequence number less than minSeq!" */);
819
+ assert(partialSeqLengths.minSeq <= partialLength.seq, 0x054 /* "Sequence number less than minSeq!" */);
825
820
  // Sequence number should be sorted
826
- (0, core_utils_1.assert)(lastSeqNum < partialLength.seq, 0x055 /* "Sequence number is not sorted!" */);
821
+ assert(lastSeqNum < partialLength.seq, 0x055 /* "Sequence number is not sorted!" */);
827
822
  lastSeqNum = partialLength.seq;
828
823
  // Len is a accumulation of all the seglen adjustments
829
824
  accumSegLen += partialLength.seglen;
830
825
  if (accumSegLen !== partialLength.len) {
831
- (0, core_utils_1.assert)(false, 0x056 /* "Unexpected total for accumulation of all seglen adjustments!" */);
826
+ assert(false, 0x056 /* "Unexpected total for accumulation of all seglen adjustments!" */);
832
827
  }
833
828
  if (clientPartials) {
834
829
  // Client partials used to track local edits so we can account for them some refSeq.
@@ -845,19 +840,19 @@ function verifyPartialLengths(partialSeqLengths, partialLengths, clientPartials)
845
840
  else {
846
841
  // Len adjustment should not make length negative
847
842
  if (partialSeqLengths["minLength"] + partialLength.len < 0) {
848
- (0, core_utils_1.assert)(false, 0x057 /* "Negative length after length adjustment!" */);
843
+ assert(false, 0x057 /* "Negative length after length adjustment!" */);
849
844
  }
850
845
  }
851
846
  if (partialLength.overlapRemoveClients) {
852
847
  // Only the flat partialLengths can have overlapRemoveClients, the per client view shouldn't
853
- (0, core_utils_1.assert)(!clientPartials, 0x058 /* "Both overlapRemoveClients and clientPartials are set!" */);
848
+ assert(!clientPartials, 0x058 /* "Both overlapRemoveClients and clientPartials are set!" */);
854
849
  // Each overlap client counts as one, but the first remove to sequence was already counted.
855
850
  // (this aligns with the logic to omit the removing client in `addClientSeqNumberFromPartial`)
856
851
  count += partialLength.overlapRemoveClients.size() - 1;
857
852
  }
858
853
  if (partialLength.overlapObliterateClients) {
859
854
  // Only the flat partialLengths can have overlapObliterateClients, the per client view shouldn't
860
- (0, core_utils_1.assert)(!clientPartials, 0x872 /* Both overlapObliterateClients and clientPartials are set! */);
855
+ assert(!clientPartials, 0x872 /* Both overlapObliterateClients and clientPartials are set! */);
861
856
  // Each overlap client counts as one, but the first move to sequence was already counted.
862
857
  // (this aligns with the logic to omit the moving client in `addClientSeqNumberFromPartial`)
863
858
  count += partialLength.overlapObliterateClients.size() - 1;
@@ -865,7 +860,7 @@ function verifyPartialLengths(partialSeqLengths, partialLengths, clientPartials)
865
860
  }
866
861
  return count;
867
862
  }
868
- function verifyExpected(mergeTree, node, refSeq, clientId, localSeq) {
863
+ export function verifyExpected(mergeTree, node, refSeq, clientId, localSeq) {
869
864
  if ((!mergeTree.collabWindow.collaborating || mergeTree.collabWindow.clientId === clientId) &&
870
865
  (node.isLeaf() || localSeq === undefined)) {
871
866
  return;
@@ -890,8 +885,7 @@ function verifyExpected(mergeTree, node, refSeq, clientId, localSeq) {
890
885
  throw new Error(`expected partial length of ${expected} but found ${partialLen}. refSeq: ${refSeq}, clientId: ${clientId}`);
891
886
  }
892
887
  }
893
- exports.verifyExpected = verifyExpected;
894
- function verify(partialSeqLengths) {
888
+ export function verify(partialSeqLengths) {
895
889
  if (partialSeqLengths["clientSeqNumbers"]) {
896
890
  for (const cliSeq of partialSeqLengths["clientSeqNumbers"]) {
897
891
  if (cliSeq) {
@@ -899,15 +893,14 @@ function verify(partialSeqLengths) {
899
893
  }
900
894
  }
901
895
  // If we have client view, we should have the flat view
902
- (0, core_utils_1.assert)(!!partialSeqLengths["partialLengths"], 0x059 /* "Client view exists but flat view does not!" */);
896
+ assert(!!partialSeqLengths["partialLengths"], 0x059 /* "Client view exists but flat view does not!" */);
903
897
  verifyPartialLengths(partialSeqLengths, partialSeqLengths["partialLengths"], false);
904
898
  }
905
899
  else {
906
900
  // If we don't have a client view, we shouldn't have the flat view either
907
- (0, core_utils_1.assert)(!partialSeqLengths["partialLengths"], 0x05b /* "Flat view exists but client view does not!" */);
901
+ assert(!partialSeqLengths["partialLengths"], 0x05b /* "Flat view exists but client view does not!" */);
908
902
  }
909
903
  }
910
- exports.verify = verify;
911
904
  /* eslint-enable @typescript-eslint/dot-notation */
912
905
  /**
913
906
  * Clones an `overlapRemoveClients` red-black tree.
@@ -916,7 +909,7 @@ function cloneOverlapRemoveClients(oldTree) {
916
909
  if (!oldTree) {
917
910
  return undefined;
918
911
  }
919
- const newTree = new collections_1.RedBlackTree(mergeTreeNodes_1.compareNumbers);
912
+ const newTree = new RedBlackTree(compareNumbers);
920
913
  oldTree.map((bProp) => {
921
914
  newTree.put(bProp.data.clientId, { ...bProp.data });
922
915
  return true;
@@ -930,7 +923,7 @@ function cloneOverlapRemoveClients(oldTree) {
930
923
  *
931
924
  * Combination is performed additively on `seglen` on a per-client basis.
932
925
  */
933
- function combineOverlapClients(a, b) {
926
+ export function combineOverlapClients(a, b) {
934
927
  function combine(treeA, treeB) {
935
928
  if (treeA) {
936
929
  if (treeB) {
@@ -959,7 +952,6 @@ function combineOverlapClients(a, b) {
959
952
  a.overlapObliterateClients = overlapObliterateClients;
960
953
  }
961
954
  }
962
- exports.combineOverlapClients = combineOverlapClients;
963
955
  /**
964
956
  * Given a number of seq-sorted `partialLength` lists, merges them into a combined seq-sorted `partialLength`
965
957
  * list. This merge includes coalescing `PartialSequenceLength` entries at the same seq.
@@ -1037,4 +1029,4 @@ function insertIntoList(list, index, elem) {
1037
1029
  list.push(elem);
1038
1030
  }
1039
1031
  }
1040
- //# sourceMappingURL=partialLengths.js.map
1032
+ //# sourceMappingURL=partialLengths.mjs.map