@fluid-experimental/tree 0.58.2001 → 0.59.2000-61729

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 (817) hide show
  1. package/README.md +159 -46
  2. package/dist/ChangeCompression.d.ts +39 -0
  3. package/dist/ChangeCompression.d.ts.map +1 -0
  4. package/dist/ChangeCompression.js +117 -0
  5. package/dist/ChangeCompression.js.map +1 -0
  6. package/{lib/default-edits/PersistedTypes.d.ts → dist/ChangeTypes.d.ts} +58 -105
  7. package/dist/ChangeTypes.d.ts.map +1 -0
  8. package/dist/{default-edits/PersistedTypes.js → ChangeTypes.js} +21 -76
  9. package/dist/ChangeTypes.js.map +1 -0
  10. package/dist/Checkout.d.ts +39 -27
  11. package/dist/Checkout.d.ts.map +1 -1
  12. package/dist/Checkout.js +61 -32
  13. package/dist/Checkout.js.map +1 -1
  14. package/dist/Common.d.ts +175 -38
  15. package/dist/Common.d.ts.map +1 -1
  16. package/dist/Common.js +240 -103
  17. package/dist/Common.js.map +1 -1
  18. package/dist/EagerCheckout.d.ts +24 -0
  19. package/dist/EagerCheckout.d.ts.map +1 -0
  20. package/dist/{BasicCheckout.js → EagerCheckout.js} +9 -6
  21. package/dist/EagerCheckout.js.map +1 -0
  22. package/dist/EditLog.d.ts +77 -63
  23. package/dist/EditLog.d.ts.map +1 -1
  24. package/dist/EditLog.js +85 -48
  25. package/dist/EditLog.js.map +1 -1
  26. package/dist/EditUtilities.d.ts +168 -0
  27. package/dist/EditUtilities.d.ts.map +1 -0
  28. package/dist/EditUtilities.js +373 -0
  29. package/dist/EditUtilities.js.map +1 -0
  30. package/dist/EventTypes.d.ts +73 -0
  31. package/dist/EventTypes.d.ts.map +1 -0
  32. package/dist/EventTypes.js +78 -0
  33. package/dist/EventTypes.js.map +1 -0
  34. package/dist/Forest.d.ts +29 -7
  35. package/dist/Forest.d.ts.map +1 -1
  36. package/dist/Forest.js +60 -36
  37. package/dist/Forest.js.map +1 -1
  38. package/dist/HistoryEditFactory.d.ts +20 -0
  39. package/dist/HistoryEditFactory.d.ts.map +1 -0
  40. package/dist/HistoryEditFactory.js +226 -0
  41. package/dist/HistoryEditFactory.js.map +1 -0
  42. package/dist/IdConversion.d.ts +12 -0
  43. package/dist/IdConversion.d.ts.map +1 -0
  44. package/dist/IdConversion.js +98 -0
  45. package/dist/IdConversion.js.map +1 -0
  46. package/dist/Identifiers.d.ts +89 -2
  47. package/dist/Identifiers.d.ts.map +1 -1
  48. package/dist/Identifiers.js +10 -0
  49. package/dist/Identifiers.js.map +1 -1
  50. package/dist/InitialTree.d.ts +2 -2
  51. package/dist/InitialTree.d.ts.map +1 -1
  52. package/dist/InitialTree.js +2 -1
  53. package/dist/InitialTree.js.map +1 -1
  54. package/dist/LazyCheckout.d.ts +28 -0
  55. package/dist/LazyCheckout.d.ts.map +1 -0
  56. package/dist/LazyCheckout.js +44 -0
  57. package/dist/LazyCheckout.js.map +1 -0
  58. package/dist/LogViewer.d.ts +129 -85
  59. package/dist/LogViewer.d.ts.map +1 -1
  60. package/dist/LogViewer.js +111 -85
  61. package/dist/LogViewer.js.map +1 -1
  62. package/dist/MergeHealth.d.ts +221 -0
  63. package/dist/MergeHealth.d.ts.map +1 -0
  64. package/dist/MergeHealth.js +263 -0
  65. package/dist/MergeHealth.js.map +1 -0
  66. package/dist/NodeIdUtilities.d.ts +105 -0
  67. package/dist/NodeIdUtilities.d.ts.map +1 -0
  68. package/dist/NodeIdUtilities.js +60 -0
  69. package/dist/NodeIdUtilities.js.map +1 -0
  70. package/dist/PayloadUtilities.d.ts +42 -0
  71. package/dist/PayloadUtilities.d.ts.map +1 -0
  72. package/dist/PayloadUtilities.js +114 -0
  73. package/dist/PayloadUtilities.js.map +1 -0
  74. package/dist/ReconciliationPath.d.ts +18 -13
  75. package/dist/ReconciliationPath.d.ts.map +1 -1
  76. package/dist/ReconciliationPath.js.map +1 -1
  77. package/dist/RevisionValueCache.d.ts +11 -2
  78. package/dist/RevisionValueCache.d.ts.map +1 -1
  79. package/dist/RevisionValueCache.js +2 -3
  80. package/dist/RevisionValueCache.js.map +1 -1
  81. package/dist/RevisionView.d.ts +83 -0
  82. package/dist/RevisionView.d.ts.map +1 -0
  83. package/dist/RevisionView.js +182 -0
  84. package/dist/RevisionView.js.map +1 -0
  85. package/dist/SerializationUtilities.d.ts +36 -0
  86. package/dist/SerializationUtilities.d.ts.map +1 -0
  87. package/dist/SerializationUtilities.js +102 -0
  88. package/dist/SerializationUtilities.js.map +1 -0
  89. package/dist/SharedTree.d.ts +439 -0
  90. package/dist/SharedTree.d.ts.map +1 -0
  91. package/dist/SharedTree.js +1109 -0
  92. package/dist/SharedTree.js.map +1 -0
  93. package/dist/SharedTreeEncoder.d.ts +102 -0
  94. package/dist/SharedTreeEncoder.d.ts.map +1 -0
  95. package/dist/SharedTreeEncoder.js +313 -0
  96. package/dist/SharedTreeEncoder.js.map +1 -0
  97. package/dist/StringInterner.d.ts +46 -0
  98. package/dist/StringInterner.d.ts.map +1 -0
  99. package/dist/StringInterner.js +61 -0
  100. package/dist/StringInterner.js.map +1 -0
  101. package/dist/Summary.d.ts +40 -0
  102. package/dist/Summary.d.ts.map +1 -0
  103. package/dist/Summary.js +23 -0
  104. package/dist/Summary.js.map +1 -0
  105. package/dist/SummaryBackCompatibility.d.ts +22 -22
  106. package/dist/SummaryBackCompatibility.d.ts.map +1 -1
  107. package/dist/SummaryBackCompatibility.js +30 -33
  108. package/dist/SummaryBackCompatibility.js.map +1 -1
  109. package/dist/SummaryTestUtilities.d.ts +31 -0
  110. package/dist/SummaryTestUtilities.d.ts.map +1 -0
  111. package/dist/SummaryTestUtilities.js +37 -0
  112. package/dist/SummaryTestUtilities.js.map +1 -0
  113. package/dist/Transaction.d.ts +71 -0
  114. package/dist/Transaction.d.ts.map +1 -0
  115. package/dist/Transaction.js +92 -0
  116. package/dist/Transaction.js.map +1 -0
  117. package/dist/TransactionInternal.d.ts +540 -0
  118. package/dist/TransactionInternal.d.ts.map +1 -0
  119. package/dist/TransactionInternal.js +626 -0
  120. package/dist/TransactionInternal.js.map +1 -0
  121. package/dist/TreeCompressor.d.ts +36 -0
  122. package/dist/TreeCompressor.d.ts.map +1 -0
  123. package/dist/TreeCompressor.js +137 -0
  124. package/dist/TreeCompressor.js.map +1 -0
  125. package/dist/TreeNodeHandle.d.ts +12 -18
  126. package/dist/TreeNodeHandle.d.ts.map +1 -1
  127. package/dist/TreeNodeHandle.js +13 -23
  128. package/dist/TreeNodeHandle.js.map +1 -1
  129. package/dist/TreeView.d.ts +166 -0
  130. package/dist/TreeView.d.ts.map +1 -0
  131. package/dist/TreeView.js +218 -0
  132. package/dist/TreeView.js.map +1 -0
  133. package/dist/TreeViewUtilities.d.ts +21 -0
  134. package/dist/TreeViewUtilities.d.ts.map +1 -0
  135. package/dist/TreeViewUtilities.js +77 -0
  136. package/dist/TreeViewUtilities.js.map +1 -0
  137. package/dist/{default-edits/UndoRedoHandler.d.ts → UndoRedoHandler.d.ts} +2 -2
  138. package/dist/UndoRedoHandler.d.ts.map +1 -0
  139. package/dist/{default-edits/UndoRedoHandler.js → UndoRedoHandler.js} +5 -9
  140. package/dist/UndoRedoHandler.js.map +1 -0
  141. package/dist/id-compressor/AppendOnlySortedMap.d.ts +127 -0
  142. package/dist/id-compressor/AppendOnlySortedMap.d.ts.map +1 -0
  143. package/dist/id-compressor/AppendOnlySortedMap.js +283 -0
  144. package/dist/id-compressor/AppendOnlySortedMap.js.map +1 -0
  145. package/dist/id-compressor/IdCompressor.d.ts +389 -0
  146. package/dist/id-compressor/IdCompressor.d.ts.map +1 -0
  147. package/dist/id-compressor/IdCompressor.js +1353 -0
  148. package/dist/id-compressor/IdCompressor.js.map +1 -0
  149. package/dist/id-compressor/IdRange.d.ts +11 -0
  150. package/dist/id-compressor/IdRange.d.ts.map +1 -0
  151. package/dist/id-compressor/IdRange.js +29 -0
  152. package/dist/id-compressor/IdRange.js.map +1 -0
  153. package/dist/id-compressor/NumericUuid.d.ts +63 -0
  154. package/dist/id-compressor/NumericUuid.d.ts.map +1 -0
  155. package/dist/id-compressor/NumericUuid.js +377 -0
  156. package/dist/id-compressor/NumericUuid.js.map +1 -0
  157. package/dist/id-compressor/index.d.ts +12 -0
  158. package/dist/id-compressor/index.d.ts.map +1 -0
  159. package/dist/id-compressor/index.js +26 -0
  160. package/dist/id-compressor/index.js.map +1 -0
  161. package/dist/id-compressor/persisted-types/0.0.1.d.ts +156 -0
  162. package/dist/id-compressor/persisted-types/0.0.1.d.ts.map +1 -0
  163. package/dist/id-compressor/persisted-types/0.0.1.js +7 -0
  164. package/dist/id-compressor/persisted-types/0.0.1.js.map +1 -0
  165. package/dist/id-compressor/persisted-types/index.d.ts +6 -0
  166. package/dist/id-compressor/persisted-types/index.d.ts.map +1 -0
  167. package/dist/id-compressor/persisted-types/index.js +18 -0
  168. package/dist/id-compressor/persisted-types/index.js.map +1 -0
  169. package/dist/index.d.ts +29 -9
  170. package/dist/index.d.ts.map +1 -1
  171. package/dist/index.js +50 -35
  172. package/dist/index.js.map +1 -1
  173. package/dist/persisted-types/0.0.2.d.ts +385 -0
  174. package/dist/persisted-types/0.0.2.d.ts.map +1 -0
  175. package/dist/persisted-types/0.0.2.js +113 -0
  176. package/dist/persisted-types/0.0.2.js.map +1 -0
  177. package/dist/persisted-types/0.1.1.d.ts +314 -0
  178. package/dist/persisted-types/0.1.1.d.ts.map +1 -0
  179. package/dist/persisted-types/0.1.1.js +153 -0
  180. package/dist/persisted-types/0.1.1.js.map +1 -0
  181. package/dist/persisted-types/index.d.ts +7 -0
  182. package/dist/persisted-types/index.d.ts.map +1 -0
  183. package/dist/persisted-types/index.js +20 -0
  184. package/dist/persisted-types/index.js.map +1 -0
  185. package/docs/0-1-1-Compression.md +228 -0
  186. package/docs/Breaking-Change-Migration.md +52 -0
  187. package/docs/Compression.md +2 -2
  188. package/docs/Telemetry.md +43 -0
  189. package/docs/Write-Format.md +19 -0
  190. package/lib/ChangeCompression.d.ts +39 -0
  191. package/lib/ChangeCompression.d.ts.map +1 -0
  192. package/lib/ChangeCompression.js +111 -0
  193. package/lib/ChangeCompression.js.map +1 -0
  194. package/{dist/default-edits/PersistedTypes.d.ts → lib/ChangeTypes.d.ts} +58 -105
  195. package/lib/ChangeTypes.d.ts.map +1 -0
  196. package/lib/{default-edits/PersistedTypes.js → ChangeTypes.js} +15 -68
  197. package/lib/ChangeTypes.js.map +1 -0
  198. package/lib/Checkout.d.ts +39 -27
  199. package/lib/Checkout.d.ts.map +1 -1
  200. package/lib/Checkout.js +53 -24
  201. package/lib/Checkout.js.map +1 -1
  202. package/lib/Common.d.ts +175 -38
  203. package/lib/Common.d.ts.map +1 -1
  204. package/lib/Common.js +226 -101
  205. package/lib/Common.js.map +1 -1
  206. package/lib/EagerCheckout.d.ts +24 -0
  207. package/lib/EagerCheckout.d.ts.map +1 -0
  208. package/lib/{BasicCheckout.js → EagerCheckout.js} +7 -4
  209. package/lib/EagerCheckout.js.map +1 -0
  210. package/lib/EditLog.d.ts +77 -63
  211. package/lib/EditLog.d.ts.map +1 -1
  212. package/lib/EditLog.js +83 -47
  213. package/lib/EditLog.js.map +1 -1
  214. package/lib/EditUtilities.d.ts +168 -0
  215. package/lib/EditUtilities.d.ts.map +1 -0
  216. package/lib/EditUtilities.js +353 -0
  217. package/lib/EditUtilities.js.map +1 -0
  218. package/lib/EventTypes.d.ts +73 -0
  219. package/lib/EventTypes.d.ts.map +1 -0
  220. package/lib/EventTypes.js +75 -0
  221. package/lib/EventTypes.js.map +1 -0
  222. package/lib/Forest.d.ts +29 -7
  223. package/lib/Forest.d.ts.map +1 -1
  224. package/lib/Forest.js +58 -35
  225. package/lib/Forest.js.map +1 -1
  226. package/lib/HistoryEditFactory.d.ts +20 -0
  227. package/lib/HistoryEditFactory.d.ts.map +1 -0
  228. package/lib/{default-edits/HistoryEditFactory.js → HistoryEditFactory.js} +78 -39
  229. package/lib/HistoryEditFactory.js.map +1 -0
  230. package/lib/IdConversion.d.ts +12 -0
  231. package/lib/IdConversion.d.ts.map +1 -0
  232. package/lib/IdConversion.js +91 -0
  233. package/lib/IdConversion.js.map +1 -0
  234. package/lib/Identifiers.d.ts +89 -2
  235. package/lib/Identifiers.d.ts.map +1 -1
  236. package/lib/Identifiers.js +8 -1
  237. package/lib/Identifiers.js.map +1 -1
  238. package/lib/InitialTree.d.ts +2 -2
  239. package/lib/InitialTree.d.ts.map +1 -1
  240. package/lib/InitialTree.js +2 -1
  241. package/lib/InitialTree.js.map +1 -1
  242. package/lib/LazyCheckout.d.ts +28 -0
  243. package/lib/LazyCheckout.d.ts.map +1 -0
  244. package/lib/LazyCheckout.js +40 -0
  245. package/lib/LazyCheckout.js.map +1 -0
  246. package/lib/LogViewer.d.ts +129 -85
  247. package/lib/LogViewer.d.ts.map +1 -1
  248. package/lib/LogViewer.js +103 -77
  249. package/lib/LogViewer.js.map +1 -1
  250. package/lib/MergeHealth.d.ts +221 -0
  251. package/lib/MergeHealth.d.ts.map +1 -0
  252. package/lib/MergeHealth.js +258 -0
  253. package/lib/MergeHealth.js.map +1 -0
  254. package/lib/NodeIdUtilities.d.ts +105 -0
  255. package/lib/NodeIdUtilities.d.ts.map +1 -0
  256. package/lib/NodeIdUtilities.js +53 -0
  257. package/lib/NodeIdUtilities.js.map +1 -0
  258. package/lib/PayloadUtilities.d.ts +42 -0
  259. package/lib/PayloadUtilities.d.ts.map +1 -0
  260. package/lib/PayloadUtilities.js +110 -0
  261. package/lib/PayloadUtilities.js.map +1 -0
  262. package/lib/ReconciliationPath.d.ts +18 -13
  263. package/lib/ReconciliationPath.d.ts.map +1 -1
  264. package/lib/ReconciliationPath.js.map +1 -1
  265. package/lib/RevisionValueCache.d.ts +11 -2
  266. package/lib/RevisionValueCache.d.ts.map +1 -1
  267. package/lib/RevisionValueCache.js +2 -3
  268. package/lib/RevisionValueCache.js.map +1 -1
  269. package/lib/RevisionView.d.ts +83 -0
  270. package/lib/RevisionView.d.ts.map +1 -0
  271. package/lib/RevisionView.js +175 -0
  272. package/lib/RevisionView.js.map +1 -0
  273. package/lib/SerializationUtilities.d.ts +36 -0
  274. package/lib/SerializationUtilities.d.ts.map +1 -0
  275. package/lib/SerializationUtilities.js +95 -0
  276. package/lib/SerializationUtilities.js.map +1 -0
  277. package/lib/SharedTree.d.ts +439 -0
  278. package/lib/SharedTree.d.ts.map +1 -0
  279. package/lib/SharedTree.js +1104 -0
  280. package/lib/SharedTree.js.map +1 -0
  281. package/lib/SharedTreeEncoder.d.ts +102 -0
  282. package/lib/SharedTreeEncoder.d.ts.map +1 -0
  283. package/lib/SharedTreeEncoder.js +308 -0
  284. package/lib/SharedTreeEncoder.js.map +1 -0
  285. package/lib/StringInterner.d.ts +46 -0
  286. package/lib/StringInterner.d.ts.map +1 -0
  287. package/lib/StringInterner.js +57 -0
  288. package/lib/StringInterner.js.map +1 -0
  289. package/lib/Summary.d.ts +40 -0
  290. package/lib/Summary.d.ts.map +1 -0
  291. package/lib/Summary.js +19 -0
  292. package/lib/Summary.js.map +1 -0
  293. package/lib/SummaryBackCompatibility.d.ts +22 -22
  294. package/lib/SummaryBackCompatibility.d.ts.map +1 -1
  295. package/lib/SummaryBackCompatibility.js +29 -32
  296. package/lib/SummaryBackCompatibility.js.map +1 -1
  297. package/lib/SummaryTestUtilities.d.ts +31 -0
  298. package/lib/SummaryTestUtilities.d.ts.map +1 -0
  299. package/lib/SummaryTestUtilities.js +32 -0
  300. package/lib/SummaryTestUtilities.js.map +1 -0
  301. package/lib/Transaction.d.ts +71 -0
  302. package/lib/Transaction.d.ts.map +1 -0
  303. package/lib/Transaction.js +88 -0
  304. package/lib/Transaction.js.map +1 -0
  305. package/lib/TransactionInternal.d.ts +540 -0
  306. package/lib/TransactionInternal.d.ts.map +1 -0
  307. package/lib/TransactionInternal.js +622 -0
  308. package/lib/TransactionInternal.js.map +1 -0
  309. package/lib/TreeCompressor.d.ts +36 -0
  310. package/lib/TreeCompressor.d.ts.map +1 -0
  311. package/lib/TreeCompressor.js +133 -0
  312. package/lib/TreeCompressor.js.map +1 -0
  313. package/lib/TreeNodeHandle.d.ts +12 -18
  314. package/lib/TreeNodeHandle.d.ts.map +1 -1
  315. package/lib/TreeNodeHandle.js +14 -24
  316. package/lib/TreeNodeHandle.js.map +1 -1
  317. package/lib/TreeView.d.ts +166 -0
  318. package/lib/TreeView.d.ts.map +1 -0
  319. package/lib/TreeView.js +214 -0
  320. package/lib/TreeView.js.map +1 -0
  321. package/lib/TreeViewUtilities.d.ts +21 -0
  322. package/lib/TreeViewUtilities.d.ts.map +1 -0
  323. package/lib/TreeViewUtilities.js +71 -0
  324. package/lib/TreeViewUtilities.js.map +1 -0
  325. package/lib/{default-edits/UndoRedoHandler.d.ts → UndoRedoHandler.d.ts} +2 -2
  326. package/lib/UndoRedoHandler.d.ts.map +1 -0
  327. package/lib/{default-edits/UndoRedoHandler.js → UndoRedoHandler.js} +3 -7
  328. package/lib/UndoRedoHandler.js.map +1 -0
  329. package/lib/id-compressor/AppendOnlySortedMap.d.ts +127 -0
  330. package/lib/id-compressor/AppendOnlySortedMap.d.ts.map +1 -0
  331. package/lib/id-compressor/AppendOnlySortedMap.js +278 -0
  332. package/lib/id-compressor/AppendOnlySortedMap.js.map +1 -0
  333. package/lib/id-compressor/IdCompressor.d.ts +389 -0
  334. package/lib/id-compressor/IdCompressor.d.ts.map +1 -0
  335. package/lib/id-compressor/IdCompressor.js +1343 -0
  336. package/lib/id-compressor/IdCompressor.js.map +1 -0
  337. package/lib/id-compressor/IdRange.d.ts +11 -0
  338. package/lib/id-compressor/IdRange.d.ts.map +1 -0
  339. package/lib/id-compressor/IdRange.js +25 -0
  340. package/lib/id-compressor/IdRange.js.map +1 -0
  341. package/lib/id-compressor/NumericUuid.d.ts +63 -0
  342. package/lib/id-compressor/NumericUuid.d.ts.map +1 -0
  343. package/lib/id-compressor/NumericUuid.js +365 -0
  344. package/lib/id-compressor/NumericUuid.js.map +1 -0
  345. package/lib/id-compressor/index.d.ts +12 -0
  346. package/lib/id-compressor/index.d.ts.map +1 -0
  347. package/lib/id-compressor/index.js +12 -0
  348. package/lib/id-compressor/index.js.map +1 -0
  349. package/lib/id-compressor/persisted-types/0.0.1.d.ts +156 -0
  350. package/lib/id-compressor/persisted-types/0.0.1.d.ts.map +1 -0
  351. package/lib/{test/Snapshot.tests.d.ts → id-compressor/persisted-types/0.0.1.js} +1 -1
  352. package/lib/id-compressor/persisted-types/0.0.1.js.map +1 -0
  353. package/lib/id-compressor/persisted-types/index.d.ts +6 -0
  354. package/lib/id-compressor/persisted-types/index.d.ts.map +1 -0
  355. package/lib/id-compressor/persisted-types/index.js +6 -0
  356. package/lib/id-compressor/persisted-types/index.js.map +1 -0
  357. package/lib/index.d.ts +29 -9
  358. package/lib/index.d.ts.map +1 -1
  359. package/lib/index.js +23 -6
  360. package/lib/index.js.map +1 -1
  361. package/lib/persisted-types/0.0.2.d.ts +385 -0
  362. package/lib/persisted-types/0.0.2.d.ts.map +1 -0
  363. package/lib/persisted-types/0.0.2.js +110 -0
  364. package/lib/persisted-types/0.0.2.js.map +1 -0
  365. package/lib/persisted-types/0.1.1.d.ts +314 -0
  366. package/lib/persisted-types/0.1.1.d.ts.map +1 -0
  367. package/lib/persisted-types/0.1.1.js +150 -0
  368. package/lib/persisted-types/0.1.1.js.map +1 -0
  369. package/lib/persisted-types/index.d.ts +7 -0
  370. package/lib/persisted-types/index.d.ts.map +1 -0
  371. package/lib/persisted-types/index.js +8 -0
  372. package/lib/persisted-types/index.js.map +1 -0
  373. package/lib/test/AppendOnlySortedMap.tests.d.ts +6 -0
  374. package/lib/test/AppendOnlySortedMap.tests.d.ts.map +1 -0
  375. package/lib/test/AppendOnlySortedMap.tests.js +169 -0
  376. package/lib/test/AppendOnlySortedMap.tests.js.map +1 -0
  377. package/lib/test/{SnapshotUtilities.tests.d.ts → ChangeCompression.tests.d.ts} +1 -1
  378. package/lib/test/ChangeCompression.tests.d.ts.map +1 -0
  379. package/lib/test/ChangeCompression.tests.js +145 -0
  380. package/lib/test/ChangeCompression.tests.js.map +1 -0
  381. package/lib/test/Checkout.tests.d.ts +2 -3
  382. package/lib/test/Checkout.tests.d.ts.map +1 -1
  383. package/lib/test/Checkout.tests.js +126 -69
  384. package/lib/test/Checkout.tests.js.map +1 -1
  385. package/lib/test/Common.tests.js +60 -2
  386. package/lib/test/Common.tests.js.map +1 -1
  387. package/lib/test/{BasicCheckout.tests.d.ts → EagerCheckout.tests.d.ts} +1 -1
  388. package/lib/test/EagerCheckout.tests.d.ts.map +1 -0
  389. package/lib/test/EagerCheckout.tests.js +20 -0
  390. package/lib/test/EagerCheckout.tests.js.map +1 -0
  391. package/lib/test/Edit.tests.js +22 -14
  392. package/lib/test/Edit.tests.js.map +1 -1
  393. package/lib/test/{Anchors.glassBox.tests.d.ts → EditLog.perf.tests.d.ts} +1 -1
  394. package/lib/test/EditLog.perf.tests.d.ts.map +1 -0
  395. package/lib/test/EditLog.perf.tests.js +30 -0
  396. package/lib/test/EditLog.perf.tests.js.map +1 -0
  397. package/lib/test/EditLog.tests.js +10 -6
  398. package/lib/test/EditLog.tests.js.map +1 -1
  399. package/lib/test/EditUtilities.tests.d.ts +6 -0
  400. package/lib/test/EditUtilities.tests.d.ts.map +1 -0
  401. package/lib/test/EditUtilities.tests.js +503 -0
  402. package/lib/test/EditUtilities.tests.js.map +1 -0
  403. package/lib/test/Forest.perf.tests.d.ts +6 -0
  404. package/lib/test/Forest.perf.tests.d.ts.map +1 -0
  405. package/lib/test/Forest.perf.tests.js +133 -0
  406. package/lib/test/Forest.perf.tests.js.map +1 -0
  407. package/lib/test/Forest.tests.js +54 -27
  408. package/lib/test/Forest.tests.js.map +1 -1
  409. package/lib/test/GenericTransaction.tests.js +12 -3
  410. package/lib/test/GenericTransaction.tests.js.map +1 -1
  411. package/lib/test/HistoryEditFactory.tests.d.ts +6 -0
  412. package/lib/test/HistoryEditFactory.tests.d.ts.map +1 -0
  413. package/lib/test/HistoryEditFactory.tests.js +90 -0
  414. package/lib/test/HistoryEditFactory.tests.js.map +1 -0
  415. package/lib/test/IdCompressor.perf.tests.d.ts +6 -0
  416. package/lib/test/IdCompressor.perf.tests.d.ts.map +1 -0
  417. package/lib/test/IdCompressor.perf.tests.js +304 -0
  418. package/lib/test/IdCompressor.perf.tests.js.map +1 -0
  419. package/lib/test/IdCompressor.tests.d.ts +6 -0
  420. package/lib/test/IdCompressor.tests.d.ts.map +1 -0
  421. package/lib/test/IdCompressor.tests.js +1075 -0
  422. package/lib/test/IdCompressor.tests.js.map +1 -0
  423. package/lib/test/IdConversion.tests.d.ts +6 -0
  424. package/lib/test/IdConversion.tests.d.ts.map +1 -0
  425. package/lib/test/IdConversion.tests.js +36 -0
  426. package/lib/test/IdConversion.tests.js.map +1 -0
  427. package/lib/test/LazyCheckout.tests.d.ts +6 -0
  428. package/lib/test/LazyCheckout.tests.d.ts.map +1 -0
  429. package/lib/test/LazyCheckout.tests.js +22 -0
  430. package/lib/test/LazyCheckout.tests.js.map +1 -0
  431. package/lib/test/LogViewer.tests.js +276 -191
  432. package/lib/test/LogViewer.tests.js.map +1 -1
  433. package/lib/test/{SharedTreeWithAnchors.tests.d.ts → MergeHealthTelemetryHeartbeat.tests.d.ts} +1 -1
  434. package/lib/test/MergeHealthTelemetryHeartbeat.tests.d.ts.map +1 -0
  435. package/lib/test/MergeHealthTelemetryHeartbeat.tests.js +342 -0
  436. package/lib/test/MergeHealthTelemetryHeartbeat.tests.js.map +1 -0
  437. package/lib/test/NumericUuid.perf.tests.d.ts +6 -0
  438. package/lib/test/NumericUuid.perf.tests.d.ts.map +1 -0
  439. package/lib/test/NumericUuid.perf.tests.js +68 -0
  440. package/lib/test/NumericUuid.perf.tests.js.map +1 -0
  441. package/lib/test/NumericUuid.tests.d.ts +6 -0
  442. package/lib/test/NumericUuid.tests.d.ts.map +1 -0
  443. package/lib/test/NumericUuid.tests.js +191 -0
  444. package/lib/test/NumericUuid.tests.js.map +1 -0
  445. package/lib/test/RevisionView.tests.d.ts +6 -0
  446. package/lib/test/RevisionView.tests.d.ts.map +1 -0
  447. package/lib/test/RevisionView.tests.js +133 -0
  448. package/lib/test/RevisionView.tests.js.map +1 -0
  449. package/lib/test/SharedTree.perf.tests.d.ts +6 -0
  450. package/lib/test/SharedTree.perf.tests.d.ts.map +1 -0
  451. package/lib/test/SharedTree.perf.tests.js +39 -0
  452. package/lib/test/SharedTree.perf.tests.js.map +1 -0
  453. package/lib/test/SharedTree.tests.js +15 -3
  454. package/lib/test/SharedTree.tests.js.map +1 -1
  455. package/lib/test/StringInterner.tests.d.ts +6 -0
  456. package/lib/test/StringInterner.tests.d.ts.map +1 -0
  457. package/lib/test/StringInterner.tests.js +71 -0
  458. package/lib/test/StringInterner.tests.js.map +1 -0
  459. package/lib/test/Summary.tests.d.ts +8 -0
  460. package/lib/test/Summary.tests.d.ts.map +1 -0
  461. package/lib/test/Summary.tests.js +407 -0
  462. package/lib/test/Summary.tests.js.map +1 -0
  463. package/lib/test/Transaction.tests.js +109 -329
  464. package/lib/test/Transaction.tests.js.map +1 -1
  465. package/lib/test/TransactionInternal.tests.d.ts +6 -0
  466. package/lib/test/TransactionInternal.tests.d.ts.map +1 -0
  467. package/lib/test/TransactionInternal.tests.js +568 -0
  468. package/lib/test/TransactionInternal.tests.js.map +1 -0
  469. package/lib/test/TreeCompression.tests.d.ts +6 -0
  470. package/lib/test/TreeCompression.tests.d.ts.map +1 -0
  471. package/lib/test/TreeCompression.tests.js +292 -0
  472. package/lib/test/TreeCompression.tests.js.map +1 -0
  473. package/lib/test/TreeView.tests.d.ts +6 -0
  474. package/lib/test/TreeView.tests.d.ts.map +1 -0
  475. package/lib/test/TreeView.tests.js +176 -0
  476. package/lib/test/TreeView.tests.js.map +1 -0
  477. package/lib/test/UndoRedoHandler.tests.js +2 -2
  478. package/lib/test/UndoRedoHandler.tests.js.map +1 -1
  479. package/lib/test/Virtualization.tests.js +146 -62
  480. package/lib/test/Virtualization.tests.js.map +1 -1
  481. package/lib/test/fuzz/Generators.d.ts +19 -0
  482. package/lib/test/fuzz/Generators.d.ts.map +1 -0
  483. package/lib/test/fuzz/Generators.js +420 -0
  484. package/lib/test/fuzz/Generators.js.map +1 -0
  485. package/lib/test/fuzz/SharedTreeFuzzTests.d.ts +20 -0
  486. package/lib/test/fuzz/SharedTreeFuzzTests.d.ts.map +1 -0
  487. package/lib/test/fuzz/SharedTreeFuzzTests.js +217 -0
  488. package/lib/test/fuzz/SharedTreeFuzzTests.js.map +1 -0
  489. package/lib/test/fuzz/Types.d.ts +133 -0
  490. package/lib/test/fuzz/Types.d.ts.map +1 -0
  491. package/lib/test/{GenericTransactionWithAnchors.tests.d.ts → fuzz/Types.js} +2 -2
  492. package/lib/test/fuzz/Types.js.map +1 -0
  493. package/lib/test/utilities/IdCompressorTestUtilities.d.ts +180 -0
  494. package/lib/test/utilities/IdCompressorTestUtilities.d.ts.map +1 -0
  495. package/lib/test/utilities/IdCompressorTestUtilities.js +528 -0
  496. package/lib/test/utilities/IdCompressorTestUtilities.js.map +1 -0
  497. package/lib/test/utilities/MockTransaction.d.ts +26 -7
  498. package/lib/test/utilities/MockTransaction.d.ts.map +1 -1
  499. package/lib/test/utilities/MockTransaction.js +40 -11
  500. package/lib/test/utilities/MockTransaction.js.map +1 -1
  501. package/lib/test/utilities/PendingLocalStateTests.d.ts +12 -0
  502. package/lib/test/utilities/PendingLocalStateTests.d.ts.map +1 -0
  503. package/lib/test/utilities/PendingLocalStateTests.js +105 -0
  504. package/lib/test/utilities/PendingLocalStateTests.js.map +1 -0
  505. package/lib/test/utilities/SharedTreeTests.d.ts +3 -4
  506. package/lib/test/utilities/SharedTreeTests.d.ts.map +1 -1
  507. package/lib/test/utilities/SharedTreeTests.js +696 -439
  508. package/lib/test/utilities/SharedTreeTests.js.map +1 -1
  509. package/lib/test/utilities/SharedTreeVersioningTests.d.ts +11 -0
  510. package/lib/test/utilities/SharedTreeVersioningTests.d.ts.map +1 -0
  511. package/lib/test/utilities/SharedTreeVersioningTests.js +370 -0
  512. package/lib/test/utilities/SharedTreeVersioningTests.js.map +1 -0
  513. package/lib/test/utilities/SummaryLoadPerfTests.d.ts +10 -0
  514. package/lib/test/utilities/SummaryLoadPerfTests.d.ts.map +1 -0
  515. package/lib/test/utilities/SummaryLoadPerfTests.js +102 -0
  516. package/lib/test/utilities/SummaryLoadPerfTests.js.map +1 -0
  517. package/lib/test/utilities/SummarySizeTests.d.ts +11 -0
  518. package/lib/test/utilities/SummarySizeTests.d.ts.map +1 -0
  519. package/lib/test/utilities/SummarySizeTests.js +158 -0
  520. package/lib/test/utilities/SummarySizeTests.js.map +1 -0
  521. package/lib/test/utilities/TestCommon.d.ts +9 -0
  522. package/lib/test/utilities/TestCommon.d.ts.map +1 -0
  523. package/lib/test/utilities/TestCommon.js +13 -0
  524. package/lib/test/utilities/TestCommon.js.map +1 -0
  525. package/lib/test/utilities/TestNode.d.ts +140 -0
  526. package/lib/test/utilities/TestNode.d.ts.map +1 -0
  527. package/lib/test/utilities/TestNode.js +292 -0
  528. package/lib/test/utilities/TestNode.js.map +1 -0
  529. package/lib/test/utilities/TestUtilities.d.ts +84 -70
  530. package/lib/test/utilities/TestUtilities.d.ts.map +1 -1
  531. package/lib/test/utilities/TestUtilities.js +218 -143
  532. package/lib/test/utilities/TestUtilities.js.map +1 -1
  533. package/lib/test/utilities/UndoRedoTests.d.ts +4 -5
  534. package/lib/test/utilities/UndoRedoTests.d.ts.map +1 -1
  535. package/lib/test/utilities/UndoRedoTests.js +138 -149
  536. package/lib/test/utilities/UndoRedoTests.js.map +1 -1
  537. package/package.json +22 -17
  538. package/src/ChangeCompression.ts +159 -0
  539. package/src/{default-edits/PersistedTypes.ts → ChangeTypes.ts} +62 -125
  540. package/src/Checkout.ts +82 -53
  541. package/src/Common.ts +317 -117
  542. package/src/EagerCheckout.ts +38 -0
  543. package/src/EditLog.ts +153 -100
  544. package/src/EditUtilities.ts +559 -0
  545. package/src/EventTypes.ts +74 -0
  546. package/src/Forest.ts +81 -73
  547. package/src/{default-edits/HistoryEditFactory.ts → HistoryEditFactory.ts} +103 -53
  548. package/src/IdConversion.ts +125 -0
  549. package/src/Identifiers.ts +101 -1
  550. package/src/InitialTree.ts +5 -4
  551. package/src/LazyCheckout.ts +51 -0
  552. package/src/LogViewer.ts +242 -166
  553. package/src/MergeHealth.ts +447 -0
  554. package/src/NodeIdUtilities.ts +156 -0
  555. package/src/PayloadUtilities.ts +124 -0
  556. package/src/ReconciliationPath.ts +18 -13
  557. package/src/RevisionValueCache.ts +14 -5
  558. package/src/RevisionView.ts +252 -0
  559. package/src/SerializationUtilities.ts +130 -0
  560. package/src/SharedTree.ts +1501 -0
  561. package/src/SharedTreeEncoder.ts +493 -0
  562. package/src/StringInterner.ts +72 -0
  563. package/src/Summary.ts +48 -0
  564. package/src/SummaryBackCompatibility.ts +47 -57
  565. package/src/SummaryTestUtilities.ts +54 -0
  566. package/src/Transaction.ts +120 -0
  567. package/src/TransactionInternal.ts +1087 -0
  568. package/src/TreeCompressor.ts +213 -0
  569. package/src/TreeNodeHandle.ts +19 -32
  570. package/src/TreeView.ts +322 -0
  571. package/src/TreeViewUtilities.ts +77 -0
  572. package/src/{default-edits/UndoRedoHandler.ts → UndoRedoHandler.ts} +8 -13
  573. package/src/id-compressor/AppendOnlySortedMap.ts +325 -0
  574. package/src/id-compressor/IdCompressor.md +3 -0
  575. package/src/id-compressor/IdCompressor.ts +1848 -0
  576. package/src/id-compressor/IdRange.ts +33 -0
  577. package/src/id-compressor/NumericUuid.ts +414 -0
  578. package/src/id-compressor/index.ts +13 -0
  579. package/src/id-compressor/persisted-types/0.0.1.ts +179 -0
  580. package/src/id-compressor/persisted-types/README.md +3 -0
  581. package/src/id-compressor/persisted-types/index.ts +6 -0
  582. package/src/index.ts +118 -59
  583. package/src/persisted-types/0.0.2.ts +442 -0
  584. package/src/persisted-types/0.1.1.ts +476 -0
  585. package/src/persisted-types/README.md +22 -0
  586. package/src/persisted-types/index.ts +9 -0
  587. package/.mocharc.js +0 -41
  588. package/api/tree.api.md +0 -729
  589. package/dist/BasicCheckout.d.ts +0 -23
  590. package/dist/BasicCheckout.d.ts.map +0 -1
  591. package/dist/BasicCheckout.js.map +0 -1
  592. package/dist/Snapshot.d.ts +0 -198
  593. package/dist/Snapshot.d.ts.map +0 -1
  594. package/dist/Snapshot.js +0 -267
  595. package/dist/Snapshot.js.map +0 -1
  596. package/dist/SnapshotUtilities.d.ts +0 -29
  597. package/dist/SnapshotUtilities.d.ts.map +0 -1
  598. package/dist/SnapshotUtilities.js +0 -73
  599. package/dist/SnapshotUtilities.js.map +0 -1
  600. package/dist/anchored-edits/AnchorResolution.d.ts +0 -144
  601. package/dist/anchored-edits/AnchorResolution.d.ts.map +0 -1
  602. package/dist/anchored-edits/AnchorResolution.js +0 -162
  603. package/dist/anchored-edits/AnchorResolution.js.map +0 -1
  604. package/dist/anchored-edits/Factory.d.ts +0 -56
  605. package/dist/anchored-edits/Factory.d.ts.map +0 -1
  606. package/dist/anchored-edits/Factory.js +0 -79
  607. package/dist/anchored-edits/Factory.js.map +0 -1
  608. package/dist/anchored-edits/PersistedTypes.d.ts +0 -245
  609. package/dist/anchored-edits/PersistedTypes.d.ts.map +0 -1
  610. package/dist/anchored-edits/PersistedTypes.js +0 -131
  611. package/dist/anchored-edits/PersistedTypes.js.map +0 -1
  612. package/dist/anchored-edits/SharedTreeWithAnchors.d.ts +0 -120
  613. package/dist/anchored-edits/SharedTreeWithAnchors.d.ts.map +0 -1
  614. package/dist/anchored-edits/SharedTreeWithAnchors.js +0 -115
  615. package/dist/anchored-edits/SharedTreeWithAnchors.js.map +0 -1
  616. package/dist/anchored-edits/TransactionWithAnchors.d.ts +0 -28
  617. package/dist/anchored-edits/TransactionWithAnchors.d.ts.map +0 -1
  618. package/dist/anchored-edits/TransactionWithAnchors.js +0 -36
  619. package/dist/anchored-edits/TransactionWithAnchors.js.map +0 -1
  620. package/dist/anchored-edits/index.d.ts +0 -10
  621. package/dist/anchored-edits/index.d.ts.map +0 -1
  622. package/dist/anchored-edits/index.js +0 -34
  623. package/dist/anchored-edits/index.js.map +0 -1
  624. package/dist/default-edits/EditUtilities.d.ts +0 -57
  625. package/dist/default-edits/EditUtilities.d.ts.map +0 -1
  626. package/dist/default-edits/EditUtilities.js +0 -192
  627. package/dist/default-edits/EditUtilities.js.map +0 -1
  628. package/dist/default-edits/Factory.d.ts +0 -56
  629. package/dist/default-edits/Factory.d.ts.map +0 -1
  630. package/dist/default-edits/Factory.js +0 -79
  631. package/dist/default-edits/Factory.js.map +0 -1
  632. package/dist/default-edits/HistoryEditFactory.d.ts +0 -19
  633. package/dist/default-edits/HistoryEditFactory.d.ts.map +0 -1
  634. package/dist/default-edits/HistoryEditFactory.js +0 -187
  635. package/dist/default-edits/HistoryEditFactory.js.map +0 -1
  636. package/dist/default-edits/PersistedTypes.d.ts.map +0 -1
  637. package/dist/default-edits/PersistedTypes.js.map +0 -1
  638. package/dist/default-edits/SharedTree.d.ts +0 -111
  639. package/dist/default-edits/SharedTree.d.ts.map +0 -1
  640. package/dist/default-edits/SharedTree.js +0 -124
  641. package/dist/default-edits/SharedTree.js.map +0 -1
  642. package/dist/default-edits/Summary.d.ts +0 -15
  643. package/dist/default-edits/Summary.d.ts.map +0 -1
  644. package/dist/default-edits/Summary.js +0 -35
  645. package/dist/default-edits/Summary.js.map +0 -1
  646. package/dist/default-edits/Transaction.d.ts +0 -41
  647. package/dist/default-edits/Transaction.d.ts.map +0 -1
  648. package/dist/default-edits/Transaction.js +0 -225
  649. package/dist/default-edits/Transaction.js.map +0 -1
  650. package/dist/default-edits/UndoRedoHandler.d.ts.map +0 -1
  651. package/dist/default-edits/UndoRedoHandler.js.map +0 -1
  652. package/dist/default-edits/index.d.ts +0 -13
  653. package/dist/default-edits/index.d.ts.map +0 -1
  654. package/dist/default-edits/index.js +0 -41
  655. package/dist/default-edits/index.js.map +0 -1
  656. package/dist/generic/GenericEditUtilities.d.ts +0 -26
  657. package/dist/generic/GenericEditUtilities.d.ts.map +0 -1
  658. package/dist/generic/GenericEditUtilities.js +0 -45
  659. package/dist/generic/GenericEditUtilities.js.map +0 -1
  660. package/dist/generic/GenericSharedTree.d.ts +0 -221
  661. package/dist/generic/GenericSharedTree.d.ts.map +0 -1
  662. package/dist/generic/GenericSharedTree.js +0 -447
  663. package/dist/generic/GenericSharedTree.js.map +0 -1
  664. package/dist/generic/GenericTransaction.d.ts +0 -87
  665. package/dist/generic/GenericTransaction.d.ts.map +0 -1
  666. package/dist/generic/GenericTransaction.js +0 -144
  667. package/dist/generic/GenericTransaction.js.map +0 -1
  668. package/dist/generic/PersistedTypes.d.ts +0 -194
  669. package/dist/generic/PersistedTypes.d.ts.map +0 -1
  670. package/dist/generic/PersistedTypes.js +0 -42
  671. package/dist/generic/PersistedTypes.js.map +0 -1
  672. package/dist/generic/Summary.d.ts +0 -63
  673. package/dist/generic/Summary.d.ts.map +0 -1
  674. package/dist/generic/Summary.js +0 -64
  675. package/dist/generic/Summary.js.map +0 -1
  676. package/dist/generic/index.d.ts +0 -10
  677. package/dist/generic/index.d.ts.map +0 -1
  678. package/dist/generic/index.js +0 -26
  679. package/dist/generic/index.js.map +0 -1
  680. package/docs/Future.md +0 -155
  681. package/lib/BasicCheckout.d.ts +0 -23
  682. package/lib/BasicCheckout.d.ts.map +0 -1
  683. package/lib/BasicCheckout.js.map +0 -1
  684. package/lib/Snapshot.d.ts +0 -198
  685. package/lib/Snapshot.d.ts.map +0 -1
  686. package/lib/Snapshot.js +0 -263
  687. package/lib/Snapshot.js.map +0 -1
  688. package/lib/SnapshotUtilities.d.ts +0 -29
  689. package/lib/SnapshotUtilities.d.ts.map +0 -1
  690. package/lib/SnapshotUtilities.js +0 -67
  691. package/lib/SnapshotUtilities.js.map +0 -1
  692. package/lib/anchored-edits/AnchorResolution.d.ts +0 -144
  693. package/lib/anchored-edits/AnchorResolution.d.ts.map +0 -1
  694. package/lib/anchored-edits/AnchorResolution.js +0 -152
  695. package/lib/anchored-edits/AnchorResolution.js.map +0 -1
  696. package/lib/anchored-edits/Factory.d.ts +0 -56
  697. package/lib/anchored-edits/Factory.d.ts.map +0 -1
  698. package/lib/anchored-edits/Factory.js +0 -74
  699. package/lib/anchored-edits/Factory.js.map +0 -1
  700. package/lib/anchored-edits/PersistedTypes.d.ts +0 -245
  701. package/lib/anchored-edits/PersistedTypes.d.ts.map +0 -1
  702. package/lib/anchored-edits/PersistedTypes.js +0 -128
  703. package/lib/anchored-edits/PersistedTypes.js.map +0 -1
  704. package/lib/anchored-edits/SharedTreeWithAnchors.d.ts +0 -120
  705. package/lib/anchored-edits/SharedTreeWithAnchors.d.ts.map +0 -1
  706. package/lib/anchored-edits/SharedTreeWithAnchors.js +0 -110
  707. package/lib/anchored-edits/SharedTreeWithAnchors.js.map +0 -1
  708. package/lib/anchored-edits/TransactionWithAnchors.d.ts +0 -28
  709. package/lib/anchored-edits/TransactionWithAnchors.d.ts.map +0 -1
  710. package/lib/anchored-edits/TransactionWithAnchors.js +0 -32
  711. package/lib/anchored-edits/TransactionWithAnchors.js.map +0 -1
  712. package/lib/anchored-edits/index.d.ts +0 -10
  713. package/lib/anchored-edits/index.d.ts.map +0 -1
  714. package/lib/anchored-edits/index.js +0 -11
  715. package/lib/anchored-edits/index.js.map +0 -1
  716. package/lib/default-edits/EditUtilities.d.ts +0 -57
  717. package/lib/default-edits/EditUtilities.d.ts.map +0 -1
  718. package/lib/default-edits/EditUtilities.js +0 -181
  719. package/lib/default-edits/EditUtilities.js.map +0 -1
  720. package/lib/default-edits/Factory.d.ts +0 -56
  721. package/lib/default-edits/Factory.d.ts.map +0 -1
  722. package/lib/default-edits/Factory.js +0 -74
  723. package/lib/default-edits/Factory.js.map +0 -1
  724. package/lib/default-edits/HistoryEditFactory.d.ts +0 -19
  725. package/lib/default-edits/HistoryEditFactory.d.ts.map +0 -1
  726. package/lib/default-edits/HistoryEditFactory.js.map +0 -1
  727. package/lib/default-edits/PersistedTypes.d.ts.map +0 -1
  728. package/lib/default-edits/PersistedTypes.js.map +0 -1
  729. package/lib/default-edits/SharedTree.d.ts +0 -111
  730. package/lib/default-edits/SharedTree.d.ts.map +0 -1
  731. package/lib/default-edits/SharedTree.js +0 -100
  732. package/lib/default-edits/SharedTree.js.map +0 -1
  733. package/lib/default-edits/Summary.d.ts +0 -15
  734. package/lib/default-edits/Summary.d.ts.map +0 -1
  735. package/lib/default-edits/Summary.js +0 -31
  736. package/lib/default-edits/Summary.js.map +0 -1
  737. package/lib/default-edits/Transaction.d.ts +0 -41
  738. package/lib/default-edits/Transaction.d.ts.map +0 -1
  739. package/lib/default-edits/Transaction.js +0 -221
  740. package/lib/default-edits/Transaction.js.map +0 -1
  741. package/lib/default-edits/UndoRedoHandler.d.ts.map +0 -1
  742. package/lib/default-edits/UndoRedoHandler.js.map +0 -1
  743. package/lib/default-edits/index.d.ts +0 -13
  744. package/lib/default-edits/index.d.ts.map +0 -1
  745. package/lib/default-edits/index.js +0 -14
  746. package/lib/default-edits/index.js.map +0 -1
  747. package/lib/generic/GenericEditUtilities.d.ts +0 -26
  748. package/lib/generic/GenericEditUtilities.d.ts.map +0 -1
  749. package/lib/generic/GenericEditUtilities.js +0 -38
  750. package/lib/generic/GenericEditUtilities.js.map +0 -1
  751. package/lib/generic/GenericSharedTree.d.ts +0 -221
  752. package/lib/generic/GenericSharedTree.d.ts.map +0 -1
  753. package/lib/generic/GenericSharedTree.js +0 -443
  754. package/lib/generic/GenericSharedTree.js.map +0 -1
  755. package/lib/generic/GenericTransaction.d.ts +0 -87
  756. package/lib/generic/GenericTransaction.d.ts.map +0 -1
  757. package/lib/generic/GenericTransaction.js +0 -140
  758. package/lib/generic/GenericTransaction.js.map +0 -1
  759. package/lib/generic/PersistedTypes.d.ts +0 -194
  760. package/lib/generic/PersistedTypes.d.ts.map +0 -1
  761. package/lib/generic/PersistedTypes.js +0 -39
  762. package/lib/generic/PersistedTypes.js.map +0 -1
  763. package/lib/generic/Summary.d.ts +0 -63
  764. package/lib/generic/Summary.d.ts.map +0 -1
  765. package/lib/generic/Summary.js +0 -58
  766. package/lib/generic/Summary.js.map +0 -1
  767. package/lib/generic/index.d.ts +0 -10
  768. package/lib/generic/index.d.ts.map +0 -1
  769. package/lib/generic/index.js +0 -11
  770. package/lib/generic/index.js.map +0 -1
  771. package/lib/test/Anchors.glassBox.tests.d.ts.map +0 -1
  772. package/lib/test/Anchors.glassBox.tests.js +0 -410
  773. package/lib/test/Anchors.glassBox.tests.js.map +0 -1
  774. package/lib/test/BasicCheckout.tests.d.ts.map +0 -1
  775. package/lib/test/BasicCheckout.tests.js +0 -8
  776. package/lib/test/BasicCheckout.tests.js.map +0 -1
  777. package/lib/test/GenericTransactionWithAnchors.tests.d.ts.map +0 -1
  778. package/lib/test/GenericTransactionWithAnchors.tests.js +0 -25
  779. package/lib/test/GenericTransactionWithAnchors.tests.js.map +0 -1
  780. package/lib/test/SharedTreeWithAnchors.tests.d.ts.map +0 -1
  781. package/lib/test/SharedTreeWithAnchors.tests.js +0 -420
  782. package/lib/test/SharedTreeWithAnchors.tests.js.map +0 -1
  783. package/lib/test/Snapshot.tests.d.ts.map +0 -1
  784. package/lib/test/Snapshot.tests.js +0 -96
  785. package/lib/test/Snapshot.tests.js.map +0 -1
  786. package/lib/test/SnapshotUtilities.tests.d.ts.map +0 -1
  787. package/lib/test/SnapshotUtilities.tests.js +0 -168
  788. package/lib/test/SnapshotUtilities.tests.js.map +0 -1
  789. package/lib/test/undoRedoStackManager.d.ts +0 -26
  790. package/lib/test/undoRedoStackManager.d.ts.map +0 -1
  791. package/lib/test/undoRedoStackManager.js +0 -176
  792. package/lib/test/undoRedoStackManager.js.map +0 -1
  793. package/lib/test/utilities/SummaryFormatCompatibilityTests.d.ts +0 -13
  794. package/lib/test/utilities/SummaryFormatCompatibilityTests.d.ts.map +0 -1
  795. package/lib/test/utilities/SummaryFormatCompatibilityTests.js +0 -154
  796. package/lib/test/utilities/SummaryFormatCompatibilityTests.js.map +0 -1
  797. package/src/BasicCheckout.ts +0 -34
  798. package/src/Snapshot.ts +0 -363
  799. package/src/SnapshotUtilities.ts +0 -88
  800. package/src/anchored-edits/AnchorResolution.ts +0 -442
  801. package/src/anchored-edits/Factory.ts +0 -94
  802. package/src/anchored-edits/PersistedTypes.ts +0 -310
  803. package/src/anchored-edits/SharedTreeWithAnchors.ts +0 -200
  804. package/src/anchored-edits/TransactionWithAnchors.ts +0 -39
  805. package/src/anchored-edits/index.ts +0 -21
  806. package/src/default-edits/EditUtilities.ts +0 -220
  807. package/src/default-edits/Factory.ts +0 -94
  808. package/src/default-edits/SharedTree.ts +0 -174
  809. package/src/default-edits/Summary.ts +0 -44
  810. package/src/default-edits/Transaction.ts +0 -262
  811. package/src/default-edits/index.ts +0 -29
  812. package/src/generic/GenericEditUtilities.ts +0 -46
  813. package/src/generic/GenericSharedTree.ts +0 -593
  814. package/src/generic/GenericTransaction.ts +0 -194
  815. package/src/generic/PersistedTypes.ts +0 -221
  816. package/src/generic/Summary.ts +0 -113
  817. package/src/generic/index.ts +0 -41
@@ -1,63 +0,0 @@
1
- /*!
2
- * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
- * Licensed under the MIT License.
4
- */
5
- import { IFluidHandle } from '@fluidframework/core-interfaces';
6
- import { IFluidSerializer } from '@fluidframework/shared-object-base';
7
- import { EditLogSummary, OrderedEditSet } from '../EditLog';
8
- import { Snapshot } from '../Snapshot';
9
- import { SharedTreeSummary_0_0_2 } from '../SummaryBackCompatibility';
10
- import { ChangeNode } from './PersistedTypes';
11
- /**
12
- * Format version for summaries that are written.
13
- * When next changing the format, we should add a new format version variable for the edit-specific summaries and assign it an independent
14
- * version number.
15
- */
16
- export declare const formatVersion = "0.0.2";
17
- /**
18
- * Handler for summarizing the tree state.
19
- * The handler is invoked when saving a summary. It accepts a view of the current state of the tree, the sequenced edits known
20
- * to the SharedTree, and optional helpers for serializing the edit information.
21
- * @returns a summary of the supplied state.
22
- * @internal
23
- */
24
- export declare type SharedTreeSummarizer<TChange> = (editLog: OrderedEditSet<TChange>, currentView: Snapshot) => SharedTreeSummaryBase;
25
- /**
26
- * The minimal information on a SharedTree summary. Contains the summary format version.
27
- */
28
- export interface SharedTreeSummaryBase {
29
- /**
30
- * Field on summary under which version is stored.
31
- */
32
- readonly version: string;
33
- }
34
- /**
35
- * The contents of a SharedTree summary: the current tree, and the edits needed to get from `initialTree` to the current tree.
36
- * @public
37
- */
38
- export interface SharedTreeSummary<TChange> extends SharedTreeSummaryBase {
39
- readonly currentTree: ChangeNode;
40
- /**
41
- * Information that can populate an edit log.
42
- */
43
- readonly editHistory?: EditLogSummary<TChange>;
44
- }
45
- /**
46
- * Serializes a SharedTree summary into a JSON string. This may later be used to initialize a SharedTree's state via `deserialize()`
47
- * Also replaces handle objects with their serialized form.
48
- *
49
- * @param summary - The SharedTree summary to serialize.
50
- * @param serializer - The serializer required to serialize handles in the summary.
51
- * @param bind - The object handle required to serialize handles in the summary
52
- */
53
- export declare function serialize(summary: SharedTreeSummaryBase, serializer: IFluidSerializer, bind: IFluidHandle): string;
54
- /**
55
- * Preserves the full history in the generated summary.
56
- * @public
57
- */
58
- export declare function fullHistorySummarizer<TChange>(editLog: OrderedEditSet<TChange>, currentView: Snapshot): SharedTreeSummary_0_0_2<TChange>;
59
- /**
60
- * Generates a summary with format version 0.1.0. This will prefer handles over edits in edit chunks where possible.
61
- */
62
- export declare function fullHistorySummarizer_0_1_0<TChange>(editLog: OrderedEditSet<TChange>, currentView: Snapshot): SharedTreeSummary<TChange>;
63
- //# sourceMappingURL=Summary.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Summary.d.ts","sourceRoot":"","sources":["../../src/generic/Summary.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAoB,MAAM,oCAAoC,CAAC;AAExF,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAqB,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACzF,OAAO,EAAE,UAAU,EAAQ,MAAM,kBAAkB,CAAC;AAEpD;;;;GAIG;AACH,eAAO,MAAM,aAAa,UAAU,CAAC;AAErC;;;;;;GAMG;AACH,oBAAY,oBAAoB,CAAC,OAAO,IAAI,CAC3C,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,EAChC,WAAW,EAAE,QAAQ,KACjB,qBAAqB,CAAC;AAE3B;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB,CAAC,OAAO,CAAE,SAAQ,qBAAqB;IACxE,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;CAC/C;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,YAAY,GAAG,MAAM,CAElH;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAC5C,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,EAChC,WAAW,EAAE,QAAQ,GACnB,uBAAuB,CAAC,OAAO,CAAC,CAwBlC;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAClD,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,EAChC,WAAW,EAAE,QAAQ,GACnB,iBAAiB,CAAC,OAAO,CAAC,CAM5B"}
@@ -1,58 +0,0 @@
1
- /*!
2
- * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
- * Licensed under the MIT License.
4
- */
5
- import { serializeHandles } from '@fluidframework/shared-object-base';
6
- import { assert, assertNotUndefined } from '../Common';
7
- import { readFormatVersion } from '../SummaryBackCompatibility';
8
- /**
9
- * Format version for summaries that are written.
10
- * When next changing the format, we should add a new format version variable for the edit-specific summaries and assign it an independent
11
- * version number.
12
- */
13
- export const formatVersion = '0.0.2';
14
- /**
15
- * Serializes a SharedTree summary into a JSON string. This may later be used to initialize a SharedTree's state via `deserialize()`
16
- * Also replaces handle objects with their serialized form.
17
- *
18
- * @param summary - The SharedTree summary to serialize.
19
- * @param serializer - The serializer required to serialize handles in the summary.
20
- * @param bind - The object handle required to serialize handles in the summary
21
- */
22
- export function serialize(summary, serializer, bind) {
23
- return assertNotUndefined(serializeHandles(summary, serializer, bind));
24
- }
25
- /**
26
- * Preserves the full history in the generated summary.
27
- * @public
28
- */
29
- export function fullHistorySummarizer(editLog, currentView) {
30
- const { editChunks, editIds } = editLog.getEditLogSummary();
31
- const sequencedEdits = [];
32
- let idIndex = 0;
33
- editChunks.forEach(({ chunk }) => {
34
- assert(Array.isArray(chunk), 'Handles should not be included in the summary until format version 0.1.0 is being written.');
35
- chunk.forEach(({ changes }) => {
36
- sequencedEdits.push({
37
- changes,
38
- id: assertNotUndefined(editIds[idIndex++], 'Number of edits should match number of edit IDs.'),
39
- });
40
- });
41
- });
42
- return {
43
- currentTree: currentView.getChangeNodeTree(),
44
- sequencedEdits,
45
- version: formatVersion,
46
- };
47
- }
48
- /**
49
- * Generates a summary with format version 0.1.0. This will prefer handles over edits in edit chunks where possible.
50
- */
51
- export function fullHistorySummarizer_0_1_0(editLog, currentView) {
52
- return {
53
- currentTree: currentView.getChangeNodeTree(),
54
- editHistory: editLog.getEditLogSummary(true),
55
- version: readFormatVersion,
56
- };
57
- }
58
- //# sourceMappingURL=Summary.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Summary.js","sourceRoot":"","sources":["../../src/generic/Summary.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAoB,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACxF,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAGvD,OAAO,EAAE,iBAAiB,EAA2B,MAAM,6BAA6B,CAAC;AAGzF;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC;AAqCrC;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CAAC,OAA8B,EAAE,UAA4B,EAAE,IAAkB;IACzG,OAAO,kBAAkB,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;AACxE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACpC,OAAgC,EAChC,WAAqB;IAErB,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAE5D,MAAM,cAAc,GAAoB,EAAE,CAAC;IAC3C,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QAChC,MAAM,CACL,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EACpB,4FAA4F,CAC5F,CAAC;QAEF,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;YAC7B,cAAc,CAAC,IAAI,CAAC;gBACnB,OAAO;gBACP,EAAE,EAAE,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,kDAAkD,CAAC;aAC9F,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO;QACN,WAAW,EAAE,WAAW,CAAC,iBAAiB,EAAE;QAC5C,cAAc;QACd,OAAO,EAAE,aAAa;KACtB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAC1C,OAAgC,EAChC,WAAqB;IAErB,OAAO;QACN,WAAW,EAAE,WAAW,CAAC,iBAAiB,EAAE;QAC5C,WAAW,EAAE,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC;QAC5C,OAAO,EAAE,iBAAiB;KAC1B,CAAC;AACH,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IFluidHandle } from '@fluidframework/core-interfaces';\nimport { IFluidSerializer, serializeHandles } from '@fluidframework/shared-object-base';\nimport { assert, assertNotUndefined } from '../Common';\nimport { EditLogSummary, OrderedEditSet } from '../EditLog';\nimport { Snapshot } from '../Snapshot';\nimport { readFormatVersion, SharedTreeSummary_0_0_2 } from '../SummaryBackCompatibility';\nimport { ChangeNode, Edit } from './PersistedTypes';\n\n/**\n * Format version for summaries that are written.\n * When next changing the format, we should add a new format version variable for the edit-specific summaries and assign it an independent\n * version number.\n */\nexport const formatVersion = '0.0.2';\n\n/**\n * Handler for summarizing the tree state.\n * The handler is invoked when saving a summary. It accepts a view of the current state of the tree, the sequenced edits known\n * to the SharedTree, and optional helpers for serializing the edit information.\n * @returns a summary of the supplied state.\n * @internal\n */\nexport type SharedTreeSummarizer<TChange> = (\n\teditLog: OrderedEditSet<TChange>,\n\tcurrentView: Snapshot\n) => SharedTreeSummaryBase;\n\n/**\n * The minimal information on a SharedTree summary. Contains the summary format version.\n */\nexport interface SharedTreeSummaryBase {\n\t/**\n\t * Field on summary under which version is stored.\n\t */\n\treadonly version: string;\n}\n\n/**\n * The contents of a SharedTree summary: the current tree, and the edits needed to get from `initialTree` to the current tree.\n * @public\n */\nexport interface SharedTreeSummary<TChange> extends SharedTreeSummaryBase {\n\treadonly currentTree: ChangeNode;\n\n\t/**\n\t * Information that can populate an edit log.\n\t */\n\treadonly editHistory?: EditLogSummary<TChange>;\n}\n\n/**\n * Serializes a SharedTree summary into a JSON string. This may later be used to initialize a SharedTree's state via `deserialize()`\n * Also replaces handle objects with their serialized form.\n *\n * @param summary - The SharedTree summary to serialize.\n * @param serializer - The serializer required to serialize handles in the summary.\n * @param bind - The object handle required to serialize handles in the summary\n */\nexport function serialize(summary: SharedTreeSummaryBase, serializer: IFluidSerializer, bind: IFluidHandle): string {\n\treturn assertNotUndefined(serializeHandles(summary, serializer, bind));\n}\n\n/**\n * Preserves the full history in the generated summary.\n * @public\n */\nexport function fullHistorySummarizer<TChange>(\n\teditLog: OrderedEditSet<TChange>,\n\tcurrentView: Snapshot\n): SharedTreeSummary_0_0_2<TChange> {\n\tconst { editChunks, editIds } = editLog.getEditLogSummary();\n\n\tconst sequencedEdits: Edit<TChange>[] = [];\n\tlet idIndex = 0;\n\teditChunks.forEach(({ chunk }) => {\n\t\tassert(\n\t\t\tArray.isArray(chunk),\n\t\t\t'Handles should not be included in the summary until format version 0.1.0 is being written.'\n\t\t);\n\n\t\tchunk.forEach(({ changes }) => {\n\t\t\tsequencedEdits.push({\n\t\t\t\tchanges,\n\t\t\t\tid: assertNotUndefined(editIds[idIndex++], 'Number of edits should match number of edit IDs.'),\n\t\t\t});\n\t\t});\n\t});\n\n\treturn {\n\t\tcurrentTree: currentView.getChangeNodeTree(),\n\t\tsequencedEdits,\n\t\tversion: formatVersion,\n\t};\n}\n\n/**\n * Generates a summary with format version 0.1.0. This will prefer handles over edits in edit chunks where possible.\n */\nexport function fullHistorySummarizer_0_1_0<TChange>(\n\teditLog: OrderedEditSet<TChange>,\n\tcurrentView: Snapshot\n): SharedTreeSummary<TChange> {\n\treturn {\n\t\tcurrentTree: currentView.getChangeNodeTree(),\n\t\teditHistory: editLog.getEditLogSummary(true),\n\t\tversion: readFormatVersion,\n\t};\n}\n"]}
@@ -1,10 +0,0 @@
1
- /*!
2
- * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
- * Licensed under the MIT License.
4
- */
5
- export { EditCommittedHandler, EditCommittedEventArguments, ISharedTreeEvents, GenericSharedTree, SharedTreeEvent, SharedTreeDiagnosticEvent, } from './GenericSharedTree';
6
- export { Edit, EditWithoutId, EditBase, TraitMap, TreeNodeSequence, Payload, NodeData, TreeNode, ChangeNode, BuildNode, EditStatus, TraitLocation, SharedTreeOpType, } from './PersistedTypes';
7
- export { newEdit, newEditId } from './GenericEditUtilities';
8
- export { GenericTransaction, EditingResult, ValidEditingResult } from './GenericTransaction';
9
- export { SharedTreeSummary, SharedTreeSummaryBase, SharedTreeSummarizer, fullHistorySummarizer, fullHistorySummarizer_0_1_0, formatVersion, serialize, } from './Summary';
10
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generic/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EACN,oBAAoB,EACpB,2BAA2B,EAC3B,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,yBAAyB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACN,IAAI,EACJ,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,SAAS,EACT,UAAU,EACV,aAAa,EACb,gBAAgB,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EACN,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,2BAA2B,EAC3B,aAAa,EACb,SAAS,GACT,MAAM,WAAW,CAAC"}
@@ -1,11 +0,0 @@
1
- /*!
2
- * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
- * Licensed under the MIT License.
4
- */
5
- // API Exports
6
- export { GenericSharedTree, SharedTreeEvent, SharedTreeDiagnosticEvent, } from './GenericSharedTree';
7
- export { EditStatus, SharedTreeOpType, } from './PersistedTypes';
8
- export { newEdit, newEditId } from './GenericEditUtilities';
9
- export { GenericTransaction } from './GenericTransaction';
10
- export { fullHistorySummarizer, fullHistorySummarizer_0_1_0, formatVersion, serialize, } from './Summary';
11
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generic/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc;AAEd,OAAO,EAIN,iBAAiB,EACjB,eAAe,EACf,yBAAyB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAWN,UAAU,EAEV,gBAAgB,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAqC,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EAIN,qBAAqB,EACrB,2BAA2B,EAC3B,aAAa,EACb,SAAS,GACT,MAAM,WAAW,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n// API Exports\n\nexport {\n\tEditCommittedHandler,\n\tEditCommittedEventArguments,\n\tISharedTreeEvents,\n\tGenericSharedTree,\n\tSharedTreeEvent,\n\tSharedTreeDiagnosticEvent,\n} from './GenericSharedTree';\nexport {\n\tEdit,\n\tEditWithoutId,\n\tEditBase,\n\tTraitMap,\n\tTreeNodeSequence,\n\tPayload,\n\tNodeData,\n\tTreeNode,\n\tChangeNode,\n\tBuildNode,\n\tEditStatus,\n\tTraitLocation,\n\tSharedTreeOpType,\n} from './PersistedTypes';\nexport { newEdit, newEditId } from './GenericEditUtilities';\nexport { GenericTransaction, EditingResult, ValidEditingResult } from './GenericTransaction';\nexport {\n\tSharedTreeSummary,\n\tSharedTreeSummaryBase,\n\tSharedTreeSummarizer,\n\tfullHistorySummarizer,\n\tfullHistorySummarizer_0_1_0,\n\tformatVersion,\n\tserialize,\n} from './Summary';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Anchors.glassBox.tests.d.ts","sourceRoot":"","sources":["../../src/test/Anchors.glassBox.tests.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -1,410 +0,0 @@
1
- /*!
2
- * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
- * Licensed under the MIT License.
4
- */
5
- import { expect } from 'chai';
6
- import { StablePlace, ConstraintEffect } from '../default-edits';
7
- import { AnchoredChange, PlaceAnchor, PlaceAnchorSemanticsChoice, RangeAnchor, resolveChangeAnchors, findLastOffendingChange, resolveNodeAnchor, resolvePlaceAnchor, resolveRangeAnchor, updateRelativePlaceAnchorForChange, updateRelativePlaceAnchorForPath, } from '../anchored-edits';
8
- import { assert, fail } from '../Common';
9
- import { Side, Snapshot } from '../Snapshot';
10
- import { EditValidationResult } from '../Checkout';
11
- import { makeEmptyNode, leftTraitLabel, rightTraitLabel } from './utilities/TestUtilities';
12
- const left = makeEmptyNode('left');
13
- const priorSibling = makeEmptyNode('prior');
14
- const nextSibling = makeEmptyNode('next');
15
- const right = makeEmptyNode('right');
16
- const parent = Object.assign(Object.assign({}, makeEmptyNode('parent')), { traits: { [leftTraitLabel]: [left], [rightTraitLabel]: [right] } });
17
- const initialTree = Object.assign(Object.assign({}, makeEmptyNode('root')), { traits: {
18
- parentTraitLabel: [parent],
19
- } });
20
- const leftTraitLocation = {
21
- parent: parent.identifier,
22
- label: leftTraitLabel,
23
- };
24
- const startPlace = StablePlace.atStartOf(leftTraitLocation);
25
- const endPlace = StablePlace.atEndOf(leftTraitLocation);
26
- const beforePlace = StablePlace.before(left);
27
- const afterPlace = StablePlace.after(left);
28
- const startAnchor = PlaceAnchor.atStartOf(leftTraitLocation, PlaceAnchorSemanticsChoice.RelativeToNode);
29
- const endAnchor = PlaceAnchor.atEndOf(leftTraitLocation, PlaceAnchorSemanticsChoice.RelativeToNode);
30
- const beforeAnchor = PlaceAnchor.before(left, PlaceAnchorSemanticsChoice.RelativeToNode);
31
- const afterAnchor = PlaceAnchor.after(left, PlaceAnchorSemanticsChoice.RelativeToNode);
32
- const mockDetachedSequenceId = 42;
33
- const mockNodeId = 'mock-node-id';
34
- const mockPlace = 'mock-place';
35
- const mockRange = 'mock-range';
36
- const mockPlaceAnchor = 'mock-place-anchor';
37
- const mockSnapshot = 'mock-snapshot';
38
- const mockPath = 'mock-path';
39
- const mockEvaluatedChange = 'mock-evaluated-change';
40
- describe('Anchor Glass Box Tests', () => {
41
- describe(resolveChangeAnchors.name, () => {
42
- const testCases = [
43
- {
44
- name: 'Insert',
45
- input: AnchoredChange.insert(mockDetachedSequenceId, beforeAnchor),
46
- expected: AnchoredChange.insert(mockDetachedSequenceId, mockPlace),
47
- },
48
- {
49
- name: 'Detach',
50
- input: AnchoredChange.detach(RangeAnchor.only(right), mockDetachedSequenceId),
51
- expected: AnchoredChange.detach(mockRange, mockDetachedSequenceId),
52
- },
53
- {
54
- name: 'SetValue (set payload)',
55
- input: AnchoredChange.setPayload(left.identifier, 42),
56
- expected: AnchoredChange.setPayload(mockNodeId, 42),
57
- },
58
- {
59
- name: 'SetValue (clear payload)',
60
- input: AnchoredChange.clearPayload(left.identifier),
61
- expected: AnchoredChange.clearPayload(mockNodeId),
62
- },
63
- {
64
- name: 'Constraint',
65
- input: AnchoredChange.constraint(RangeAnchor.only(right), ConstraintEffect.ValidRetry),
66
- expected: AnchoredChange.constraint(mockRange, ConstraintEffect.ValidRetry),
67
- },
68
- ];
69
- for (const testCase of testCases) {
70
- it(`attempts to resolve anchors in ${testCase.name} changes`, () => {
71
- const change = testCase.input;
72
- const actualHappy = resolveChangeAnchors(change, mockSnapshot, [], {
73
- nodeResolver: () => mockNodeId,
74
- placeResolver: () => mockPlace,
75
- rangeResolver: () => mockRange,
76
- });
77
- expect(actualHappy).deep.equal(testCase.expected);
78
- const actualSad = resolveChangeAnchors(change, mockSnapshot, [], {
79
- nodeResolver: () => undefined,
80
- placeResolver: () => undefined,
81
- rangeResolver: () => undefined,
82
- });
83
- expect(actualSad).equal(undefined);
84
- });
85
- }
86
- it('throws when given an unsupported change type', () => {
87
- const fakeChange = { type: -42 };
88
- expect(() => resolveChangeAnchors(fakeChange, mockSnapshot, [])).throws();
89
- });
90
- });
91
- describe(resolveNodeAnchor.name, () => {
92
- it('returns the given NodeAnchor as a NodeId if the node exists in the snapshot', () => {
93
- const snapshot = Snapshot.fromTree(left);
94
- expect(resolveNodeAnchor(left.identifier, snapshot, [])).equals(left.identifier);
95
- });
96
- it('returns undefined if the node does not exists in the snapshot', () => {
97
- const snapshot = Snapshot.fromTree(left);
98
- expect(resolveNodeAnchor(mockNodeId, snapshot, [])).equals(undefined);
99
- });
100
- });
101
- describe(resolveRangeAnchor.name, () => {
102
- it('returns a range with resolved places when possible', () => {
103
- expect(resolveRangeAnchor(RangeAnchor.only(left), mockSnapshot, [], {
104
- placeResolver: () => mockPlace,
105
- rangeValidator: () => EditValidationResult.Valid,
106
- })).deep.equals(RangeAnchor.from(mockPlace).to(mockPlace));
107
- });
108
- it('returns undefined if either place cannot be resolved', () => {
109
- expect(resolveRangeAnchor(RangeAnchor.only(left), mockSnapshot, [], {
110
- placeResolver: (place) => (place.side === Side.After ? mockPlace : undefined),
111
- rangeValidator: () => EditValidationResult.Valid,
112
- })).equals(undefined);
113
- expect(resolveRangeAnchor(RangeAnchor.only(left), mockSnapshot, [], {
114
- placeResolver: (place) => (place.side === Side.Before ? undefined : mockPlace),
115
- rangeValidator: () => EditValidationResult.Valid,
116
- })).equals(undefined);
117
- });
118
- it('returns undefined the resolved places do not make a valid range', () => {
119
- expect(resolveRangeAnchor(RangeAnchor.only(left), mockSnapshot, [], {
120
- placeResolver: () => mockPlace,
121
- rangeValidator: () => EditValidationResult.Malformed,
122
- })).equals(undefined);
123
- expect(resolveRangeAnchor(RangeAnchor.only(left), mockSnapshot, [], {
124
- placeResolver: () => mockPlace,
125
- rangeValidator: () => EditValidationResult.Invalid,
126
- })).equals(undefined);
127
- });
128
- });
129
- describe(resolvePlaceAnchor.name, () => {
130
- it('returns the given anchor when that anchor is valid in the current snapshot', () => {
131
- const snapshot = Snapshot.fromTree(initialTree);
132
- const testWithPlace = (place) => resolvePlaceAnchor(place, snapshot, []);
133
- expect(testWithPlace(startPlace)).contains(startPlace);
134
- expect(testWithPlace(endPlace)).contains(endPlace);
135
- expect(testWithPlace(beforePlace)).contains(beforePlace);
136
- expect(testWithPlace(afterPlace)).contains(afterPlace);
137
- expect(testWithPlace(PlaceAnchor.atStartOf(leftTraitLocation))).contains(startPlace);
138
- expect(testWithPlace(PlaceAnchor.atEndOf(leftTraitLocation))).contains(endPlace);
139
- expect(testWithPlace(PlaceAnchor.before(left))).contains(beforePlace);
140
- expect(testWithPlace(PlaceAnchor.after(left))).contains(afterPlace);
141
- });
142
- it('returns undefined when the anchor is invalid and not updatable', () => {
143
- expect(resolvePlaceAnchor(mockPlace, mockSnapshot, [], {
144
- placeUpdatorForPath: () => undefined,
145
- placeValidator: () => EditValidationResult.Invalid,
146
- })).equals(undefined);
147
- });
148
- it('returns undefined when the anchor is invalid and bound to the node', () => {
149
- const resolvePlaceAnchorForInvalidPlace = (place) => resolvePlaceAnchor(place, mockSnapshot, [], {
150
- placeUpdatorForPath: () => fail(),
151
- placeValidator: () => EditValidationResult.Invalid,
152
- });
153
- expect(resolvePlaceAnchorForInvalidPlace(startPlace)).equals(undefined);
154
- expect(resolvePlaceAnchorForInvalidPlace(endPlace)).equals(undefined);
155
- expect(resolvePlaceAnchorForInvalidPlace(beforePlace)).equals(undefined);
156
- expect(resolvePlaceAnchorForInvalidPlace(afterPlace)).equals(undefined);
157
- });
158
- it('returns an updated anchor when the anchor is invalid but updatable to be valid', () => {
159
- let updateCountdown = 5;
160
- const inputSnapshot = Snapshot.fromTree(initialTree);
161
- const inputPlace = PlaceAnchor.after(mockNodeId);
162
- const placeUpdatorForPath = (place, path) => {
163
- expect(place).equals(inputPlace);
164
- expect(path).equals(mockPath);
165
- return --updateCountdown ? inputPlace : afterAnchor;
166
- };
167
- const placeValidator = (snapshot, place) => {
168
- expect(snapshot).equals(inputSnapshot);
169
- return place === inputPlace ? EditValidationResult.Invalid : EditValidationResult.Valid;
170
- };
171
- expect(resolvePlaceAnchor(inputPlace, inputSnapshot, mockPath, {
172
- placeUpdatorForPath,
173
- placeValidator,
174
- })).contains(PlaceAnchor.after(left));
175
- // Check that it took the expected number of updates
176
- expect(updateCountdown).equals(0);
177
- });
178
- it('returns undefined when the anchor is invalid and updatable to be invalid', () => {
179
- let updateCountdown = 5;
180
- const inputSnapshot = Snapshot.fromTree(initialTree);
181
- const inputPlace = PlaceAnchor.after(mockNodeId);
182
- const placeUpdatorForPath = (place, path) => {
183
- expect(place).equals(inputPlace);
184
- expect(path).equals(mockPath);
185
- return --updateCountdown ? inputPlace : undefined;
186
- };
187
- const placeValidator = (snapshot, place) => {
188
- expect(snapshot).equals(inputSnapshot);
189
- expect(place).equals(inputPlace);
190
- return EditValidationResult.Invalid;
191
- };
192
- expect(resolvePlaceAnchor(inputPlace, inputSnapshot, mockPath, {
193
- placeUpdatorForPath,
194
- placeValidator,
195
- })).equals(undefined);
196
- // Check that it took the expected number of updates
197
- expect(updateCountdown).equals(0);
198
- });
199
- it('throws when given an unsupported choice of anchor semantics', () => {
200
- const fakeAnchor = { semantics: -42 };
201
- expect(() => resolvePlaceAnchor(fakeAnchor, mockSnapshot, [])).throws();
202
- });
203
- });
204
- describe(updateRelativePlaceAnchorForPath.name, () => {
205
- it('does not update anchors for start and end of traits', () => {
206
- expect(updateRelativePlaceAnchorForPath(startAnchor, [])).equals(undefined);
207
- expect(updateRelativePlaceAnchorForPath(endAnchor, [])).equals(undefined);
208
- });
209
- it('does not update anchors when the last offending change is not found', () => {
210
- expect(updateRelativePlaceAnchorForPath(startAnchor, [], {
211
- lastOffendingChangeFinder: () => undefined,
212
- placeUpdatorForChange: () => fail(),
213
- })).equals(undefined);
214
- });
215
- it('tries to update anchors when the last offending change is found', () => {
216
- expect(updateRelativePlaceAnchorForPath(beforeAnchor, [], {
217
- lastOffendingChangeFinder: () => mockEvaluatedChange,
218
- placeUpdatorForChange: (place, change) => {
219
- expect(place).equals(beforeAnchor);
220
- expect(change).equals(mockEvaluatedChange);
221
- return mockPlace;
222
- },
223
- })).equals(mockPlace);
224
- expect(updateRelativePlaceAnchorForPath(beforeAnchor, [], {
225
- lastOffendingChangeFinder: () => mockEvaluatedChange,
226
- placeUpdatorForChange: (place, change) => {
227
- expect(place).equals(beforeAnchor);
228
- expect(change).equals(mockEvaluatedChange);
229
- return undefined;
230
- },
231
- })).equals(undefined);
232
- });
233
- });
234
- describe(findLastOffendingChange.name, () => {
235
- function makeEdit(changes) {
236
- assert(changes.length > 0);
237
- const steps = changes.map(makeChange);
238
- return Object.assign(steps, {
239
- before: snapshotBeforeChange(changes[0]),
240
- after: steps[steps.length - 1].after,
241
- });
242
- }
243
- function makeChange(change) {
244
- return {
245
- resolvedChange: change,
246
- after: snapshotAfterChange(change),
247
- };
248
- }
249
- function snapshotBeforeChange(change) {
250
- return change === stayInvalidChange || change === mendingChange ? invalidSnapshot : validSnapshot;
251
- }
252
- function snapshotAfterChange(change) {
253
- return change === stayValidChange || change === mendingChange ? validSnapshot : invalidSnapshot;
254
- }
255
- const validSnapshot = 'valid-snapshot';
256
- const invalidSnapshot = 'invalid-snapshot';
257
- const priorOffendingChange = 'prior-offending-change';
258
- const lastOffendingChange = 'last-offending-change';
259
- const stayValidChange = 'stay-valid-change';
260
- const stayInvalidChange = 'stay-invalid-change';
261
- const mendingChange = 'mending-change';
262
- const priorOffendingEdit = makeEdit([priorOffendingChange]);
263
- const lastOffendingEdit = makeEdit([lastOffendingChange]);
264
- const mendingEdit = makeEdit([mendingChange]);
265
- const stayValidEdit = makeEdit([stayValidChange]);
266
- const stayInvalidEdit = makeEdit([stayInvalidChange]);
267
- const testWithPath = (path) => findLastOffendingChange(mockPlaceAnchor, path, {
268
- placeValidator: (snapshot) => snapshot === invalidSnapshot
269
- ? EditValidationResult.Invalid
270
- : snapshot === validSnapshot
271
- ? EditValidationResult.Valid
272
- : fail(),
273
- });
274
- describe('returns undefined when the place is invalid throughout the path', () => {
275
- const testCases = [
276
- [],
277
- [stayInvalidEdit],
278
- [stayInvalidEdit, stayInvalidEdit, stayInvalidEdit],
279
- [makeEdit([stayInvalidChange, stayInvalidChange, stayInvalidChange])],
280
- ];
281
- for (let i = 0; i < testCases.length; ++i) {
282
- it(`Test Case ${i}`, () => {
283
- expect(testWithPath(testCases[i])).equals(undefined);
284
- });
285
- }
286
- });
287
- describe('returns the last offending change when there is one', () => {
288
- const testCases = [
289
- [lastOffendingEdit],
290
- [lastOffendingEdit, stayInvalidEdit],
291
- [stayValidEdit, lastOffendingEdit],
292
- [stayValidEdit, lastOffendingEdit, stayInvalidEdit],
293
- [stayValidEdit, priorOffendingEdit, stayInvalidEdit, mendingEdit, lastOffendingEdit],
294
- [stayValidEdit, priorOffendingEdit, stayInvalidEdit, mendingEdit, lastOffendingEdit, stayInvalidEdit],
295
- [priorOffendingEdit, mendingEdit, priorOffendingEdit, mendingEdit, lastOffendingEdit],
296
- [makeEdit([stayValidChange, lastOffendingChange])],
297
- [makeEdit([lastOffendingChange, stayInvalidChange])],
298
- [makeEdit([stayValidChange, lastOffendingChange, stayInvalidChange])],
299
- [makeEdit([stayValidChange, priorOffendingChange, mendingChange, lastOffendingChange])],
300
- [
301
- makeEdit([
302
- priorOffendingChange,
303
- mendingChange,
304
- priorOffendingChange,
305
- mendingChange,
306
- lastOffendingChange,
307
- ]),
308
- ],
309
- [stayInvalidEdit, makeEdit([mendingChange, lastOffendingChange])],
310
- ];
311
- for (let i = 0; i < testCases.length; ++i) {
312
- it(`Test Case ${i}`, () => {
313
- const actual = testWithPath(testCases[i]);
314
- expect(actual).deep.equals({
315
- before: validSnapshot,
316
- after: invalidSnapshot,
317
- change: lastOffendingChange,
318
- });
319
- });
320
- }
321
- });
322
- });
323
- describe(updateRelativePlaceAnchorForChange.name, () => {
324
- const afterPrior = PlaceAnchor.after(priorSibling);
325
- const beforeNext = PlaceAnchor.before(nextSibling);
326
- const rangesInSitu = [
327
- {
328
- range: RangeAnchor.from(startAnchor).to(beforeNext),
329
- trait: [left, nextSibling],
330
- },
331
- {
332
- range: RangeAnchor.from(startAnchor).to(afterAnchor),
333
- trait: [left],
334
- },
335
- {
336
- range: RangeAnchor.from(startAnchor).to(endAnchor),
337
- trait: [left],
338
- },
339
- {
340
- range: RangeAnchor.from(beforeAnchor).to(beforeNext),
341
- trait: [left, nextSibling],
342
- },
343
- {
344
- range: RangeAnchor.from(beforeAnchor).to(afterAnchor),
345
- trait: [left],
346
- },
347
- {
348
- range: RangeAnchor.from(beforeAnchor).to(endAnchor),
349
- trait: [left],
350
- },
351
- {
352
- range: RangeAnchor.from(afterPrior).to(beforeNext),
353
- trait: [priorSibling, left, nextSibling],
354
- },
355
- {
356
- range: RangeAnchor.from(afterPrior).to(afterAnchor),
357
- trait: [priorSibling, left],
358
- },
359
- {
360
- range: RangeAnchor.from(afterPrior).to(endAnchor),
361
- trait: [priorSibling, left],
362
- },
363
- ];
364
- function evaluateCase(caseIndex, anchor) {
365
- const before = Snapshot.fromTree(Object.assign(Object.assign({}, parent), { traits: { [leftTraitLabel]: rangesInSitu[caseIndex].trait } }));
366
- const filteredTrait = rangesInSitu[caseIndex].trait.filter((sibling) => sibling !== left);
367
- const after = Snapshot.fromTree(Object.assign(Object.assign({}, parent), { traits: filteredTrait.length ? { [leftTraitLabel]: filteredTrait } : {} }));
368
- const evaluatedChange = {
369
- change: AnchoredChange.detach(rangesInSitu[caseIndex].range),
370
- before,
371
- after,
372
- };
373
- return updateRelativePlaceAnchorForChange(anchor, evaluatedChange);
374
- }
375
- describe('can update before(X) and after(X) when X is detached', () => {
376
- for (let i = 0; i < rangesInSitu.length; ++i) {
377
- it(`Test Case ${i}`, () => {
378
- const expectedAfter = rangesInSitu[i].trait[0] === priorSibling ? afterPrior : startAnchor;
379
- const expectedBefore = rangesInSitu[i].trait[rangesInSitu[i].trait.length - 1] === nextSibling
380
- ? beforeNext
381
- : endAnchor;
382
- expect(evaluateCase(i, afterAnchor)).deep.equals(expectedAfter);
383
- expect(evaluateCase(i, beforeAnchor)).deep.equals(expectedBefore);
384
- });
385
- }
386
- });
387
- describe('does not update anchors for start and end of traits', () => {
388
- for (let i = 0; i < rangesInSitu.length; ++i) {
389
- it(`Test Case ${i}`, () => {
390
- expect(evaluateCase(i, startAnchor)).equals(undefined);
391
- expect(evaluateCase(i, endAnchor)).equals(undefined);
392
- });
393
- }
394
- });
395
- it('does not update anchors when the containing parent is deleted', () => {
396
- const before = Snapshot.fromTree(initialTree);
397
- const after = Snapshot.fromTree(Object.assign(Object.assign({}, initialTree), { traits: {} }));
398
- const evaluatedChange = {
399
- change: AnchoredChange.detach(RangeAnchor.only(parent)),
400
- before,
401
- after,
402
- };
403
- expect(updateRelativePlaceAnchorForChange(startAnchor, evaluatedChange)).equals(undefined);
404
- expect(updateRelativePlaceAnchorForChange(endAnchor, evaluatedChange)).equals(undefined);
405
- expect(updateRelativePlaceAnchorForChange(afterAnchor, evaluatedChange)).equals(undefined);
406
- expect(updateRelativePlaceAnchorForChange(beforeAnchor, evaluatedChange)).equals(undefined);
407
- });
408
- });
409
- });
410
- //# sourceMappingURL=Anchors.glassBox.tests.js.map