@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,9 +6,9 @@
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  const assert_1 = require("assert");
8
8
  const telemetry_utils_1 = require("@fluidframework/telemetry-utils");
9
- const partialLengths_1 = require("../partialLengths");
10
- const mergeTree_1 = require("../mergeTree");
11
- const reconnectHelper_1 = require("./reconnectHelper");
9
+ const mergeTree_js_1 = require("../mergeTree.js");
10
+ const reconnectHelper_js_1 = require("./reconnectHelper.js");
11
+ const testUtils_js_1 = require("./testUtils.js");
12
12
  /**
13
13
  * Some tests contain ASCII diagrams of the trees to make it easier to reason about
14
14
  * structure. The format of these diagrams is this:
@@ -40,18 +40,15 @@ const reconnectHelper_1 = require("./reconnectHelper");
40
40
  */
41
41
  for (const incremental of [true, false]) {
42
42
  describe(`obliterate partial lengths incremental = ${incremental}`, () => {
43
+ (0, testUtils_js_1.useStrictPartialLengthChecks)();
43
44
  beforeEach(() => {
44
- partialLengths_1.PartialSequenceLengths.options.verifier = partialLengths_1.verify;
45
- partialLengths_1.PartialSequenceLengths.options.verifyExpected = partialLengths_1.verifyExpected;
46
- mergeTree_1.MergeTree.options.incrementalUpdate = incremental;
45
+ mergeTree_js_1.MergeTree.options.incrementalUpdate = incremental;
47
46
  });
48
47
  afterEach(() => {
49
- partialLengths_1.PartialSequenceLengths.options.verifier = undefined;
50
- partialLengths_1.PartialSequenceLengths.options.verifyExpected = undefined;
51
- mergeTree_1.MergeTree.options.incrementalUpdate = true;
48
+ mergeTree_js_1.MergeTree.options.incrementalUpdate = true;
52
49
  });
53
50
  it("length of children does not differ from parent when overlapping remove+obliterate", () => {
54
- const helper = new reconnectHelper_1.ReconnectTestHelper();
51
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
55
52
  // ABCDEFGH
56
53
  // I-[J]-(KLM-[ABC]-D-123456-E-[FG]-H)
57
54
  helper.insertText("A", 0, "ABCDEFGH");
@@ -67,7 +64,7 @@ for (const incremental of [true, false]) {
67
64
  helper.logger.validate();
68
65
  });
69
66
  it("deletes concurrent insert that occurs after obliterate", () => {
70
- const helper = new reconnectHelper_1.ReconnectTestHelper();
67
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
71
68
  helper.insertText("B", 0, "ABCD");
72
69
  helper.processAllOps();
73
70
  helper.obliterateRange("B", 0, 4);
@@ -78,7 +75,7 @@ for (const incremental of [true, false]) {
78
75
  helper.logger.validate();
79
76
  });
80
77
  it("deletes concurrent insert that occurs before obliterate", () => {
81
- const helper = new reconnectHelper_1.ReconnectTestHelper();
78
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
82
79
  helper.insertText("B", 0, "ABCD");
83
80
  helper.processAllOps();
84
81
  helper.insertText("C", 2, "X");
@@ -89,7 +86,7 @@ for (const incremental of [true, false]) {
89
86
  helper.logger.validate();
90
87
  });
91
88
  it("does not delete unacked segment at start of string", () => {
92
- const helper = new reconnectHelper_1.ReconnectTestHelper();
89
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
93
90
  helper.insertText("C", 0, "ABC");
94
91
  helper.obliterateRange("C", 2, 3);
95
92
  helper.insertText("B", 0, "X");
@@ -100,7 +97,7 @@ for (const incremental of [true, false]) {
100
97
  helper.logger.validate();
101
98
  });
102
99
  it("throws when local obliterate has range end outside length of local string", () => {
103
- const helper = new reconnectHelper_1.ReconnectTestHelper();
100
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
104
101
  helper.insertText("B", 0, "A");
105
102
  helper.insertText("C", 0, "B");
106
103
  try {
@@ -113,7 +110,7 @@ for (const incremental of [true, false]) {
113
110
  }
114
111
  });
115
112
  it("does not delete when obliterate immediately after insert", () => {
116
- const helper = new reconnectHelper_1.ReconnectTestHelper();
113
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
117
114
  helper.insertText("C", 0, "A");
118
115
  helper.obliterateRange("C", 0, 1);
119
116
  helper.insertText("B", 0, "W");
@@ -126,7 +123,7 @@ for (const incremental of [true, false]) {
126
123
  helper.logger.validate();
127
124
  });
128
125
  it("does not delete remote insert when between local insert+obliterate", () => {
129
- const helper = new reconnectHelper_1.ReconnectTestHelper();
126
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
130
127
  helper.insertText("C", 0, "A");
131
128
  helper.insertText("B", 0, "X");
132
129
  helper.obliterateRange("C", 0, 1);
@@ -139,7 +136,7 @@ for (const incremental of [true, false]) {
139
136
  helper.logger.validate();
140
137
  });
141
138
  it("does not delete remote insert when between local insert+obliterate", () => {
142
- const helper = new reconnectHelper_1.ReconnectTestHelper();
139
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
143
140
  helper.insertText("C", 0, "A");
144
141
  helper.obliterateRange("C", 0, 1);
145
142
  helper.insertText("B", 0, "B");
@@ -152,7 +149,7 @@ for (const incremental of [true, false]) {
152
149
  helper.logger.validate();
153
150
  });
154
151
  it("does not delete remote insert when in middle of segment", () => {
155
- const helper = new reconnectHelper_1.ReconnectTestHelper();
152
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
156
153
  helper.insertText("C", 0, "ABC");
157
154
  helper.obliterateRange("C", 2, 3);
158
155
  helper.obliterateRange("C", 0, 1);
@@ -164,7 +161,7 @@ for (const incremental of [true, false]) {
164
161
  helper.logger.validate();
165
162
  });
166
163
  it("deletes segment inserted into locally obliterated segment", () => {
167
- const helper = new reconnectHelper_1.ReconnectTestHelper();
164
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
168
165
  helper.insertText("C", 0, "A");
169
166
  helper.insertText("B", 0, "X");
170
167
  helper.insertText("C", 0, "B");
@@ -176,7 +173,7 @@ for (const incremental of [true, false]) {
176
173
  helper.logger.validate();
177
174
  });
178
175
  it("updates lengths after obliterated insertion", () => {
179
- const helper = new reconnectHelper_1.ReconnectTestHelper();
176
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
180
177
  helper.insertText("C", 0, "A");
181
178
  helper.insertText("B", 0, "X");
182
179
  helper.insertText("C", 0, "N");
@@ -192,7 +189,7 @@ for (const incremental of [true, false]) {
192
189
  helper.logger.validate();
193
190
  });
194
191
  it("updates lengths when insertion causes tree to split", () => {
195
- const helper = new reconnectHelper_1.ReconnectTestHelper();
192
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
196
193
  helper.insertText("A", 0, "0");
197
194
  helper.insertText("C", 0, "123");
198
195
  helper.insertText("B", 0, "BB");
@@ -207,7 +204,7 @@ for (const incremental of [true, false]) {
207
204
  helper.logger.validate();
208
205
  });
209
206
  it("length of node split by insertion does not count remotely obliterated segments", () => {
210
- const helper = new reconnectHelper_1.ReconnectTestHelper();
207
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
211
208
  helper.insertText("A", 0, "1");
212
209
  helper.insertText("A", 0, "2");
213
210
  helper.insertText("C", 0, "XXXX");
@@ -221,7 +218,7 @@ for (const incremental of [true, false]) {
221
218
  helper.logger.validate();
222
219
  });
223
220
  it("length of node split by obliterate does not count remotely obliterated segments", () => {
224
- const helper = new reconnectHelper_1.ReconnectTestHelper();
221
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
225
222
  helper.insertText("A", 0, "1");
226
223
  helper.insertText("A", 0, "2");
227
224
  helper.insertText("C", 0, "XXXX");
@@ -236,7 +233,7 @@ for (const incremental of [true, false]) {
236
233
  helper.logger.validate();
237
234
  });
238
235
  it("counts remotely but not concurrently inserted segments for length when tree is split", () => {
239
- const helper = new reconnectHelper_1.ReconnectTestHelper();
236
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
240
237
  // a-b-c-d-e-123
241
238
  // (a-b)-c-d-e-1-[2]-3
242
239
  helper.insertText("B", 0, "123");
@@ -254,7 +251,7 @@ for (const incremental of [true, false]) {
254
251
  helper.logger.validate();
255
252
  });
256
253
  it("does obliterate X for all clients", () => {
257
- const helper = new reconnectHelper_1.ReconnectTestHelper();
254
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
258
255
  helper.insertText("B", 0, "DE");
259
256
  helper.obliterateRange("B", 0, 1);
260
257
  helper.insertText("A", 0, "X");
@@ -266,7 +263,7 @@ for (const incremental of [true, false]) {
266
263
  helper.logger.validate();
267
264
  });
268
265
  it("does not include remote but unacked segments in partial len calculation", () => {
269
- const helper = new reconnectHelper_1.ReconnectTestHelper();
266
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
270
267
  // 89-4567-123-X
271
268
  // 8-(9-4-w-567-1)-23-Y-X
272
269
  helper.insertText("A", 0, "X");
@@ -283,7 +280,7 @@ for (const incremental of [true, false]) {
283
280
  helper.logger.validate();
284
281
  });
285
282
  it("correctly accounts for overlapping obliterate", () => {
286
- const helper = new reconnectHelper_1.ReconnectTestHelper();
283
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
287
284
  helper.insertText("B", 0, "AB");
288
285
  helper.processAllOps();
289
286
  helper.obliterateRange("C", 0, 1);
@@ -295,7 +292,7 @@ for (const incremental of [true, false]) {
295
292
  helper.logger.validate();
296
293
  });
297
294
  it("correctly accounts for overlapping obliterate and remove", () => {
298
- const helper = new reconnectHelper_1.ReconnectTestHelper();
295
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
299
296
  helper.insertText("B", 0, "AB");
300
297
  helper.processAllOps();
301
298
  helper.removeRange("C", 0, 1);
@@ -307,7 +304,7 @@ for (const incremental of [true, false]) {
307
304
  helper.logger.validate();
308
305
  });
309
306
  it("clones movedClientIds array during insert", () => {
310
- const helper = new reconnectHelper_1.ReconnectTestHelper();
307
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
311
308
  // the bug found here:
312
309
  // the X was skipped over by client `A` because it had already been
313
310
  // deleted, so its length at refSeq was 0
@@ -326,7 +323,7 @@ for (const incremental of [true, false]) {
326
323
  helper.logger.validate();
327
324
  });
328
325
  it("client partial lens consider overlapping obliterates", () => {
329
- const helper = new reconnectHelper_1.ReconnectTestHelper();
326
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
330
327
  helper.insertText("A", 0, "123");
331
328
  helper.insertText("A", 0, "ABCDEF");
332
329
  helper.processAllOps();
@@ -340,7 +337,7 @@ for (const incremental of [true, false]) {
340
337
  helper.logger.validate();
341
338
  });
342
339
  it("client partial lens consider overlapping obliterates", () => {
343
- const helper = new reconnectHelper_1.ReconnectTestHelper();
340
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
344
341
  helper.insertText("C", 0, "X");
345
342
  helper.insertText("C", 0, "ABCDEFG");
346
343
  helper.processAllOps();
@@ -353,7 +350,7 @@ for (const incremental of [true, false]) {
353
350
  helper.logger.validate();
354
351
  });
355
352
  it("tracks obliterate refSeq when acking op for partial len calculation", () => {
356
- const helper = new reconnectHelper_1.ReconnectTestHelper();
353
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
357
354
  // v-----------------------v
358
355
  // v--v
359
356
  // v--v
@@ -371,7 +368,7 @@ for (const incremental of [true, false]) {
371
368
  helper.logger.validate();
372
369
  });
373
370
  it("does not have negative len when segment obliterated before insert", () => {
374
- const helper = new reconnectHelper_1.ReconnectTestHelper();
371
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
375
372
  // 1234567-D-C-AB
376
373
  // 12-([3-X-45]-67)-D-C-AB
377
374
  helper.insertText("A", 0, "AB");
@@ -390,7 +387,7 @@ for (const incremental of [true, false]) {
390
387
  helper.logger.validate();
391
388
  });
392
389
  it("does not have negative len when segment obliterated before insert", () => {
393
- const helper = new reconnectHelper_1.ReconnectTestHelper();
390
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
394
391
  // ABCDE-1-[2]-3
395
392
  // (A-XX-B)-(CD)-E-1-3
396
393
  helper.insertText("B", 0, "123");
@@ -408,7 +405,7 @@ for (const incremental of [true, false]) {
408
405
  helper.logger.validate();
409
406
  });
410
407
  it("deletes segments between two obliterates with different seq", () => {
411
- const helper = new reconnectHelper_1.ReconnectTestHelper();
408
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
412
409
  // 90-8-1234-(5)-67-D-C-B-A
413
410
  // 9-(EFG-[0-8-1234-(5)-67)]-D-C-B-A
414
411
  helper.insertText("A", 0, "A");
@@ -428,7 +425,7 @@ for (const incremental of [true, false]) {
428
425
  helper.logger.validate();
429
426
  });
430
427
  it("deletes inserted segment when obliterate of different seq in-between", () => {
431
- const helper = new reconnectHelper_1.ReconnectTestHelper();
428
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
432
429
  helper.insertText("A", 0, "AB");
433
430
  helper.insertText("B", 0, "E");
434
431
  helper.obliterateRange("A", 0, 1);
@@ -442,7 +439,7 @@ for (const incremental of [true, false]) {
442
439
  helper.logger.validate();
443
440
  });
444
441
  it("deletes inserted segment when obliterate of different seq in-between", () => {
445
- const helper = new reconnectHelper_1.ReconnectTestHelper();
442
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
446
443
  helper.insertText("A", 0, "ABC");
447
444
  helper.obliterateRange("A", 1, 2);
448
445
  helper.processAllOps();
@@ -455,7 +452,7 @@ for (const incremental of [true, false]) {
455
452
  helper.logger.validate();
456
453
  });
457
454
  it("deletes inserted segment when obliterate of different seq in-between", () => {
458
- const helper = new reconnectHelper_1.ReconnectTestHelper();
455
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
459
456
  helper.insertText("A", 0, "ABC");
460
457
  helper.obliterateRange("A", 1, 2);
461
458
  helper.processAllOps();
@@ -468,7 +465,7 @@ for (const incremental of [true, false]) {
468
465
  helper.logger.validate();
469
466
  });
470
467
  it("considers obliterated local segments as remotely obliterate", () => {
471
- const helper = new reconnectHelper_1.ReconnectTestHelper();
468
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
472
469
  // G-(H-F-I-C)-J-DE-A-(B)
473
470
  // G-J-(H-F-I-CD)-E
474
471
  helper.insertText("A", 0, "AB");
@@ -485,7 +482,7 @@ for (const incremental of [true, false]) {
485
482
  helper.logger.validate();
486
483
  });
487
484
  it("traverses hier block in obliterated when len at ref seq is >0 and len at len seq == 0", () => {
488
- const helper = new reconnectHelper_1.ReconnectTestHelper();
485
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
489
486
  helper.insertText("A", 0, "AB");
490
487
  helper.insertText("A", 2, "CD");
491
488
  helper.removeRange("A", 1, 3);
@@ -503,7 +500,7 @@ for (const incremental of [true, false]) {
503
500
  helper.logger.validate();
504
501
  });
505
502
  it("traverses hier block in obliterate when len at ref seq is >0 and len at len seq == 0", () => {
506
- const helper = new reconnectHelper_1.ReconnectTestHelper();
503
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
507
504
  // [E]-FGH-12-[A]-[B]-CD
508
505
  // 3-4-F-[G-(H-1)-2]-CD
509
506
  helper.insertText("B", 0, "ABCD");
@@ -524,7 +521,7 @@ for (const incremental of [true, false]) {
524
521
  helper.logger.validate();
525
522
  });
526
523
  it("ignores segments where movedSeq < seq for partial len calculations", () => {
527
- const helper = new reconnectHelper_1.ReconnectTestHelper();
524
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
528
525
  helper.insertText("B", 0, "ABC");
529
526
  helper.insertText("A", 0, "DEF");
530
527
  helper.removeRange("A", 1, 2);
@@ -541,7 +538,7 @@ for (const incremental of [true, false]) {
541
538
  helper.logger.validate();
542
539
  });
543
540
  it("accounts for overlapping obliterates from same client", () => {
544
- const helper = new reconnectHelper_1.ReconnectTestHelper();
541
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
545
542
  helper.insertText("A", 0, "AB");
546
543
  helper.processAllOps();
547
544
  helper.logger.validate();
@@ -555,7 +552,7 @@ for (const incremental of [true, false]) {
555
552
  helper.logger.validate();
556
553
  });
557
554
  it("accounts for concurrently obliterated segments from the perspective of the inserting client for partial lengths", () => {
558
- const helper = new reconnectHelper_1.ReconnectTestHelper();
555
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
559
556
  helper.insertText("B", 0, "A");
560
557
  helper.insertText("C", 0, "B");
561
558
  helper.insertText("C", 0, "C");
@@ -570,7 +567,7 @@ for (const incremental of [true, false]) {
570
567
  helper.logger.validate();
571
568
  });
572
569
  it("traverses segments when there is a local obliterate", () => {
573
- const helper = new reconnectHelper_1.ReconnectTestHelper();
570
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
574
571
  helper.insertText("A", 0, "AB");
575
572
  helper.obliterateRange("A", 0, 1);
576
573
  helper.insertText("C", 0, "12");
@@ -583,7 +580,7 @@ for (const incremental of [true, false]) {
583
580
  helper.logger.validate();
584
581
  });
585
582
  it("keeps track of all obliterates on a segment", () => {
586
- const helper = new reconnectHelper_1.ReconnectTestHelper();
583
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
587
584
  // B-A
588
585
  // (B-C-(A))
589
586
  helper.insertText("C", 0, "A");
@@ -604,7 +601,7 @@ for (const incremental of [true, false]) {
604
601
  helper.logger.validate();
605
602
  });
606
603
  it("many overlapping obliterates", () => {
607
- const helper = new reconnectHelper_1.ReconnectTestHelper();
604
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
608
605
  // EF-ABCD
609
606
  // (1)-2-((E)-F-A)-B-(C)-D
610
607
  helper.insertText("C", 0, "ABCD");
@@ -621,7 +618,7 @@ for (const incremental of [true, false]) {
621
618
  helper.logger.validate();
622
619
  });
623
620
  it("overlapping obliterates at start", () => {
624
- const helper = new reconnectHelper_1.ReconnectTestHelper();
621
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
625
622
  // 12345-B-A
626
623
  // ((1-C-2)-3)-4-D-5-B-A
627
624
  helper.insertText("C", 0, "A");
@@ -637,7 +634,7 @@ for (const incremental of [true, false]) {
637
634
  helper.logger.validate();
638
635
  });
639
636
  it("partial lengths updated when local insert is acked", () => {
640
- const helper = new reconnectHelper_1.ReconnectTestHelper();
637
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
641
638
  // A-BCDEF
642
639
  // (A-B-G-C)-D-I-E-H-F
643
640
  helper.insertText("A", 0, "A");
@@ -656,7 +653,7 @@ for (const incremental of [true, false]) {
656
653
  helper.logger.validate();
657
654
  });
658
655
  it("two local obliterates get different seq numbers after ack", () => {
659
- const helper = new reconnectHelper_1.ReconnectTestHelper();
656
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
660
657
  // C-AB
661
658
  // (C-A)-D-(B)
662
659
  helper.insertText("C", 0, "AB");
@@ -674,7 +671,7 @@ for (const incremental of [true, false]) {
674
671
  helper.logger.validate();
675
672
  });
676
673
  it("acks remote segment obliterated by local op", () => {
677
- const helper = new reconnectHelper_1.ReconnectTestHelper();
674
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
678
675
  // (D-C-A)-B
679
676
  // (D-C-A)-B-E
680
677
  helper.insertText("B", 0, "AB");
@@ -692,7 +689,7 @@ for (const incremental of [true, false]) {
692
689
  helper.logger.validate();
693
690
  });
694
691
  it("skips segments obliterated before refSeq when traversing for insertion", () => {
695
- const helper = new reconnectHelper_1.ReconnectTestHelper();
692
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
696
693
  // CDE-(A)-B
697
694
  // C-(DE-F-(A)-B)
698
695
  helper.insertText("A", 0, "AB");
@@ -712,7 +709,7 @@ for (const incremental of [true, false]) {
712
709
  helper.logger.validate();
713
710
  });
714
711
  it("applies correct movedSeq when right segment has multiple movedSeqs", () => {
715
- const helper = new reconnectHelper_1.ReconnectTestHelper();
712
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
716
713
  // AB
717
714
  // (A-C-D-(B))
718
715
  helper.insertText("B", 0, "AB");
@@ -733,7 +730,7 @@ for (const incremental of [true, false]) {
733
730
  helper.logger.validate();
734
731
  });
735
732
  it("takes the correct moved client id when multiple clientIds for right segment", () => {
736
- const helper = new reconnectHelper_1.ReconnectTestHelper();
733
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
737
734
  // AB
738
735
  // (A-C-D-(B))
739
736
  helper.insertText("A", 0, "AB");
@@ -753,7 +750,7 @@ for (const incremental of [true, false]) {
753
750
  helper.logger.validate();
754
751
  });
755
752
  it("selects clientId if 0", () => {
756
- const helper = new reconnectHelper_1.ReconnectTestHelper();
753
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
757
754
  // AB
758
755
  // (A-D-E-(C)-B)
759
756
  helper.insertText("B", 0, "AB");
@@ -773,7 +770,7 @@ for (const incremental of [true, false]) {
773
770
  helper.logger.validate();
774
771
  });
775
772
  it("obliterates unacked segment inside non-leaf-segment", () => {
776
- const helper = new reconnectHelper_1.ReconnectTestHelper();
773
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
777
774
  // FGHIJ-E-12345678-D-C-A-K-B
778
775
  // FGHIJ-E-12345-(6-[7-L-8-D]-C)-A-K-B
779
776
  helper.insertText("A", 0, "AB");
@@ -800,7 +797,7 @@ for (const incremental of [true, false]) {
800
797
  helper.logger.validate();
801
798
  });
802
799
  it("tracks length at seq of lower move/remove seq when overlapping", () => {
803
- const helper = new reconnectHelper_1.ReconnectTestHelper();
800
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
804
801
  // H-FG-A-CDE-B
805
802
  // (H-F-[G-A)-C-I-D]-E-B
806
803
  helper.insertText("C", 0, "AB");
@@ -823,7 +820,7 @@ for (const incremental of [true, false]) {
823
820
  helper.logger.validate();
824
821
  });
825
822
  it("segment obliterated on insert overlaps with local obliterate", () => {
826
- const helper = new reconnectHelper_1.ReconnectTestHelper();
823
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
827
824
  // AB
828
825
  // ((A-C)-B)
829
826
  helper.insertText("B", 0, "AB");
@@ -837,7 +834,7 @@ for (const incremental of [true, false]) {
837
834
  helper.logger.validate();
838
835
  });
839
836
  it("obliterates entire string when concurrent inserts inside range", () => {
840
- const helper = new reconnectHelper_1.ReconnectTestHelper();
837
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
841
838
  // GT
842
839
  // (G-O-S-Y-T)
843
840
  helper.insertText("B", 0, "GT");
@@ -851,7 +848,7 @@ for (const incremental of [true, false]) {
851
848
  helper.logger.validate();
852
849
  });
853
850
  it("obliterate ack traverses over non-obliterated remove", () => {
854
- const helper = new reconnectHelper_1.ReconnectTestHelper();
851
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
855
852
  // ABCDEFGH-1
856
853
  // ABCDE-(F-[G]-2-H)-1
857
854
  // ABCDE-(F-[G]-2-H)-1-3
@@ -873,7 +870,7 @@ for (const incremental of [true, false]) {
873
870
  helper.logger.validate();
874
871
  });
875
872
  it("overlapping remove and obliterate when remove happens last", () => {
876
- const helper = new reconnectHelper_1.ReconnectTestHelper();
873
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
877
874
  // FGH-E-D-BC-A
878
875
  // ([F]-G)-H-E-D-B-I-C-A
879
876
  helper.insertText("A", 0, "A");
@@ -894,7 +891,7 @@ for (const incremental of [true, false]) {
894
891
  helper.logger.validate();
895
892
  });
896
893
  it("overlapping remove and obliterate when remove happens last _and_ partial length already exists", () => {
897
- const helper = new reconnectHelper_1.ReconnectTestHelper();
894
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
898
895
  // FGH-CDE-B-A
899
896
  // [F-(GH)-C]-D-Z-E-B-A
900
897
  helper.insertText("B", 0, "A");
@@ -911,7 +908,7 @@ for (const incremental of [true, false]) {
911
908
  helper.logger.validate();
912
909
  });
913
910
  it("overlapping obliterate and remove when obliterate is larger than remove and happened last", () => {
914
- const helper = new reconnectHelper_1.ReconnectTestHelper();
911
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
915
912
  // H-CDEFG-B-A
916
913
  // (H-C-[D]-E)-F-Z-G-B-A
917
914
  helper.insertText("B", 0, "A");
@@ -928,7 +925,7 @@ for (const incremental of [true, false]) {
928
925
  helper.logger.validate();
929
926
  });
930
927
  it("wasMovedOnInsert remains after leaf node is split", () => {
931
- const helper = new reconnectHelper_1.ReconnectTestHelper();
928
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
932
929
  // CD-B-A
933
930
  // I-(C-(G)H-E)-F-D-B-A
934
931
  helper.insertText("C", 0, "A");
@@ -946,7 +943,7 @@ for (const incremental of [true, false]) {
946
943
  helper.logger.validate();
947
944
  });
948
945
  it("overlapping obliterates, segment is obliterated on insert and by local client", () => {
949
- const helper = new reconnectHelper_1.ReconnectTestHelper();
946
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
950
947
  // DEFG-BC-A
951
948
  // v-----------v
952
949
  // v-----v
@@ -965,7 +962,7 @@ for (const incremental of [true, false]) {
965
962
  helper.logger.validate();
966
963
  });
967
964
  it("overlapping obliterates and remove", () => {
968
- const helper = new reconnectHelper_1.ReconnectTestHelper();
965
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
969
966
  // FGHIJKL-BCDE-A
970
967
  // (FGHI-[JK-(L-B)-C]-D)-E-M-A
971
968
  helper.insertText("C", 0, "A");
@@ -982,7 +979,7 @@ for (const incremental of [true, false]) {
982
979
  helper.logger.validate();
983
980
  });
984
981
  it("does not mark obliterated on insert for non-acked obliterates", () => {
985
- const helper = new reconnectHelper_1.ReconnectTestHelper();
982
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
986
983
  // CDE-B-A
987
984
  // I-((C-F)-G-D)-H-E-B-A
988
985
  helper.insertText("B", 0, "A");
@@ -1000,7 +997,7 @@ for (const incremental of [true, false]) {
1000
997
  helper.logger.validate();
1001
998
  });
1002
999
  it("partial len isLocal when seq is -1 but moveSeq > -1", () => {
1003
- const helper = new reconnectHelper_1.ReconnectTestHelper();
1000
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
1004
1001
  // CDEFG-AB
1005
1002
  // C-((D-I-E)-F)-G-A-H-B
1006
1003
  helper.insertText("A", 0, "AB");
@@ -1016,7 +1013,7 @@ for (const incremental of [true, false]) {
1016
1013
  helper.logger.validate();
1017
1014
  });
1018
1015
  it("obliterated on insert by overlapping obliterates", () => {
1019
- const helper = new reconnectHelper_1.ReconnectTestHelper();
1016
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
1020
1017
  // B-DEFG-C-A
1021
1018
  // ((B-D-H-E)-F-I-G-C)-A
1022
1019
  helper.insertText("C", 0, "A");
@@ -1033,7 +1030,7 @@ for (const incremental of [true, false]) {
1033
1030
  helper.logger.validate();
1034
1031
  });
1035
1032
  it("overlapping obliterates", () => {
1036
- const helper = new reconnectHelper_1.ReconnectTestHelper();
1033
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
1037
1034
  // ABCDEF
1038
1035
  // v-------------v
1039
1036
  // v-----------v
@@ -1052,7 +1049,7 @@ for (const incremental of [true, false]) {
1052
1049
  helper.logger.validate();
1053
1050
  });
1054
1051
  it("overlapping obliterates", () => {
1055
- const helper = new reconnectHelper_1.ReconnectTestHelper();
1052
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
1056
1053
  // CDEF-AB
1057
1054
  // v-------------------v
1058
1055
  // v---------v
@@ -1072,7 +1069,7 @@ for (const incremental of [true, false]) {
1072
1069
  helper.logger.validate();
1073
1070
  });
1074
1071
  it("overlapping remove and obliterate, local obliterate does not have a remote obliterated len", () => {
1075
- const helper = new reconnectHelper_1.ReconnectTestHelper();
1072
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
1076
1073
  // v-v------v-v
1077
1074
  // G-(H-[F]-E)-D-[A]-B-I-C
1078
1075
  helper.insertText("A", 0, "ABC");
@@ -1088,7 +1085,7 @@ for (const incremental of [true, false]) {
1088
1085
  helper.logger.validate();
1089
1086
  });
1090
1087
  it("triple overlapping obliterate and overlapping remove", () => {
1091
- const helper = new reconnectHelper_1.ReconnectTestHelper();
1088
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
1092
1089
  // I-H-BCDEFG-A
1093
1090
  // v------------v
1094
1091
  // v-------v
@@ -1113,7 +1110,7 @@ for (const incremental of [true, false]) {
1113
1110
  helper.logger.validate();
1114
1111
  });
1115
1112
  it("triple overlapping obliterate with one being local", () => {
1116
- const helper = new reconnectHelper_1.ReconnectTestHelper();
1113
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
1117
1114
  // CDEFG-B-A
1118
1115
  // v--------v
1119
1116
  // v--------v
@@ -1135,7 +1132,7 @@ for (const incremental of [true, false]) {
1135
1132
  helper.logger.validate();
1136
1133
  });
1137
1134
  it("obliterate ack traversal is not stopped by moved segment", () => {
1138
- const helper = new reconnectHelper_1.ReconnectTestHelper();
1135
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
1139
1136
  // ABCD
1140
1137
  // (A-(B)-E-C)-D-F
1141
1138
  helper.insertText("B", 0, "ABCD");
@@ -1153,7 +1150,7 @@ for (const incremental of [true, false]) {
1153
1150
  helper.logger.validate();
1154
1151
  });
1155
1152
  it("updates partial lengths for segments when doing obliterate ack traversal", () => {
1156
- const helper = new reconnectHelper_1.ReconnectTestHelper();
1153
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
1157
1154
  // O-JKLMN-FGHI-E-CD-AB
1158
1155
  // v-v---v-----v
1159
1156
  // (P-O-JKLMN-FG-[H]-Q-[I-E-C]-D-A)-B
@@ -1180,7 +1177,7 @@ for (const incremental of [true, false]) {
1180
1177
  });
1181
1178
  // fails only for incremental
1182
1179
  it("combines remote obliterated length ", () => {
1183
- const helper = new reconnectHelper_1.ReconnectTestHelper();
1180
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
1184
1181
  // R-XYZ12-STUVW-LMNOP-DEFGHIJK-A-34567890-Q-BC
1185
1182
  // v---------------v------------v------v--------v------------v
1186
1183
  // [R-XYZ12-STUVW-L]-abcdefghij-[MNOP-D]-klmnop-[EFGHIJK-A-34]-5-(6-x-7)-890-Q-BC
@@ -1223,7 +1220,7 @@ for (const incremental of [true, false]) {
1223
1220
  helper.logger.validate();
1224
1221
  });
1225
1222
  it("three obliterates on same segment", () => {
1226
- const helper = new reconnectHelper_1.ReconnectTestHelper();
1223
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
1227
1224
  // A
1228
1225
  // (C-B-D-((A)))
1229
1226
  helper.insertText("B", 0, "A");
@@ -1240,7 +1237,7 @@ for (const incremental of [true, false]) {
1240
1237
  });
1241
1238
  describe("incremental partial length updates", () => {
1242
1239
  it("obliterates concurrently inserted segment", () => {
1243
- const helper = new reconnectHelper_1.ReconnectTestHelper();
1240
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
1244
1241
  // (C-B-A)
1245
1242
  helper.insertText("A", 0, "A");
1246
1243
  helper.insertText("B", 0, "B");
@@ -1251,7 +1248,7 @@ for (const incremental of [true, false]) {
1251
1248
  helper.logger.validate();
1252
1249
  });
1253
1250
  it("obliterates 2 concurrently inserted segments", () => {
1254
- const helper = new reconnectHelper_1.ReconnectTestHelper();
1251
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
1255
1252
  // (C-B-D-A)
1256
1253
  helper.insertText("B", 0, "A");
1257
1254
  helper.insertText("A", 0, "B");
@@ -1263,7 +1260,7 @@ for (const incremental of [true, false]) {
1263
1260
  helper.logger.validate();
1264
1261
  });
1265
1262
  it("obliterates 4 concurrently inserted segments", () => {
1266
- const helper = new reconnectHelper_1.ReconnectTestHelper();
1263
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
1267
1264
  // I-F-(G-D-H-E-C-A)-B
1268
1265
  helper.insertText("B", 0, "AB");
1269
1266
  helper.insertText("B", 0, "C");
@@ -1277,7 +1274,7 @@ for (const incremental of [true, false]) {
1277
1274
  helper.logger.validate();
1278
1275
  });
1279
1276
  it("obliterates 3 concurrently inserted segments", () => {
1280
- const helper = new reconnectHelper_1.ReconnectTestHelper();
1277
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
1281
1278
  // I-G-(H-D-F-E-B)-C-A
1282
1279
  helper.insertText("B", 0, "A");
1283
1280
  helper.insertText("B", 0, "BC");
@@ -1291,7 +1288,7 @@ for (const incremental of [true, false]) {
1291
1288
  helper.logger.validate();
1292
1289
  });
1293
1290
  it("overlapping remove + obliterate, remove happened first", () => {
1294
- const helper = new reconnectHelper_1.ReconnectTestHelper();
1291
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
1295
1292
  // D-EFG-B-H-C-A
1296
1293
  // I-D-([E]-F)-G-B-H-C-A
1297
1294
  helper.insertText("A", 0, "A");
@@ -1308,7 +1305,7 @@ for (const incremental of [true, false]) {
1308
1305
  helper.logger.validate();
1309
1306
  });
1310
1307
  it("overlapping remove + obliterate, remove happened last", () => {
1311
- const helper = new reconnectHelper_1.ReconnectTestHelper();
1308
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
1312
1309
  // DEFGH-C-B-A
1313
1310
  // [D]-[E-(F)-G]-H-C-B-A
1314
1311
  helper.insertText("C", 0, "A");
@@ -1325,7 +1322,7 @@ for (const incremental of [true, false]) {
1325
1322
  helper.logger.validate();
1326
1323
  });
1327
1324
  it("segment inside locally obliterated segment group is split", () => {
1328
- const helper = new reconnectHelper_1.ReconnectTestHelper();
1325
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
1329
1326
  // CDEF-AB
1330
1327
  // [C]-DE-(F-(G)-H-A)-B
1331
1328
  // [C]-DE-(F-(G)-H-A)-(B)
@@ -1345,7 +1342,7 @@ for (const incremental of [true, false]) {
1345
1342
  helper.logger.validate();
1346
1343
  });
1347
1344
  it("continues traversal past locally removed segment inserted before first obliterate", () => {
1348
- const helper = new reconnectHelper_1.ReconnectTestHelper();
1345
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
1349
1346
  // ABC
1350
1347
  // (E-D-(A)-[B]-C)
1351
1348
  helper.insertText("A", 0, "ABC");
@@ -1361,7 +1358,7 @@ for (const incremental of [true, false]) {
1361
1358
  helper.logger.validate();
1362
1359
  });
1363
1360
  it("keeps track of remote obliterated length when hier node contains hier nodes", () => {
1364
- const helper = new reconnectHelper_1.ReconnectTestHelper();
1361
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
1365
1362
  // LMNO-HIJ-E-K-FG-D-C-AB
1366
1363
  // lmnopq-L-[M]-NO-H-ghijk-I-(J-E-K-FG-D-C-A-a)-bc-ef-d-B
1367
1364
  // v--------------------------------------v
@@ -1398,7 +1395,7 @@ for (const incremental of [true, false]) {
1398
1395
  helper.logger.validate();
1399
1396
  });
1400
1397
  it("combines remote obliterated length for parent node of tree with depth >=3", () => {
1401
- const helper = new reconnectHelper_1.ReconnectTestHelper();
1398
+ const helper = new reconnectHelper_js_1.ReconnectTestHelper();
1402
1399
  // VWXYZ0-(K)-[L]-M-[N]-O-EFGHIJ-[A]-B-P-TU-QRS-CD
1403
1400
  // v-v------v------------v
1404
1401
  // v--------------------v