@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
@@ -6,33 +6,34 @@
6
6
  /* eslint-disable @typescript-eslint/no-non-null-assertion */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  const assert_1 = require("assert");
9
- const mergeTreeNodes_1 = require("../mergeTreeNodes");
10
- const ops_1 = require("../ops");
11
- const textSegment_1 = require("../textSegment");
12
- const referencePositions_1 = require("../referencePositions");
13
- const localReference_1 = require("../localReference");
14
- const mergeTree_1 = require("../mergeTree");
15
- const testClientLogger_1 = require("./testClientLogger");
16
- const testUtils_1 = require("./testUtils");
17
- const testClient_1 = require("./testClient");
9
+ const mergeTreeNodes_js_1 = require("../mergeTreeNodes.js");
10
+ const ops_js_1 = require("../ops.js");
11
+ const textSegment_js_1 = require("../textSegment.js");
12
+ const referencePositions_js_1 = require("../referencePositions.js");
13
+ const localReference_js_1 = require("../localReference.js");
14
+ const mergeTree_js_1 = require("../mergeTree.js");
15
+ const mergeTreeTracking_js_1 = require("../mergeTreeTracking.js");
16
+ const testClientLogger_js_1 = require("./testClientLogger.js");
17
+ const testUtils_js_1 = require("./testUtils.js");
18
+ const testClient_js_1 = require("./testClient.js");
18
19
  function getSlideOnRemoveReferencePosition(client, pos, op) {
19
20
  let segoff = client.getContainingSegment(pos, {
20
21
  referenceSequenceNumber: op.referenceSequenceNumber,
21
22
  clientId: op.clientId,
22
23
  });
23
- segoff = (0, mergeTree_1.getSlideToSegoff)(segoff);
24
+ segoff = (0, mergeTree_js_1.getSlideToSegoff)(segoff);
24
25
  return segoff;
25
26
  }
26
27
  describe("MergeTree.Client", () => {
27
28
  beforeEach(() => {
28
- (0, localReference_1.setValidateRefCount)(testUtils_1.validateRefCount);
29
+ (0, localReference_js_1.setValidateRefCount)(testUtils_js_1.validateRefCount);
29
30
  });
30
31
  afterEach(() => {
31
- (0, localReference_1.setValidateRefCount)(undefined);
32
+ (0, localReference_js_1.setValidateRefCount)(undefined);
32
33
  });
33
34
  it("Remove segment of non-sliding local reference", () => {
34
- const client1 = new testClient_1.TestClient();
35
- const client2 = new testClient_1.TestClient();
35
+ const client1 = new testClient_js_1.TestClient();
36
+ const client2 = new testClient_js_1.TestClient();
36
37
  client1.startOrUpdateCollaboration("1");
37
38
  client2.startOrUpdateCollaboration("2");
38
39
  let seq = 0;
@@ -43,14 +44,14 @@ describe("MergeTree.Client", () => {
43
44
  client2.applyMsg(insert);
44
45
  }
45
46
  const segInfo = client1.getContainingSegment(2);
46
- const c1LocalRef = client1.createLocalReferencePosition(segInfo.segment, segInfo.offset, ops_1.ReferenceType.Simple, undefined);
47
+ const c1LocalRef = client1.createLocalReferencePosition(segInfo.segment, segInfo.offset, ops_js_1.ReferenceType.Simple, undefined);
47
48
  assert_1.strict.equal(client1.localReferencePositionToPosition(c1LocalRef), 2, "create position");
48
49
  const remove = client2.makeOpMessage(client2.removeRangeLocal(2, 3), ++seq);
49
50
  remove.minimumSequenceNumber = seq - 1;
50
51
  client1.applyMsg(remove);
51
52
  client2.applyMsg(remove);
52
53
  // this only works because zamboni hasn't run yet
53
- assert_1.strict.equal(client1.localReferencePositionToPosition(c1LocalRef), referencePositions_1.DetachedReferencePosition, "after remove");
54
+ assert_1.strict.equal(client1.localReferencePositionToPosition(c1LocalRef), referencePositions_js_1.DetachedReferencePosition, "after remove");
54
55
  // this will force Zamboni to run
55
56
  for (let i = 0; i < 5; i++) {
56
57
  const insert = client1.makeOpMessage(client1.insertTextLocal(client1.getLength(), i.toString()), ++seq);
@@ -58,11 +59,11 @@ describe("MergeTree.Client", () => {
58
59
  client1.applyMsg(insert);
59
60
  client2.applyMsg(insert);
60
61
  }
61
- assert_1.strict.equal(client1.localReferencePositionToPosition(c1LocalRef), referencePositions_1.DetachedReferencePosition, "after zamboni");
62
+ assert_1.strict.equal(client1.localReferencePositionToPosition(c1LocalRef), referencePositions_js_1.DetachedReferencePosition, "after zamboni");
62
63
  });
63
64
  it("Remove segment of sliding local reference", () => {
64
- const client1 = new testClient_1.TestClient();
65
- const client2 = new testClient_1.TestClient();
65
+ const client1 = new testClient_js_1.TestClient();
66
+ const client2 = new testClient_js_1.TestClient();
66
67
  client1.startOrUpdateCollaboration("1");
67
68
  client2.startOrUpdateCollaboration("2");
68
69
  let seq = 0;
@@ -73,7 +74,7 @@ describe("MergeTree.Client", () => {
73
74
  client2.applyMsg(insert);
74
75
  }
75
76
  const segInfo = client1.getContainingSegment(2);
76
- const c1LocalRef = client1.createLocalReferencePosition(segInfo.segment, segInfo.offset, ops_1.ReferenceType.SlideOnRemove, undefined);
77
+ const c1LocalRef = client1.createLocalReferencePosition(segInfo.segment, segInfo.offset, ops_js_1.ReferenceType.SlideOnRemove, undefined);
77
78
  assert_1.strict.equal(client1.localReferencePositionToPosition(c1LocalRef), 2);
78
79
  const remove = client2.makeOpMessage(client2.removeRangeLocal(2, 3), ++seq);
79
80
  remove.minimumSequenceNumber = seq - 1;
@@ -89,8 +90,8 @@ describe("MergeTree.Client", () => {
89
90
  assert_1.strict.equal(client1.localReferencePositionToPosition(c1LocalRef), 2);
90
91
  });
91
92
  it("Remove segments to end with sliding local reference", () => {
92
- const client1 = new testClient_1.TestClient();
93
- const client2 = new testClient_1.TestClient();
93
+ const client1 = new testClient_js_1.TestClient();
94
+ const client2 = new testClient_js_1.TestClient();
94
95
  client1.startOrUpdateCollaboration("1");
95
96
  client2.startOrUpdateCollaboration("2");
96
97
  let seq = 0;
@@ -101,7 +102,7 @@ describe("MergeTree.Client", () => {
101
102
  client2.applyMsg(insert);
102
103
  }
103
104
  const segInfo = client1.getContainingSegment(2);
104
- const c1LocalRef = client1.createLocalReferencePosition(segInfo.segment, segInfo.offset, ops_1.ReferenceType.SlideOnRemove, undefined);
105
+ const c1LocalRef = client1.createLocalReferencePosition(segInfo.segment, segInfo.offset, ops_js_1.ReferenceType.SlideOnRemove, undefined);
105
106
  assert_1.strict.equal(client1.localReferencePositionToPosition(c1LocalRef), 2);
106
107
  const remove = client2.makeOpMessage(client2.removeRangeLocal(2, client2.getLength()), ++seq);
107
108
  remove.minimumSequenceNumber = seq - 1;
@@ -110,14 +111,14 @@ describe("MergeTree.Client", () => {
110
111
  assert_1.strict.equal(client1.localReferencePositionToPosition(c1LocalRef), client2.getLength() - 1);
111
112
  });
112
113
  it("Remove segments from end with sliding local reference", () => {
113
- const client1 = new testClient_1.TestClient();
114
+ const client1 = new testClient_js_1.TestClient();
114
115
  client1.startOrUpdateCollaboration("1");
115
116
  let seq = 0;
116
117
  const insert = client1.makeOpMessage(client1.insertTextLocal(0, "ABCD"), ++seq);
117
118
  insert.minimumSequenceNumber = seq - 1;
118
119
  client1.applyMsg(insert);
119
120
  const segInfo = client1.getContainingSegment(3);
120
- const c1LocalRef = client1.createLocalReferencePosition(segInfo.segment, segInfo.offset, ops_1.ReferenceType.SlideOnRemove, undefined);
121
+ const c1LocalRef = client1.createLocalReferencePosition(segInfo.segment, segInfo.offset, ops_js_1.ReferenceType.SlideOnRemove, undefined);
121
122
  assert_1.strict.equal(client1.localReferencePositionToPosition(c1LocalRef), 3, "ref created");
122
123
  const remove1 = client1.makeOpMessage(client1.removeRangeLocal(3, 4), ++seq);
123
124
  remove1.minimumSequenceNumber = seq - 1;
@@ -130,8 +131,8 @@ describe("MergeTree.Client", () => {
130
131
  assert_1.strict.equal(client1.localReferencePositionToPosition(c1LocalRef), 0, "ops applied");
131
132
  });
132
133
  it("getSlideOnRemoveReferencePosition", () => {
133
- const client1 = new testClient_1.TestClient();
134
- const client2 = new testClient_1.TestClient();
134
+ const client1 = new testClient_js_1.TestClient();
135
+ const client2 = new testClient_js_1.TestClient();
135
136
  client1.startOrUpdateCollaboration("1");
136
137
  client2.startOrUpdateCollaboration("2");
137
138
  let seq = 0;
@@ -140,12 +141,12 @@ describe("MergeTree.Client", () => {
140
141
  const insert2 = client1.makeOpMessage(client1.insertTextLocal(0, "ABC"), ++seq);
141
142
  client1.applyMsg(insert2);
142
143
  // Position depends on op
143
- const createReference1 = client2.makeOpMessage({ type: ops_1.MergeTreeDeltaType.INSERT }, ++seq, insert1.sequenceNumber);
144
+ const createReference1 = client2.makeOpMessage({ type: ops_js_1.MergeTreeDeltaType.INSERT }, ++seq, insert1.sequenceNumber);
144
145
  let segoff = getSlideOnRemoveReferencePosition(client1, 1, createReference1);
145
146
  (0, assert_1.strict)(segoff.segment);
146
147
  assert_1.strict.equal(client1.getPosition(segoff.segment), 3);
147
148
  assert_1.strict.equal(segoff.offset, 1);
148
- const createReference2 = client2.makeOpMessage({ type: ops_1.MergeTreeDeltaType.INSERT }, ++seq, insert2.sequenceNumber);
149
+ const createReference2 = client2.makeOpMessage({ type: ops_js_1.MergeTreeDeltaType.INSERT }, ++seq, insert2.sequenceNumber);
149
150
  segoff = getSlideOnRemoveReferencePosition(client1, 2, createReference2);
150
151
  (0, assert_1.strict)(segoff.segment);
151
152
  assert_1.strict.equal(client1.getPosition(segoff.segment), 0);
@@ -154,34 +155,34 @@ describe("MergeTree.Client", () => {
154
155
  let remove = client1.makeOpMessage(client1.removeRangeLocal(2, 5), ++seq);
155
156
  segoff = getSlideOnRemoveReferencePosition(client1, 3, createReference2);
156
157
  (0, assert_1.strict)(segoff.segment);
157
- assert_1.strict.notEqual((0, mergeTreeNodes_1.toRemovalInfo)(segoff.segment), undefined);
158
+ assert_1.strict.notEqual((0, mergeTreeNodes_js_1.toRemovalInfo)(segoff.segment), undefined);
158
159
  assert_1.strict.equal(client1.getPosition(segoff.segment), 2);
159
160
  assert_1.strict.equal(segoff.offset, 0);
160
161
  // Slid from a removed, acked segment
161
162
  client1.applyMsg(remove);
162
163
  segoff = getSlideOnRemoveReferencePosition(client1, 3, createReference2);
163
164
  (0, assert_1.strict)(segoff.segment);
164
- assert_1.strict.equal((0, mergeTreeNodes_1.toRemovalInfo)(segoff.segment), undefined);
165
+ assert_1.strict.equal((0, mergeTreeNodes_js_1.toRemovalInfo)(segoff.segment), undefined);
165
166
  assert_1.strict.equal(client1.getPosition(segoff.segment), 2);
166
167
  assert_1.strict.equal(segoff.offset, 0);
167
168
  // On a removed, unacked segment, end of string
168
169
  remove = client1.makeOpMessage(client1.removeRangeLocal(2, 3), ++seq);
169
170
  segoff = getSlideOnRemoveReferencePosition(client1, 3, createReference2);
170
171
  (0, assert_1.strict)(segoff.segment);
171
- assert_1.strict.notEqual((0, mergeTreeNodes_1.toRemovalInfo)(segoff.segment), undefined);
172
+ assert_1.strict.notEqual((0, mergeTreeNodes_js_1.toRemovalInfo)(segoff.segment), undefined);
172
173
  assert_1.strict.equal(client1.getPosition(segoff.segment), 2);
173
174
  assert_1.strict.equal(segoff.offset, 0);
174
175
  // Slid from a removed, acked segment, end of string
175
176
  client1.applyMsg(remove);
176
177
  segoff = getSlideOnRemoveReferencePosition(client1, 3, createReference2);
177
178
  (0, assert_1.strict)(segoff.segment);
178
- assert_1.strict.equal((0, mergeTreeNodes_1.toRemovalInfo)(segoff.segment), undefined);
179
+ assert_1.strict.equal((0, mergeTreeNodes_js_1.toRemovalInfo)(segoff.segment), undefined);
179
180
  assert_1.strict.equal(client1.getPosition(segoff.segment), 0);
180
181
  assert_1.strict.equal(segoff.offset, 1);
181
182
  });
182
183
  it("Remove all segments with sliding local reference", () => {
183
- const client1 = new testClient_1.TestClient();
184
- const client2 = new testClient_1.TestClient();
184
+ const client1 = new testClient_js_1.TestClient();
185
+ const client2 = new testClient_js_1.TestClient();
185
186
  client1.startOrUpdateCollaboration("1");
186
187
  client2.startOrUpdateCollaboration("2");
187
188
  let seq = 0;
@@ -192,18 +193,18 @@ describe("MergeTree.Client", () => {
192
193
  client2.applyMsg(insert);
193
194
  }
194
195
  const segInfo = client1.getContainingSegment(2);
195
- const c1LocalRef = client1.createLocalReferencePosition(segInfo.segment, segInfo.offset, ops_1.ReferenceType.SlideOnRemove, undefined);
196
+ const c1LocalRef = client1.createLocalReferencePosition(segInfo.segment, segInfo.offset, ops_js_1.ReferenceType.SlideOnRemove, undefined);
196
197
  assert_1.strict.equal(client1.localReferencePositionToPosition(c1LocalRef), 2);
197
198
  const remove = client2.makeOpMessage(client2.removeRangeLocal(0, client2.getLength()), ++seq);
198
199
  remove.minimumSequenceNumber = seq - 1;
199
200
  client1.applyMsg(remove);
200
201
  client2.applyMsg(remove);
201
- assert_1.strict.equal(client1.localReferencePositionToPosition(c1LocalRef), referencePositions_1.DetachedReferencePosition);
202
+ assert_1.strict.equal(client1.localReferencePositionToPosition(c1LocalRef), referencePositions_js_1.DetachedReferencePosition);
202
203
  assert_1.strict.equal(c1LocalRef.getSegment(), undefined);
203
204
  });
204
205
  it("References can have offsets on removed segment", () => {
205
- const client1 = new testClient_1.TestClient();
206
- const client2 = new testClient_1.TestClient();
206
+ const client1 = new testClient_js_1.TestClient();
207
+ const client2 = new testClient_js_1.TestClient();
207
208
  client1.startOrUpdateCollaboration("1");
208
209
  client2.startOrUpdateCollaboration("2");
209
210
  let seq = 0;
@@ -211,17 +212,17 @@ describe("MergeTree.Client", () => {
211
212
  client1.applyMsg(insert1);
212
213
  client2.applyMsg(insert1);
213
214
  const segInfo1 = client1.getContainingSegment(1);
214
- const LocalRef1 = client1.createLocalReferencePosition(segInfo1.segment, segInfo1.offset, ops_1.ReferenceType.SlideOnRemove, undefined);
215
+ const LocalRef1 = client1.createLocalReferencePosition(segInfo1.segment, segInfo1.offset, ops_js_1.ReferenceType.SlideOnRemove, undefined);
215
216
  const segInfo3 = client1.getContainingSegment(3);
216
- const LocalRef2 = client1.createLocalReferencePosition(segInfo3.segment, segInfo3.offset, ops_1.ReferenceType.SlideOnRemove, undefined);
217
+ const LocalRef2 = client1.createLocalReferencePosition(segInfo3.segment, segInfo3.offset, ops_js_1.ReferenceType.SlideOnRemove, undefined);
217
218
  const insert2 = client1.makeOpMessage(client1.insertTextLocal(2, "XY"), ++seq);
218
219
  assert_1.strict.equal(client1.localReferencePositionToPosition(LocalRef1), 1);
219
220
  assert_1.strict.equal(client1.localReferencePositionToPosition(LocalRef2), 5);
220
221
  const c2SegInfo1 = client2.getContainingSegment(1);
221
222
  const c2SegInfo3 = client2.getContainingSegment(3);
222
223
  const remove = client2.makeOpMessage(client2.removeRangeLocal(0, client2.getLength()), ++seq);
223
- const c2LocalRef1 = client2.createLocalReferencePosition(c2SegInfo1.segment, c2SegInfo1.offset, ops_1.ReferenceType.SlideOnRemove, undefined);
224
- const c2LocalRef2 = client2.createLocalReferencePosition(c2SegInfo3.segment, c2SegInfo3.offset, ops_1.ReferenceType.SlideOnRemove, undefined);
224
+ const c2LocalRef1 = client2.createLocalReferencePosition(c2SegInfo1.segment, c2SegInfo1.offset, ops_js_1.ReferenceType.SlideOnRemove, undefined);
225
+ const c2LocalRef2 = client2.createLocalReferencePosition(c2SegInfo3.segment, c2SegInfo3.offset, ops_js_1.ReferenceType.SlideOnRemove, undefined);
225
226
  assert_1.strict.equal(client2.localReferencePositionToPosition(c2LocalRef1), 0);
226
227
  assert_1.strict.equal(client2.localReferencePositionToPosition(c2LocalRef2), 0);
227
228
  client1.applyMsg(insert2);
@@ -238,8 +239,8 @@ describe("MergeTree.Client", () => {
238
239
  assert_1.strict.equal(client2.localReferencePositionToPosition(c2LocalRef2), 1);
239
240
  });
240
241
  it("Transient references can be created on removed segments", () => {
241
- const client1 = new testClient_1.TestClient();
242
- const client2 = new testClient_1.TestClient();
242
+ const client1 = new testClient_js_1.TestClient();
243
+ const client2 = new testClient_js_1.TestClient();
243
244
  client1.startOrUpdateCollaboration("1");
244
245
  client2.startOrUpdateCollaboration("2");
245
246
  let seq = 0;
@@ -252,14 +253,14 @@ describe("MergeTree.Client", () => {
252
253
  referenceSequenceNumber: opFromBeforeRemovePerspective.referenceSequenceNumber,
253
254
  clientId: opFromBeforeRemovePerspective.clientId,
254
255
  });
255
- (0, assert_1.strict)(segment && (0, mergeTreeNodes_1.toRemovalInfo)(segment) !== undefined);
256
- const transientRef = client1.createLocalReferencePosition(segment, offset, ops_1.ReferenceType.Transient, {});
256
+ (0, assert_1.strict)(segment && (0, mergeTreeNodes_js_1.toRemovalInfo)(segment) !== undefined);
257
+ const transientRef = client1.createLocalReferencePosition(segment, offset, ops_js_1.ReferenceType.Transient, {});
257
258
  assert_1.strict.equal(transientRef.getSegment(), segment);
258
259
  assert_1.strict.equal(transientRef.getOffset(), 0);
259
260
  });
260
261
  it("References can have offsets when slid to locally removed segment", () => {
261
- const client1 = new testClient_1.TestClient();
262
- const client2 = new testClient_1.TestClient();
262
+ const client1 = new testClient_js_1.TestClient();
263
+ const client2 = new testClient_js_1.TestClient();
263
264
  client1.startOrUpdateCollaboration("1");
264
265
  client2.startOrUpdateCollaboration("2");
265
266
  let seq = 0;
@@ -267,13 +268,13 @@ describe("MergeTree.Client", () => {
267
268
  client1.applyMsg(insert1);
268
269
  client2.applyMsg(insert1);
269
270
  const segInfo = client1.getContainingSegment(4);
270
- const localRef = client1.createLocalReferencePosition(segInfo.segment, segInfo.offset, ops_1.ReferenceType.SlideOnRemove, undefined);
271
- const createReference1 = client1.makeOpMessage({ type: ops_1.MergeTreeDeltaType.INSERT }, ++seq, insert1.sequenceNumber);
271
+ const localRef = client1.createLocalReferencePosition(segInfo.segment, segInfo.offset, ops_js_1.ReferenceType.SlideOnRemove, undefined);
272
+ const createReference1 = client1.makeOpMessage({ type: ops_js_1.MergeTreeDeltaType.INSERT }, ++seq, insert1.sequenceNumber);
272
273
  const remove1 = client2.makeOpMessage(client2.removeRangeLocal(4, 5), ++seq);
273
274
  const insert2 = client1.makeOpMessage(client1.insertTextLocal(2, "XY"), ++seq);
274
275
  const remove2 = client2.makeOpMessage(client2.removeRangeLocal(1, 4), ++seq);
275
276
  const segoff = getSlideOnRemoveReferencePosition(client2, 4, createReference1);
276
- const c2LocalRef = client2.createLocalReferencePosition(segoff.segment, segoff.offset, ops_1.ReferenceType.SlideOnRemove, undefined);
277
+ const c2LocalRef = client2.createLocalReferencePosition(segoff.segment, segoff.offset, ops_js_1.ReferenceType.SlideOnRemove, undefined);
277
278
  assert_1.strict.equal(client1.localReferencePositionToPosition(localRef), 6);
278
279
  assert_1.strict.equal(client2.localReferencePositionToPosition(c2LocalRef), 1);
279
280
  client1.applyMsg(remove1);
@@ -291,7 +292,7 @@ describe("MergeTree.Client", () => {
291
292
  assert_1.strict.equal(client2.localReferencePositionToPosition(c2LocalRef), 2);
292
293
  });
293
294
  it("Split segment with no references and append to segment with references", () => {
294
- const clients = (0, testClientLogger_1.createClientsAtInitialState)({ initialState: "" }, "A", "B");
295
+ const clients = (0, testClientLogger_js_1.createClientsAtInitialState)({ initialState: "" }, "A", "B");
295
296
  const messages = [];
296
297
  let seq = 0;
297
298
  messages.push(clients.A.makeOpMessage(clients.A.insertTextLocal(0, "0123456789"), ++seq));
@@ -299,9 +300,9 @@ describe("MergeTree.Client", () => {
299
300
  {
300
301
  const segInfo = clients.A.getContainingSegment(9);
301
302
  const segment = segInfo.segment;
302
- (0, assert_1.strict)(textSegment_1.TextSegment.is(segment));
303
+ (0, assert_1.strict)(segment !== undefined && textSegment_js_1.TextSegment.is(segment));
303
304
  assert_1.strict.strictEqual(segment.text[segInfo.offset], "9");
304
- const localRef = clients.A.createLocalReferencePosition(segment, segInfo.offset, ops_1.ReferenceType.Simple, undefined);
305
+ const localRef = clients.A.createLocalReferencePosition(segment, segInfo.offset, ops_js_1.ReferenceType.Simple, undefined);
305
306
  clients.A.removeLocalReferencePosition(localRef);
306
307
  }
307
308
  // split the segment
@@ -310,9 +311,9 @@ describe("MergeTree.Client", () => {
310
311
  {
311
312
  const segInfo = clients.A.getContainingSegment(6);
312
313
  const segment = segInfo.segment;
313
- (0, assert_1.strict)(textSegment_1.TextSegment.is(segment));
314
+ (0, assert_1.strict)(segment !== undefined && textSegment_js_1.TextSegment.is(segment));
314
315
  assert_1.strict.strictEqual(segment.text[segInfo.offset], "B");
315
- clients.A.createLocalReferencePosition(segment, segInfo.offset, ops_1.ReferenceType.Simple, undefined);
316
+ clients.A.createLocalReferencePosition(segment, segInfo.offset, ops_js_1.ReferenceType.Simple, undefined);
316
317
  }
317
318
  // apply all the ops
318
319
  while (messages.length > 0) {
@@ -329,14 +330,14 @@ describe("MergeTree.Client", () => {
329
330
  let seq;
330
331
  beforeEach(() => {
331
332
  seq = 0;
332
- client = new testClient_1.TestClient();
333
+ client = new testClient_js_1.TestClient();
333
334
  client.startOrUpdateCollaboration("1");
334
335
  client.enqueueMsg(client.makeOpMessage(client.insertTextLocal(0, "B"), ++seq));
335
336
  client.enqueueMsg(client.makeOpMessage(client.insertTextLocal(0, "A"), ++seq));
336
337
  client.applyMessages(2);
337
338
  assert_1.strict.equal(client.getText(), "AB");
338
- localRefA = client.createLocalReferencePosition(client.getContainingSegment(0).segment, 0, ops_1.ReferenceType.StayOnRemove, {});
339
- localRefB = client.createLocalReferencePosition(client.getContainingSegment(1).segment, 0, ops_1.ReferenceType.StayOnRemove, {});
339
+ localRefA = client.createLocalReferencePosition(client.getContainingSegment(0).segment, 0, ops_js_1.ReferenceType.StayOnRemove, {});
340
+ localRefB = client.createLocalReferencePosition(client.getContainingSegment(1).segment, 0, ops_js_1.ReferenceType.StayOnRemove, {});
340
341
  for (const ref of [localRefA, localRefB]) {
341
342
  ref.callbacks = {
342
343
  beforeSlide: () => assert_1.strict.fail("Unexpected slide"),
@@ -364,8 +365,8 @@ describe("MergeTree.Client", () => {
364
365
  });
365
366
  });
366
367
  it("slides to correct position with backward sliding preference", () => {
367
- const client1 = new testClient_1.TestClient();
368
- const client2 = new testClient_1.TestClient();
368
+ const client1 = new testClient_js_1.TestClient();
369
+ const client2 = new testClient_js_1.TestClient();
369
370
  client1.startOrUpdateCollaboration("1");
370
371
  client2.startOrUpdateCollaboration("2");
371
372
  let seq = 0;
@@ -373,7 +374,7 @@ describe("MergeTree.Client", () => {
373
374
  client1.applyMsg(insert1);
374
375
  client2.applyMsg(insert1);
375
376
  const segInfo = client1.getContainingSegment(3);
376
- const localRef = client1.createLocalReferencePosition(segInfo.segment, segInfo.offset, ops_1.ReferenceType.SlideOnRemove, undefined, localReference_1.SlidingPreference.BACKWARD);
377
+ const localRef = client1.createLocalReferencePosition(segInfo.segment, segInfo.offset, ops_js_1.ReferenceType.SlideOnRemove, undefined, localReference_js_1.SlidingPreference.BACKWARD);
377
378
  assert_1.strict.equal(client1.localReferencePositionToPosition(localRef), 3);
378
379
  const insert2 = client1.makeOpMessage(client1.insertTextLocal(4, "ghi"), ++seq);
379
380
  client1.applyMsg(insert2);
@@ -387,53 +388,83 @@ describe("MergeTree.Client", () => {
387
388
  assert_1.strict.equal(client2.getText(), "aghidef");
388
389
  assert_1.strict.equal(client2.localReferencePositionToPosition(localRef), 0);
389
390
  });
390
- it("doesn't crash for remove ref then link to undefined", () => {
391
- const client1 = new testClient_1.TestClient();
392
- const client2 = new testClient_1.TestClient();
393
- client1.startOrUpdateCollaboration("1");
394
- client2.startOrUpdateCollaboration("2");
395
- let seq = 0;
396
- const insert1 = client1.makeOpMessage(client1.insertTextLocal(0, "abcdef"), ++seq);
397
- client1.applyMsg(insert1);
398
- client2.applyMsg(insert1);
399
- const segInfo = client1.getContainingSegment(3);
400
- (0, assert_1.strict)(segInfo.segment);
401
- const localRef = client1.createLocalReferencePosition(segInfo.segment, segInfo.offset, ops_1.ReferenceType.SlideOnRemove, undefined);
402
- assert_1.strict.equal(localRef.getSegment(), segInfo.segment);
403
- (0, assert_1.strict)(segInfo.segment.localRefs);
404
- (0, assert_1.strict)(!segInfo.segment.localRefs.empty);
405
- segInfo.segment.localRefs.removeLocalRef(localRef);
406
- (0, assert_1.strict)(segInfo.segment.localRefs.empty);
407
- localRef.link(undefined, 0, undefined);
408
- (0, assert_1.strict)(segInfo.segment.localRefs.empty);
409
- assert_1.strict.equal(segInfo.segment.localRefs.empty, true);
410
- assert_1.strict.equal(segInfo.segment.localRefs.has(localRef), false);
411
- assert_1.strict.equal(localRef.getSegment(), undefined);
412
- assert_1.strict.equal(localRef.getOffset(), 0);
391
+ const tgCases = [
392
+ {
393
+ name: "when the ref is not in a tracking group",
394
+ addRef: () => { },
395
+ },
396
+ {
397
+ name: "when the ref is in a TrackingGroup",
398
+ addRef: (ref) => {
399
+ const tg = new mergeTreeTracking_js_1.TrackingGroup();
400
+ tg.link(ref);
401
+ },
402
+ },
403
+ {
404
+ name: "when the ref is in an UnorderedTrackingGroup",
405
+ addRef: (ref) => {
406
+ const tg = new mergeTreeTracking_js_1.UnorderedTrackingGroup();
407
+ tg.link(ref);
408
+ },
409
+ },
410
+ ];
411
+ describe("doesn't crash for remove ref then link to undefined", () => {
412
+ tgCases.forEach(({ name, addRef }) => {
413
+ it(name, () => {
414
+ const client1 = new testClient_js_1.TestClient();
415
+ const client2 = new testClient_js_1.TestClient();
416
+ client1.startOrUpdateCollaboration("1");
417
+ client2.startOrUpdateCollaboration("2");
418
+ let seq = 0;
419
+ const insert1 = client1.makeOpMessage(client1.insertTextLocal(0, "abcdef"), ++seq);
420
+ client1.applyMsg(insert1);
421
+ client2.applyMsg(insert1);
422
+ const segInfo = client1.getContainingSegment(3);
423
+ (0, assert_1.strict)(segInfo.segment);
424
+ const localRef = client1.createLocalReferencePosition(segInfo.segment, segInfo.offset, ops_js_1.ReferenceType.SlideOnRemove, undefined);
425
+ addRef(localRef);
426
+ assert_1.strict.equal(localRef.getSegment(), segInfo.segment);
427
+ (0, assert_1.strict)(segInfo.segment.localRefs);
428
+ (0, assert_1.strict)(!segInfo.segment.localRefs.empty);
429
+ segInfo.segment.localRefs.removeLocalRef(localRef);
430
+ (0, assert_1.strict)(segInfo.segment.localRefs.empty);
431
+ localRef.link(undefined, 0, undefined);
432
+ (0, assert_1.strict)(segInfo.segment.localRefs.empty);
433
+ assert_1.strict.equal(segInfo.segment.localRefs.empty, true);
434
+ assert_1.strict.equal(segInfo.segment.localRefs.has(localRef), false);
435
+ assert_1.strict.equal(localRef.getSegment(), undefined);
436
+ assert_1.strict.equal(localRef.getOffset(), 0);
437
+ });
438
+ });
413
439
  });
414
- it("doesn't crash for link to undefined then remove ref", () => {
415
- const client1 = new testClient_1.TestClient();
416
- const client2 = new testClient_1.TestClient();
417
- client1.startOrUpdateCollaboration("1");
418
- client2.startOrUpdateCollaboration("2");
419
- let seq = 0;
420
- const insert1 = client1.makeOpMessage(client1.insertTextLocal(0, "abcdef"), ++seq);
421
- client1.applyMsg(insert1);
422
- client2.applyMsg(insert1);
423
- const segInfo = client1.getContainingSegment(3);
424
- (0, assert_1.strict)(segInfo.segment);
425
- const localRef = client1.createLocalReferencePosition(segInfo.segment, segInfo.offset, ops_1.ReferenceType.SlideOnRemove, undefined);
426
- assert_1.strict.equal(localRef.getSegment(), segInfo.segment);
427
- (0, assert_1.strict)(segInfo.segment.localRefs);
428
- (0, assert_1.strict)(!segInfo.segment.localRefs.empty);
429
- localRef.link(undefined, 0, undefined);
430
- (0, assert_1.strict)(segInfo.segment.localRefs.empty);
431
- segInfo.segment.localRefs.removeLocalRef(localRef);
432
- (0, assert_1.strict)(segInfo.segment.localRefs.empty);
433
- assert_1.strict.equal(segInfo.segment.localRefs.empty, true);
434
- assert_1.strict.equal(segInfo.segment.localRefs.has(localRef), false);
435
- assert_1.strict.equal(localRef.getSegment(), undefined);
436
- assert_1.strict.equal(localRef.getOffset(), 0);
440
+ describe("doesn't crash for link to undefined then remove ref", () => {
441
+ tgCases.forEach(({ name, addRef }) => {
442
+ it(name, () => {
443
+ const client1 = new testClient_js_1.TestClient();
444
+ const client2 = new testClient_js_1.TestClient();
445
+ client1.startOrUpdateCollaboration("1");
446
+ client2.startOrUpdateCollaboration("2");
447
+ let seq = 0;
448
+ const insert1 = client1.makeOpMessage(client1.insertTextLocal(0, "abcdef"), ++seq);
449
+ client1.applyMsg(insert1);
450
+ client2.applyMsg(insert1);
451
+ const segInfo = client1.getContainingSegment(3);
452
+ (0, assert_1.strict)(segInfo.segment);
453
+ const localRef = client1.createLocalReferencePosition(segInfo.segment, segInfo.offset, ops_js_1.ReferenceType.SlideOnRemove, undefined);
454
+ addRef(localRef);
455
+ assert_1.strict.equal(localRef.getSegment(), segInfo.segment);
456
+ (0, assert_1.strict)(segInfo.segment.localRefs);
457
+ (0, assert_1.strict)(!segInfo.segment.localRefs.empty);
458
+ localRef.link(undefined, 0, undefined);
459
+ (0, assert_1.strict)(segInfo.segment.localRefs.empty);
460
+ segInfo.segment.localRefs.removeLocalRef(localRef);
461
+ (0, assert_1.strict)(segInfo.segment.localRefs.empty);
462
+ assert_1.strict.equal(segInfo.segment.localRefs.empty, true);
463
+ assert_1.strict.equal(segInfo.segment.localRefs.has(localRef), false);
464
+ assert_1.strict.equal(localRef.getSegment(), undefined);
465
+ assert_1.strict.equal(localRef.getOffset(), 0);
466
+ });
467
+ });
437
468
  });
438
469
  });
439
470
  //# sourceMappingURL=client.localReference.spec.js.map