@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 +0,0 @@
1
- {"version":3,"file":"SharedTreeWithAnchors.js","sourceRoot":"","sources":["../../src/anchored-edits/SharedTreeWithAnchors.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IFluidDataStoreRuntime } from '@fluidframework/datastore-definitions';\nimport { EditId } from '../Identifiers';\nimport { Snapshot } from '../Snapshot';\nimport { Edit, BuildNode, fullHistorySummarizer, GenericSharedTree, NodeData, SharedTreeSummaryBase } from '../generic';\nimport { OrderedEditSet } from '../EditLog';\nimport { noHistorySummarizer, revert } from '../default-edits';\nimport {\n\tAnchoredChange,\n\tAnchoredDelete,\n\tAnchoredInsert,\n\tAnchoredMove,\n\tRangeAnchor,\n\tPlaceAnchor,\n\tNodeAnchor,\n} from './PersistedTypes';\nimport { SharedTreeWithAnchorsFactory, SharedTreeWithAnchorsFactoryNoHistory } from './Factory';\nimport { TransactionWithAnchors } from './TransactionWithAnchors';\n\n/**\n * Wrapper around a `SharedTreeWithAnchorsEditor` which provides ergonomic imperative editing functionality. All methods apply changes in\n * their own edit.\n *\n * @example\n * // The following two lines of code are equivalent:\n * tree.applyEdit(...AnchoredInsert.create([newNode], PlaceAnchor.before(existingNode)));\n * tree.editor.insert(newNode, PlaceAnchor.before(existingNode))\n * @public\n */\nexport class SharedTreeWithAnchorsEditor {\n\tprivate readonly tree: SharedTreeWithAnchors;\n\n\tpublic constructor(tree: SharedTreeWithAnchors) {\n\t\tthis.tree = tree;\n\t}\n\n\t/**\n\t * Inserts a node at a location.\n\t * @param node - Node to insert.\n\t * @param destination - PlaceAnchor at which the insert should take place.\n\t */\n\tpublic insert(node: BuildNode, destination: PlaceAnchor): EditId;\n\t/**\n\t * Inserts nodes at a location.\n\t * @param nodes - Nodes to insert.\n\t * @param destination - PlaceAnchor at which the insert should take place.\n\t */\n\tpublic insert(nodes: BuildNode[], destination: PlaceAnchor): EditId;\n\tpublic insert(nodeOrNodes: BuildNode | BuildNode[], destination: PlaceAnchor): EditId {\n\t\treturn this.tree.applyEdit(\n\t\t\t...AnchoredInsert.create(Array.isArray(nodeOrNodes) ? nodeOrNodes : [nodeOrNodes], destination)\n\t\t);\n\t}\n\n\t/**\n\t * Moves a node to a specified location.\n\t * @param source - Node to move.\n\t * @param destination - PlaceAnchor to which the node should be moved.\n\t */\n\tpublic move(source: NodeData, destination: PlaceAnchor): EditId;\n\t/**\n\t * Moves a node to a specified location.\n\t * @param source - Node to move.\n\t * @param destination - PlaceAnchor to which the node should be moved.\n\t */\n\tpublic move(source: NodeAnchor, destination: PlaceAnchor): EditId;\n\t/**\n\t * Moves a part of a trait to a specified location.\n\t * @param source - Portion of a trait to move.\n\t * @param destination - PlaceAnchor to which the portion of the trait should be moved.\n\t */\n\tpublic move(source: RangeAnchor, destination: PlaceAnchor): EditId;\n\tpublic move(source: NodeData | NodeAnchor | RangeAnchor, destination: PlaceAnchor): EditId {\n\t\tif (!this.isRange(source)) {\n\t\t\treturn this.tree.applyEdit(...AnchoredMove.create(RangeAnchor.only(source), destination));\n\t\t}\n\n\t\treturn this.tree.applyEdit(...AnchoredMove.create(source, destination));\n\t}\n\n\t/**\n\t * Deletes a node.\n\t * @param target - Node to delete\n\t */\n\tpublic delete(target: NodeData): EditId;\n\t/**\n\t * Deletes a node.\n\t * @param target - Node to delete\n\t */\n\tpublic delete(target: NodeAnchor): EditId;\n\t/**\n\t * Deletes a portion of a trait.\n\t * @param target - Range of nodes to delete, specified as a `RangeAnchor`\n\t */\n\tpublic delete(target: RangeAnchor): EditId;\n\tpublic delete(target: NodeData | NodeAnchor | RangeAnchor): EditId {\n\t\tif (!this.isRange(target)) {\n\t\t\treturn this.tree.applyEdit(AnchoredDelete.create(RangeAnchor.only(target)));\n\t\t}\n\n\t\treturn this.tree.applyEdit(AnchoredDelete.create(target));\n\t}\n\n\t/**\n\t * Reverts a previous edit.\n\t * @param edit - the edit to revert\n\t * @param view - the revision to which the edit is applied (not the output of applying edit: it's the one just before that)\n\t */\n\tpublic revert(edit: Edit<AnchoredChange>, view: Snapshot): EditId {\n\t\treturn this.tree.applyEdit(...revert(edit.changes, view));\n\t}\n\n\tpublic applyChanges(changes: readonly AnchoredChange[]): EditId {\n\t\treturn this.tree.applyEdit(...changes);\n\t}\n\n\tprivate isRange(source: NodeData | NodeAnchor | RangeAnchor): source is RangeAnchor {\n\t\treturn (source as RangeAnchor).start !== undefined && (source as RangeAnchor).end !== undefined;\n\t}\n}\n\n/**\n * A distributed tree.\n *\n * Does not currently guarantee convergence among nodes. This is due to the fact that the current summary information is insufficient to\n * ensure that all nodes have access to all the relevant data for the application of a given edit. For example, if edit was sequenced after\n * a given summary but references an edit before that summary then nodes that do not have that earlier edit's information in memory will not\n * have the full context for the application of the change. This currently leads to a \"best effort\" application which takes into account\n * whatever data is available. Remedying this is tracked by #57176.\n *\n * @public\n * @sealed\n */\nexport class SharedTreeWithAnchors extends GenericSharedTree<AnchoredChange> {\n\t/**\n\t * Create a new SharedTreeWithAnchors. It will contain the default value (see initialTree).\n\t */\n\tpublic static create(runtime: IFluidDataStoreRuntime, id?: string): SharedTreeWithAnchors {\n\t\treturn runtime.createChannel(id, SharedTreeWithAnchorsFactory.Type) as SharedTreeWithAnchors;\n\t}\n\n\t/**\n\t * Get a factory for SharedTreeWithAnchors to register with the data store.\n\t * @param historySummarizing - determines how history is summarized by the returned `SharedTreeWithAnchors`.\n\t * @returns A factory that creates `SharedTreeWithAnchors`s and loads them from storage.\n\t */\n\tpublic static getFactory(summarizeHistory = true): SharedTreeWithAnchorsFactory {\n\t\treturn summarizeHistory ? new SharedTreeWithAnchorsFactory() : new SharedTreeWithAnchorsFactoryNoHistory();\n\t}\n\n\t/**\n\t * Create a new SharedTreeFactory.\n\t * @param runtime - The runtime the SharedTreeWithAnchors will be associated with\n\t * @param id - Unique ID for the SharedTreeWithAnchors\n\t * @param expensiveValidation - enable expensive asserts\n\t * @param summarizeHistory - Determines if the history is included in summaries.\n\t */\n\tpublic constructor(\n\t\truntime: IFluidDataStoreRuntime,\n\t\tid: string,\n\t\texpensiveValidation = false,\n\t\tsummarizeHistory = true\n\t) {\n\t\tsuper(\n\t\t\truntime,\n\t\t\tid,\n\t\t\tTransactionWithAnchors.factory,\n\t\t\tSharedTreeWithAnchorsFactory.Attributes,\n\t\t\texpensiveValidation,\n\t\t\tsummarizeHistory\n\t\t);\n\t}\n\n\tprivate _editor: SharedTreeWithAnchorsEditor | undefined;\n\n\t/**\n\t * Returns a `SharedTreeEditor` for editing this tree in an imperative fashion. All edits are performed on the current tree view.\n\t */\n\tpublic get editor(): SharedTreeWithAnchorsEditor {\n\t\tif (!this._editor) {\n\t\t\tthis._editor = new SharedTreeWithAnchorsEditor(this);\n\t\t}\n\n\t\treturn this._editor;\n\t}\n\n\t/**\n\t * {@inheritDoc GenericSharedTree.generateSummary}\n\t */\n\tprotected generateSummary(editLog: OrderedEditSet<AnchoredChange>): SharedTreeSummaryBase {\n\t\tif (!this.summarizeHistory) {\n\t\t\treturn noHistorySummarizer(editLog, this.currentView);\n\t\t}\n\t\treturn fullHistorySummarizer(editLog, this.currentView);\n\t}\n}\n"]}
@@ -1,28 +0,0 @@
1
- /*!
2
- * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
- * Licensed under the MIT License.
4
- */
5
- import { NodeId, DetachedSequenceId } from '../Identifiers';
6
- import { Snapshot } from '../Snapshot';
7
- import { ReconciliationPath } from '../ReconciliationPath';
8
- import { Transaction } from '../default-edits';
9
- import { AnchoredChange } from './PersistedTypes';
10
- /**
11
- * A mutable transaction for applying sequences of changes to a Snapshot.
12
- * Allows viewing the intermediate states.
13
- *
14
- * Contains necessary state to apply changes within an edit to a Snapshot.
15
- *
16
- * May have any number of changes applied to make up the edit.
17
- * Use `close` to complete the transaction, returning the array of changes and an EditingResult showing the
18
- * results of applying the changes as an Edit to the initial Snapshot (passed to the constructor).
19
- *
20
- * No data outside the Transaction is modified by Transaction:
21
- * the results from `close` must be used to actually submit an `Edit`.
22
- */
23
- export declare class TransactionWithAnchors extends Transaction {
24
- protected readonly detached: Map<DetachedSequenceId, readonly NodeId[]>;
25
- static factory(snapshot: Snapshot): TransactionWithAnchors;
26
- protected tryResolveChange(change: AnchoredChange, path: ReconciliationPath<AnchoredChange>): AnchoredChange | undefined;
27
- }
28
- //# sourceMappingURL=TransactionWithAnchors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TransactionWithAnchors.d.ts","sourceRoot":"","sources":["../../src/anchored-edits/TransactionWithAnchors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD;;;;;;;;;;;;GAYG;AACH,qBAAa,sBAAuB,SAAQ,WAAW;IACtD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC,CAAa;WAEtE,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,sBAAsB;IAIjE,SAAS,CAAC,gBAAgB,CACzB,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,CAAC,cAAc,CAAC,GACtC,cAAc,GAAG,SAAS;CAG7B"}
@@ -1,36 +0,0 @@
1
- "use strict";
2
- /*!
3
- * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
4
- * Licensed under the MIT License.
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.TransactionWithAnchors = void 0;
8
- const default_edits_1 = require("../default-edits");
9
- const AnchorResolution_1 = require("./AnchorResolution");
10
- /**
11
- * A mutable transaction for applying sequences of changes to a Snapshot.
12
- * Allows viewing the intermediate states.
13
- *
14
- * Contains necessary state to apply changes within an edit to a Snapshot.
15
- *
16
- * May have any number of changes applied to make up the edit.
17
- * Use `close` to complete the transaction, returning the array of changes and an EditingResult showing the
18
- * results of applying the changes as an Edit to the initial Snapshot (passed to the constructor).
19
- *
20
- * No data outside the Transaction is modified by Transaction:
21
- * the results from `close` must be used to actually submit an `Edit`.
22
- */
23
- class TransactionWithAnchors extends default_edits_1.Transaction {
24
- constructor() {
25
- super(...arguments);
26
- this.detached = new Map();
27
- }
28
- static factory(snapshot) {
29
- return new TransactionWithAnchors(snapshot);
30
- }
31
- tryResolveChange(change, path) {
32
- return AnchorResolution_1.resolveChangeAnchors(change, this.view, path);
33
- }
34
- }
35
- exports.TransactionWithAnchors = TransactionWithAnchors;
36
- //# sourceMappingURL=TransactionWithAnchors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TransactionWithAnchors.js","sourceRoot":"","sources":["../../src/anchored-edits/TransactionWithAnchors.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAKH,oDAA+C;AAE/C,yDAA0D;AAE1D;;;;;;;;;;;;GAYG;AACH,MAAa,sBAAuB,SAAQ,2BAAW;IAAvD;;QACoB,aAAQ,GAA+C,IAAI,GAAG,EAAE,CAAC;IAYrF,CAAC;IAVO,MAAM,CAAC,OAAO,CAAC,QAAkB;QACvC,OAAO,IAAI,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAES,gBAAgB,CACzB,MAAsB,EACtB,IAAwC;QAExC,OAAO,uCAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;CACD;AAbD,wDAaC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { NodeId, DetachedSequenceId } from '../Identifiers';\nimport { Snapshot } from '../Snapshot';\nimport { ReconciliationPath } from '../ReconciliationPath';\nimport { Transaction } from '../default-edits';\nimport { AnchoredChange } from './PersistedTypes';\nimport { resolveChangeAnchors } from './AnchorResolution';\n\n/**\n * A mutable transaction for applying sequences of changes to a Snapshot.\n * Allows viewing the intermediate states.\n *\n * Contains necessary state to apply changes within an edit to a Snapshot.\n *\n * May have any number of changes applied to make up the edit.\n * Use `close` to complete the transaction, returning the array of changes and an EditingResult showing the\n * results of applying the changes as an Edit to the initial Snapshot (passed to the constructor).\n *\n * No data outside the Transaction is modified by Transaction:\n * the results from `close` must be used to actually submit an `Edit`.\n */\nexport class TransactionWithAnchors extends Transaction {\n\tprotected readonly detached: Map<DetachedSequenceId, readonly NodeId[]> = new Map();\n\n\tpublic static factory(snapshot: Snapshot): TransactionWithAnchors {\n\t\treturn new TransactionWithAnchors(snapshot);\n\t}\n\n\tprotected tryResolveChange(\n\t\tchange: AnchoredChange,\n\t\tpath: ReconciliationPath<AnchoredChange>\n\t): AnchoredChange | undefined {\n\t\treturn resolveChangeAnchors(change, this.view, path);\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 { SharedTreeWithAnchors, SharedTreeWithAnchorsEditor } from './SharedTreeWithAnchors';
6
- export * from './PersistedTypes';
7
- export * from './Factory';
8
- export { TransactionWithAnchors } from './TransactionWithAnchors';
9
- export { resolveChangeAnchors, findLastOffendingChange, resolveNodeAnchor, resolvePlaceAnchor, resolveRangeAnchor, updateRelativePlaceAnchorForChange, updateRelativePlaceAnchorForPath, EvaluatedChange, } from './AnchorResolution';
10
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/anchored-edits/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAC7F,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EACN,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,kCAAkC,EAClC,gCAAgC,EAChC,eAAe,GACf,MAAM,oBAAoB,CAAC"}
@@ -1,34 +0,0 @@
1
- "use strict";
2
- /*!
3
- * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
4
- * Licensed under the MIT License.
5
- */
6
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
- if (k2 === undefined) k2 = k;
8
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.updateRelativePlaceAnchorForPath = exports.updateRelativePlaceAnchorForChange = exports.resolveRangeAnchor = exports.resolvePlaceAnchor = exports.resolveNodeAnchor = exports.findLastOffendingChange = exports.resolveChangeAnchors = exports.TransactionWithAnchors = exports.SharedTreeWithAnchorsEditor = exports.SharedTreeWithAnchors = void 0;
18
- // API Exports
19
- var SharedTreeWithAnchors_1 = require("./SharedTreeWithAnchors");
20
- Object.defineProperty(exports, "SharedTreeWithAnchors", { enumerable: true, get: function () { return SharedTreeWithAnchors_1.SharedTreeWithAnchors; } });
21
- Object.defineProperty(exports, "SharedTreeWithAnchorsEditor", { enumerable: true, get: function () { return SharedTreeWithAnchors_1.SharedTreeWithAnchorsEditor; } });
22
- __exportStar(require("./PersistedTypes"), exports);
23
- __exportStar(require("./Factory"), exports);
24
- var TransactionWithAnchors_1 = require("./TransactionWithAnchors");
25
- Object.defineProperty(exports, "TransactionWithAnchors", { enumerable: true, get: function () { return TransactionWithAnchors_1.TransactionWithAnchors; } });
26
- var AnchorResolution_1 = require("./AnchorResolution");
27
- Object.defineProperty(exports, "resolveChangeAnchors", { enumerable: true, get: function () { return AnchorResolution_1.resolveChangeAnchors; } });
28
- Object.defineProperty(exports, "findLastOffendingChange", { enumerable: true, get: function () { return AnchorResolution_1.findLastOffendingChange; } });
29
- Object.defineProperty(exports, "resolveNodeAnchor", { enumerable: true, get: function () { return AnchorResolution_1.resolveNodeAnchor; } });
30
- Object.defineProperty(exports, "resolvePlaceAnchor", { enumerable: true, get: function () { return AnchorResolution_1.resolvePlaceAnchor; } });
31
- Object.defineProperty(exports, "resolveRangeAnchor", { enumerable: true, get: function () { return AnchorResolution_1.resolveRangeAnchor; } });
32
- Object.defineProperty(exports, "updateRelativePlaceAnchorForChange", { enumerable: true, get: function () { return AnchorResolution_1.updateRelativePlaceAnchorForChange; } });
33
- Object.defineProperty(exports, "updateRelativePlaceAnchorForPath", { enumerable: true, get: function () { return AnchorResolution_1.updateRelativePlaceAnchorForPath; } });
34
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/anchored-edits/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;AAEH,cAAc;AAEd,iEAA6F;AAApF,8HAAA,qBAAqB,OAAA;AAAE,oIAAA,2BAA2B,OAAA;AAC3D,mDAAiC;AACjC,4CAA0B;AAC1B,mEAAkE;AAAzD,gIAAA,sBAAsB,OAAA;AAC/B,uDAS4B;AAR3B,wHAAA,oBAAoB,OAAA;AACpB,2HAAA,uBAAuB,OAAA;AACvB,qHAAA,iBAAiB,OAAA;AACjB,sHAAA,kBAAkB,OAAA;AAClB,sHAAA,kBAAkB,OAAA;AAClB,sIAAA,kCAAkC,OAAA;AAClC,oIAAA,gCAAgC,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n// API Exports\n\nexport { SharedTreeWithAnchors, SharedTreeWithAnchorsEditor } from './SharedTreeWithAnchors';\nexport * from './PersistedTypes';\nexport * from './Factory';\nexport { TransactionWithAnchors } from './TransactionWithAnchors';\nexport {\n\tresolveChangeAnchors,\n\tfindLastOffendingChange,\n\tresolveNodeAnchor,\n\tresolvePlaceAnchor,\n\tresolveRangeAnchor,\n\tupdateRelativePlaceAnchorForChange,\n\tupdateRelativePlaceAnchorForPath,\n\tEvaluatedChange,\n} from './AnchorResolution';\n"]}
@@ -1,57 +0,0 @@
1
- /*!
2
- * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
- * Licensed under the MIT License.
4
- */
5
- import { DetachedSequenceId, NodeId } from '../Identifiers';
6
- import { Snapshot, SnapshotPlace, SnapshotRange } from '../Snapshot';
7
- import { EditValidationResult } from '../Checkout';
8
- import { BuildNode, TraitLocation, TreeNodeSequence } from '../generic';
9
- import { Change, StablePlace, StableRange } from './PersistedTypes';
10
- /**
11
- * Functions for constructing edits.
12
- */
13
- /**
14
- * Create a sequence of changes that resets the contents of `trait`.
15
- * @public
16
- */
17
- export declare function setTrait(trait: TraitLocation, nodes: TreeNodeSequence<BuildNode>): readonly Change[];
18
- /**
19
- * Check the validity of the given `StablePlace`
20
- * @param snapshot - the `Snapshot` within which to validate the given place
21
- * @param place - the `StablePlace` to check
22
- */
23
- export declare function validateStablePlace(snapshot: Snapshot, place: StablePlace): EditValidationResult;
24
- /**
25
- * Check the validity of the given `StableRange`
26
- * @param snapshot - the `Snapshot` within which to validate the given range
27
- * @param range - the `StableRange` to check
28
- */
29
- export declare function validateStableRange(snapshot: Snapshot, range: StableRange): EditValidationResult;
30
- /**
31
- * Express the given `StableRange` as a `Range`
32
- */
33
- export declare function rangeFromStableRange(snapshot: Snapshot, range: StableRange): SnapshotRange;
34
- /**
35
- * Express the given `StablePlace` as a `Place`
36
- */
37
- export declare function placeFromStablePlace(snapshot: Snapshot, stablePlace: StablePlace): SnapshotPlace;
38
- /**
39
- * Parents a set of nodes in a specified location within a trait.
40
- * @param nodesToInsert - the nodes to parent in the specified place. The nodes must already be present in the Snapshot.
41
- * @param placeToInsert - the location to insert the nodes.
42
- */
43
- export declare function insertIntoTrait(snapshot: Snapshot, nodesToInsert: readonly NodeId[], placeToInsert: StablePlace): Snapshot;
44
- /**
45
- * Detaches a range of nodes from their parent. The detached nodes remain in the Snapshot.
46
- * @param rangeToDetach - the range of nodes to detach
47
- */
48
- export declare function detachRange(snapshot: Snapshot, rangeToDetach: StableRange): {
49
- snapshot: Snapshot;
50
- detached: readonly NodeId[];
51
- };
52
- /**
53
- * Determine if an BuildNode is a DetachedSequenceId.
54
- * @internal
55
- */
56
- export declare function isDetachedSequenceId(node: BuildNode): node is DetachedSequenceId;
57
- //# sourceMappingURL=EditUtilities.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EditUtilities.d.ts","sourceRoot":"","sources":["../../src/default-edits/EditUtilities.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAErE,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpE;;GAEG;AAEH;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,gBAAgB,CAAC,SAAS,CAAC,GAAG,SAAS,MAAM,EAAE,CAKpG;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,GAAG,oBAAoB,CAmChG;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,GAAG,oBAAoB,CAkChG;AAuCD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,GAAG,aAAa,CAO1F;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,GAAG,aAAa,CAchG;AAaD;;;;GAIG;AACH,wBAAgB,eAAe,CAC9B,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,SAAS,MAAM,EAAE,EAChC,aAAa,EAAE,WAAW,GACxB,QAAQ,CAEV;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAC1B,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,WAAW,GACxB;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAErD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,IAAI,kBAAkB,CAEhF"}
@@ -1,192 +0,0 @@
1
- "use strict";
2
- /*!
3
- * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
4
- * Licensed under the MIT License.
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.isDetachedSequenceId = exports.detachRange = exports.insertIntoTrait = exports.placeFromStablePlace = exports.rangeFromStableRange = exports.validateStableRange = exports.validateStablePlace = exports.setTrait = void 0;
8
- const Common_1 = require("../Common");
9
- const Checkout_1 = require("../Checkout");
10
- const PersistedTypes_1 = require("./PersistedTypes");
11
- /**
12
- * Functions for constructing edits.
13
- */
14
- /**
15
- * Create a sequence of changes that resets the contents of `trait`.
16
- * @public
17
- */
18
- function setTrait(trait, nodes) {
19
- const id = 0;
20
- const traitContents = PersistedTypes_1.StableRange.all(trait);
21
- return [PersistedTypes_1.Change.detach(traitContents), PersistedTypes_1.Change.build(nodes, id), PersistedTypes_1.Change.insert(id, traitContents.start)];
22
- }
23
- exports.setTrait = setTrait;
24
- /**
25
- * Check the validity of the given `StablePlace`
26
- * @param snapshot - the `Snapshot` within which to validate the given place
27
- * @param place - the `StablePlace` to check
28
- */
29
- function validateStablePlace(snapshot, place) {
30
- /* A StablePlace is valid if the following conditions are met:
31
- * 1. A sibling or trait is defined.
32
- * 2. If a sibling is defined, both it and its parent exist in the `Snapshot`.
33
- * 3. If a trait is defined, its parent node exists in the `Snapshot`.
34
- * 4. If a sibling and a trait location are both specified, the sibling needs to actually be in that trait.
35
- */
36
- const { referenceSibling, referenceTrait } = place;
37
- // A well-formed `StablePlace` specifies exactly one of `referenceSibling` and `referenceTrait`.
38
- if ((referenceSibling === undefined && referenceTrait === undefined) ||
39
- (referenceSibling !== undefined && referenceTrait !== undefined)) {
40
- return Checkout_1.EditValidationResult.Malformed;
41
- }
42
- if (referenceSibling !== undefined) {
43
- if (!snapshot.hasNode(referenceSibling)) {
44
- return Checkout_1.EditValidationResult.Invalid;
45
- }
46
- // Detached nodes and the root are invalid anchors.
47
- if (snapshot.getTraitLabel(referenceSibling) === undefined) {
48
- return Checkout_1.EditValidationResult.Invalid;
49
- }
50
- return Checkout_1.EditValidationResult.Valid;
51
- }
52
- if (!snapshot.hasNode(Common_1.assertNotUndefined(referenceTrait).parent)) {
53
- return Checkout_1.EditValidationResult.Invalid;
54
- }
55
- return Checkout_1.EditValidationResult.Valid;
56
- }
57
- exports.validateStablePlace = validateStablePlace;
58
- /**
59
- * Check the validity of the given `StableRange`
60
- * @param snapshot - the `Snapshot` within which to validate the given range
61
- * @param range - the `StableRange` to check
62
- */
63
- function validateStableRange(snapshot, range) {
64
- /* A StableRange is valid if the following conditions are met:
65
- * 1. Its start and end places are valid.
66
- * 2. Its start and end places are within the same trait.
67
- * 3. Its start place is before its end place.
68
- */
69
- const { start, end } = range;
70
- const startValidationResult = validateStablePlace(snapshot, start);
71
- if (startValidationResult !== Checkout_1.EditValidationResult.Valid) {
72
- return startValidationResult;
73
- }
74
- const endValidationResult = validateStablePlace(snapshot, end);
75
- if (endValidationResult !== Checkout_1.EditValidationResult.Valid) {
76
- return endValidationResult;
77
- }
78
- const startTraitLocation = start.referenceTrait || snapshot.getTraitLocation(Common_1.assertNotUndefined(start.referenceSibling));
79
- const endTraitLocation = end.referenceTrait || snapshot.getTraitLocation(Common_1.assertNotUndefined(end.referenceSibling));
80
- if (!compareTraits(startTraitLocation, endTraitLocation)) {
81
- return Checkout_1.EditValidationResult.Invalid;
82
- }
83
- const { start: startPlace, end: endPlace } = rangeFromStableRange(snapshot, range);
84
- const startIndex = snapshot.findIndexWithinTrait(startPlace);
85
- const endIndex = snapshot.findIndexWithinTrait(endPlace);
86
- if (startIndex > endIndex) {
87
- return Checkout_1.EditValidationResult.Invalid;
88
- }
89
- return Checkout_1.EditValidationResult.Valid;
90
- }
91
- exports.validateStableRange = validateStableRange;
92
- /**
93
- * @param snapshot - the `Snapshot` within which to retrieve the trait location
94
- * @param range - must be well formed and valid
95
- */
96
- function getTraitLocationOfRange(snapshot, range) {
97
- var _a, _b, _c;
98
- const referenceTrait = (_a = range.start.referenceTrait) !== null && _a !== void 0 ? _a : range.end.referenceTrait;
99
- if (referenceTrait) {
100
- return referenceTrait;
101
- }
102
- const sibling = (_c = (_b = range.start.referenceSibling) !== null && _b !== void 0 ? _b : range.end.referenceSibling) !== null && _c !== void 0 ? _c : Common_1.fail('malformed range does not indicate trait');
103
- return snapshot.getTraitLocation(sibling);
104
- }
105
- /**
106
- * Describes the side of a range.
107
- */
108
- var SideOfRange;
109
- (function (SideOfRange) {
110
- /**
111
- * The start of the range
112
- */
113
- SideOfRange[SideOfRange["Start"] = 0] = "Start";
114
- /**
115
- * The end of the range
116
- */
117
- SideOfRange[SideOfRange["End"] = 1] = "End";
118
- })(SideOfRange || (SideOfRange = {}));
119
- function sideOfRange(range, sideOfRange, trait) {
120
- const siblingRelative = sideOfRange === SideOfRange.Start ? range.start : range.end;
121
- return {
122
- trait,
123
- side: siblingRelative.side,
124
- sibling: siblingRelative.referenceSibling,
125
- };
126
- }
127
- /**
128
- * Express the given `StableRange` as a `Range`
129
- */
130
- function rangeFromStableRange(snapshot, range) {
131
- const location = getTraitLocationOfRange(snapshot, range);
132
- // This can be optimized for better constant factors.
133
- return {
134
- start: sideOfRange(range, SideOfRange.Start, location),
135
- end: sideOfRange(range, SideOfRange.End, location),
136
- };
137
- }
138
- exports.rangeFromStableRange = rangeFromStableRange;
139
- /**
140
- * Express the given `StablePlace` as a `Place`
141
- */
142
- function placeFromStablePlace(snapshot, stablePlace) {
143
- const { side } = stablePlace;
144
- if (stablePlace.referenceSibling === undefined) {
145
- Common_1.assert(stablePlace.referenceTrait !== undefined);
146
- return {
147
- trait: stablePlace.referenceTrait,
148
- side,
149
- };
150
- }
151
- return {
152
- trait: snapshot.getTraitLocation(stablePlace.referenceSibling),
153
- side: stablePlace.side,
154
- sibling: stablePlace.referenceSibling,
155
- };
156
- }
157
- exports.placeFromStablePlace = placeFromStablePlace;
158
- /**
159
- * Check if two TraitLocations are equal.
160
- */
161
- function compareTraits(traitA, traitB) {
162
- if (traitA.label !== traitB.label || traitA.parent !== traitB.parent) {
163
- return false;
164
- }
165
- return true;
166
- }
167
- /**
168
- * Parents a set of nodes in a specified location within a trait.
169
- * @param nodesToInsert - the nodes to parent in the specified place. The nodes must already be present in the Snapshot.
170
- * @param placeToInsert - the location to insert the nodes.
171
- */
172
- function insertIntoTrait(snapshot, nodesToInsert, placeToInsert) {
173
- return snapshot.attachRange(nodesToInsert, placeFromStablePlace(snapshot, placeToInsert));
174
- }
175
- exports.insertIntoTrait = insertIntoTrait;
176
- /**
177
- * Detaches a range of nodes from their parent. The detached nodes remain in the Snapshot.
178
- * @param rangeToDetach - the range of nodes to detach
179
- */
180
- function detachRange(snapshot, rangeToDetach) {
181
- return snapshot.detachRange(rangeFromStableRange(snapshot, rangeToDetach));
182
- }
183
- exports.detachRange = detachRange;
184
- /**
185
- * Determine if an BuildNode is a DetachedSequenceId.
186
- * @internal
187
- */
188
- function isDetachedSequenceId(node) {
189
- return typeof node !== 'object';
190
- }
191
- exports.isDetachedSequenceId = isDetachedSequenceId;
192
- //# sourceMappingURL=EditUtilities.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EditUtilities.js","sourceRoot":"","sources":["../../src/default-edits/EditUtilities.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { DetachedSequenceId, NodeId } from '../Identifiers';\nimport { Snapshot, SnapshotPlace, SnapshotRange } from '../Snapshot';\nimport { assert, assertNotUndefined, fail } from '../Common';\nimport { EditValidationResult } from '../Checkout';\nimport { BuildNode, TraitLocation, TreeNodeSequence } from '../generic';\nimport { Change, StablePlace, StableRange } from './PersistedTypes';\n\n/**\n * Functions for constructing edits.\n */\n\n/**\n * Create a sequence of changes that resets the contents of `trait`.\n * @public\n */\nexport function setTrait(trait: TraitLocation, nodes: TreeNodeSequence<BuildNode>): readonly Change[] {\n\tconst id = 0 as DetachedSequenceId;\n\tconst traitContents = StableRange.all(trait);\n\n\treturn [Change.detach(traitContents), Change.build(nodes, id), Change.insert(id, traitContents.start)];\n}\n\n/**\n * Check the validity of the given `StablePlace`\n * @param snapshot - the `Snapshot` within which to validate the given place\n * @param place - the `StablePlace` to check\n */\nexport function validateStablePlace(snapshot: Snapshot, place: StablePlace): EditValidationResult {\n\t/* A StablePlace is valid if the following conditions are met:\n\t * 1. A sibling or trait is defined.\n\t * 2. If a sibling is defined, both it and its parent exist in the `Snapshot`.\n\t * 3. If a trait is defined, its parent node exists in the `Snapshot`.\n\t * 4. If a sibling and a trait location are both specified, the sibling needs to actually be in that trait.\n\t */\n\tconst { referenceSibling, referenceTrait } = place;\n\n\t// A well-formed `StablePlace` specifies exactly one of `referenceSibling` and `referenceTrait`.\n\tif (\n\t\t(referenceSibling === undefined && referenceTrait === undefined) ||\n\t\t(referenceSibling !== undefined && referenceTrait !== undefined)\n\t) {\n\t\treturn EditValidationResult.Malformed;\n\t}\n\n\tif (referenceSibling !== undefined) {\n\t\tif (!snapshot.hasNode(referenceSibling)) {\n\t\t\treturn EditValidationResult.Invalid;\n\t\t}\n\n\t\t// Detached nodes and the root are invalid anchors.\n\t\tif (snapshot.getTraitLabel(referenceSibling) === undefined) {\n\t\t\treturn EditValidationResult.Invalid;\n\t\t}\n\n\t\treturn EditValidationResult.Valid;\n\t}\n\n\tif (!snapshot.hasNode(assertNotUndefined(referenceTrait).parent)) {\n\t\treturn EditValidationResult.Invalid;\n\t}\n\n\treturn EditValidationResult.Valid;\n}\n\n/**\n * Check the validity of the given `StableRange`\n * @param snapshot - the `Snapshot` within which to validate the given range\n * @param range - the `StableRange` to check\n */\nexport function validateStableRange(snapshot: Snapshot, range: StableRange): EditValidationResult {\n\t/* A StableRange is valid if the following conditions are met:\n\t * 1. Its start and end places are valid.\n\t * 2. Its start and end places are within the same trait.\n\t * 3. Its start place is before its end place.\n\t */\n\tconst { start, end } = range;\n\n\tconst startValidationResult = validateStablePlace(snapshot, start);\n\tif (startValidationResult !== EditValidationResult.Valid) {\n\t\treturn startValidationResult;\n\t}\n\n\tconst endValidationResult = validateStablePlace(snapshot, end);\n\tif (endValidationResult !== EditValidationResult.Valid) {\n\t\treturn endValidationResult;\n\t}\n\n\tconst startTraitLocation =\n\t\tstart.referenceTrait || snapshot.getTraitLocation(assertNotUndefined(start.referenceSibling));\n\tconst endTraitLocation = end.referenceTrait || snapshot.getTraitLocation(assertNotUndefined(end.referenceSibling));\n\tif (!compareTraits(startTraitLocation, endTraitLocation)) {\n\t\treturn EditValidationResult.Invalid;\n\t}\n\n\tconst { start: startPlace, end: endPlace } = rangeFromStableRange(snapshot, range);\n\tconst startIndex = snapshot.findIndexWithinTrait(startPlace);\n\tconst endIndex = snapshot.findIndexWithinTrait(endPlace);\n\n\tif (startIndex > endIndex) {\n\t\treturn EditValidationResult.Invalid;\n\t}\n\n\treturn EditValidationResult.Valid;\n}\n\n/**\n * @param snapshot - the `Snapshot` within which to retrieve the trait location\n * @param range - must be well formed and valid\n */\nfunction getTraitLocationOfRange(snapshot: Snapshot, range: StableRange): TraitLocation {\n\tconst referenceTrait = range.start.referenceTrait ?? range.end.referenceTrait;\n\tif (referenceTrait) {\n\t\treturn referenceTrait;\n\t}\n\tconst sibling =\n\t\trange.start.referenceSibling ?? range.end.referenceSibling ?? fail('malformed range does not indicate trait');\n\treturn snapshot.getTraitLocation(sibling);\n}\n\n/**\n * Describes the side of a range.\n */\nenum SideOfRange {\n\t/**\n\t * The start of the range\n\t */\n\tStart = 0,\n\t/**\n\t * The end of the range\n\t */\n\tEnd = 1,\n}\n\nfunction sideOfRange(range: StableRange, sideOfRange: SideOfRange, trait: TraitLocation): SnapshotPlace {\n\tconst siblingRelative = sideOfRange === SideOfRange.Start ? range.start : range.end;\n\treturn {\n\t\ttrait,\n\t\tside: siblingRelative.side,\n\t\tsibling: siblingRelative.referenceSibling,\n\t};\n}\n\n/**\n * Express the given `StableRange` as a `Range`\n */\nexport function rangeFromStableRange(snapshot: Snapshot, range: StableRange): SnapshotRange {\n\tconst location = getTraitLocationOfRange(snapshot, range);\n\t// This can be optimized for better constant factors.\n\treturn {\n\t\tstart: sideOfRange(range, SideOfRange.Start, location),\n\t\tend: sideOfRange(range, SideOfRange.End, location),\n\t};\n}\n\n/**\n * Express the given `StablePlace` as a `Place`\n */\nexport function placeFromStablePlace(snapshot: Snapshot, stablePlace: StablePlace): SnapshotPlace {\n\tconst { side } = stablePlace;\n\tif (stablePlace.referenceSibling === undefined) {\n\t\tassert(stablePlace.referenceTrait !== undefined);\n\t\treturn {\n\t\t\ttrait: stablePlace.referenceTrait,\n\t\t\tside,\n\t\t};\n\t}\n\treturn {\n\t\ttrait: snapshot.getTraitLocation(stablePlace.referenceSibling),\n\t\tside: stablePlace.side,\n\t\tsibling: stablePlace.referenceSibling,\n\t};\n}\n\n/**\n * Check if two TraitLocations are equal.\n */\nfunction compareTraits(traitA: TraitLocation, traitB: TraitLocation): boolean {\n\tif (traitA.label !== traitB.label || traitA.parent !== traitB.parent) {\n\t\treturn false;\n\t}\n\n\treturn true;\n}\n\n/**\n * Parents a set of nodes in a specified location within a trait.\n * @param nodesToInsert - the nodes to parent in the specified place. The nodes must already be present in the Snapshot.\n * @param placeToInsert - the location to insert the nodes.\n */\nexport function insertIntoTrait(\n\tsnapshot: Snapshot,\n\tnodesToInsert: readonly NodeId[],\n\tplaceToInsert: StablePlace\n): Snapshot {\n\treturn snapshot.attachRange(nodesToInsert, placeFromStablePlace(snapshot, placeToInsert));\n}\n\n/**\n * Detaches a range of nodes from their parent. The detached nodes remain in the Snapshot.\n * @param rangeToDetach - the range of nodes to detach\n */\nexport function detachRange(\n\tsnapshot: Snapshot,\n\trangeToDetach: StableRange\n): { snapshot: Snapshot; detached: readonly NodeId[] } {\n\treturn snapshot.detachRange(rangeFromStableRange(snapshot, rangeToDetach));\n}\n\n/**\n * Determine if an BuildNode is a DetachedSequenceId.\n * @internal\n */\nexport function isDetachedSequenceId(node: BuildNode): node is DetachedSequenceId {\n\treturn typeof node !== 'object';\n}\n"]}
@@ -1,56 +0,0 @@
1
- /*!
2
- * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
- * Licensed under the MIT License.
4
- */
5
- import { IChannelAttributes, IFluidDataStoreRuntime, IChannelServices, IChannelFactory } from '@fluidframework/datastore-definitions';
6
- import { ISharedObject } from '@fluidframework/shared-object-base';
7
- import { SharedTree } from './SharedTree';
8
- /**
9
- * Factory for SharedTree.
10
- * Includes history in the summary.
11
- * @public
12
- */
13
- export declare class SharedTreeFactory implements IChannelFactory {
14
- /**
15
- * {@inheritDoc @fluidframework/shared-object-base#ISharedObjectFactory."type"}
16
- */
17
- static Type: string;
18
- /**
19
- * {@inheritDoc @fluidframework/shared-object-base#ISharedObjectFactory.attributes}
20
- */
21
- static Attributes: IChannelAttributes;
22
- /**
23
- * {@inheritDoc @fluidframework/shared-object-base#ISharedObjectFactory."type"}
24
- */
25
- get type(): string;
26
- /**
27
- * {@inheritDoc @fluidframework/shared-object-base#ISharedObjectFactory.attributes}
28
- */
29
- get attributes(): IChannelAttributes;
30
- /**
31
- * {@inheritDoc @fluidframework/shared-object-base#ISharedObjectFactory.load}
32
- */
33
- load(runtime: IFluidDataStoreRuntime, id: string, services: IChannelServices, _channelAttributes: Readonly<IChannelAttributes>): Promise<ISharedObject>;
34
- /**
35
- * Create a new SharedTree.
36
- * @param runtime - data store runtime that owns the new SharedTree
37
- * @param id - optional name for the SharedTree
38
- */
39
- create(runtime: IFluidDataStoreRuntime, id: string, expensiveValidation?: boolean): SharedTree;
40
- /**
41
- * Determines how the SharedTree will summarize the history.
42
- * This is a workaround for lacking the ability to construct DDSs with custom parameters.
43
- */
44
- protected includeHistoryInSummary(): boolean;
45
- }
46
- /**
47
- * Factory for SharedTree.
48
- * Does not include the history in the summary.
49
- * This is a workaround for lacking the ability to construct DDSs with custom parameters.
50
- * TODO:#54918: Clean up when DDS parameterization is supported.
51
- * @public
52
- */
53
- export declare class SharedTreeFactoryNoHistory extends SharedTreeFactory {
54
- protected includeHistoryInSummary(): boolean;
55
- }
56
- //# sourceMappingURL=Factory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Factory.d.ts","sourceRoot":"","sources":["../../src/default-edits/Factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACN,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EACf,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;;;GAIG;AACH,qBAAa,iBAAkB,YAAW,eAAe;IACxD;;OAEG;IACH,OAAc,IAAI,SAAgB;IAElC;;OAEG;IACH,OAAc,UAAU,EAAE,kBAAkB,CAI1C;IAEF;;OAEG;IACH,IAAW,IAAI,IAAI,MAAM,CAExB;IAED;;OAEG;IACH,IAAW,UAAU,IAAI,kBAAkB,CAE1C;IAED;;OAEG;IACU,IAAI,CAChB,OAAO,EAAE,sBAAsB,EAC/B,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,gBAAgB,EAC1B,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAC9C,OAAO,CAAC,aAAa,CAAC;IAMzB;;;;OAIG;IACI,MAAM,CAAC,OAAO,EAAE,sBAAsB,EAAE,EAAE,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,OAAO,GAAG,UAAU;IAMrG;;;OAGG;IACH,SAAS,CAAC,uBAAuB,IAAI,OAAO;CAG5C;AAED;;;;;;GAMG;AACH,qBAAa,0BAA2B,SAAQ,iBAAiB;IAChE,SAAS,CAAC,uBAAuB,IAAI,OAAO;CAG5C"}
@@ -1,79 +0,0 @@
1
- "use strict";
2
- /*!
3
- * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
4
- * Licensed under the MIT License.
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.SharedTreeFactoryNoHistory = exports.SharedTreeFactory = void 0;
8
- const SharedTree_1 = require("./SharedTree");
9
- /**
10
- * Factory for SharedTree.
11
- * Includes history in the summary.
12
- * @public
13
- */
14
- class SharedTreeFactory {
15
- /**
16
- * {@inheritDoc @fluidframework/shared-object-base#ISharedObjectFactory."type"}
17
- */
18
- get type() {
19
- return SharedTreeFactory.Type;
20
- }
21
- /**
22
- * {@inheritDoc @fluidframework/shared-object-base#ISharedObjectFactory.attributes}
23
- */
24
- get attributes() {
25
- return SharedTreeFactory.Attributes;
26
- }
27
- /**
28
- * {@inheritDoc @fluidframework/shared-object-base#ISharedObjectFactory.load}
29
- */
30
- async load(runtime, id, services, _channelAttributes) {
31
- const sharedTree = new SharedTree_1.SharedTree(runtime, id);
32
- await sharedTree.load(services);
33
- return sharedTree;
34
- }
35
- /**
36
- * Create a new SharedTree.
37
- * @param runtime - data store runtime that owns the new SharedTree
38
- * @param id - optional name for the SharedTree
39
- */
40
- create(runtime, id, expensiveValidation) {
41
- const sharedTree = new SharedTree_1.SharedTree(runtime, id, expensiveValidation, this.includeHistoryInSummary());
42
- sharedTree.initializeLocal();
43
- return sharedTree;
44
- }
45
- /**
46
- * Determines how the SharedTree will summarize the history.
47
- * This is a workaround for lacking the ability to construct DDSs with custom parameters.
48
- */
49
- includeHistoryInSummary() {
50
- return true;
51
- }
52
- }
53
- exports.SharedTreeFactory = SharedTreeFactory;
54
- /**
55
- * {@inheritDoc @fluidframework/shared-object-base#ISharedObjectFactory."type"}
56
- */
57
- SharedTreeFactory.Type = 'SharedTree';
58
- /**
59
- * {@inheritDoc @fluidframework/shared-object-base#ISharedObjectFactory.attributes}
60
- */
61
- SharedTreeFactory.Attributes = {
62
- type: SharedTreeFactory.Type,
63
- snapshotFormatVersion: '0.1',
64
- packageVersion: '0.1',
65
- };
66
- /**
67
- * Factory for SharedTree.
68
- * Does not include the history in the summary.
69
- * This is a workaround for lacking the ability to construct DDSs with custom parameters.
70
- * TODO:#54918: Clean up when DDS parameterization is supported.
71
- * @public
72
- */
73
- class SharedTreeFactoryNoHistory extends SharedTreeFactory {
74
- includeHistoryInSummary() {
75
- return false;
76
- }
77
- }
78
- exports.SharedTreeFactoryNoHistory = SharedTreeFactoryNoHistory;
79
- //# sourceMappingURL=Factory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Factory.js","sourceRoot":"","sources":["../../src/default-edits/Factory.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AASH,6CAA0C;AAE1C;;;;GAIG;AACH,MAAa,iBAAiB;IAe7B;;OAEG;IACH,IAAW,IAAI;QACd,OAAO,iBAAiB,CAAC,IAAI,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAW,UAAU;QACpB,OAAO,iBAAiB,CAAC,UAAU,CAAC;IACrC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,IAAI,CAChB,OAA+B,EAC/B,EAAU,EACV,QAA0B,EAC1B,kBAAgD;QAEhD,MAAM,UAAU,GAAG,IAAI,uBAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC/C,MAAM,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,OAAO,UAAU,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,OAA+B,EAAE,EAAU,EAAE,mBAA6B;QACvF,MAAM,UAAU,GAAG,IAAI,uBAAU,CAAC,OAAO,EAAE,EAAE,EAAE,mBAAmB,EAAE,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;QACpG,UAAU,CAAC,eAAe,EAAE,CAAC;QAC7B,OAAO,UAAU,CAAC;IACnB,CAAC;IAED;;;OAGG;IACO,uBAAuB;QAChC,OAAO,IAAI,CAAC;IACb,CAAC;;AA5DF,8CA6DC;AA5DA;;GAEG;AACW,sBAAI,GAAG,YAAY,CAAC;AAElC;;GAEG;AACW,4BAAU,GAAuB;IAC9C,IAAI,EAAE,iBAAiB,CAAC,IAAI;IAC5B,qBAAqB,EAAE,KAAK;IAC5B,cAAc,EAAE,KAAK;CACrB,CAAC;AAkDH;;;;;;GAMG;AACH,MAAa,0BAA2B,SAAQ,iBAAiB;IACtD,uBAAuB;QAChC,OAAO,KAAK,CAAC;IACd,CAAC;CACD;AAJD,gEAIC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n\tIChannelAttributes,\n\tIFluidDataStoreRuntime,\n\tIChannelServices,\n\tIChannelFactory,\n} from '@fluidframework/datastore-definitions';\nimport { ISharedObject } from '@fluidframework/shared-object-base';\nimport { SharedTree } from './SharedTree';\n\n/**\n * Factory for SharedTree.\n * Includes history in the summary.\n * @public\n */\nexport class SharedTreeFactory implements IChannelFactory {\n\t/**\n\t * {@inheritDoc @fluidframework/shared-object-base#ISharedObjectFactory.\"type\"}\n\t */\n\tpublic static Type = 'SharedTree';\n\n\t/**\n\t * {@inheritDoc @fluidframework/shared-object-base#ISharedObjectFactory.attributes}\n\t */\n\tpublic static Attributes: IChannelAttributes = {\n\t\ttype: SharedTreeFactory.Type,\n\t\tsnapshotFormatVersion: '0.1',\n\t\tpackageVersion: '0.1',\n\t};\n\n\t/**\n\t * {@inheritDoc @fluidframework/shared-object-base#ISharedObjectFactory.\"type\"}\n\t */\n\tpublic get type(): string {\n\t\treturn SharedTreeFactory.Type;\n\t}\n\n\t/**\n\t * {@inheritDoc @fluidframework/shared-object-base#ISharedObjectFactory.attributes}\n\t */\n\tpublic get attributes(): IChannelAttributes {\n\t\treturn SharedTreeFactory.Attributes;\n\t}\n\n\t/**\n\t * {@inheritDoc @fluidframework/shared-object-base#ISharedObjectFactory.load}\n\t */\n\tpublic async load(\n\t\truntime: IFluidDataStoreRuntime,\n\t\tid: string,\n\t\tservices: IChannelServices,\n\t\t_channelAttributes: Readonly<IChannelAttributes>\n\t): Promise<ISharedObject> {\n\t\tconst sharedTree = new SharedTree(runtime, id);\n\t\tawait sharedTree.load(services);\n\t\treturn sharedTree;\n\t}\n\n\t/**\n\t * Create a new SharedTree.\n\t * @param runtime - data store runtime that owns the new SharedTree\n\t * @param id - optional name for the SharedTree\n\t */\n\tpublic create(runtime: IFluidDataStoreRuntime, id: string, expensiveValidation?: boolean): SharedTree {\n\t\tconst sharedTree = new SharedTree(runtime, id, expensiveValidation, this.includeHistoryInSummary());\n\t\tsharedTree.initializeLocal();\n\t\treturn sharedTree;\n\t}\n\n\t/**\n\t * Determines how the SharedTree will summarize the history.\n\t * This is a workaround for lacking the ability to construct DDSs with custom parameters.\n\t */\n\tprotected includeHistoryInSummary(): boolean {\n\t\treturn true;\n\t}\n}\n\n/**\n * Factory for SharedTree.\n * Does not include the history in the summary.\n * This is a workaround for lacking the ability to construct DDSs with custom parameters.\n * TODO:#54918: Clean up when DDS parameterization is supported.\n * @public\n */\nexport class SharedTreeFactoryNoHistory extends SharedTreeFactory {\n\tprotected includeHistoryInSummary(): boolean {\n\t\treturn false;\n\t}\n}\n"]}
@@ -1,19 +0,0 @@
1
- /*!
2
- * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
- * Licensed under the MIT License.
4
- */
5
- import { Snapshot } from '../Snapshot';
6
- import { Change } from './PersistedTypes';
7
- /**
8
- * Given a sequence of changes, produces an inverse sequence of changes, i.e. the minimal changes required to revert the given changes
9
- * @param changes - the changes for which to produce an inverse.
10
- * @param before - a snapshot of the tree state before `changes` are/were applied - used as a basis for generating the inverse.
11
- * @returns a sequence of changes _r_ that will produce `before` if applied to a snapshot _A_, where _A_ is the result of
12
- * applying `changes` to `before`. Applying _r_ to snapshots other than _A_ is legal but may cause the changes to fail to apply or may
13
- * not be a true semantic inverse.
14
- *
15
- * TODO: what should this do if `changes` fails to apply to `before`?
16
- * @public
17
- */
18
- export declare function revert(changes: readonly Change[], before: Snapshot): Change[];
19
- //# sourceMappingURL=HistoryEditFactory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HistoryEditFactory.d.ts","sourceRoot":"","sources":["../../src/default-edits/HistoryEditFactory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,QAAQ,EAAQ,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAkE,MAAM,kBAAkB,CAAC;AAI1G;;;;;;;;;;GAUG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,GAAG,MAAM,EAAE,CA4E7E"}