@fluid-experimental/tree 2.0.0-rc.2.0.1 → 2.0.0-rc.3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (571) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/api-report/experimental-tree.api.md +2 -2
  3. package/dist/ChangeCompression.d.ts +2 -2
  4. package/dist/ChangeCompression.d.ts.map +1 -1
  5. package/dist/ChangeCompression.js +1 -1
  6. package/dist/ChangeCompression.js.map +1 -1
  7. package/dist/ChangeTypes.d.ts +1 -1
  8. package/dist/ChangeTypes.d.ts.map +1 -1
  9. package/dist/ChangeTypes.js +4 -4
  10. package/dist/ChangeTypes.js.map +1 -1
  11. package/dist/Checkout.d.ts +3 -3
  12. package/dist/Checkout.d.ts.map +1 -1
  13. package/dist/Checkout.js +17 -17
  14. package/dist/Checkout.js.map +1 -1
  15. package/dist/EditLog.d.ts +1 -1
  16. package/dist/EditLog.d.ts.map +1 -1
  17. package/dist/EditLog.js +9 -9
  18. package/dist/EditLog.js.map +1 -1
  19. package/dist/EditUtilities.d.ts +3 -3
  20. package/dist/EditUtilities.d.ts.map +1 -1
  21. package/dist/EditUtilities.js +6 -6
  22. package/dist/EditUtilities.js.map +1 -1
  23. package/dist/Forest.d.ts.map +1 -1
  24. package/dist/Forest.js +23 -23
  25. package/dist/Forest.js.map +1 -1
  26. package/dist/HistoryEditFactory.d.ts +1 -1
  27. package/dist/HistoryEditFactory.d.ts.map +1 -1
  28. package/dist/HistoryEditFactory.js +7 -7
  29. package/dist/HistoryEditFactory.js.map +1 -1
  30. package/dist/IdConversion.d.ts.map +1 -1
  31. package/dist/IdConversion.js.map +1 -1
  32. package/dist/LogViewer.d.ts +2 -2
  33. package/dist/LogViewer.d.ts.map +1 -1
  34. package/dist/LogViewer.js +7 -7
  35. package/dist/LogViewer.js.map +1 -1
  36. package/dist/MergeHealth.d.ts.map +1 -1
  37. package/dist/MergeHealth.js +1 -1
  38. package/dist/MergeHealth.js.map +1 -1
  39. package/dist/NodeIdUtilities.d.ts +1 -1
  40. package/dist/NodeIdUtilities.d.ts.map +1 -1
  41. package/dist/NodeIdUtilities.js +1 -1
  42. package/dist/NodeIdUtilities.js.map +1 -1
  43. package/dist/PayloadUtilities.d.ts.map +1 -1
  44. package/dist/PayloadUtilities.js +2 -2
  45. package/dist/PayloadUtilities.js.map +1 -1
  46. package/dist/ReconciliationPath.d.ts +1 -1
  47. package/dist/ReconciliationPath.d.ts.map +1 -1
  48. package/dist/ReconciliationPath.js.map +1 -1
  49. package/dist/RevisionValueCache.d.ts.map +1 -1
  50. package/dist/RevisionValueCache.js +2 -2
  51. package/dist/RevisionValueCache.js.map +1 -1
  52. package/dist/RevisionView.d.ts +2 -2
  53. package/dist/RevisionView.d.ts.map +1 -1
  54. package/dist/RevisionView.js.map +1 -1
  55. package/dist/SerializationUtilities.d.ts +1 -1
  56. package/dist/SerializationUtilities.d.ts.map +1 -1
  57. package/dist/SerializationUtilities.js.map +1 -1
  58. package/dist/SharedTree.d.ts +8 -7
  59. package/dist/SharedTree.d.ts.map +1 -1
  60. package/dist/SharedTree.js +78 -78
  61. package/dist/SharedTree.js.map +1 -1
  62. package/dist/SharedTreeEncoder.d.ts +1 -1
  63. package/dist/SharedTreeEncoder.d.ts.map +1 -1
  64. package/dist/SharedTreeEncoder.js +31 -31
  65. package/dist/SharedTreeEncoder.js.map +1 -1
  66. package/dist/Summary.d.ts +2 -2
  67. package/dist/Summary.d.ts.map +1 -1
  68. package/dist/Summary.js +2 -2
  69. package/dist/Summary.js.map +1 -1
  70. package/dist/SummaryBackCompatibility.d.ts.map +1 -1
  71. package/dist/SummaryBackCompatibility.js.map +1 -1
  72. package/dist/SummaryTestUtilities.d.ts +1 -1
  73. package/dist/SummaryTestUtilities.d.ts.map +1 -1
  74. package/dist/SummaryTestUtilities.js.map +1 -1
  75. package/dist/Transaction.d.ts +3 -3
  76. package/dist/Transaction.d.ts.map +1 -1
  77. package/dist/Transaction.js +3 -3
  78. package/dist/Transaction.js.map +1 -1
  79. package/dist/TransactionInternal.d.ts +3 -3
  80. package/dist/TransactionInternal.d.ts.map +1 -1
  81. package/dist/TransactionInternal.js +6 -6
  82. package/dist/TransactionInternal.js.map +1 -1
  83. package/dist/TreeCompressor.d.ts +5 -1
  84. package/dist/TreeCompressor.d.ts.map +1 -1
  85. package/dist/TreeCompressor.js +5 -5
  86. package/dist/TreeCompressor.js.map +1 -1
  87. package/dist/TreeNodeHandle.d.ts +1 -1
  88. package/dist/TreeNodeHandle.d.ts.map +1 -1
  89. package/dist/TreeNodeHandle.js.map +1 -1
  90. package/dist/TreeView.d.ts +1 -1
  91. package/dist/TreeView.d.ts.map +1 -1
  92. package/dist/TreeView.js +2 -3
  93. package/dist/TreeView.js.map +1 -1
  94. package/dist/UuidUtilities.d.ts.map +1 -1
  95. package/dist/UuidUtilities.js.map +1 -1
  96. package/dist/id-compressor/AppendOnlySortedMap.d.ts.map +1 -1
  97. package/dist/id-compressor/AppendOnlySortedMap.js +3 -3
  98. package/dist/id-compressor/AppendOnlySortedMap.js.map +1 -1
  99. package/dist/id-compressor/IdCompressor.d.ts +1 -1
  100. package/dist/id-compressor/IdCompressor.d.ts.map +1 -1
  101. package/dist/id-compressor/IdCompressor.js +25 -26
  102. package/dist/id-compressor/IdCompressor.js.map +1 -1
  103. package/dist/id-compressor/IdRange.d.ts.map +1 -1
  104. package/dist/id-compressor/IdRange.js +2 -2
  105. package/dist/id-compressor/IdRange.js.map +1 -1
  106. package/dist/id-compressor/NumericUuid.d.ts.map +1 -1
  107. package/dist/id-compressor/NumericUuid.js +2 -1
  108. package/dist/id-compressor/NumericUuid.js.map +1 -1
  109. package/dist/id-compressor/SessionIdNormalizer.d.ts.map +1 -1
  110. package/dist/id-compressor/SessionIdNormalizer.js +8 -9
  111. package/dist/id-compressor/SessionIdNormalizer.js.map +1 -1
  112. package/dist/migration-shim/migrationDeltaHandler.d.ts +1 -1
  113. package/dist/migration-shim/migrationDeltaHandler.d.ts.map +1 -1
  114. package/dist/migration-shim/migrationDeltaHandler.js +11 -11
  115. package/dist/migration-shim/migrationDeltaHandler.js.map +1 -1
  116. package/dist/migration-shim/migrationShim.d.ts +8 -4
  117. package/dist/migration-shim/migrationShim.d.ts.map +1 -1
  118. package/dist/migration-shim/migrationShim.js +13 -13
  119. package/dist/migration-shim/migrationShim.js.map +1 -1
  120. package/dist/migration-shim/migrationShimFactory.d.ts +2 -2
  121. package/dist/migration-shim/migrationShimFactory.d.ts.map +1 -1
  122. package/dist/migration-shim/migrationShimFactory.js +2 -2
  123. package/dist/migration-shim/migrationShimFactory.js.map +1 -1
  124. package/dist/migration-shim/packageVersion.d.ts +0 -2
  125. package/dist/migration-shim/packageVersion.d.ts.map +1 -1
  126. package/dist/migration-shim/packageVersion.js +0 -2
  127. package/dist/migration-shim/packageVersion.js.map +1 -1
  128. package/dist/migration-shim/sharedTreeDeltaHandler.d.ts.map +1 -1
  129. package/dist/migration-shim/sharedTreeDeltaHandler.js +8 -8
  130. package/dist/migration-shim/sharedTreeDeltaHandler.js.map +1 -1
  131. package/dist/migration-shim/sharedTreeShim.d.ts +2 -2
  132. package/dist/migration-shim/sharedTreeShim.d.ts.map +1 -1
  133. package/dist/migration-shim/sharedTreeShim.js +8 -4
  134. package/dist/migration-shim/sharedTreeShim.js.map +1 -1
  135. package/dist/migration-shim/sharedTreeShimFactory.d.ts +1 -1
  136. package/dist/migration-shim/sharedTreeShimFactory.d.ts.map +1 -1
  137. package/dist/migration-shim/sharedTreeShimFactory.js +2 -2
  138. package/dist/migration-shim/sharedTreeShimFactory.js.map +1 -1
  139. package/dist/migration-shim/shimChannelServices.d.ts +1 -1
  140. package/dist/migration-shim/shimChannelServices.d.ts.map +1 -1
  141. package/dist/migration-shim/shimChannelServices.js.map +1 -1
  142. package/dist/migration-shim/shimDeltaConnection.d.ts +1 -1
  143. package/dist/migration-shim/shimDeltaConnection.d.ts.map +1 -1
  144. package/dist/migration-shim/shimDeltaConnection.js +2 -2
  145. package/dist/migration-shim/shimDeltaConnection.js.map +1 -1
  146. package/dist/migration-shim/shimHandle.d.ts.map +1 -1
  147. package/dist/migration-shim/shimHandle.js.map +1 -1
  148. package/dist/migration-shim/types.d.ts +1 -1
  149. package/dist/migration-shim/types.d.ts.map +1 -1
  150. package/dist/migration-shim/types.js.map +1 -1
  151. package/dist/migration-shim/utils.d.ts +1 -1
  152. package/dist/migration-shim/utils.d.ts.map +1 -1
  153. package/dist/migration-shim/utils.js.map +1 -1
  154. package/dist/persisted-types/0.0.2.d.ts +1 -1
  155. package/dist/persisted-types/0.0.2.d.ts.map +1 -1
  156. package/dist/persisted-types/0.0.2.js.map +1 -1
  157. package/dist/persisted-types/0.1.1.d.ts +1 -1
  158. package/dist/persisted-types/0.1.1.d.ts.map +1 -1
  159. package/dist/persisted-types/0.1.1.js +3 -3
  160. package/dist/persisted-types/0.1.1.js.map +1 -1
  161. package/lib/ChangeCompression.d.ts +2 -2
  162. package/lib/ChangeCompression.d.ts.map +1 -1
  163. package/lib/ChangeCompression.js +1 -1
  164. package/lib/ChangeCompression.js.map +1 -1
  165. package/lib/ChangeTypes.d.ts +1 -1
  166. package/lib/ChangeTypes.d.ts.map +1 -1
  167. package/lib/ChangeTypes.js +2 -2
  168. package/lib/ChangeTypes.js.map +1 -1
  169. package/lib/Checkout.d.ts +3 -3
  170. package/lib/Checkout.d.ts.map +1 -1
  171. package/lib/Checkout.js +4 -4
  172. package/lib/Checkout.js.map +1 -1
  173. package/lib/EditLog.d.ts +1 -1
  174. package/lib/EditLog.d.ts.map +1 -1
  175. package/lib/EditLog.js +2 -2
  176. package/lib/EditLog.js.map +1 -1
  177. package/lib/EditUtilities.d.ts +3 -3
  178. package/lib/EditUtilities.d.ts.map +1 -1
  179. package/lib/EditUtilities.js +5 -5
  180. package/lib/EditUtilities.js.map +1 -1
  181. package/lib/Forest.d.ts.map +1 -1
  182. package/lib/Forest.js +2 -2
  183. package/lib/Forest.js.map +1 -1
  184. package/lib/HistoryEditFactory.d.ts +1 -1
  185. package/lib/HistoryEditFactory.d.ts.map +1 -1
  186. package/lib/HistoryEditFactory.js +5 -5
  187. package/lib/HistoryEditFactory.js.map +1 -1
  188. package/lib/IdConversion.d.ts.map +1 -1
  189. package/lib/IdConversion.js.map +1 -1
  190. package/lib/LogViewer.d.ts +2 -2
  191. package/lib/LogViewer.d.ts.map +1 -1
  192. package/lib/LogViewer.js +3 -3
  193. package/lib/LogViewer.js.map +1 -1
  194. package/lib/MergeHealth.d.ts.map +1 -1
  195. package/lib/MergeHealth.js +1 -1
  196. package/lib/MergeHealth.js.map +1 -1
  197. package/lib/NodeIdUtilities.d.ts +1 -1
  198. package/lib/NodeIdUtilities.d.ts.map +1 -1
  199. package/lib/NodeIdUtilities.js +1 -1
  200. package/lib/NodeIdUtilities.js.map +1 -1
  201. package/lib/PayloadUtilities.d.ts.map +1 -1
  202. package/lib/PayloadUtilities.js +1 -1
  203. package/lib/PayloadUtilities.js.map +1 -1
  204. package/lib/ReconciliationPath.d.ts +1 -1
  205. package/lib/ReconciliationPath.d.ts.map +1 -1
  206. package/lib/ReconciliationPath.js.map +1 -1
  207. package/lib/RevisionValueCache.d.ts.map +1 -1
  208. package/lib/RevisionValueCache.js +2 -2
  209. package/lib/RevisionValueCache.js.map +1 -1
  210. package/lib/RevisionView.d.ts +2 -2
  211. package/lib/RevisionView.d.ts.map +1 -1
  212. package/lib/RevisionView.js.map +1 -1
  213. package/lib/SerializationUtilities.d.ts +1 -1
  214. package/lib/SerializationUtilities.d.ts.map +1 -1
  215. package/lib/SerializationUtilities.js.map +1 -1
  216. package/lib/SharedTree.d.ts +8 -7
  217. package/lib/SharedTree.d.ts.map +1 -1
  218. package/lib/SharedTree.js +13 -13
  219. package/lib/SharedTree.js.map +1 -1
  220. package/lib/SharedTreeEncoder.d.ts +1 -1
  221. package/lib/SharedTreeEncoder.d.ts.map +1 -1
  222. package/lib/SharedTreeEncoder.js +5 -5
  223. package/lib/SharedTreeEncoder.js.map +1 -1
  224. package/lib/Summary.d.ts +2 -2
  225. package/lib/Summary.d.ts.map +1 -1
  226. package/lib/Summary.js +1 -1
  227. package/lib/Summary.js.map +1 -1
  228. package/lib/SummaryBackCompatibility.d.ts.map +1 -1
  229. package/lib/SummaryBackCompatibility.js.map +1 -1
  230. package/lib/SummaryTestUtilities.d.ts +1 -1
  231. package/lib/SummaryTestUtilities.d.ts.map +1 -1
  232. package/lib/SummaryTestUtilities.js.map +1 -1
  233. package/lib/Transaction.d.ts +3 -3
  234. package/lib/Transaction.d.ts.map +1 -1
  235. package/lib/Transaction.js +3 -3
  236. package/lib/Transaction.js.map +1 -1
  237. package/lib/TransactionInternal.d.ts +3 -3
  238. package/lib/TransactionInternal.d.ts.map +1 -1
  239. package/lib/TransactionInternal.js +3 -3
  240. package/lib/TransactionInternal.js.map +1 -1
  241. package/lib/TreeCompressor.d.ts +5 -1
  242. package/lib/TreeCompressor.d.ts.map +1 -1
  243. package/lib/TreeCompressor.js +2 -2
  244. package/lib/TreeCompressor.js.map +1 -1
  245. package/lib/TreeNodeHandle.d.ts +1 -1
  246. package/lib/TreeNodeHandle.d.ts.map +1 -1
  247. package/lib/TreeNodeHandle.js.map +1 -1
  248. package/lib/TreeView.d.ts +1 -1
  249. package/lib/TreeView.d.ts.map +1 -1
  250. package/lib/TreeView.js +1 -2
  251. package/lib/TreeView.js.map +1 -1
  252. package/lib/UuidUtilities.d.ts.map +1 -1
  253. package/lib/UuidUtilities.js +1 -1
  254. package/lib/UuidUtilities.js.map +1 -1
  255. package/lib/id-compressor/AppendOnlySortedMap.d.ts.map +1 -1
  256. package/lib/id-compressor/AppendOnlySortedMap.js +1 -1
  257. package/lib/id-compressor/AppendOnlySortedMap.js.map +1 -1
  258. package/lib/id-compressor/IdCompressor.d.ts +1 -1
  259. package/lib/id-compressor/IdCompressor.d.ts.map +1 -1
  260. package/lib/id-compressor/IdCompressor.js +4 -5
  261. package/lib/id-compressor/IdCompressor.js.map +1 -1
  262. package/lib/id-compressor/IdRange.d.ts.map +1 -1
  263. package/lib/id-compressor/IdRange.js +1 -1
  264. package/lib/id-compressor/IdRange.js.map +1 -1
  265. package/lib/id-compressor/NumericUuid.d.ts.map +1 -1
  266. package/lib/id-compressor/NumericUuid.js +2 -1
  267. package/lib/id-compressor/NumericUuid.js.map +1 -1
  268. package/lib/id-compressor/SessionIdNormalizer.d.ts.map +1 -1
  269. package/lib/id-compressor/SessionIdNormalizer.js +1 -2
  270. package/lib/id-compressor/SessionIdNormalizer.js.map +1 -1
  271. package/lib/migration-shim/migrationDeltaHandler.d.ts +1 -1
  272. package/lib/migration-shim/migrationDeltaHandler.d.ts.map +1 -1
  273. package/lib/migration-shim/migrationDeltaHandler.js +1 -1
  274. package/lib/migration-shim/migrationDeltaHandler.js.map +1 -1
  275. package/lib/migration-shim/migrationShim.d.ts +8 -4
  276. package/lib/migration-shim/migrationShim.d.ts.map +1 -1
  277. package/lib/migration-shim/migrationShim.js +3 -3
  278. package/lib/migration-shim/migrationShim.js.map +1 -1
  279. package/lib/migration-shim/migrationShimFactory.d.ts +2 -2
  280. package/lib/migration-shim/migrationShimFactory.d.ts.map +1 -1
  281. package/lib/migration-shim/migrationShimFactory.js +1 -1
  282. package/lib/migration-shim/migrationShimFactory.js.map +1 -1
  283. package/lib/migration-shim/packageVersion.d.ts +0 -2
  284. package/lib/migration-shim/packageVersion.d.ts.map +1 -1
  285. package/lib/migration-shim/packageVersion.js +0 -2
  286. package/lib/migration-shim/packageVersion.js.map +1 -1
  287. package/lib/migration-shim/sharedTreeDeltaHandler.d.ts.map +1 -1
  288. package/lib/migration-shim/sharedTreeDeltaHandler.js +1 -1
  289. package/lib/migration-shim/sharedTreeDeltaHandler.js.map +1 -1
  290. package/lib/migration-shim/sharedTreeShim.d.ts +2 -2
  291. package/lib/migration-shim/sharedTreeShim.d.ts.map +1 -1
  292. package/lib/migration-shim/sharedTreeShim.js +6 -2
  293. package/lib/migration-shim/sharedTreeShim.js.map +1 -1
  294. package/lib/migration-shim/sharedTreeShimFactory.d.ts +1 -1
  295. package/lib/migration-shim/sharedTreeShimFactory.d.ts.map +1 -1
  296. package/lib/migration-shim/sharedTreeShimFactory.js +1 -1
  297. package/lib/migration-shim/sharedTreeShimFactory.js.map +1 -1
  298. package/lib/migration-shim/shimChannelServices.d.ts +1 -1
  299. package/lib/migration-shim/shimChannelServices.d.ts.map +1 -1
  300. package/lib/migration-shim/shimChannelServices.js.map +1 -1
  301. package/lib/migration-shim/shimDeltaConnection.d.ts +1 -1
  302. package/lib/migration-shim/shimDeltaConnection.d.ts.map +1 -1
  303. package/lib/migration-shim/shimDeltaConnection.js +1 -1
  304. package/lib/migration-shim/shimDeltaConnection.js.map +1 -1
  305. package/lib/migration-shim/shimHandle.d.ts.map +1 -1
  306. package/lib/migration-shim/shimHandle.js.map +1 -1
  307. package/lib/migration-shim/types.d.ts +1 -1
  308. package/lib/migration-shim/types.d.ts.map +1 -1
  309. package/lib/migration-shim/types.js.map +1 -1
  310. package/lib/migration-shim/utils.d.ts +1 -1
  311. package/lib/migration-shim/utils.d.ts.map +1 -1
  312. package/lib/migration-shim/utils.js.map +1 -1
  313. package/lib/persisted-types/0.0.2.d.ts +1 -1
  314. package/lib/persisted-types/0.0.2.d.ts.map +1 -1
  315. package/lib/persisted-types/0.0.2.js.map +1 -1
  316. package/lib/persisted-types/0.1.1.d.ts +1 -1
  317. package/lib/persisted-types/0.1.1.d.ts.map +1 -1
  318. package/lib/persisted-types/0.1.1.js +1 -1
  319. package/lib/persisted-types/0.1.1.js.map +1 -1
  320. package/package.json +33 -32
  321. package/src/ChangeCompression.ts +8 -8
  322. package/src/ChangeTypes.ts +5 -4
  323. package/src/Checkout.ts +9 -7
  324. package/src/EditLog.ts +4 -3
  325. package/src/EditUtilities.ts +9 -8
  326. package/src/Forest.ts +3 -2
  327. package/src/HistoryEditFactory.ts +12 -11
  328. package/src/IdConversion.ts +2 -2
  329. package/src/LogViewer.ts +5 -4
  330. package/src/MergeHealth.ts +2 -1
  331. package/src/NodeIdUtilities.ts +2 -2
  332. package/src/PayloadUtilities.ts +2 -1
  333. package/src/ReconciliationPath.ts +1 -1
  334. package/src/RevisionValueCache.ts +3 -2
  335. package/src/RevisionView.ts +3 -3
  336. package/src/SerializationUtilities.ts +1 -1
  337. package/src/SharedTree.ts +46 -49
  338. package/src/SharedTreeEncoder.ts +30 -29
  339. package/src/Summary.ts +5 -3
  340. package/src/SummaryBackCompatibility.ts +1 -0
  341. package/src/SummaryTestUtilities.ts +2 -1
  342. package/src/Transaction.ts +7 -6
  343. package/src/TransactionInternal.ts +17 -16
  344. package/src/TreeCompressor.ts +6 -4
  345. package/src/TreeNodeHandle.ts +2 -2
  346. package/src/TreeView.ts +3 -3
  347. package/src/UuidUtilities.ts +2 -1
  348. package/src/id-compressor/AppendOnlySortedMap.ts +2 -1
  349. package/src/id-compressor/IdCompressor.ts +18 -17
  350. package/src/id-compressor/IdRange.ts +2 -1
  351. package/src/id-compressor/NumericUuid.ts +1 -1
  352. package/src/id-compressor/SessionIdNormalizer.ts +3 -3
  353. package/src/migration-shim/migrationDeltaHandler.ts +3 -2
  354. package/src/migration-shim/migrationShim.ts +14 -10
  355. package/src/migration-shim/migrationShimFactory.ts +6 -4
  356. package/src/migration-shim/packageVersion.ts +0 -2
  357. package/src/migration-shim/sharedTreeDeltaHandler.ts +3 -2
  358. package/src/migration-shim/sharedTreeShim.ts +7 -5
  359. package/src/migration-shim/sharedTreeShimFactory.ts +3 -3
  360. package/src/migration-shim/shimChannelServices.ts +1 -1
  361. package/src/migration-shim/shimDeltaConnection.ts +3 -2
  362. package/src/migration-shim/shimHandle.ts +1 -0
  363. package/src/migration-shim/types.ts +3 -1
  364. package/src/migration-shim/utils.ts +2 -1
  365. package/src/persisted-types/0.0.2.ts +2 -2
  366. package/src/persisted-types/0.1.1.ts +10 -8
  367. package/dist/tree-alpha.d.ts +0 -2901
  368. package/dist/tree-beta.d.ts +0 -348
  369. package/dist/tree-public.d.ts +0 -348
  370. package/dist/tree-untrimmed.d.ts +0 -3820
  371. package/lib/test/AppendOnlySortedMap.perf.tests.d.ts +0 -6
  372. package/lib/test/AppendOnlySortedMap.perf.tests.d.ts.map +0 -1
  373. package/lib/test/AppendOnlySortedMap.perf.tests.js +0 -49
  374. package/lib/test/AppendOnlySortedMap.perf.tests.js.map +0 -1
  375. package/lib/test/AppendOnlySortedMap.tests.d.ts +0 -6
  376. package/lib/test/AppendOnlySortedMap.tests.d.ts.map +0 -1
  377. package/lib/test/AppendOnlySortedMap.tests.js +0 -213
  378. package/lib/test/AppendOnlySortedMap.tests.js.map +0 -1
  379. package/lib/test/ChangeCompression.tests.d.ts +0 -6
  380. package/lib/test/ChangeCompression.tests.d.ts.map +0 -1
  381. package/lib/test/ChangeCompression.tests.js +0 -154
  382. package/lib/test/ChangeCompression.tests.js.map +0 -1
  383. package/lib/test/Checkout.tests.d.ts +0 -10
  384. package/lib/test/Checkout.tests.d.ts.map +0 -1
  385. package/lib/test/Checkout.tests.js +0 -460
  386. package/lib/test/Checkout.tests.js.map +0 -1
  387. package/lib/test/Common.tests.d.ts +0 -6
  388. package/lib/test/Common.tests.d.ts.map +0 -1
  389. package/lib/test/Common.tests.js +0 -102
  390. package/lib/test/Common.tests.js.map +0 -1
  391. package/lib/test/EagerCheckout.tests.d.ts +0 -6
  392. package/lib/test/EagerCheckout.tests.d.ts.map +0 -1
  393. package/lib/test/EagerCheckout.tests.js +0 -20
  394. package/lib/test/EagerCheckout.tests.js.map +0 -1
  395. package/lib/test/Edit.tests.d.ts +0 -6
  396. package/lib/test/Edit.tests.d.ts.map +0 -1
  397. package/lib/test/Edit.tests.js +0 -60
  398. package/lib/test/Edit.tests.js.map +0 -1
  399. package/lib/test/EditLog.perf.tests.d.ts +0 -6
  400. package/lib/test/EditLog.perf.tests.d.ts.map +0 -1
  401. package/lib/test/EditLog.perf.tests.js +0 -41
  402. package/lib/test/EditLog.perf.tests.js.map +0 -1
  403. package/lib/test/EditLog.tests.d.ts +0 -6
  404. package/lib/test/EditLog.tests.d.ts.map +0 -1
  405. package/lib/test/EditLog.tests.js +0 -355
  406. package/lib/test/EditLog.tests.js.map +0 -1
  407. package/lib/test/EditUtilities.tests.d.ts +0 -6
  408. package/lib/test/EditUtilities.tests.d.ts.map +0 -1
  409. package/lib/test/EditUtilities.tests.js +0 -512
  410. package/lib/test/EditUtilities.tests.js.map +0 -1
  411. package/lib/test/Forest.perf.tests.d.ts +0 -6
  412. package/lib/test/Forest.perf.tests.d.ts.map +0 -1
  413. package/lib/test/Forest.perf.tests.js +0 -135
  414. package/lib/test/Forest.perf.tests.js.map +0 -1
  415. package/lib/test/Forest.tests.d.ts +0 -6
  416. package/lib/test/Forest.tests.d.ts.map +0 -1
  417. package/lib/test/Forest.tests.js +0 -213
  418. package/lib/test/Forest.tests.js.map +0 -1
  419. package/lib/test/GenericTransaction.tests.d.ts +0 -6
  420. package/lib/test/GenericTransaction.tests.d.ts.map +0 -1
  421. package/lib/test/GenericTransaction.tests.js +0 -31
  422. package/lib/test/GenericTransaction.tests.js.map +0 -1
  423. package/lib/test/HistoryEditFactory.tests.d.ts +0 -6
  424. package/lib/test/HistoryEditFactory.tests.d.ts.map +0 -1
  425. package/lib/test/HistoryEditFactory.tests.js +0 -170
  426. package/lib/test/HistoryEditFactory.tests.js.map +0 -1
  427. package/lib/test/IdCompressor.perf.tests.d.ts +0 -6
  428. package/lib/test/IdCompressor.perf.tests.d.ts.map +0 -1
  429. package/lib/test/IdCompressor.perf.tests.js +0 -290
  430. package/lib/test/IdCompressor.perf.tests.js.map +0 -1
  431. package/lib/test/IdCompressor.tests.d.ts +0 -6
  432. package/lib/test/IdCompressor.tests.d.ts.map +0 -1
  433. package/lib/test/IdCompressor.tests.js +0 -1542
  434. package/lib/test/IdCompressor.tests.js.map +0 -1
  435. package/lib/test/IdConversion.tests.d.ts +0 -6
  436. package/lib/test/IdConversion.tests.d.ts.map +0 -1
  437. package/lib/test/IdConversion.tests.js +0 -36
  438. package/lib/test/IdConversion.tests.js.map +0 -1
  439. package/lib/test/LazyCheckout.tests.d.ts +0 -6
  440. package/lib/test/LazyCheckout.tests.d.ts.map +0 -1
  441. package/lib/test/LazyCheckout.tests.js +0 -22
  442. package/lib/test/LazyCheckout.tests.js.map +0 -1
  443. package/lib/test/LogViewer.tests.d.ts +0 -6
  444. package/lib/test/LogViewer.tests.d.ts.map +0 -1
  445. package/lib/test/LogViewer.tests.js +0 -588
  446. package/lib/test/LogViewer.tests.js.map +0 -1
  447. package/lib/test/MergeHealthTelemetryHeartbeat.tests.d.ts +0 -6
  448. package/lib/test/MergeHealthTelemetryHeartbeat.tests.d.ts.map +0 -1
  449. package/lib/test/MergeHealthTelemetryHeartbeat.tests.js +0 -351
  450. package/lib/test/MergeHealthTelemetryHeartbeat.tests.js.map +0 -1
  451. package/lib/test/NumericUuid.perf.tests.d.ts +0 -6
  452. package/lib/test/NumericUuid.perf.tests.d.ts.map +0 -1
  453. package/lib/test/NumericUuid.perf.tests.js +0 -68
  454. package/lib/test/NumericUuid.perf.tests.js.map +0 -1
  455. package/lib/test/NumericUuid.tests.d.ts +0 -6
  456. package/lib/test/NumericUuid.tests.d.ts.map +0 -1
  457. package/lib/test/NumericUuid.tests.js +0 -192
  458. package/lib/test/NumericUuid.tests.js.map +0 -1
  459. package/lib/test/RevisionValueCache.tests.d.ts +0 -6
  460. package/lib/test/RevisionValueCache.tests.d.ts.map +0 -1
  461. package/lib/test/RevisionValueCache.tests.js +0 -106
  462. package/lib/test/RevisionValueCache.tests.js.map +0 -1
  463. package/lib/test/RevisionView.tests.d.ts +0 -6
  464. package/lib/test/RevisionView.tests.d.ts.map +0 -1
  465. package/lib/test/RevisionView.tests.js +0 -131
  466. package/lib/test/RevisionView.tests.js.map +0 -1
  467. package/lib/test/SessionIdNormalizer.tests.d.ts +0 -6
  468. package/lib/test/SessionIdNormalizer.tests.d.ts.map +0 -1
  469. package/lib/test/SessionIdNormalizer.tests.js +0 -377
  470. package/lib/test/SessionIdNormalizer.tests.js.map +0 -1
  471. package/lib/test/SharedTree.fuzz.tests.d.ts +0 -6
  472. package/lib/test/SharedTree.fuzz.tests.d.ts.map +0 -1
  473. package/lib/test/SharedTree.fuzz.tests.js +0 -9
  474. package/lib/test/SharedTree.fuzz.tests.js.map +0 -1
  475. package/lib/test/SharedTree.perf.tests.d.ts +0 -6
  476. package/lib/test/SharedTree.perf.tests.d.ts.map +0 -1
  477. package/lib/test/SharedTree.perf.tests.js +0 -39
  478. package/lib/test/SharedTree.perf.tests.js.map +0 -1
  479. package/lib/test/SharedTree.tests.d.ts +0 -6
  480. package/lib/test/SharedTree.tests.d.ts.map +0 -1
  481. package/lib/test/SharedTree.tests.js +0 -22
  482. package/lib/test/SharedTree.tests.js.map +0 -1
  483. package/lib/test/StringInterner.tests.d.ts +0 -6
  484. package/lib/test/StringInterner.tests.d.ts.map +0 -1
  485. package/lib/test/StringInterner.tests.js +0 -73
  486. package/lib/test/StringInterner.tests.js.map +0 -1
  487. package/lib/test/Summary.tests.d.ts +0 -7
  488. package/lib/test/Summary.tests.d.ts.map +0 -1
  489. package/lib/test/Summary.tests.js +0 -386
  490. package/lib/test/Summary.tests.js.map +0 -1
  491. package/lib/test/Transaction.tests.d.ts +0 -6
  492. package/lib/test/Transaction.tests.d.ts.map +0 -1
  493. package/lib/test/Transaction.tests.js +0 -124
  494. package/lib/test/Transaction.tests.js.map +0 -1
  495. package/lib/test/TransactionInternal.tests.d.ts +0 -6
  496. package/lib/test/TransactionInternal.tests.d.ts.map +0 -1
  497. package/lib/test/TransactionInternal.tests.js +0 -576
  498. package/lib/test/TransactionInternal.tests.js.map +0 -1
  499. package/lib/test/TreeCompression.tests.d.ts +0 -6
  500. package/lib/test/TreeCompression.tests.d.ts.map +0 -1
  501. package/lib/test/TreeCompression.tests.js +0 -291
  502. package/lib/test/TreeCompression.tests.js.map +0 -1
  503. package/lib/test/TreeView.tests.d.ts +0 -6
  504. package/lib/test/TreeView.tests.d.ts.map +0 -1
  505. package/lib/test/TreeView.tests.js +0 -178
  506. package/lib/test/TreeView.tests.js.map +0 -1
  507. package/lib/test/UndoRedoHandler.tests.d.ts +0 -6
  508. package/lib/test/UndoRedoHandler.tests.d.ts.map +0 -1
  509. package/lib/test/UndoRedoHandler.tests.js +0 -37
  510. package/lib/test/UndoRedoHandler.tests.js.map +0 -1
  511. package/lib/test/fuzz/Generators.d.ts +0 -8
  512. package/lib/test/fuzz/Generators.d.ts.map +0 -1
  513. package/lib/test/fuzz/Generators.js +0 -345
  514. package/lib/test/fuzz/Generators.js.map +0 -1
  515. package/lib/test/fuzz/SharedTreeFuzzTests.d.ts +0 -23
  516. package/lib/test/fuzz/SharedTreeFuzzTests.d.ts.map +0 -1
  517. package/lib/test/fuzz/SharedTreeFuzzTests.js +0 -241
  518. package/lib/test/fuzz/SharedTreeFuzzTests.js.map +0 -1
  519. package/lib/test/fuzz/Types.d.ts +0 -136
  520. package/lib/test/fuzz/Types.d.ts.map +0 -1
  521. package/lib/test/fuzz/Types.js +0 -6
  522. package/lib/test/fuzz/Types.js.map +0 -1
  523. package/lib/test/utilities/IdCompressorTestUtilities.d.ts +0 -246
  524. package/lib/test/utilities/IdCompressorTestUtilities.d.ts.map +0 -1
  525. package/lib/test/utilities/IdCompressorTestUtilities.js +0 -608
  526. package/lib/test/utilities/IdCompressorTestUtilities.js.map +0 -1
  527. package/lib/test/utilities/MockTransaction.d.ts +0 -35
  528. package/lib/test/utilities/MockTransaction.d.ts.map +0 -1
  529. package/lib/test/utilities/MockTransaction.js +0 -51
  530. package/lib/test/utilities/MockTransaction.js.map +0 -1
  531. package/lib/test/utilities/PendingLocalStateTests.d.ts +0 -12
  532. package/lib/test/utilities/PendingLocalStateTests.d.ts.map +0 -1
  533. package/lib/test/utilities/PendingLocalStateTests.js +0 -223
  534. package/lib/test/utilities/PendingLocalStateTests.js.map +0 -1
  535. package/lib/test/utilities/SharedTreeTests.d.ts +0 -12
  536. package/lib/test/utilities/SharedTreeTests.d.ts.map +0 -1
  537. package/lib/test/utilities/SharedTreeTests.js +0 -949
  538. package/lib/test/utilities/SharedTreeTests.js.map +0 -1
  539. package/lib/test/utilities/SharedTreeVersioningTests.d.ts +0 -11
  540. package/lib/test/utilities/SharedTreeVersioningTests.d.ts.map +0 -1
  541. package/lib/test/utilities/SharedTreeVersioningTests.js +0 -439
  542. package/lib/test/utilities/SharedTreeVersioningTests.js.map +0 -1
  543. package/lib/test/utilities/SummaryLoadPerfTests.d.ts +0 -10
  544. package/lib/test/utilities/SummaryLoadPerfTests.d.ts.map +0 -1
  545. package/lib/test/utilities/SummaryLoadPerfTests.js +0 -105
  546. package/lib/test/utilities/SummaryLoadPerfTests.js.map +0 -1
  547. package/lib/test/utilities/SummarySizeTests.d.ts +0 -11
  548. package/lib/test/utilities/SummarySizeTests.d.ts.map +0 -1
  549. package/lib/test/utilities/SummarySizeTests.js +0 -160
  550. package/lib/test/utilities/SummarySizeTests.js.map +0 -1
  551. package/lib/test/utilities/TestCommon.d.ts +0 -13
  552. package/lib/test/utilities/TestCommon.d.ts.map +0 -1
  553. package/lib/test/utilities/TestCommon.js +0 -19
  554. package/lib/test/utilities/TestCommon.js.map +0 -1
  555. package/lib/test/utilities/TestNode.d.ts +0 -140
  556. package/lib/test/utilities/TestNode.d.ts.map +0 -1
  557. package/lib/test/utilities/TestNode.js +0 -282
  558. package/lib/test/utilities/TestNode.js.map +0 -1
  559. package/lib/test/utilities/TestSerializer.d.ts +0 -24
  560. package/lib/test/utilities/TestSerializer.d.ts.map +0 -1
  561. package/lib/test/utilities/TestSerializer.js +0 -40
  562. package/lib/test/utilities/TestSerializer.js.map +0 -1
  563. package/lib/test/utilities/TestUtilities.d.ts +0 -212
  564. package/lib/test/utilities/TestUtilities.d.ts.map +0 -1
  565. package/lib/test/utilities/TestUtilities.js +0 -413
  566. package/lib/test/utilities/TestUtilities.js.map +0 -1
  567. package/lib/test/utilities/UndoRedoTests.d.ts +0 -32
  568. package/lib/test/utilities/UndoRedoTests.d.ts.map +0 -1
  569. package/lib/test/utilities/UndoRedoTests.js +0 -317
  570. package/lib/test/utilities/UndoRedoTests.js.map +0 -1
  571. /package/{dist → lib}/tsdoc-metadata.json +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"shimChannelServices.js","sourceRoot":"","sources":["../../src/migration-shim/shimChannelServices.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAuBH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAa,uBAAuB;IACnC,YAAmB,eAAiC;QACnD,IAAI,CAAC,aAAa,GAAG,eAAe,CAAC,aAAa,CAAC;IACpD,CAAC;IAED,IAAW,eAAe;QACzB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACjD,CAAC;CAED;AATD,0DASC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n\ttype IDeltaConnection,\n\ttype IChannelServices,\n\ttype IChannelStorageService,\n} from '@fluidframework/datastore-definitions';\n\n/**\n * ShimChannelServices wraps an existing IChannelServices object and provides a new ShimDeltaConnection\n * object in place of the original deltaConnection object.\n *\n * ShimChannelServices allows us to encapsulate all the wrapping logic without having to modify the original services.\n *\n * At some point, in the SharedObject code we call this.services.deltaConnection.attach(this.handler). Therefore before\n * we call attach, we need to swap out the deltaConnection object for the ShimDeltaConnection object. This makes\n * it consistent as we will always be passing this shim\n */\nexport interface IShimChannelServices extends IChannelServices {\n\treadonly objectStorage: IChannelStorageService;\n\treadonly deltaConnection: IDeltaConnection;\n}\n\n/**\n * NoDeltasChannelServices wraps an existing IChannelServices object. During rehydration of a container, loading in a\n * detached state, we only want to connect to the deltaConnection once on attached. We also only want to set the\n * channel services once. This enables us to allow deltaHandler attach only once, even though there are flows that\n * call only load, only connect, and load and then connect.\n *\n * Steps:\n * 1. Rehydrate/load SharedObject in detached container runtime state\n * 2. Attach detached container runtime\n * 3. Connect SharedObject.\n *\n * Refer to SharedObject.load for the scenario.\n *\n * This potentially can be baked into the ShimChannelServices.\n *\n * TODO: convert this to a test and remove usage of this class\n */\nexport class NoDeltasChannelServices implements IChannelServices {\n\tpublic constructor(channelServices: IChannelServices) {\n\t\tthis.objectStorage = channelServices.objectStorage;\n\t}\n\n\tpublic get deltaConnection(): IDeltaConnection {\n\t\tthrow new Error('No deltaConnection available');\n\t}\n\tpublic readonly objectStorage: IChannelStorageService;\n}\n"]}
1
+ {"version":3,"file":"shimChannelServices.js","sourceRoot":"","sources":["../../src/migration-shim/shimChannelServices.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAuBH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAa,uBAAuB;IACnC,YAAmB,eAAiC;QACnD,IAAI,CAAC,aAAa,GAAG,eAAe,CAAC,aAAa,CAAC;IACpD,CAAC;IAED,IAAW,eAAe;QACzB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACjD,CAAC;CAED;AATD,0DASC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n\ttype IChannelServices,\n\ttype IChannelStorageService,\n\ttype IDeltaConnection,\n} from '@fluidframework/datastore-definitions';\n\n/**\n * ShimChannelServices wraps an existing IChannelServices object and provides a new ShimDeltaConnection\n * object in place of the original deltaConnection object.\n *\n * ShimChannelServices allows us to encapsulate all the wrapping logic without having to modify the original services.\n *\n * At some point, in the SharedObject code we call this.services.deltaConnection.attach(this.handler). Therefore before\n * we call attach, we need to swap out the deltaConnection object for the ShimDeltaConnection object. This makes\n * it consistent as we will always be passing this shim\n */\nexport interface IShimChannelServices extends IChannelServices {\n\treadonly objectStorage: IChannelStorageService;\n\treadonly deltaConnection: IDeltaConnection;\n}\n\n/**\n * NoDeltasChannelServices wraps an existing IChannelServices object. During rehydration of a container, loading in a\n * detached state, we only want to connect to the deltaConnection once on attached. We also only want to set the\n * channel services once. This enables us to allow deltaHandler attach only once, even though there are flows that\n * call only load, only connect, and load and then connect.\n *\n * Steps:\n * 1. Rehydrate/load SharedObject in detached container runtime state\n * 2. Attach detached container runtime\n * 3. Connect SharedObject.\n *\n * Refer to SharedObject.load for the scenario.\n *\n * This potentially can be baked into the ShimChannelServices.\n *\n * TODO: convert this to a test and remove usage of this class\n */\nexport class NoDeltasChannelServices implements IChannelServices {\n\tpublic constructor(channelServices: IChannelServices) {\n\t\tthis.objectStorage = channelServices.objectStorage;\n\t}\n\n\tpublic get deltaConnection(): IDeltaConnection {\n\t\tthrow new Error('No deltaConnection available');\n\t}\n\tpublic readonly objectStorage: IChannelStorageService;\n}\n"]}
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import { type IFluidHandle } from '@fluidframework/core-interfaces';
6
6
  import { type IChannelAttributes, type IDeltaConnection, type IDeltaHandler } from '@fluidframework/datastore-definitions';
7
- import { type IUnstampedContents, type IShimDeltaHandler } from './types.js';
7
+ import { type IShimDeltaHandler, type IUnstampedContents } from './types.js';
8
8
  /**
9
9
  * Represents a connection to a Shim data store that can receive and submit deltas.
10
10
  *
@@ -1 +1 @@
1
- {"version":3,"file":"shimDeltaConnection.d.ts","sourceRoot":"","sources":["../../src/migration-shim/shimDeltaConnection.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EACN,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE7E;;;;;;;;;GASG;AACH,qBAAa,2BAA4B,YAAW,gBAAgB;IAElE,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBADhB,eAAe,EAAE,gBAAgB,EACjC,gBAAgB,EAAE,iBAAiB;IAGrD,IAAW,SAAS,IAAI,OAAO,CAE9B;IAED,OAAO,CAAC,SAAS,CAAQ;IAClB,aAAa,IAAI,IAAI;IAKrB,MAAM,CAAC,cAAc,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,GAAG,IAAI;IAS/D,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAUpC,KAAK,IAAI,IAAI;IAIpB;;;;;;;OAOG;IACI,wBAAwB,CAAC,CAAC,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,GAAG,IAAI;CAG7F;AAED;;GAEG;AACH,qBAAa,oBAAqB,YAAW,gBAAgB;IAE3D,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAFV,eAAe,EAAE,gBAAgB,EACjC,gBAAgB,EAAE,iBAAiB,EACnC,UAAU,EAAE,kBAAkB;IAGhD,IAAW,SAAS,IAAI,OAAO,CAE9B;IAGM,MAAM,CAAC,cAAc,EAAE,kBAAkB,EAAE,eAAe,EAAE,OAAO,GAAG,IAAI;IAQjF;;;;;;;;OAQG;IACI,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IASpC,KAAK,IAAI,IAAI;IAIpB;;;;;;;OAOG;IACI,wBAAwB,CAAC,CAAC,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,GAAG,IAAI;CAG7F"}
1
+ {"version":3,"file":"shimDeltaConnection.d.ts","sourceRoot":"","sources":["../../src/migration-shim/shimDeltaConnection.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EACN,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE7E;;;;;;;;;GASG;AACH,qBAAa,2BAA4B,YAAW,gBAAgB;IAElE,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBADhB,eAAe,EAAE,gBAAgB,EACjC,gBAAgB,EAAE,iBAAiB;IAGrD,IAAW,SAAS,IAAI,OAAO,CAE9B;IAED,OAAO,CAAC,SAAS,CAAQ;IAClB,aAAa,IAAI,IAAI;IAKrB,MAAM,CAAC,cAAc,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,GAAG,IAAI;IAS/D,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAUpC,KAAK,IAAI,IAAI;IAIpB;;;;;;;OAOG;IACI,wBAAwB,CAAC,CAAC,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,GAAG,IAAI;CAG7F;AAED;;GAEG;AACH,qBAAa,oBAAqB,YAAW,gBAAgB;IAE3D,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAFV,eAAe,EAAE,gBAAgB,EACjC,gBAAgB,EAAE,iBAAiB,EACnC,UAAU,EAAE,kBAAkB;IAGhD,IAAW,SAAS,IAAI,OAAO,CAE9B;IAGM,MAAM,CAAC,cAAc,EAAE,kBAAkB,EAAE,eAAe,EAAE,OAAO,GAAG,IAAI;IAQjF;;;;;;;;OAQG;IACI,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IASpC,KAAK,IAAI,IAAI;IAIpB;;;;;;;OAOG;IACI,wBAAwB,CAAC,CAAC,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,GAAG,IAAI;CAG7F"}
@@ -5,7 +5,7 @@
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.StampDeltaConnection = exports.PreMigrationDeltaConnection = void 0;
8
- const core_utils_1 = require("@fluidframework/core-utils");
8
+ const internal_1 = require("@fluidframework/core-utils/internal");
9
9
  /**
10
10
  * Represents a connection to a Shim data store that can receive and submit deltas.
11
11
  *
@@ -77,7 +77,7 @@ class StampDeltaConnection {
77
77
  }
78
78
  // This is for submitting v2 ops
79
79
  submit(messageContent, localOpMetadata) {
80
- (0, core_utils_1.assert)(messageContent.fluidMigrationStamp === undefined, 0x835 /* Should not be stamping ops twice! */);
80
+ (0, internal_1.assert)(messageContent.fluidMigrationStamp === undefined, 0x835 /* Should not be stamping ops twice! */);
81
81
  messageContent.fluidMigrationStamp = {
82
82
  ...this.attributes,
83
83
  };
@@ -1 +1 @@
1
- {"version":3,"file":"shimDeltaConnection.js","sourceRoot":"","sources":["../../src/migration-shim/shimDeltaConnection.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAQH,2DAAoD;AAGpD;;;;;;;;;GASG;AACH,MAAa,2BAA2B;IACvC,YACkB,eAAiC,EACjC,gBAAmC;QADnC,oBAAe,GAAf,eAAe,CAAkB;QACjC,qBAAgB,GAAhB,gBAAgB,CAAmB;QAO7C,cAAS,GAAG,IAAI,CAAC;IANtB,CAAC;IAEJ,IAAW,SAAS;QACnB,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;IACvC,CAAC;IAGM,aAAa;QACnB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,gCAAgC;IACzB,MAAM,CAAC,cAAuB,EAAE,eAAwB;QAC9D,IAAI,IAAI,CAAC,SAAS,EAAE;YACnB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;SAC7D;QACD,gFAAgF;IACjF,CAAC;IAED,mHAAmH;IACnH,uEAAuE;IAChE,MAAM,CAAC,OAAsB;QACnC,wGAAwG;QACxG,6GAA6G;QAC7G,+EAA+E;QAC/E,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE;YACpC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACnD,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;SACrC;IACF,CAAC;IACM,KAAK;QACX,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;;;OAOG;IACI,wBAAwB,CAAE,SAAuB,EAAE,cAA4B;QACrF,IAAI,CAAC,eAAe,CAAC,wBAAwB,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAC5E,CAAC;CACD;AAlDD,kEAkDC;AAED;;GAEG;AACH,MAAa,oBAAoB;IAChC,YACkB,eAAiC,EACjC,gBAAmC,EACnC,UAA8B;QAF9B,oBAAe,GAAf,eAAe,CAAkB;QACjC,qBAAgB,GAAhB,gBAAgB,CAAmB;QACnC,eAAU,GAAV,UAAU,CAAoB;IAC7C,CAAC;IAEJ,IAAW,SAAS;QACnB,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;IACvC,CAAC;IAED,gCAAgC;IACzB,MAAM,CAAC,cAAkC,EAAE,eAAwB;QACzE,IAAA,mBAAM,EAAC,cAAc,CAAC,mBAAmB,KAAK,SAAS,EAAE,KAAK,CAAC,uCAAuC,CAAC,CAAC;QACxG,cAAc,CAAC,mBAAmB,GAAG;YACpC,GAAG,IAAI,CAAC,UAAU;SAClB,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,OAAsB;QACnC,qDAAqD;QACrD,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE;YACpC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACnD,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;SACrC;IACF,CAAC;IAEM,KAAK;QACX,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;;;OAOG;IACI,wBAAwB,CAAE,SAAuB,EAAE,cAA4B;QACrF,IAAI,CAAC,eAAe,CAAC,wBAAwB,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAC5E,CAAC;CACD;AArDD,oDAqDC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { type IFluidHandle } from '@fluidframework/core-interfaces';\nimport {\n\ttype IChannelAttributes,\n\ttype IDeltaConnection,\n\ttype IDeltaHandler,\n} from '@fluidframework/datastore-definitions';\nimport { assert } from '@fluidframework/core-utils';\nimport { type IUnstampedContents, type IShimDeltaHandler } from './types.js';\n\n/**\n * Represents a connection to a Shim data store that can receive and submit deltas.\n *\n * This allows the Shim class to swap out the delta handler on the fly.\n *\n * The PreMigrationDeltaConnection does not stamp ops so that those ops can be considered v1 ops.\n *\n * This special logic allows for connect to be called for the underlying new SharedObject without the need for\n * modifications on the current ChannelDeltaConnection.\n */\nexport class PreMigrationDeltaConnection implements IDeltaConnection {\n\tpublic constructor(\n\t\tprivate readonly deltaConnection: IDeltaConnection,\n\t\tprivate readonly shimDeltaHandler: IShimDeltaHandler\n\t) {}\n\n\tpublic get connected(): boolean {\n\t\treturn this.deltaConnection.connected;\n\t}\n\n\tprivate canSubmit = true;\n\tpublic disableSubmit(): void {\n\t\tthis.canSubmit = false;\n\t}\n\n\t// This is for submitting v1 ops\n\tpublic submit(messageContent: unknown, localOpMetadata: unknown): void {\n\t\tif (this.canSubmit) {\n\t\t\tthis.deltaConnection.submit(messageContent, localOpMetadata);\n\t\t}\n\t\t// We don't want to throw so we can revert local changes on the LegacySharedTree\n\t}\n\n\t// We only want to call attach on the underlying delta connection once, as we'll hit an assert if we call it twice.\n\t// Note: SharedObject.load calls attach as well as SharedObject.connect\n\tpublic attach(handler: IDeltaHandler): void {\n\t\t// There are essentially two delta handlers that process ops, the shim delta handler to process shim ops\n\t\t// preventing them from being processed by the tree delta handler, and the tree delta handler to process tree\n\t\t// ops. Post migration v1 ops can be considered \"shim\" ops as they are dropped.\n\t\tthis.shimDeltaHandler.attachTreeDeltaHandler(handler);\n\t\tif (!this.shimDeltaHandler.attached) {\n\t\t\tthis.deltaConnection.attach(this.shimDeltaHandler);\n\t\t\tthis.shimDeltaHandler.markAttached();\n\t\t}\n\t}\n\tpublic dirty(): void {\n\t\tthis.deltaConnection.dirty();\n\t}\n\n\t/**\n\t * Passes through to the underlying delta connection.\n\t *\n\t * @deprecated There is no replacement for this, its functionality is no longer needed at this layer.\n\t * It will be removed in a future release, sometime after 2.0.0-internal.8.0.0\n\t *\n\t * @privateRemarks This needs to be more thoroughly thought through. What happens when the source handle is changed?\n\t */\n\tpublic addedGCOutboundReference?(srcHandle: IFluidHandle, outboundHandle: IFluidHandle): void {\n\t\tthis.deltaConnection.addedGCOutboundReference?.(srcHandle, outboundHandle);\n\t}\n}\n\n/**\n * A delta connection that stamps ops with a particular channel attributes so that those ops won't get dropped\n */\nexport class StampDeltaConnection implements IDeltaConnection {\n\tpublic constructor(\n\t\tprivate readonly deltaConnection: IDeltaConnection,\n\t\tprivate readonly shimDeltaHandler: IShimDeltaHandler,\n\t\tprivate readonly attributes: IChannelAttributes\n\t) {}\n\n\tpublic get connected(): boolean {\n\t\treturn this.deltaConnection.connected;\n\t}\n\n\t// This is for submitting v2 ops\n\tpublic submit(messageContent: IUnstampedContents, localOpMetadata: unknown): void {\n\t\tassert(messageContent.fluidMigrationStamp === undefined, 0x835 /* Should not be stamping ops twice! */);\n\t\tmessageContent.fluidMigrationStamp = {\n\t\t\t...this.attributes,\n\t\t};\n\t\tthis.deltaConnection.submit(messageContent, localOpMetadata);\n\t}\n\n\t/**\n\t * For the MigrationShim because we only attach once to the actual delta connection, we store state in the\n\t * migrationDeltaHandler to know if we've already attached. We will call attach once on the\n\t * PreMigrationDeltaConnection and once on the StampDeltaConnection.\n\t *\n\t * The SharedTreeShim should not be swapping delta connections and thus the if statement should always be executed.\n\t *\n\t * @param handler - this delta handler can only connect once.\n\t */\n\tpublic attach(handler: IDeltaHandler): void {\n\t\t// Maybe put an assert here to only call attach once?\n\t\tthis.shimDeltaHandler.attachTreeDeltaHandler(handler);\n\t\tif (!this.shimDeltaHandler.attached) {\n\t\t\tthis.deltaConnection.attach(this.shimDeltaHandler);\n\t\t\tthis.shimDeltaHandler.markAttached();\n\t\t}\n\t}\n\n\tpublic dirty(): void {\n\t\tthis.deltaConnection.dirty();\n\t}\n\n\t/**\n\t * Passes through to the underlying delta connection.\n\t *\n\t * @deprecated There is no replacement for this, its functionality is no longer needed at this layer.\n\t * It will be removed in a future release, sometime after 2.0.0-internal.8.0.0\n\t *\n\t * @privateRemarks This needs to be more thoroughly thought through. What happens when the source handle is changed?\n\t */\n\tpublic addedGCOutboundReference?(srcHandle: IFluidHandle, outboundHandle: IFluidHandle): void {\n\t\tthis.deltaConnection.addedGCOutboundReference?.(srcHandle, outboundHandle);\n\t}\n}\n"]}
1
+ {"version":3,"file":"shimDeltaConnection.js","sourceRoot":"","sources":["../../src/migration-shim/shimDeltaConnection.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,kEAA6D;AAS7D;;;;;;;;;GASG;AACH,MAAa,2BAA2B;IACvC,YACkB,eAAiC,EACjC,gBAAmC;QADnC,oBAAe,GAAf,eAAe,CAAkB;QACjC,qBAAgB,GAAhB,gBAAgB,CAAmB;QAO7C,cAAS,GAAG,IAAI,CAAC;IANtB,CAAC;IAEJ,IAAW,SAAS;QACnB,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;IACvC,CAAC;IAGM,aAAa;QACnB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,gCAAgC;IACzB,MAAM,CAAC,cAAuB,EAAE,eAAwB;QAC9D,IAAI,IAAI,CAAC,SAAS,EAAE;YACnB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;SAC7D;QACD,gFAAgF;IACjF,CAAC;IAED,mHAAmH;IACnH,uEAAuE;IAChE,MAAM,CAAC,OAAsB;QACnC,wGAAwG;QACxG,6GAA6G;QAC7G,+EAA+E;QAC/E,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE;YACpC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACnD,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;SACrC;IACF,CAAC;IACM,KAAK;QACX,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;;;OAOG;IACI,wBAAwB,CAAE,SAAuB,EAAE,cAA4B;QACrF,IAAI,CAAC,eAAe,CAAC,wBAAwB,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAC5E,CAAC;CACD;AAlDD,kEAkDC;AAED;;GAEG;AACH,MAAa,oBAAoB;IAChC,YACkB,eAAiC,EACjC,gBAAmC,EACnC,UAA8B;QAF9B,oBAAe,GAAf,eAAe,CAAkB;QACjC,qBAAgB,GAAhB,gBAAgB,CAAmB;QACnC,eAAU,GAAV,UAAU,CAAoB;IAC7C,CAAC;IAEJ,IAAW,SAAS;QACnB,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;IACvC,CAAC;IAED,gCAAgC;IACzB,MAAM,CAAC,cAAkC,EAAE,eAAwB;QACzE,IAAA,iBAAM,EAAC,cAAc,CAAC,mBAAmB,KAAK,SAAS,EAAE,KAAK,CAAC,uCAAuC,CAAC,CAAC;QACxG,cAAc,CAAC,mBAAmB,GAAG;YACpC,GAAG,IAAI,CAAC,UAAU;SAClB,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,OAAsB;QACnC,qDAAqD;QACrD,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE;YACpC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACnD,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;SACrC;IACF,CAAC;IAEM,KAAK;QACX,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;;;OAOG;IACI,wBAAwB,CAAE,SAAuB,EAAE,cAA4B;QACrF,IAAI,CAAC,eAAe,CAAC,wBAAwB,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAC5E,CAAC;CACD;AArDD,oDAqDC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { type IFluidHandle } from '@fluidframework/core-interfaces';\nimport { assert } from '@fluidframework/core-utils/internal';\nimport {\n\ttype IChannelAttributes,\n\ttype IDeltaConnection,\n\ttype IDeltaHandler,\n} from '@fluidframework/datastore-definitions';\n\nimport { type IShimDeltaHandler, type IUnstampedContents } from './types.js';\n\n/**\n * Represents a connection to a Shim data store that can receive and submit deltas.\n *\n * This allows the Shim class to swap out the delta handler on the fly.\n *\n * The PreMigrationDeltaConnection does not stamp ops so that those ops can be considered v1 ops.\n *\n * This special logic allows for connect to be called for the underlying new SharedObject without the need for\n * modifications on the current ChannelDeltaConnection.\n */\nexport class PreMigrationDeltaConnection implements IDeltaConnection {\n\tpublic constructor(\n\t\tprivate readonly deltaConnection: IDeltaConnection,\n\t\tprivate readonly shimDeltaHandler: IShimDeltaHandler\n\t) {}\n\n\tpublic get connected(): boolean {\n\t\treturn this.deltaConnection.connected;\n\t}\n\n\tprivate canSubmit = true;\n\tpublic disableSubmit(): void {\n\t\tthis.canSubmit = false;\n\t}\n\n\t// This is for submitting v1 ops\n\tpublic submit(messageContent: unknown, localOpMetadata: unknown): void {\n\t\tif (this.canSubmit) {\n\t\t\tthis.deltaConnection.submit(messageContent, localOpMetadata);\n\t\t}\n\t\t// We don't want to throw so we can revert local changes on the LegacySharedTree\n\t}\n\n\t// We only want to call attach on the underlying delta connection once, as we'll hit an assert if we call it twice.\n\t// Note: SharedObject.load calls attach as well as SharedObject.connect\n\tpublic attach(handler: IDeltaHandler): void {\n\t\t// There are essentially two delta handlers that process ops, the shim delta handler to process shim ops\n\t\t// preventing them from being processed by the tree delta handler, and the tree delta handler to process tree\n\t\t// ops. Post migration v1 ops can be considered \"shim\" ops as they are dropped.\n\t\tthis.shimDeltaHandler.attachTreeDeltaHandler(handler);\n\t\tif (!this.shimDeltaHandler.attached) {\n\t\t\tthis.deltaConnection.attach(this.shimDeltaHandler);\n\t\t\tthis.shimDeltaHandler.markAttached();\n\t\t}\n\t}\n\tpublic dirty(): void {\n\t\tthis.deltaConnection.dirty();\n\t}\n\n\t/**\n\t * Passes through to the underlying delta connection.\n\t *\n\t * @deprecated There is no replacement for this, its functionality is no longer needed at this layer.\n\t * It will be removed in a future release, sometime after 2.0.0-internal.8.0.0\n\t *\n\t * @privateRemarks This needs to be more thoroughly thought through. What happens when the source handle is changed?\n\t */\n\tpublic addedGCOutboundReference?(srcHandle: IFluidHandle, outboundHandle: IFluidHandle): void {\n\t\tthis.deltaConnection.addedGCOutboundReference?.(srcHandle, outboundHandle);\n\t}\n}\n\n/**\n * A delta connection that stamps ops with a particular channel attributes so that those ops won't get dropped\n */\nexport class StampDeltaConnection implements IDeltaConnection {\n\tpublic constructor(\n\t\tprivate readonly deltaConnection: IDeltaConnection,\n\t\tprivate readonly shimDeltaHandler: IShimDeltaHandler,\n\t\tprivate readonly attributes: IChannelAttributes\n\t) {}\n\n\tpublic get connected(): boolean {\n\t\treturn this.deltaConnection.connected;\n\t}\n\n\t// This is for submitting v2 ops\n\tpublic submit(messageContent: IUnstampedContents, localOpMetadata: unknown): void {\n\t\tassert(messageContent.fluidMigrationStamp === undefined, 0x835 /* Should not be stamping ops twice! */);\n\t\tmessageContent.fluidMigrationStamp = {\n\t\t\t...this.attributes,\n\t\t};\n\t\tthis.deltaConnection.submit(messageContent, localOpMetadata);\n\t}\n\n\t/**\n\t * For the MigrationShim because we only attach once to the actual delta connection, we store state in the\n\t * migrationDeltaHandler to know if we've already attached. We will call attach once on the\n\t * PreMigrationDeltaConnection and once on the StampDeltaConnection.\n\t *\n\t * The SharedTreeShim should not be swapping delta connections and thus the if statement should always be executed.\n\t *\n\t * @param handler - this delta handler can only connect once.\n\t */\n\tpublic attach(handler: IDeltaHandler): void {\n\t\t// Maybe put an assert here to only call attach once?\n\t\tthis.shimDeltaHandler.attachTreeDeltaHandler(handler);\n\t\tif (!this.shimDeltaHandler.attached) {\n\t\t\tthis.deltaConnection.attach(this.shimDeltaHandler);\n\t\t\tthis.shimDeltaHandler.markAttached();\n\t\t}\n\t}\n\n\tpublic dirty(): void {\n\t\tthis.deltaConnection.dirty();\n\t}\n\n\t/**\n\t * Passes through to the underlying delta connection.\n\t *\n\t * @deprecated There is no replacement for this, its functionality is no longer needed at this layer.\n\t * It will be removed in a future release, sometime after 2.0.0-internal.8.0.0\n\t *\n\t * @privateRemarks This needs to be more thoroughly thought through. What happens when the source handle is changed?\n\t */\n\tpublic addedGCOutboundReference?(srcHandle: IFluidHandle, outboundHandle: IFluidHandle): void {\n\t\tthis.deltaConnection.addedGCOutboundReference?.(srcHandle, outboundHandle);\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"shimHandle.d.ts","sourceRoot":"","sources":["../../src/migration-shim/shimHandle.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;;;;GAOG;AACH,qBAAa,UAAU,CAAC,KAAK,SAAS,KAAK,CAAE,YAAW,YAAY,CAAC,KAAK,CAAC;IACvD,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,KAAK;IAE/C,IAAW,YAAY,IAAI,MAAM,CAEhC;IACD,IAAW,UAAU,IAAI,OAAO,CAE/B;IACM,WAAW,IAAI,IAAI;IAGb,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC;IAG3B,IAAI,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAGvC,IAAW,YAAY,IAAI,YAAY,CAAC,KAAK,CAAC,CAE7C;CACD"}
1
+ {"version":3,"file":"shimHandle.d.ts","sourceRoot":"","sources":["../../src/migration-shim/shimHandle.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;;;;GAOG;AACH,qBAAa,UAAU,CAAC,KAAK,SAAS,KAAK,CAAE,YAAW,YAAY,CAAC,KAAK,CAAC;IACvD,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,KAAK;IAE/C,IAAW,YAAY,IAAI,MAAM,CAEhC;IACD,IAAW,UAAU,IAAI,OAAO,CAE/B;IACM,WAAW,IAAI,IAAI;IAGb,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC;IAG3B,IAAI,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAGvC,IAAW,YAAY,IAAI,YAAY,CAAC,KAAK,CAAC,CAE7C;CACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"shimHandle.js","sourceRoot":"","sources":["../../src/migration-shim/shimHandle.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAKH;;;;;;;GAOG;AACH,MAAa,UAAU;IACtB,YAAoC,IAAW;QAAX,SAAI,GAAJ,IAAI,CAAO;IAAG,CAAC;IAEnD,IAAW,YAAY;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC;IAClD,CAAC;IACD,IAAW,UAAU;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC;IAChD,CAAC;IACM,WAAW;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IACnD,CAAC;IACM,KAAK,CAAC,GAAG;QACf,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IACM,IAAI,CAAC,MAAoB;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IACD,IAAW,YAAY;QACtB,OAAO,IAAI,CAAC;IACb,CAAC;CACD;AArBD,gCAqBC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { type IFluidHandle } from '@fluidframework/core-interfaces';\nimport { type IShim } from './types.js';\n\n/**\n * ShimHandle is a special class to handle the fact that we are essentially creating a proxy for a DDS.\n *\n * ShimHandle is designed for MigrationShim and SharedTreeShim.\n *\n * Local handles such as the FluidObjectHandle and the SharedObjectHandle don't work as they do not properly bind the\n * Shim's underlying DDS.\n */\nexport class ShimHandle<TShim extends IShim> implements IFluidHandle<TShim> {\n\tpublic constructor(private readonly shim: TShim) {}\n\n\tpublic get absolutePath(): string {\n\t\treturn this.shim.currentTree.handle.absolutePath;\n\t}\n\tpublic get isAttached(): boolean {\n\t\treturn this.shim.currentTree.handle.isAttached;\n\t}\n\tpublic attachGraph(): void {\n\t\treturn this.shim.currentTree.handle.attachGraph();\n\t}\n\tpublic async get(): Promise<TShim> {\n\t\treturn this.shim;\n\t}\n\tpublic bind(handle: IFluidHandle): void {\n\t\treturn this.shim.currentTree.handle.bind(handle);\n\t}\n\tpublic get IFluidHandle(): IFluidHandle<TShim> {\n\t\treturn this;\n\t}\n}\n"]}
1
+ {"version":3,"file":"shimHandle.js","sourceRoot":"","sources":["../../src/migration-shim/shimHandle.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAMH;;;;;;;GAOG;AACH,MAAa,UAAU;IACtB,YAAoC,IAAW;QAAX,SAAI,GAAJ,IAAI,CAAO;IAAG,CAAC;IAEnD,IAAW,YAAY;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC;IAClD,CAAC;IACD,IAAW,UAAU;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC;IAChD,CAAC;IACM,WAAW;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IACnD,CAAC;IACM,KAAK,CAAC,GAAG;QACf,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IACM,IAAI,CAAC,MAAoB;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IACD,IAAW,YAAY;QACtB,OAAO,IAAI,CAAC;IACb,CAAC;CACD;AArBD,gCAqBC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { type IFluidHandle } from '@fluidframework/core-interfaces';\n\nimport { type IShim } from './types.js';\n\n/**\n * ShimHandle is a special class to handle the fact that we are essentially creating a proxy for a DDS.\n *\n * ShimHandle is designed for MigrationShim and SharedTreeShim.\n *\n * Local handles such as the FluidObjectHandle and the SharedObjectHandle don't work as they do not properly bind the\n * Shim's underlying DDS.\n */\nexport class ShimHandle<TShim extends IShim> implements IFluidHandle<TShim> {\n\tpublic constructor(private readonly shim: TShim) {}\n\n\tpublic get absolutePath(): string {\n\t\treturn this.shim.currentTree.handle.absolutePath;\n\t}\n\tpublic get isAttached(): boolean {\n\t\treturn this.shim.currentTree.handle.isAttached;\n\t}\n\tpublic attachGraph(): void {\n\t\treturn this.shim.currentTree.handle.attachGraph();\n\t}\n\tpublic async get(): Promise<TShim> {\n\t\treturn this.shim;\n\t}\n\tpublic bind(handle: IFluidHandle): void {\n\t\treturn this.shim.currentTree.handle.bind(handle);\n\t}\n\tpublic get IFluidHandle(): IFluidHandle<TShim> {\n\t\treturn this;\n\t}\n}\n"]}
@@ -2,8 +2,8 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- import { type ITree } from '@fluidframework/tree';
6
5
  import { type IChannel, type IChannelAttributes, type IChannelServices, type IDeltaHandler } from '@fluidframework/datastore-definitions';
6
+ import { type ITree } from '@fluidframework/tree';
7
7
  import { type SharedTree as LegacySharedTree } from '../SharedTree.js';
8
8
  import { type IMigrationOp } from './migrationShim.js';
9
9
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/migration-shim/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EACN,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,KAAK,UAAU,IAAI,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;;GAIG;AACH,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACvD;;;OAGG;IACH,sBAAsB,CAAC,gBAAgB,EAAE,aAAa,GAAG,IAAI,CAAC;IAE9D;;;OAGG;IACH,mBAAmB,IAAI,OAAO,CAAC;IAE/B,QAAQ,EAAE,OAAO,CAAC;IAElB,YAAY,IAAI,IAAI,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,mBAAmB,CAAC,EAAE,kBAAkB,CAAC;IACzC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,mBAAmB,EAAE,kBAAkB,CAAC;IACxC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAChC;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,YAAY,CAAC;AAE/E;;;;GAIG;AACH,MAAM,WAAW,KAAM,SAAQ,QAAQ;IACtC,MAAM,IAAI,IAAI,CAAC;IACf,IAAI,CAAC,eAAe,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,WAAW,EAAE,KAAK,GAAG,gBAAgB,CAAC;CACtC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/migration-shim/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACN,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,KAAK,UAAU,IAAI,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEvE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;;GAIG;AACH,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACvD;;;OAGG;IACH,sBAAsB,CAAC,gBAAgB,EAAE,aAAa,GAAG,IAAI,CAAC;IAE9D;;;OAGG;IACH,mBAAmB,IAAI,OAAO,CAAC;IAE/B,QAAQ,EAAE,OAAO,CAAC;IAElB,YAAY,IAAI,IAAI,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,mBAAmB,CAAC,EAAE,kBAAkB,CAAC;IACzC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,mBAAmB,EAAE,kBAAkB,CAAC;IACxC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAChC;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,YAAY,CAAC;AAE/E;;;;GAIG;AACH,MAAM,WAAW,KAAM,SAAQ,QAAQ;IACtC,MAAM,IAAI,IAAI,CAAC;IACf,IAAI,CAAC,eAAe,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,WAAW,EAAE,KAAK,GAAG,gBAAgB,CAAC;CACtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/migration-shim/types.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { type ITree } from '@fluidframework/tree';\nimport {\n\ttype IChannel,\n\ttype IChannelAttributes,\n\ttype IChannelServices,\n\ttype IDeltaHandler,\n} from '@fluidframework/datastore-definitions';\nimport { type SharedTree as LegacySharedTree } from '../SharedTree.js';\nimport { type IMigrationOp } from './migrationShim.js';\n\n/**\n * An interface for a shim delta handler intercepts another delta handler.\n *\n * @internal\n */\nexport interface IShimDeltaHandler extends IDeltaHandler {\n\t/**\n\t * Provide the real tree delta handler (either legacy or new) to the shim that will be used to process the tree ops.\n\t * @param treeDeltaHandler - The appropriate tree delta handler.\n\t */\n\tattachTreeDeltaHandler(treeDeltaHandler: IDeltaHandler): void;\n\n\t/**\n\t * The delta handler needs to be attached to the IShimDeltaHandler before attaching it to the delta connection.\n\t * Otherwise the IShimDeltaHandler will not be able to process ops.\n\t */\n\thasTreeDeltaHandler(): boolean;\n\n\tattached: boolean;\n\n\tmarkAttached(): void;\n}\n\n/**\n * A v1 op or a v2 unstamped op\n */\nexport interface IUnstampedContents {\n\tfluidMigrationStamp?: IChannelAttributes;\n\t[key: string | number]: unknown;\n}\n\n/**\n * A v2 op will have a `fluidMigrationStamp` property. This is a type guard to check if the op is a v2 op.\n */\nexport interface IStampedContents {\n\tfluidMigrationStamp: IChannelAttributes;\n\t[key: string | number]: unknown;\n}\n\n/**\n * A type for interrogating ops to see if they are v2 stamped ops or migrate ops. Otherwise, we try not to care\n * what the contents of the op are. The contents could be of type `any` or `unknown`.\n *\n * If `type` specifically === \"barrier\", then we know we are dealing with a barrier op\n *\n * If `fluidMigrationStamp` is present, then we know we are dealing with a v2 op\n *\n * @internal\n */\nexport type IOpContents = IStampedContents | IUnstampedContents | IMigrationOp;\n\n/**\n * An interface for a shim channel that intercepts a LegacySharedTree or new SharedTree DDS.\n *\n * @internal\n */\nexport interface IShim extends IChannel {\n\tcreate(): void;\n\tload(channelServices: IChannelServices): Promise<void>;\n\tcurrentTree: ITree | LegacySharedTree;\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/migration-shim/types.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n\ttype IChannel,\n\ttype IChannelAttributes,\n\ttype IChannelServices,\n\ttype IDeltaHandler,\n} from '@fluidframework/datastore-definitions';\nimport { type ITree } from '@fluidframework/tree';\n\nimport { type SharedTree as LegacySharedTree } from '../SharedTree.js';\n\nimport { type IMigrationOp } from './migrationShim.js';\n\n/**\n * An interface for a shim delta handler intercepts another delta handler.\n *\n * @internal\n */\nexport interface IShimDeltaHandler extends IDeltaHandler {\n\t/**\n\t * Provide the real tree delta handler (either legacy or new) to the shim that will be used to process the tree ops.\n\t * @param treeDeltaHandler - The appropriate tree delta handler.\n\t */\n\tattachTreeDeltaHandler(treeDeltaHandler: IDeltaHandler): void;\n\n\t/**\n\t * The delta handler needs to be attached to the IShimDeltaHandler before attaching it to the delta connection.\n\t * Otherwise the IShimDeltaHandler will not be able to process ops.\n\t */\n\thasTreeDeltaHandler(): boolean;\n\n\tattached: boolean;\n\n\tmarkAttached(): void;\n}\n\n/**\n * A v1 op or a v2 unstamped op\n */\nexport interface IUnstampedContents {\n\tfluidMigrationStamp?: IChannelAttributes;\n\t[key: string | number]: unknown;\n}\n\n/**\n * A v2 op will have a `fluidMigrationStamp` property. This is a type guard to check if the op is a v2 op.\n */\nexport interface IStampedContents {\n\tfluidMigrationStamp: IChannelAttributes;\n\t[key: string | number]: unknown;\n}\n\n/**\n * A type for interrogating ops to see if they are v2 stamped ops or migrate ops. Otherwise, we try not to care\n * what the contents of the op are. The contents could be of type `any` or `unknown`.\n *\n * If `type` specifically === \"barrier\", then we know we are dealing with a barrier op\n *\n * If `fluidMigrationStamp` is present, then we know we are dealing with a v2 op\n *\n * @internal\n */\nexport type IOpContents = IStampedContents | IUnstampedContents | IMigrationOp;\n\n/**\n * An interface for a shim channel that intercepts a LegacySharedTree or new SharedTree DDS.\n *\n * @internal\n */\nexport interface IShim extends IChannel {\n\tcreate(): void;\n\tload(channelServices: IChannelServices): Promise<void>;\n\tcurrentTree: ITree | LegacySharedTree;\n}\n"]}
@@ -3,8 +3,8 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
  import { type IChannelAttributes } from '@fluidframework/datastore-definitions';
6
- import { type IStampedContents, type IOpContents } from './types.js';
7
6
  import { type IMigrationOp } from './migrationShim.js';
7
+ import { type IOpContents, type IStampedContents } from './types.js';
8
8
  /**
9
9
  * Checks if two channel attributes objects match.
10
10
  * @param attributes1 - The first channel attributes object to compare.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/migration-shim/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,kBAAkB,EAAE,WAAW,EAAE,kBAAkB,GAAG,OAAO,CAMzG;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,WAAW,GAAG,QAAQ,IAAI,YAAY,CAE3E;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,WAAW,GAAG,QAAQ,IAAI,gBAAgB,CAE/E"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/migration-shim/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAEhF,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAErE;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,kBAAkB,EAAE,WAAW,EAAE,kBAAkB,GAAG,OAAO,CAMzG;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,WAAW,GAAG,QAAQ,IAAI,YAAY,CAE3E;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,WAAW,GAAG,QAAQ,IAAI,gBAAgB,CAE/E"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/migration-shim/utils.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAMH;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,WAA+B,EAAE,WAA+B;IAC/F,OAAO,CACN,WAAW,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI;QACrC,WAAW,CAAC,cAAc,KAAK,WAAW,CAAC,cAAc;QACzD,WAAW,CAAC,qBAAqB,KAAK,WAAW,CAAC,qBAAqB,CACvE,CAAC;AACH,CAAC;AAND,0CAMC;AAED;;;;GAIG;AACH,SAAgB,WAAW,CAAC,QAAqB;IAChD,OAAO,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC;AACpC,CAAC;AAFD,kCAEC;AAED;;;;GAIG;AACH,SAAgB,WAAW,CAAC,QAAqB;IAChD,OAAO,qBAAqB,IAAI,QAAQ,CAAC;AAC1C,CAAC;AAFD,kCAEC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { type IChannelAttributes } from '@fluidframework/datastore-definitions';\nimport { type IStampedContents, type IOpContents } from './types.js';\nimport { type IMigrationOp } from './migrationShim.js';\n\n/**\n * Checks if two channel attributes objects match.\n * @param attributes1 - The first channel attributes object to compare.\n * @param attributes2 - The second channel attributes object to compare.\n * @returns True if the two channel attributes objects match, false otherwise.\n */\nexport function attributesMatch(attributes1: IChannelAttributes, attributes2: IChannelAttributes): boolean {\n\treturn (\n\t\tattributes1.type === attributes2.type &&\n\t\tattributes1.packageVersion === attributes2.packageVersion &&\n\t\tattributes1.snapshotFormatVersion === attributes2.snapshotFormatVersion\n\t);\n}\n\n/**\n * Checks if the given op is a barrier op.\n * @param contents - The op to check.\n * @returns True if the op is a barrier op, false otherwise.\n */\nexport function isBarrierOp(contents: IOpContents): contents is IMigrationOp {\n\treturn contents.type === 'barrier';\n}\n\n/**\n * Checks if the given op is a barrier op.\n * @param contents - The op to check.\n * @returns True if the op is a barrier op, false otherwise.\n */\nexport function isStampedOp(contents: IOpContents): contents is IStampedContents {\n\treturn 'fluidMigrationStamp' in contents;\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/migration-shim/utils.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAOH;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,WAA+B,EAAE,WAA+B;IAC/F,OAAO,CACN,WAAW,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI;QACrC,WAAW,CAAC,cAAc,KAAK,WAAW,CAAC,cAAc;QACzD,WAAW,CAAC,qBAAqB,KAAK,WAAW,CAAC,qBAAqB,CACvE,CAAC;AACH,CAAC;AAND,0CAMC;AAED;;;;GAIG;AACH,SAAgB,WAAW,CAAC,QAAqB;IAChD,OAAO,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC;AACpC,CAAC;AAFD,kCAEC;AAED;;;;GAIG;AACH,SAAgB,WAAW,CAAC,QAAqB;IAChD,OAAO,qBAAqB,IAAI,QAAQ,CAAC;AAC1C,CAAC;AAFD,kCAEC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { type IChannelAttributes } from '@fluidframework/datastore-definitions';\n\nimport { type IMigrationOp } from './migrationShim.js';\nimport { type IOpContents, type IStampedContents } from './types.js';\n\n/**\n * Checks if two channel attributes objects match.\n * @param attributes1 - The first channel attributes object to compare.\n * @param attributes2 - The second channel attributes object to compare.\n * @returns True if the two channel attributes objects match, false otherwise.\n */\nexport function attributesMatch(attributes1: IChannelAttributes, attributes2: IChannelAttributes): boolean {\n\treturn (\n\t\tattributes1.type === attributes2.type &&\n\t\tattributes1.packageVersion === attributes2.packageVersion &&\n\t\tattributes1.snapshotFormatVersion === attributes2.snapshotFormatVersion\n\t);\n}\n\n/**\n * Checks if the given op is a barrier op.\n * @param contents - The op to check.\n * @returns True if the op is a barrier op, false otherwise.\n */\nexport function isBarrierOp(contents: IOpContents): contents is IMigrationOp {\n\treturn contents.type === 'barrier';\n}\n\n/**\n * Checks if the given op is a barrier op.\n * @param contents - The op to check.\n * @returns True if the op is a barrier op, false otherwise.\n */\nexport function isStampedOp(contents: IOpContents): contents is IStampedContents {\n\treturn 'fluidMigrationStamp' in contents;\n}\n"]}
@@ -2,7 +2,7 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- import type { EditId, Definition, NodeId, StableNodeId, TraitLabel, DetachedSequenceId, UuidString } from '../Identifiers.js';
5
+ import type { Definition, DetachedSequenceId, EditId, NodeId, StableNodeId, TraitLabel, UuidString } from '../Identifiers.js';
6
6
  /**
7
7
  * Defines a place relative to sibling.
8
8
  * The "outside" of a trait is the `undefined` sibling,
@@ -1 +1 @@
1
- {"version":3,"file":"0.0.2.d.ts","sourceRoot":"","sources":["../../src/persisted-types/0.0.2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"0.0.2.d.ts","sourceRoot":"","sources":["../../src/persisted-types/0.0.2.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"0.0.2.js","sourceRoot":"","sources":["../../src/persisted-types/0.0.2.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAYH;;;;;;;;;;;;;;;;;;GAkBG;AACH,IAAY,IAGX;AAHD,WAAY,IAAI;IACf,mCAAU,CAAA;IACV,iCAAS,CAAA;AACV,CAAC,EAHW,IAAI,oBAAJ,IAAI,QAGf;AAqID;;;GAGG;AACH,IAAY,UAgBX;AAhBD,WAAY,UAAU;IACrB;;;;OAIG;IACH,qDAAS,CAAA;IACT;;;OAGG;IACH,iDAAO,CAAA;IACP;;OAEG;IACH,iDAAO,CAAA;AACR,CAAC,EAhBW,UAAU,0BAAV,UAAU,QAgBrB;AAED;;GAEG;AACH,IAAY,gBASX;AATD,WAAY,gBAAgB;IAC3B,4CAA4C;IAC5C,uDAAI,CAAA;IACJ,iEAAiE;IACjE,2DAAM,CAAA;IACN,mDAAmD;IACnD,uDAAI,CAAA;IACJ,sFAAsF;IACtF,2DAAM,CAAA;AACP,CAAC,EATW,gBAAgB,gCAAhB,gBAAgB,QAS3B;AAyCD;;;GAGG;AACH,IAAY,WAKX;AALD,WAAY,WAAW;IACtB,4CAA4C;IAC5C,+BAAgB,CAAA;IAChB,2GAA2G;IAC3G,+BAAgB,CAAA;AACjB,CAAC,EALW,WAAW,2BAAX,WAAW,QAKtB;AA4BD;;;GAGG;AACH,IAAY,kBAOX;AAPD,WAAY,kBAAkB;IAC7B,+DAAM,CAAA;IACN,+DAAM,CAAA;IACN,6DAAK,CAAA;IACL,mEAAQ,CAAA;IACR,uEAAU,CAAA;IACV,iFAAe,CAAA;AAChB,CAAC,EAPW,kBAAkB,kCAAlB,kBAAkB,QAO7B;AAwED;;;GAGG;AACH,IAAY,gBAiBX;AAjBD,WAAY,gBAAgB;IAC3B;;OAEG;IACH,iFAAiB,CAAA;IAEjB;;;OAGG;IACH,uEAAY,CAAA;IAEZ;;;OAGG;IACH,mEAAU,CAAA;AACX,CAAC,EAjBW,gBAAgB,gCAAhB,gBAAgB,QAiB3B","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type {\n\tEditId,\n\tDefinition,\n\tNodeId,\n\tStableNodeId,\n\tTraitLabel,\n\tDetachedSequenceId,\n\tUuidString,\n} from '../Identifiers.js';\n\n/**\n * Defines a place relative to sibling.\n * The \"outside\" of a trait is the `undefined` sibling,\n * so After `undefined` is the beginning of the trait, and before `undefined` is the end.\n *\n * For this purpose, traits look like:\n *\n * `{undefined} - {Node 0} - {Node 1} - ... - {Node N} - {undefined}`\n *\n * Each `{value}` in the diagram is a possible sibling, which is either a Node or undefined.\n * Each `-` in the above diagram is a `Place`, and can be describe as being `After` a particular `{sibling}` or `Before` it.\n * This means that `After` `{undefined}` means the same `Place` as before the first node\n * and `Before` `{undefined}` means the `Place` after the last Node.\n *\n * Each place can be specified, (aka 'anchored') in two ways (relative to the sibling before or after):\n * the choice of which way to anchor a place only matters when the kept across an edit, and thus evaluated in multiple contexts where the\n * two place description may no longer evaluate to the same place.\n * @alpha\n */\nexport enum Side {\n\tBefore = 0,\n\tAfter = 1,\n}\n\n/**\n * A collection of changes to the tree that are applied atomically along with a unique identifier for the edit.\n * If any individual change fails to apply, the entire Edit will fail to apply.\n * @alpha\n */\nexport interface Edit<TChange> extends EditBase<TChange> {\n\t/**\n\t * Unique identifier for this edit. Must never be reused.\n\t * Used for referencing and de-duplicating edits.\n\t */\n\treadonly id: EditId;\n}\n\n/**\n * A collection of changes to the tree that are applied atomically. If any individual change fails to apply,\n * the entire Edit will fail to apply.\n * @internal\n */\nexport interface EditWithoutId<TChange> extends EditBase<TChange> {\n\t/**\n\t * Used to explicitly state that EditWithoutId cannot contain an id and prevents type Edit from being assigned to type EditWithoutId.\n\t */\n\treadonly id?: never;\n}\n\n/**\n * The information included in an edit.\n * @alpha\n */\nexport interface EditBase<TChange> {\n\t/**\n\t * Actual changes to apply.\n\t * Applied in order as part of a single transaction.\n\t */\n\treadonly changes: readonly TChange[];\n\n\t/**\n\t * For edits which are being re-issued due to a conflict, the number of times this edit has already been attempted.\n\t * Undefined means 0.\n\t */\n\treadonly pastAttemptCount?: number;\n\n\t// Add more metadata fields as needed in the future.\n\t// Include \"high level\"/\"Domain Specific\"/\"Hierarchal\" edits for application/domain use in implementing domain aware merge heuristics.\n}\n\n/**\n * Json compatible representation of a payload storing arbitrary Serializable data.\n *\n * Keys starting with \"IFluid\" are reserved for special use such as the JavaScript feature detection pattern and should not be used.\n *\n * See {@link comparePayloads} for equality semantics and related details (like what is allowed to be lost when serializing)\n *\n * TODO:#51984: Allow opting into heuristic blobbing in snapshots with a special IFluid key.\n * @alpha\n */\nexport type Payload = any;\n\n/**\n * Json compatible map as object.\n * Keys are TraitLabels,\n * Values are the content of the trait specified by the key.\n * @alpha\n */\nexport interface TraitMap<TChild> {\n\treadonly [key: string]: TreeNodeSequence<TChild>;\n}\n\n/**\n * A sequence of Nodes that make up a trait under a Node\n * @alpha\n */\nexport type TreeNodeSequence<TChild> = readonly TChild[];\n\n/**\n * An object which may have traits with children of the given type underneath it\n * @alpha\n */\nexport interface HasTraits<TChild> {\n\treadonly traits: TraitMap<TChild>;\n}\n\n/**\n * The fields required by a node in a tree\n * @alpha\n */\nexport interface NodeData<TId> {\n\t/**\n\t * A payload of arbitrary serializable data\n\t */\n\treadonly payload?: Payload;\n\n\t/**\n\t * The meaning of this node.\n\t * Provides contexts/semantics for this node and its content.\n\t * Typically use to associate a node with metadata (including a schema) and source code (types, behaviors, etc).\n\t */\n\treadonly definition: Definition;\n\t/**\n\t * Identifier which can be used to refer to this Node.\n\t */\n\treadonly identifier: TId;\n}\n\n/**\n * Satisfies `NodeData` and may contain children under traits (which may or may not be `TreeNodes`)\n * @alpha\n */\nexport interface TreeNode<TChild, TId> extends NodeData<TId>, HasTraits<TChild> {}\n\n/**\n * A tree whose nodes are either TreeNodes or a placeholder\n * @internal\n */\nexport type PlaceholderTree<TPlaceholder = never> = TreeNode<PlaceholderTree<TPlaceholder>, NodeId> | TPlaceholder;\n\n/**\n * Specifies the location of a trait (a labeled sequence of nodes) within the tree.\n * @alpha\n */\nexport interface TraitLocationInternal_0_0_2 {\n\treadonly parent: StableNodeId;\n\treadonly label: TraitLabel;\n}\n\n/**\n * JSON-compatible Node type. Objects of this type will be persisted in internal change objects (under Edits) in the SharedTree history.\n * @alpha\n */\nexport type ChangeNode_0_0_2 = TreeNode<ChangeNode_0_0_2, StableNodeId>;\n\n/**\n * The status code of an attempt to apply the changes in an Edit.\n * @alpha\n */\nexport enum EditStatus {\n\t/**\n\t * The edit contained one or more malformed changes (e.g. was missing required fields such as `id`),\n\t * or contained a sequence of changes that could not possibly be applied sequentially without error\n\t * (e.g. an edit which tries to insert the same detached node twice).\n\t */\n\tMalformed,\n\t/**\n\t * The edit contained a well-formed sequence of changes that couldn't be applied to the current view,\n\t * generally because concurrent changes caused one or more merge conflicts.\n\t */\n\tInvalid,\n\t/**\n\t * The edit was applied to the current view successfully.\n\t */\n\tApplied,\n}\n\n/**\n * Types of ops handled by SharedTree.\n */\nexport enum SharedTreeOpType {\n\t/** An op that includes edit information. */\n\tEdit,\n\t/** Includes a Fluid handle that corresponds to an edit chunk. */\n\tHandle,\n\t/** An op that does not affect the tree's state. */\n\tNoOp,\n\t/** Signals that SharedTree contents should be updated to match a new write format. */\n\tUpdate,\n}\n\n/**\n * SharedTreeOp containing a version stamp marking the write format of the tree which submitted it.\n */\nexport interface VersionedOp<Version extends WriteFormat = WriteFormat> {\n\t/** The supported SharedTree write version, see {@link WriteFormat}. */\n\treadonly version: Version;\n}\n\n/**\n * Requirements for SharedTree ops.\n */\nexport type SharedTreeOp_0_0_2 = SharedTreeEditOp_0_0_2 | SharedTreeNoOp | SharedTreeUpdateOp;\n\n/**\n * Op which has no application semantics. This op can be useful for triggering other\n */\nexport interface SharedTreeNoOp extends VersionedOp {\n\treadonly type: SharedTreeOpType.NoOp;\n}\n\n/**\n * Op indicating this SharedTree should upgrade its write format to the specified version.\n * The `version` field of this op reflects the version which should be upgraded to, not\n * the current version.\n * See docs/Breaking-Change-Migration.md for more details on the semantics of this op.\n */\nexport interface SharedTreeUpdateOp extends VersionedOp {\n\treadonly type: SharedTreeOpType.Update;\n}\n\n/**\n * A SharedTree op that includes edit information, and optionally a list of interned strings.\n */\nexport interface SharedTreeEditOp_0_0_2 extends VersionedOp<WriteFormat.v0_0_2> {\n\treadonly type: SharedTreeOpType.Edit;\n\t/** The collection of changes to apply. */\n\treadonly edit: Edit<ChangeInternal_0_0_2>;\n}\n\n/**\n * Format versions that SharedTree supports writing. Changes to op or summary formats necessitate updates.\n * @alpha\n */\nexport enum WriteFormat {\n\t/** Stores all edits in their raw format. */\n\tv0_0_2 = '0.0.2',\n\t/** Supports history virtualization, tree compression, string interning, and makes currentView optional. */\n\tv0_1_1 = '0.1.1',\n}\n\n/**\n * The minimal information on a SharedTree summary. Contains the summary format version.\n * @alpha\n */\nexport interface SharedTreeSummaryBase {\n\t/**\n\t * Field on summary under which version is stored.\n\t */\n\treadonly version: WriteFormat;\n}\n\n/**\n * Legacy summary format currently still used for writing.\n * TODO:#49901: Remove export when this format is no longer written.\n * @internal\n */\nexport interface SharedTreeSummary_0_0_2 extends SharedTreeSummaryBase {\n\treadonly version: WriteFormat.v0_0_2;\n\n\treadonly currentTree: ChangeNode_0_0_2;\n\t/**\n\t * A list of edits.\n\t */\n\treadonly sequencedEdits: readonly Edit<ChangeInternal_0_0_2>[];\n}\n\n/**\n * {@inheritdoc ChangeType}\n * @alpha\n */\nexport enum ChangeTypeInternal {\n\tInsert,\n\tDetach,\n\tBuild,\n\tSetValue,\n\tConstraint,\n\tCompressedBuild,\n}\n\n/**\n * {@inheritdoc (Change:type)}\n * @public\n */\nexport type ChangeInternal_0_0_2 =\n\t| InsertInternal_0_0_2\n\t| DetachInternal_0_0_2\n\t| BuildInternal_0_0_2\n\t| SetValueInternal_0_0_2\n\t| ConstraintInternal_0_0_2;\n\n/**\n * {@inheritdoc BuildNode}\n * @alpha\n */\nexport type BuildNodeInternal_0_0_2 = TreeNode<BuildNodeInternal_0_0_2, StableNodeId> | DetachedSequenceId;\n\n/**\n * {@inheritdoc Build}\n * @alpha\n */\nexport interface BuildInternal_0_0_2 {\n\t/** {@inheritdoc Build.destination } */\n\treadonly destination: DetachedSequenceId;\n\t/** {@inheritdoc Build.source } */\n\treadonly source: TreeNodeSequence<BuildNodeInternal_0_0_2>;\n\t/** {@inheritdoc Build.\"type\" } */\n\treadonly type: typeof ChangeTypeInternal.Build;\n}\n\n/**\n * {@inheritdoc (Insert:interface)}\n * @alpha\n */\nexport interface InsertInternal_0_0_2 {\n\t/** {@inheritdoc (Insert:interface).destination } */\n\treadonly destination: StablePlaceInternal_0_0_2;\n\t/** {@inheritdoc (Insert:interface).source } */\n\treadonly source: DetachedSequenceId;\n\t/** {@inheritdoc (Insert:interface).\"type\" } */\n\treadonly type: typeof ChangeTypeInternal.Insert;\n}\n\n/**\n * {@inheritdoc Detach}\n * @alpha\n */\nexport interface DetachInternal_0_0_2 {\n\t/** {@inheritdoc Detach.destination } */\n\treadonly destination?: DetachedSequenceId;\n\t/** {@inheritdoc Detach.source } */\n\treadonly source: StableRangeInternal_0_0_2;\n\t/** {@inheritdoc Detach.\"type\" } */\n\treadonly type: typeof ChangeTypeInternal.Detach;\n}\n\n/**\n * {@inheritdoc SetValue}\n * @alpha\n */\nexport interface SetValueInternal_0_0_2 {\n\t/** {@inheritdoc SetValue.nodeToModify } */\n\treadonly nodeToModify: StableNodeId;\n\t/** {@inheritdoc SetValue.payload } */\n\t// eslint-disable-next-line @rushstack/no-new-null\n\treadonly payload: Payload | null;\n\t/** {@inheritdoc SetValue.\"type\" } */\n\treadonly type: typeof ChangeTypeInternal.SetValue;\n}\n\n/**\n * What to do when a Constraint is violated.\n * @alpha\n */\nexport enum ConstraintEffect {\n\t/**\n\t * Discard Edit.\n\t */\n\tInvalidAndDiscard,\n\n\t/**\n\t * Discard Edit, but record metadata that application may want to try and recover this change by recreating it.\n\t * Should this be the default policy for when another (non Constraint) change is invalid?\n\t */\n\tInvalidRetry,\n\n\t/**\n\t * Apply the change, but flag it for possible reconsideration by the app\n\t * (applying it is better than not, but perhaps the high level logic could produce something better).\n\t */\n\tValidRetry,\n}\n\n/**\n * {@inheritdoc Constraint}\n * @alpha\n */\nexport interface ConstraintInternal_0_0_2 {\n\t/** {@inheritdoc Constraint.toConstrain } */\n\treadonly toConstrain: StableRangeInternal_0_0_2;\n\t/** {@inheritdoc Constraint.identityHash } */\n\treadonly identityHash?: UuidString;\n\t/** {@inheritdoc Constraint.length } */\n\treadonly length?: number;\n\t/** {@inheritdoc Constraint.contentHash } */\n\treadonly contentHash?: UuidString;\n\t/** {@inheritdoc Constraint.parentNode } */\n\treadonly parentNode?: StableNodeId;\n\t/** {@inheritdoc Constraint.label } */\n\treadonly label?: TraitLabel;\n\t/** {@inheritdoc Constraint.effect } */\n\treadonly effect: ConstraintEffect;\n\t/** {@inheritdoc Constraint.\"type\" } */\n\treadonly type: typeof ChangeTypeInternal.Constraint;\n}\n\n/**\n * {@inheritdoc (StablePlace:interface) }\n * @alpha\n */\nexport interface StablePlaceInternal_0_0_2 {\n\t/**\n\t * {@inheritdoc (StablePlace:interface).side }\n\t */\n\treadonly side: Side;\n\n\t/**\n\t * {@inheritdoc (StablePlace:interface).referenceSibling }\n\t */\n\treadonly referenceSibling?: StableNodeId;\n\n\t/**\n\t * {@inheritdoc (StablePlace:interface).referenceTrait }\n\t */\n\treadonly referenceTrait?: TraitLocationInternal_0_0_2;\n}\n\n/**\n * {@inheritdoc (StableRange:interface) }\n * @alpha\n */\nexport interface StableRangeInternal_0_0_2 {\n\t/** {@inheritdoc (StableRange:interface).start } */\n\treadonly start: StablePlaceInternal_0_0_2;\n\t/** {@inheritdoc (StableRange:interface).end } */\n\treadonly end: StablePlaceInternal_0_0_2;\n}\n"]}
1
+ {"version":3,"file":"0.0.2.js","sourceRoot":"","sources":["../../src/persisted-types/0.0.2.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAYH;;;;;;;;;;;;;;;;;;GAkBG;AACH,IAAY,IAGX;AAHD,WAAY,IAAI;IACf,mCAAU,CAAA;IACV,iCAAS,CAAA;AACV,CAAC,EAHW,IAAI,oBAAJ,IAAI,QAGf;AAqID;;;GAGG;AACH,IAAY,UAgBX;AAhBD,WAAY,UAAU;IACrB;;;;OAIG;IACH,qDAAS,CAAA;IACT;;;OAGG;IACH,iDAAO,CAAA;IACP;;OAEG;IACH,iDAAO,CAAA;AACR,CAAC,EAhBW,UAAU,0BAAV,UAAU,QAgBrB;AAED;;GAEG;AACH,IAAY,gBASX;AATD,WAAY,gBAAgB;IAC3B,4CAA4C;IAC5C,uDAAI,CAAA;IACJ,iEAAiE;IACjE,2DAAM,CAAA;IACN,mDAAmD;IACnD,uDAAI,CAAA;IACJ,sFAAsF;IACtF,2DAAM,CAAA;AACP,CAAC,EATW,gBAAgB,gCAAhB,gBAAgB,QAS3B;AAyCD;;;GAGG;AACH,IAAY,WAKX;AALD,WAAY,WAAW;IACtB,4CAA4C;IAC5C,+BAAgB,CAAA;IAChB,2GAA2G;IAC3G,+BAAgB,CAAA;AACjB,CAAC,EALW,WAAW,2BAAX,WAAW,QAKtB;AA4BD;;;GAGG;AACH,IAAY,kBAOX;AAPD,WAAY,kBAAkB;IAC7B,+DAAM,CAAA;IACN,+DAAM,CAAA;IACN,6DAAK,CAAA;IACL,mEAAQ,CAAA;IACR,uEAAU,CAAA;IACV,iFAAe,CAAA;AAChB,CAAC,EAPW,kBAAkB,kCAAlB,kBAAkB,QAO7B;AAwED;;;GAGG;AACH,IAAY,gBAiBX;AAjBD,WAAY,gBAAgB;IAC3B;;OAEG;IACH,iFAAiB,CAAA;IAEjB;;;OAGG;IACH,uEAAY,CAAA;IAEZ;;;OAGG;IACH,mEAAU,CAAA;AACX,CAAC,EAjBW,gBAAgB,gCAAhB,gBAAgB,QAiB3B","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type {\n\tDefinition,\n\tDetachedSequenceId,\n\tEditId,\n\tNodeId,\n\tStableNodeId,\n\tTraitLabel,\n\tUuidString,\n} from '../Identifiers.js';\n\n/**\n * Defines a place relative to sibling.\n * The \"outside\" of a trait is the `undefined` sibling,\n * so After `undefined` is the beginning of the trait, and before `undefined` is the end.\n *\n * For this purpose, traits look like:\n *\n * `{undefined} - {Node 0} - {Node 1} - ... - {Node N} - {undefined}`\n *\n * Each `{value}` in the diagram is a possible sibling, which is either a Node or undefined.\n * Each `-` in the above diagram is a `Place`, and can be describe as being `After` a particular `{sibling}` or `Before` it.\n * This means that `After` `{undefined}` means the same `Place` as before the first node\n * and `Before` `{undefined}` means the `Place` after the last Node.\n *\n * Each place can be specified, (aka 'anchored') in two ways (relative to the sibling before or after):\n * the choice of which way to anchor a place only matters when the kept across an edit, and thus evaluated in multiple contexts where the\n * two place description may no longer evaluate to the same place.\n * @alpha\n */\nexport enum Side {\n\tBefore = 0,\n\tAfter = 1,\n}\n\n/**\n * A collection of changes to the tree that are applied atomically along with a unique identifier for the edit.\n * If any individual change fails to apply, the entire Edit will fail to apply.\n * @alpha\n */\nexport interface Edit<TChange> extends EditBase<TChange> {\n\t/**\n\t * Unique identifier for this edit. Must never be reused.\n\t * Used for referencing and de-duplicating edits.\n\t */\n\treadonly id: EditId;\n}\n\n/**\n * A collection of changes to the tree that are applied atomically. If any individual change fails to apply,\n * the entire Edit will fail to apply.\n * @internal\n */\nexport interface EditWithoutId<TChange> extends EditBase<TChange> {\n\t/**\n\t * Used to explicitly state that EditWithoutId cannot contain an id and prevents type Edit from being assigned to type EditWithoutId.\n\t */\n\treadonly id?: never;\n}\n\n/**\n * The information included in an edit.\n * @alpha\n */\nexport interface EditBase<TChange> {\n\t/**\n\t * Actual changes to apply.\n\t * Applied in order as part of a single transaction.\n\t */\n\treadonly changes: readonly TChange[];\n\n\t/**\n\t * For edits which are being re-issued due to a conflict, the number of times this edit has already been attempted.\n\t * Undefined means 0.\n\t */\n\treadonly pastAttemptCount?: number;\n\n\t// Add more metadata fields as needed in the future.\n\t// Include \"high level\"/\"Domain Specific\"/\"Hierarchal\" edits for application/domain use in implementing domain aware merge heuristics.\n}\n\n/**\n * Json compatible representation of a payload storing arbitrary Serializable data.\n *\n * Keys starting with \"IFluid\" are reserved for special use such as the JavaScript feature detection pattern and should not be used.\n *\n * See {@link comparePayloads} for equality semantics and related details (like what is allowed to be lost when serializing)\n *\n * TODO:#51984: Allow opting into heuristic blobbing in snapshots with a special IFluid key.\n * @alpha\n */\nexport type Payload = any;\n\n/**\n * Json compatible map as object.\n * Keys are TraitLabels,\n * Values are the content of the trait specified by the key.\n * @alpha\n */\nexport interface TraitMap<TChild> {\n\treadonly [key: string]: TreeNodeSequence<TChild>;\n}\n\n/**\n * A sequence of Nodes that make up a trait under a Node\n * @alpha\n */\nexport type TreeNodeSequence<TChild> = readonly TChild[];\n\n/**\n * An object which may have traits with children of the given type underneath it\n * @alpha\n */\nexport interface HasTraits<TChild> {\n\treadonly traits: TraitMap<TChild>;\n}\n\n/**\n * The fields required by a node in a tree\n * @alpha\n */\nexport interface NodeData<TId> {\n\t/**\n\t * A payload of arbitrary serializable data\n\t */\n\treadonly payload?: Payload;\n\n\t/**\n\t * The meaning of this node.\n\t * Provides contexts/semantics for this node and its content.\n\t * Typically use to associate a node with metadata (including a schema) and source code (types, behaviors, etc).\n\t */\n\treadonly definition: Definition;\n\t/**\n\t * Identifier which can be used to refer to this Node.\n\t */\n\treadonly identifier: TId;\n}\n\n/**\n * Satisfies `NodeData` and may contain children under traits (which may or may not be `TreeNodes`)\n * @alpha\n */\nexport interface TreeNode<TChild, TId> extends NodeData<TId>, HasTraits<TChild> {}\n\n/**\n * A tree whose nodes are either TreeNodes or a placeholder\n * @internal\n */\nexport type PlaceholderTree<TPlaceholder = never> = TreeNode<PlaceholderTree<TPlaceholder>, NodeId> | TPlaceholder;\n\n/**\n * Specifies the location of a trait (a labeled sequence of nodes) within the tree.\n * @alpha\n */\nexport interface TraitLocationInternal_0_0_2 {\n\treadonly parent: StableNodeId;\n\treadonly label: TraitLabel;\n}\n\n/**\n * JSON-compatible Node type. Objects of this type will be persisted in internal change objects (under Edits) in the SharedTree history.\n * @alpha\n */\nexport type ChangeNode_0_0_2 = TreeNode<ChangeNode_0_0_2, StableNodeId>;\n\n/**\n * The status code of an attempt to apply the changes in an Edit.\n * @alpha\n */\nexport enum EditStatus {\n\t/**\n\t * The edit contained one or more malformed changes (e.g. was missing required fields such as `id`),\n\t * or contained a sequence of changes that could not possibly be applied sequentially without error\n\t * (e.g. an edit which tries to insert the same detached node twice).\n\t */\n\tMalformed,\n\t/**\n\t * The edit contained a well-formed sequence of changes that couldn't be applied to the current view,\n\t * generally because concurrent changes caused one or more merge conflicts.\n\t */\n\tInvalid,\n\t/**\n\t * The edit was applied to the current view successfully.\n\t */\n\tApplied,\n}\n\n/**\n * Types of ops handled by SharedTree.\n */\nexport enum SharedTreeOpType {\n\t/** An op that includes edit information. */\n\tEdit,\n\t/** Includes a Fluid handle that corresponds to an edit chunk. */\n\tHandle,\n\t/** An op that does not affect the tree's state. */\n\tNoOp,\n\t/** Signals that SharedTree contents should be updated to match a new write format. */\n\tUpdate,\n}\n\n/**\n * SharedTreeOp containing a version stamp marking the write format of the tree which submitted it.\n */\nexport interface VersionedOp<Version extends WriteFormat = WriteFormat> {\n\t/** The supported SharedTree write version, see {@link WriteFormat}. */\n\treadonly version: Version;\n}\n\n/**\n * Requirements for SharedTree ops.\n */\nexport type SharedTreeOp_0_0_2 = SharedTreeEditOp_0_0_2 | SharedTreeNoOp | SharedTreeUpdateOp;\n\n/**\n * Op which has no application semantics. This op can be useful for triggering other\n */\nexport interface SharedTreeNoOp extends VersionedOp {\n\treadonly type: SharedTreeOpType.NoOp;\n}\n\n/**\n * Op indicating this SharedTree should upgrade its write format to the specified version.\n * The `version` field of this op reflects the version which should be upgraded to, not\n * the current version.\n * See docs/Breaking-Change-Migration.md for more details on the semantics of this op.\n */\nexport interface SharedTreeUpdateOp extends VersionedOp {\n\treadonly type: SharedTreeOpType.Update;\n}\n\n/**\n * A SharedTree op that includes edit information, and optionally a list of interned strings.\n */\nexport interface SharedTreeEditOp_0_0_2 extends VersionedOp<WriteFormat.v0_0_2> {\n\treadonly type: SharedTreeOpType.Edit;\n\t/** The collection of changes to apply. */\n\treadonly edit: Edit<ChangeInternal_0_0_2>;\n}\n\n/**\n * Format versions that SharedTree supports writing. Changes to op or summary formats necessitate updates.\n * @alpha\n */\nexport enum WriteFormat {\n\t/** Stores all edits in their raw format. */\n\tv0_0_2 = '0.0.2',\n\t/** Supports history virtualization, tree compression, string interning, and makes currentView optional. */\n\tv0_1_1 = '0.1.1',\n}\n\n/**\n * The minimal information on a SharedTree summary. Contains the summary format version.\n * @alpha\n */\nexport interface SharedTreeSummaryBase {\n\t/**\n\t * Field on summary under which version is stored.\n\t */\n\treadonly version: WriteFormat;\n}\n\n/**\n * Legacy summary format currently still used for writing.\n * TODO:#49901: Remove export when this format is no longer written.\n * @internal\n */\nexport interface SharedTreeSummary_0_0_2 extends SharedTreeSummaryBase {\n\treadonly version: WriteFormat.v0_0_2;\n\n\treadonly currentTree: ChangeNode_0_0_2;\n\t/**\n\t * A list of edits.\n\t */\n\treadonly sequencedEdits: readonly Edit<ChangeInternal_0_0_2>[];\n}\n\n/**\n * {@inheritdoc ChangeType}\n * @alpha\n */\nexport enum ChangeTypeInternal {\n\tInsert,\n\tDetach,\n\tBuild,\n\tSetValue,\n\tConstraint,\n\tCompressedBuild,\n}\n\n/**\n * {@inheritdoc (Change:type)}\n * @public\n */\nexport type ChangeInternal_0_0_2 =\n\t| InsertInternal_0_0_2\n\t| DetachInternal_0_0_2\n\t| BuildInternal_0_0_2\n\t| SetValueInternal_0_0_2\n\t| ConstraintInternal_0_0_2;\n\n/**\n * {@inheritdoc BuildNode}\n * @alpha\n */\nexport type BuildNodeInternal_0_0_2 = TreeNode<BuildNodeInternal_0_0_2, StableNodeId> | DetachedSequenceId;\n\n/**\n * {@inheritdoc Build}\n * @alpha\n */\nexport interface BuildInternal_0_0_2 {\n\t/** {@inheritdoc Build.destination } */\n\treadonly destination: DetachedSequenceId;\n\t/** {@inheritdoc Build.source } */\n\treadonly source: TreeNodeSequence<BuildNodeInternal_0_0_2>;\n\t/** {@inheritdoc Build.\"type\" } */\n\treadonly type: typeof ChangeTypeInternal.Build;\n}\n\n/**\n * {@inheritdoc (Insert:interface)}\n * @alpha\n */\nexport interface InsertInternal_0_0_2 {\n\t/** {@inheritdoc (Insert:interface).destination } */\n\treadonly destination: StablePlaceInternal_0_0_2;\n\t/** {@inheritdoc (Insert:interface).source } */\n\treadonly source: DetachedSequenceId;\n\t/** {@inheritdoc (Insert:interface).\"type\" } */\n\treadonly type: typeof ChangeTypeInternal.Insert;\n}\n\n/**\n * {@inheritdoc Detach}\n * @alpha\n */\nexport interface DetachInternal_0_0_2 {\n\t/** {@inheritdoc Detach.destination } */\n\treadonly destination?: DetachedSequenceId;\n\t/** {@inheritdoc Detach.source } */\n\treadonly source: StableRangeInternal_0_0_2;\n\t/** {@inheritdoc Detach.\"type\" } */\n\treadonly type: typeof ChangeTypeInternal.Detach;\n}\n\n/**\n * {@inheritdoc SetValue}\n * @alpha\n */\nexport interface SetValueInternal_0_0_2 {\n\t/** {@inheritdoc SetValue.nodeToModify } */\n\treadonly nodeToModify: StableNodeId;\n\t/** {@inheritdoc SetValue.payload } */\n\t// eslint-disable-next-line @rushstack/no-new-null\n\treadonly payload: Payload | null;\n\t/** {@inheritdoc SetValue.\"type\" } */\n\treadonly type: typeof ChangeTypeInternal.SetValue;\n}\n\n/**\n * What to do when a Constraint is violated.\n * @alpha\n */\nexport enum ConstraintEffect {\n\t/**\n\t * Discard Edit.\n\t */\n\tInvalidAndDiscard,\n\n\t/**\n\t * Discard Edit, but record metadata that application may want to try and recover this change by recreating it.\n\t * Should this be the default policy for when another (non Constraint) change is invalid?\n\t */\n\tInvalidRetry,\n\n\t/**\n\t * Apply the change, but flag it for possible reconsideration by the app\n\t * (applying it is better than not, but perhaps the high level logic could produce something better).\n\t */\n\tValidRetry,\n}\n\n/**\n * {@inheritdoc Constraint}\n * @alpha\n */\nexport interface ConstraintInternal_0_0_2 {\n\t/** {@inheritdoc Constraint.toConstrain } */\n\treadonly toConstrain: StableRangeInternal_0_0_2;\n\t/** {@inheritdoc Constraint.identityHash } */\n\treadonly identityHash?: UuidString;\n\t/** {@inheritdoc Constraint.length } */\n\treadonly length?: number;\n\t/** {@inheritdoc Constraint.contentHash } */\n\treadonly contentHash?: UuidString;\n\t/** {@inheritdoc Constraint.parentNode } */\n\treadonly parentNode?: StableNodeId;\n\t/** {@inheritdoc Constraint.label } */\n\treadonly label?: TraitLabel;\n\t/** {@inheritdoc Constraint.effect } */\n\treadonly effect: ConstraintEffect;\n\t/** {@inheritdoc Constraint.\"type\" } */\n\treadonly type: typeof ChangeTypeInternal.Constraint;\n}\n\n/**\n * {@inheritdoc (StablePlace:interface) }\n * @alpha\n */\nexport interface StablePlaceInternal_0_0_2 {\n\t/**\n\t * {@inheritdoc (StablePlace:interface).side }\n\t */\n\treadonly side: Side;\n\n\t/**\n\t * {@inheritdoc (StablePlace:interface).referenceSibling }\n\t */\n\treadonly referenceSibling?: StableNodeId;\n\n\t/**\n\t * {@inheritdoc (StablePlace:interface).referenceTrait }\n\t */\n\treadonly referenceTrait?: TraitLocationInternal_0_0_2;\n}\n\n/**\n * {@inheritdoc (StableRange:interface) }\n * @alpha\n */\nexport interface StableRangeInternal_0_0_2 {\n\t/** {@inheritdoc (StableRange:interface).start } */\n\treadonly start: StablePlaceInternal_0_0_2;\n\t/** {@inheritdoc (StableRange:interface).end } */\n\treadonly end: StablePlaceInternal_0_0_2;\n}\n"]}
@@ -3,8 +3,8 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
  import { ReplaceRecursive } from '../Common.js';
6
- import type { IdCreationRange, SerializedIdCompressorWithNoSession, SerializedIdCompressorWithOngoingSession } from '../id-compressor/index.js';
7
6
  import type { Definition, DetachedSequenceId, EditId, FinalNodeId, InternedStringId, NodeId, OpSpaceNodeId, SessionId, TraitLabel, UuidString } from '../Identifiers.js';
7
+ import type { IdCreationRange, SerializedIdCompressorWithNoSession, SerializedIdCompressorWithOngoingSession } from '../id-compressor/index.js';
8
8
  import { BuildInternal_0_0_2, ChangeTypeInternal, ConstraintEffect, ConstraintInternal_0_0_2, DetachInternal_0_0_2, Edit, EditWithoutId, InsertInternal_0_0_2, NodeData, Payload, SetValueInternal_0_0_2, SharedTreeNoOp, SharedTreeOpType, SharedTreeSummaryBase, SharedTreeUpdateOp, StablePlaceInternal_0_0_2, TraitLocationInternal_0_0_2, TreeNode, TreeNodeSequence, VersionedOp, WriteFormat } from './0.0.2.js';
9
9
  /**
10
10
  * Specifies the location of a trait (a labeled sequence of nodes) within the tree.
@@ -1 +1 @@
1
- {"version":3,"file":"0.1.1.d.ts","sourceRoot":"","sources":["../../src/persisted-types/0.1.1.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"0.1.1.d.ts","sourceRoot":"","sources":["../../src/persisted-types/0.1.1.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,gBAAgB,EAAsB,MAAM,cAAc,CAAC;AACpE,OAAO,KAAK,EACX,UAAU,EACV,kBAAkB,EAClB,MAAM,EACN,WAAW,EACX,gBAAgB,EAChB,MAAM,EACN,aAAa,EACb,SAAS,EACT,UAAU,EACV,UAAU,EACV,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EACX,eAAe,EACf,mCAAmC,EACnC,wCAAwC,EACxC,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACN,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,oBAAoB,EACpB,IAAI,EACJ,aAAa,EACb,oBAAoB,EACpB,QAAQ,EACR,OAAO,EACP,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAElB,yBAAyB,EACzB,2BAA2B,EAC3B,QAAQ,EACR,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,2BAA2B,EAAE,QAAQ,CAAC;IACzF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,MAAM,gBAAgB,CAAC,GAAG,SAAS,aAAa,EAAE,YAAY,SAAS,MAAM,GAAG,KAAK,IAAI,CAC5F,gBAAgB,GAChB,UAAU,GACV,CAAC,yBAAyB,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,YAAY,CAAC,EAAE,CACjE,EAAE,CAAC;AAEJ;;;;;;;;GAQG;AACH,MAAM,MAAM,yBAAyB,CAAC,GAAG,SAAS,aAAa,EAAE,YAAY,SAAS,MAAM,GAAG,KAAK,IACjG,YAAY,GACZ,CAAC,gBAAgB,GAAG,UAAU,CAAC,GAC/B,CAAC,gBAAgB,GAAG,UAAU,EAAE,GAAG,CAAC,GACpC;IACA,gBAAgB,GAAG,UAAU;IAC7B;QAAC,OAAO;QAAE,GAAG,gBAAgB,CAAC,GAAG,EAAE,YAAY,CAAC;KAAC,GAAG,gBAAgB,CAAC,GAAG,EAAE,YAAY,CAAC;CACtF,GACD;IACA,gBAAgB,GAAG,UAAU;IAC7B,GAAG;IACH;QAAC,OAAO;QAAE,GAAG,gBAAgB,CAAC,GAAG,EAAE,YAAY,CAAC;KAAC,GAAG,gBAAgB,CAAC,GAAG,EAAE,YAAY,CAAC;CACtF,CAAC;AAEL;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,oBAAoB,CAAC,GAAG,SAAS,aAAa,IAAI,yBAAyB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAEpG;;;;;GAKG;AACH,MAAM,WAAW,iBAAkB,SAAQ,qBAAqB;IAC/D,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC;IAErC,QAAQ,CAAC,WAAW,CAAC,EAAE,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAEzD;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC,wBAAwB,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC,CAAC;IAE7F;;;;OAIG;IACH,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAE5C;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,mCAAmC,GAAG,wCAAwC,CAAC;CACtG;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc,CAAC,OAAO,EAAE,OAAO;IAC/C;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,SAAS;QAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;QAC/B;;WAEG;QACH,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;KAC5D,EAAE,CAAC;IAEJ;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC9B;AAGD,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;AAExD,MAAM,WAAW,uBAAuB;IACvC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC;IAC5B,KAAK,EAAE,SAAS,aAAa,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;CACvE;AAED;;;GAGG;AACH,MAAM,MAAM,wBAAwB,CAAC,GAAG,SAAS,aAAa,IAC3D,gBAAgB,CAAC,OAAO,CAAC,cAAc,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,GACrE,uBAAuB,CAAC,GAAG,CAAC,CAAC;AAEhC;;GAEG;AACH,MAAM,WAAW,uBAAuB,CAAC,GAAG,SAAS,aAAa;IACjE,uCAAuC;IACvC,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,kCAAkC;IAClC,QAAQ,CAAC,IAAI,EAAE,OAAO,kBAAkB,CAAC,eAAe,CAAC;CACzD;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAAC,GAAG,SAAS,aAAa,IAAI,yBAAyB,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;AAGhH;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IAClC,mBAAmB,EAAE,sCAAsC,CAAC;CAC5D;AAED;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG,cAAc,GAAG,aAAa,GAAG,gBAAgB,GAAG,kBAAkB,CAAC;AAErH;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,GAAG,kBAAkB,CAAC;AAEzF;;;GAGG;AACH,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC;IACzE,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;CACrD;AAED;;;GAGG;AACH,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,oBAAoB,EAAE,aAAa,CAAC;IAChF,oDAAoD;IACpD,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC;CAC1C;AAED;;;GAGG;AACH,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC;IAC3E,mCAAmC;IACnC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;CACrC;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,sBAAsB,EAAE,cAAc,CAAC;IACrF,2CAA2C;IAC3C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,wBAAwB,EAAE,aAAa,GAAG,YAAY,CAAC;IACvG,4CAA4C;IAC5C,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC;IAC1C,2CAA2C;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC7B;AAGD;;GAEG;AACH,eAAO,MAAM,cAAc;oBACV,iBAAiB,iBAAiB,CAAC,eAAe,kBAAkB,KAAG,aAAa;qBAMnF,kBAAkB,eAAe,mBAAmB,KAAG,cAAc;qBAMrE,mBAAmB,gBAAgB,kBAAkB,KAAG,cAAc;+BAM5D,SAAS,MAAM,CAAC,GAAG,MAAM,WAAW,OAAO,KAAG,gBAAgB;iCAM5D,SAAS,MAAM,CAAC,GAAG,MAAM,KAAG,gBAAgB;8BAQ3D,mBAAmB,UACxB,gBAAgB,iBACT,UAAU,WAChB,MAAM,gBACD,UAAU,eACX,MAAM,UACX,UAAU,KAChB,kBAAkB;IAWrB,8CAA8C;0BACxB,mBAAmB,KAAG,cAAc;IAE1D,kDAAkD;wBAC9B,iBAAiB,iBAAiB,CAAC,eAAe,mBAAmB,KAAG,cAAc,EAAE;IAK5G,4CAA4C;mBAC7B,mBAAmB,eAAe,mBAAmB,KAAG,cAAc,EAAE;CAIvF,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,yBAAyB,EAAE,kBAAkB,GAAG,gBAAgB,CAAC;IAClH;;OAEG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAEnC;;OAEG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC;CAChD;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IACnC,mDAAmD;IACnD,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,iDAAiD;IACjD,QAAQ,CAAC,GAAG,EAAE,mBAAmB,CAAC;CAClC;AAED;;;GAGG;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;IAC/B;;OAEG;mBACY,SAAS,MAAM,CAAC,GAAG,MAAM,KAAG,mBAAmB;IAI9D;;OAEG;kBACW,SAAS,MAAM,CAAC,GAAG,MAAM,KAAG,mBAAmB;IAI7D;;OAEG;uBACgB,qBAAqB,KAAG,mBAAmB;IAI9D;;OAEG;qBACc,qBAAqB,KAAG,mBAAmB;CAI5D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB;IAC/B;;;;;;;;OAQG;kBACW,mBAAmB;kBAAe,mBAAmB,KAAK,mBAAmB;;IAe3F;;;OAGG;iBACU,SAAS,MAAM,CAAC,GAAG,MAAM,KAAG,mBAAmB;IAI5D;;;;OAIG;iBACU,qBAAqB,KAAG,mBAAmB;CAIxD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,cAAc,CAAC;AAEvG,MAAM,WAAW,gBAAiB,SAAQ,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC;IACxE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC;IACrC,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC,CAAC;IAC7D,sFAAsF;IACtF,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAmB,SAAQ,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC;IAC1E,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC;IACvC,uDAAuD;IACvD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,+EAA+E;IAC/E,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAC/B;AAED,sFAAsF;AAEtF,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC,2CAA2C;AAE3C,eAAO,MAAM,cAAc,WAAsD,CAAC"}
@@ -5,7 +5,7 @@
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.ghostSessionId = exports.reservedIdCount = exports.StableRangeInternal = exports.StablePlaceInternal = exports.ChangeInternal = void 0;
8
- const core_utils_1 = require("@fluidframework/core-utils");
8
+ const internal_1 = require("@fluidframework/core-utils/internal");
9
9
  const Common_js_1 = require("../Common.js");
10
10
  const _0_0_2_js_1 = require("./0.0.2.js");
11
11
  // Note: Documentation of this constant is merged with documentation of the `ChangeInternal` interface.
@@ -115,8 +115,8 @@ exports.StableRangeInternal = {
115
115
  from: (start) => ({
116
116
  to: (end) => {
117
117
  if (start.referenceTrait && end.referenceTrait) {
118
- (0, core_utils_1.assert)(start.referenceTrait.parent === end.referenceTrait.parent, 0x65e /* StableRange must be constructed with endpoints from the same trait */);
119
- (0, core_utils_1.assert)(start.referenceTrait.label === end.referenceTrait.label, 0x65f /* StableRange must be constructed with endpoints from the same trait */);
118
+ (0, internal_1.assert)(start.referenceTrait.parent === end.referenceTrait.parent, 0x65e /* StableRange must be constructed with endpoints from the same trait */);
119
+ (0, internal_1.assert)(start.referenceTrait.label === end.referenceTrait.label, 0x65f /* StableRange must be constructed with endpoints from the same trait */);
120
120
  }
121
121
  return { start, end };
122
122
  },
@@ -1 +1 @@
1
- {"version":3,"file":"0.1.1.js","sourceRoot":"","sources":["../../src/persisted-types/0.1.1.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,2DAAoD;AACpD,4CAAoE;AAmBpE,0CAuBoB;AAgOpB,uGAAuG;AACvG;;GAEG;AACU,QAAA,cAAc,GAAG;IAC7B,KAAK,EAAE,CAAC,MAA2C,EAAE,WAA+B,EAAiB,EAAE,CAAC,CAAC;QACxG,WAAW;QACX,MAAM;QACN,IAAI,EAAE,8BAAkB,CAAC,KAAK;KAC9B,CAAC;IAEF,MAAM,EAAE,CAAC,MAA0B,EAAE,WAAgC,EAAkB,EAAE,CAAC,CAAC;QAC1F,WAAW;QACX,MAAM;QACN,IAAI,EAAE,8BAAkB,CAAC,MAAM;KAC/B,CAAC;IAEF,MAAM,EAAE,CAAC,MAA2B,EAAE,WAAgC,EAAkB,EAAE,CAAC,CAAC;QAC3F,WAAW;QACX,MAAM;QACN,IAAI,EAAE,8BAAkB,CAAC,MAAM;KAC/B,CAAC;IAEF,UAAU,EAAE,CAAC,YAAuC,EAAE,OAAgB,EAAoB,EAAE,CAAC,CAAC;QAC7F,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC;QACrC,OAAO;QACP,IAAI,EAAE,8BAAkB,CAAC,QAAQ;KACjC,CAAC;IAEF,YAAY,EAAE,CAAC,YAAuC,EAAoB,EAAE,CAAC,CAAC;QAC7E,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC;QACrC,sFAAsF;QACtF,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,8BAAkB,CAAC,QAAQ;KACjC,CAAC;IAEF,UAAU,EAAE,CACX,WAAgC,EAChC,MAAwB,EACxB,YAAyB,EACzB,MAAe,EACf,WAAwB,EACxB,UAAmB,EACnB,KAAkB,EACG,EAAE,CAAC,CAAC;QACzB,WAAW;QACX,MAAM;QACN,YAAY;QACZ,MAAM;QACN,WAAW;QACX,UAAU;QACV,KAAK;QACL,IAAI,EAAE,8BAAkB,CAAC,UAAU;KACnC,CAAC;IAEF,8CAA8C;IAC9C,MAAM,EAAE,CAAC,WAAgC,EAAkB,EAAE,CAAC,sBAAc,CAAC,MAAM,CAAC,WAAW,CAAC;IAEhG,kDAAkD;IAClD,UAAU,EAAE,CAAC,KAA0C,EAAE,WAAgC,EAAoB,EAAE;QAC9G,MAAM,KAAK,GAAG,sBAAc,CAAC,KAAK,CAAC,KAAK,EAAE,CAAuB,CAAC,CAAC;QACnE,OAAO,CAAC,KAAK,EAAE,sBAAc,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,4CAA4C;IAC5C,IAAI,EAAE,CAAC,MAA2B,EAAE,WAAgC,EAAoB,EAAE;QACzF,MAAM,MAAM,GAAG,sBAAc,CAAC,MAAM,CAAC,MAAM,EAAE,CAAuB,CAAC,CAAC;QACtE,OAAO,CAAC,MAAM,EAAE,sBAAc,CAAC,MAAM,CAAC,IAAA,8BAAkB,EAAC,MAAM,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;IAC7F,CAAC;CACD,CAAC;AA6BF;;;GAGG;AAEH;;GAEG;AACU,QAAA,mBAAmB,GAAG;IAClC;;OAEG;IACH,MAAM,EAAE,CAAC,IAA+B,EAAuB,EAAE,CAAC,CAAC;QAClE,IAAI,EAAE,gBAAI,CAAC,MAAM;QACjB,gBAAgB,EAAE,SAAS,CAAC,IAAI,CAAC;KACjC,CAAC;IACF;;OAEG;IACH,KAAK,EAAE,CAAC,IAA+B,EAAuB,EAAE,CAAC,CAAC;QACjE,IAAI,EAAE,gBAAI,CAAC,KAAK;QAChB,gBAAgB,EAAE,SAAS,CAAC,IAAI,CAAC;KACjC,CAAC;IACF;;OAEG;IACH,SAAS,EAAE,CAAC,KAA4B,EAAuB,EAAE,CAAC,CAAC;QAClE,IAAI,EAAE,gBAAI,CAAC,KAAK;QAChB,cAAc,EAAE,KAAK;KACrB,CAAC;IACF;;OAEG;IACH,OAAO,EAAE,CAAC,KAA4B,EAAuB,EAAE,CAAC,CAAC;QAChE,IAAI,EAAE,gBAAI,CAAC,MAAM;QACjB,cAAc,EAAE,KAAK;KACrB,CAAC;CACF,CAAC;AAEF;;GAEG;AACU,QAAA,mBAAmB,GAAG;IAClC;;;;;;;;OAQG;IACH,IAAI,EAAE,CAAC,KAA0B,EAA6D,EAAE,CAAC,CAAC;QACjG,EAAE,EAAE,CAAC,GAAwB,EAAuB,EAAE;YACrD,IAAI,KAAK,CAAC,cAAc,IAAI,GAAG,CAAC,cAAc,EAAE;gBAC/C,IAAA,mBAAM,EACL,KAAK,CAAC,cAAc,CAAC,MAAM,KAAK,GAAG,CAAC,cAAc,CAAC,MAAM,EACzD,KAAK,CAAC,wEAAwE,CAC9E,CAAC;gBACF,IAAA,mBAAM,EACL,KAAK,CAAC,cAAc,CAAC,KAAK,KAAK,GAAG,CAAC,cAAc,CAAC,KAAK,EACvD,KAAK,CAAC,wEAAwE,CAC9E,CAAC;aACF;YACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;QACvB,CAAC;KACD,CAAC;IACF;;;OAGG;IACH,IAAI,EAAE,CAAC,IAA+B,EAAuB,EAAE,CAAC,CAAC;QAChE,KAAK,EAAE,2BAAmB,CAAC,MAAM,CAAC,IAAI,CAAC;QACvC,GAAG,EAAE,2BAAmB,CAAC,KAAK,CAAC,IAAI,CAAC;KACpC,CAAC;IACF;;;;OAIG;IACH,GAAG,EAAE,CAAC,KAA4B,EAAuB,EAAE,CAAC,CAAC;QAC5D,KAAK,EAAE,2BAAmB,CAAC,SAAS,CAAC,KAAK,CAAC;QAC3C,GAAG,EAAE,2BAAmB,CAAC,OAAO,CAAC,KAAK,CAAC;KACvC,CAAC;CACF,CAAC;AA2BF,sFAAsF;AACtF,+BAA+B;AAClB,QAAA,eAAe,GAAG,EAAE,CAAC;AAElC,2CAA2C;AAC3C,8BAA8B;AACjB,QAAA,cAAc,GAAG,sCAAmD,CAAC;AAElF,+EAA+E;AAC/E,SAAS,SAAS,CAAM,IAAyB;IAChD,OAAQ,IAAsB,CAAC,UAAU,IAAK,IAAY,CAAC;AAC5D,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { assert } from '@fluidframework/core-utils';\nimport { assertNotUndefined, ReplaceRecursive } from '../Common.js';\n// These are re-exported from a persisted-types file.\nimport type {\n\tIdCreationRange,\n\tSerializedIdCompressorWithNoSession,\n\tSerializedIdCompressorWithOngoingSession,\n} from '../id-compressor/index.js';\nimport type {\n\tDefinition,\n\tDetachedSequenceId,\n\tEditId,\n\tFinalNodeId,\n\tInternedStringId,\n\tNodeId,\n\tOpSpaceNodeId,\n\tSessionId,\n\tTraitLabel,\n\tUuidString,\n} from '../Identifiers.js';\nimport {\n\tBuildInternal_0_0_2,\n\tChangeTypeInternal,\n\tConstraintEffect,\n\tConstraintInternal_0_0_2,\n\tDetachInternal_0_0_2,\n\tEdit,\n\tEditWithoutId,\n\tInsertInternal_0_0_2,\n\tNodeData,\n\tPayload,\n\tSetValueInternal_0_0_2,\n\tSharedTreeNoOp,\n\tSharedTreeOpType,\n\tSharedTreeSummaryBase,\n\tSharedTreeUpdateOp,\n\tSide,\n\tStablePlaceInternal_0_0_2,\n\tTraitLocationInternal_0_0_2,\n\tTreeNode,\n\tTreeNodeSequence,\n\tVersionedOp,\n\tWriteFormat,\n} from './0.0.2.js';\n\n/**\n * Specifies the location of a trait (a labeled sequence of nodes) within the tree.\n * @alpha\n */\nexport interface TraitLocationInternal extends Omit<TraitLocationInternal_0_0_2, 'parent'> {\n\treadonly parent: NodeId;\n}\n\n/**\n * Alternating list of label then children list under that label.\n * The label may be interned, and children are {@link CompressedPlaceholderTree}.\n */\nexport type CompressedTraits<TId extends OpSpaceNodeId, TPlaceholder extends number | never> = (\n\t| InternedStringId\n\t| TraitLabel\n\t| (CompressedPlaceholderTree<TId, TPlaceholder> | TPlaceholder)[]\n)[];\n\n/**\n * A TreeNode that has been compressed into the following array format:\n * [identifier, definition, traits, payload],\n * where traits is also an array of [label, [trait], label, [trait], ...].\n * Payload is omitted if empty, and traits will be an empty subarray if no traits exist but a payload exists.\n * If both traits and payload does not exist, then both are omitted.\n * All trait labels and node definitions may also be string interned.\n * @internal\n */\nexport type CompressedPlaceholderTree<TId extends OpSpaceNodeId, TPlaceholder extends number | never> =\n\t| TPlaceholder\n\t| [InternedStringId | Definition] // The node Definition's interned string ID\n\t| [InternedStringId | Definition, TId]\n\t| [\n\t\t\tInternedStringId | Definition,\n\t\t\t[Payload, ...CompressedTraits<TId, TPlaceholder>] | CompressedTraits<TId, TPlaceholder>,\n\t ]\n\t| [\n\t\t\tInternedStringId | Definition,\n\t\t\tTId,\n\t\t\t[Payload, ...CompressedTraits<TId, TPlaceholder>] | CompressedTraits<TId, TPlaceholder>,\n\t ];\n\n/**\n * JSON-compatible Node type. Objects of this type will be persisted in internal change objects (under Edits) in the SharedTree history.\n * @internal\n */\nexport type ChangeNode = TreeNode<ChangeNode, NodeId>;\n\n/**\n * A ChangeNode that has been compressed into a {@link CompressedPlaceholderTree}.\n */\nexport type CompressedChangeNode<TId extends OpSpaceNodeId> = CompressedPlaceholderTree<TId, never>;\n\n/**\n * The contents of a SharedTree summary for write format 0.1.1.\n * Contains the current tree in a compressed format,\n * the edits needed to get from `initialTree` to the current tree,\n * and the interned strings that can be used to retrieve the interned summary.\n */\nexport interface SharedTreeSummary extends SharedTreeSummaryBase {\n\treadonly version: WriteFormat.v0_1_1;\n\n\treadonly currentTree?: CompressedChangeNode<FinalNodeId>;\n\n\t/**\n\t * Information that can populate an edit log.\n\t */\n\treadonly editHistory: EditLogSummary<CompressedChangeInternal<FinalNodeId>, FluidEditHandle>;\n\n\t/**\n\t * List of interned strings.\n\t * In 0.1.1, definitions and trait labels are interned deterministically on sequenced ops,\n\t * and each client maintains a string interner whose lifetime is tied to the SharedTree.\n\t */\n\treadonly internedStrings: readonly string[];\n\n\t/**\n\t * Information about all IDs compressed in the summary\n\t */\n\treadonly idCompressor: SerializedIdCompressorWithNoSession | SerializedIdCompressorWithOngoingSession;\n}\n\n/**\n * Information used to populate an edit log.\n * In 0.1.1, this is a persisted type only for `EditLogSummary<CompressedChangeInternal, FluidEditHandle>`,\n * where calling `FluidEditHandle.get` returns an array buffer of compressed `editChunk` contents.\n * The type is parameterized to avoid nearly identical type definitions for uncompressed forms of the edit\n * log, and abstracting away the fact that handle fetching needs to invoke decompression.\n * @internal\n */\nexport interface EditLogSummary<TChange, THandle> {\n\t/**\n\t * A of list of serialized chunks and their corresponding keys.\n\t * Start revision is the index of the first edit in the chunk in relation to the edit log.\n\t */\n\treadonly editChunks: readonly {\n\t\treadonly startRevision: number;\n\t\t/**\n\t\t * Either a chunk of edits or a handle that can be used to load that chunk.\n\t\t */\n\t\treadonly chunk: THandle | readonly EditWithoutId<TChange>[];\n\t}[];\n\n\t/**\n\t * A list of edits IDs for all sequenced edits.\n\t */\n\treadonly editIds: readonly EditId[];\n}\n\n/**\n * FluidEditHandles are used to load edit chunks stored outside of the EditLog.\n * Can be satisfied by IFluidHandle<ArrayBufferLike>.\n * Note that though this is in `PersistedTypes`, it isn't directly serializable (e.g. `get` is a function).\n * Its serialization relies on being encoded via an IFluidSerializer.\n * @internal\n */\nexport interface FluidEditHandle {\n\treadonly get: () => Promise<ArrayBuffer>;\n\treadonly absolutePath: string;\n}\n\n// Future write formats should make this a union type and append to it (e.g. `EditChunkContents_0_1_1 | EditChunkContents_2_0_0`).\nexport type EditChunkContents = EditChunkContents_0_1_1;\n\nexport interface EditChunkContents_0_1_1 {\n\tversion: WriteFormat.v0_1_1;\n\tedits: readonly EditWithoutId<CompressedChangeInternal<FinalNodeId>>[];\n}\n\n/**\n * Compressed change format type.\n * Encodes the same information as a {@link ChangeInternal}, but uses a more compact object format for `build` changes.\n */\nexport type CompressedChangeInternal<TId extends OpSpaceNodeId> =\n\t| ReplaceRecursive<Exclude<ChangeInternal, BuildInternal>, NodeId, TId>\n\t| CompressedBuildInternal<TId>;\n\n/**\n * A compressed version of {@link BuildInternal} where the source is a sequence of compressed nodes.\n */\nexport interface CompressedBuildInternal<TId extends OpSpaceNodeId> {\n\t/** {@inheritdoc Build.destination } */\n\treadonly destination: DetachedSequenceId;\n\t/** A sequence of nodes to build in some compressed format. */\n\treadonly source: TreeNodeSequence<CompressedBuildNode<TId>>;\n\t/** {@inheritdoc Build.\"type\" } */\n\treadonly type: typeof ChangeTypeInternal.CompressedBuild;\n}\n\n/**\n * A BuildNode that has been compressed into a {@link CompressedPlaceholderTree}.\n */\nexport type CompressedBuildNode<TId extends OpSpaceNodeId> = CompressedPlaceholderTree<TId, DetachedSequenceId>;\n\n// TODO: `ChangeInternal`s should be assignable to this type without casting; this will require some test refactoring.\n/**\n * This type should be used as an opaque handle in the public API for `ChangeInternal` objects.\n * This is useful for supporting public APIs which involve working with a tree's edit history,\n * which will involve changes that have already been internalized.\n * @alpha\n */\nexport interface InternalizedChange {\n\tInternalChangeBrand: '2cae1045-61cf-4ef7-a6a3-8ad920cb7ab3';\n}\n\n/**\n * {@inheritdoc (Change:type)}\n * @alpha\n */\nexport type ChangeInternal = InsertInternal | DetachInternal | BuildInternal | SetValueInternal | ConstraintInternal;\n\n/**\n * {@inheritdoc BuildNode}\n * @alpha\n */\nexport type BuildNodeInternal = TreeNode<BuildNodeInternal, NodeId> | DetachedSequenceId;\n\n/**\n * {@inheritdoc Build}\n * @alpha\n */\nexport interface BuildInternal extends Omit<BuildInternal_0_0_2, 'source'> {\n\treadonly source: TreeNodeSequence<BuildNodeInternal>;\n}\n\n/**\n * {@inheritdoc (Insert:interface)}\n * @alpha\n */\nexport interface InsertInternal extends Omit<InsertInternal_0_0_2, 'destination'> {\n\t/** {@inheritdoc (Insert:interface).destination } */\n\treadonly destination: StablePlaceInternal;\n}\n\n/**\n * {@inheritdoc Detach}\n * @alpha\n */\nexport interface DetachInternal extends Omit<DetachInternal_0_0_2, 'source'> {\n\t/** {@inheritdoc Detach.source } */\n\treadonly source: StableRangeInternal;\n}\n\n/**\n * {@inheritdoc SetValue}\n * @alpha\n */\nexport interface SetValueInternal extends Omit<SetValueInternal_0_0_2, 'nodeToModify'> {\n\t/** {@inheritdoc SetValue.nodeToModify } */\n\treadonly nodeToModify: NodeId;\n}\n\n/**\n * {@inheritdoc Constraint}\n * @alpha\n */\nexport interface ConstraintInternal extends Omit<ConstraintInternal_0_0_2, 'toConstrain' | 'parentNode'> {\n\t/** {@inheritdoc Constraint.toConstrain } */\n\treadonly toConstrain: StableRangeInternal;\n\t/** {@inheritdoc Constraint.parentNode } */\n\treadonly parentNode?: NodeId;\n}\n\n// Note: Documentation of this constant is merged with documentation of the `ChangeInternal` interface.\n/**\n * @alpha\n */\nexport const ChangeInternal = {\n\tbuild: (source: TreeNodeSequence<BuildNodeInternal>, destination: DetachedSequenceId): BuildInternal => ({\n\t\tdestination,\n\t\tsource,\n\t\ttype: ChangeTypeInternal.Build,\n\t}),\n\n\tinsert: (source: DetachedSequenceId, destination: StablePlaceInternal): InsertInternal => ({\n\t\tdestination,\n\t\tsource,\n\t\ttype: ChangeTypeInternal.Insert,\n\t}),\n\n\tdetach: (source: StableRangeInternal, destination?: DetachedSequenceId): DetachInternal => ({\n\t\tdestination,\n\t\tsource,\n\t\ttype: ChangeTypeInternal.Detach,\n\t}),\n\n\tsetPayload: (nodeToModify: NodeData<NodeId> | NodeId, payload: Payload): SetValueInternal => ({\n\t\tnodeToModify: getNodeId(nodeToModify),\n\t\tpayload,\n\t\ttype: ChangeTypeInternal.SetValue,\n\t}),\n\n\tclearPayload: (nodeToModify: NodeData<NodeId> | NodeId): SetValueInternal => ({\n\t\tnodeToModify: getNodeId(nodeToModify),\n\t\t// Rationale: 'undefined' is reserved for future use (see 'SetValue' interface above.)\n\t\tpayload: null,\n\t\ttype: ChangeTypeInternal.SetValue,\n\t}),\n\n\tconstraint: (\n\t\ttoConstrain: StableRangeInternal,\n\t\teffect: ConstraintEffect,\n\t\tidentityHash?: UuidString,\n\t\tlength?: number,\n\t\tcontentHash?: UuidString,\n\t\tparentNode?: NodeId,\n\t\tlabel?: TraitLabel\n\t): ConstraintInternal => ({\n\t\ttoConstrain,\n\t\teffect,\n\t\tidentityHash,\n\t\tlength,\n\t\tcontentHash,\n\t\tparentNode,\n\t\tlabel,\n\t\ttype: ChangeTypeInternal.Constraint,\n\t}),\n\n\t/** {@inheritdoc (Change:variable).delete } */\n\tdelete: (stableRange: StableRangeInternal): ChangeInternal => ChangeInternal.detach(stableRange),\n\n\t/** {@inheritdoc (Change:variable).insertTree } */\n\tinsertTree: (nodes: TreeNodeSequence<BuildNodeInternal>, destination: StablePlaceInternal): ChangeInternal[] => {\n\t\tconst build = ChangeInternal.build(nodes, 0 as DetachedSequenceId);\n\t\treturn [build, ChangeInternal.insert(build.destination, destination)];\n\t},\n\n\t/** {@inheritdoc (Change:variable).move } */\n\tmove: (source: StableRangeInternal, destination: StablePlaceInternal): ChangeInternal[] => {\n\t\tconst detach = ChangeInternal.detach(source, 0 as DetachedSequenceId);\n\t\treturn [detach, ChangeInternal.insert(assertNotUndefined(detach.destination), destination)];\n\t},\n};\n\n/**\n * {@inheritdoc (StablePlace:interface) }\n * @alpha\n */\nexport interface StablePlaceInternal extends Omit<StablePlaceInternal_0_0_2, 'referenceSibling' | 'referenceTrait'> {\n\t/**\n\t * {@inheritdoc (StablePlace:interface).referenceSibling }\n\t */\n\treadonly referenceSibling?: NodeId;\n\n\t/**\n\t * {@inheritdoc (StablePlace:interface).referenceTrait }\n\t */\n\treadonly referenceTrait?: TraitLocationInternal;\n}\n\n/**\n * {@inheritdoc (StableRange:interface) }\n * @alpha\n */\nexport interface StableRangeInternal {\n\t/** {@inheritdoc (StableRange:interface).start } */\n\treadonly start: StablePlaceInternal;\n\t/** {@inheritdoc (StableRange:interface).end } */\n\treadonly end: StablePlaceInternal;\n}\n\n/**\n * The remainder of this file consists of factory methods duplicated with those for StableRange/StablePlace and are maintained while\n * the new persisted version of SharedTree ops/summaries is rolled out.\n */\n\n/**\n * @alpha\n */\nexport const StablePlaceInternal = {\n\t/**\n\t * @returns The location directly before `node`.\n\t */\n\tbefore: (node: NodeData<NodeId> | NodeId): StablePlaceInternal => ({\n\t\tside: Side.Before,\n\t\treferenceSibling: getNodeId(node),\n\t}),\n\t/**\n\t * @returns The location directly after `node`.\n\t */\n\tafter: (node: NodeData<NodeId> | NodeId): StablePlaceInternal => ({\n\t\tside: Side.After,\n\t\treferenceSibling: getNodeId(node),\n\t}),\n\t/**\n\t * @returns The location at the start of `trait`.\n\t */\n\tatStartOf: (trait: TraitLocationInternal): StablePlaceInternal => ({\n\t\tside: Side.After,\n\t\treferenceTrait: trait,\n\t}),\n\t/**\n\t * @returns The location at the end of `trait`.\n\t */\n\tatEndOf: (trait: TraitLocationInternal): StablePlaceInternal => ({\n\t\tside: Side.Before,\n\t\treferenceTrait: trait,\n\t}),\n};\n\n/**\n * @alpha\n */\nexport const StableRangeInternal = {\n\t/**\n\t * Factory for producing a `StableRange` from a start `StablePlace` to an end `StablePlace`.\n\t *\n\t * @example\n\t *\n\t * ```typescript\n\t * StableRange.from(StablePlace.before(startNode)).to(StablePlace.after(endNode))\n\t * ```\n\t */\n\tfrom: (start: StablePlaceInternal): { to: (end: StablePlaceInternal) => StableRangeInternal } => ({\n\t\tto: (end: StablePlaceInternal): StableRangeInternal => {\n\t\t\tif (start.referenceTrait && end.referenceTrait) {\n\t\t\t\tassert(\n\t\t\t\t\tstart.referenceTrait.parent === end.referenceTrait.parent,\n\t\t\t\t\t0x65e /* StableRange must be constructed with endpoints from the same trait */\n\t\t\t\t);\n\t\t\t\tassert(\n\t\t\t\t\tstart.referenceTrait.label === end.referenceTrait.label,\n\t\t\t\t\t0x65f /* StableRange must be constructed with endpoints from the same trait */\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn { start, end };\n\t\t},\n\t}),\n\t/**\n\t * @returns a `StableRange` which contains only the provided `node`.\n\t * Both the start and end `StablePlace` objects used to anchor this `StableRange` are in terms of the passed in node.\n\t */\n\tonly: (node: NodeData<NodeId> | NodeId): StableRangeInternal => ({\n\t\tstart: StablePlaceInternal.before(node),\n\t\tend: StablePlaceInternal.after(node),\n\t}),\n\t/**\n\t * @returns a `StableRange` which contains everything in the trait.\n\t * This is anchored using the provided `trait`, and is independent of the actual contents of the trait:\n\t * it does not use sibling anchoring.\n\t */\n\tall: (trait: TraitLocationInternal): StableRangeInternal => ({\n\t\tstart: StablePlaceInternal.atStartOf(trait),\n\t\tend: StablePlaceInternal.atEndOf(trait),\n\t}),\n};\n\n/**\n * Discriminated union of valid 0.0.1 SharedTree op types.\n */\nexport type SharedTreeOp = SharedTreeEditOp | SharedTreeHandleOp | SharedTreeUpdateOp | SharedTreeNoOp;\n\nexport interface SharedTreeEditOp extends VersionedOp<WriteFormat.v0_1_1> {\n\treadonly type: SharedTreeOpType.Edit;\n\t/** The collection of changes to apply. */\n\treadonly edit: Edit<CompressedChangeInternal<OpSpaceNodeId>>;\n\t/** Contains all the IDs generated by the originating client since the last sent op */\n\treadonly idRange: IdCreationRange;\n}\n\n/**\n * A SharedTree op that includes edit handle information.\n * The handle corresponds to an edit chunk in the edit log.\n */\nexport interface SharedTreeHandleOp extends VersionedOp<WriteFormat.v0_1_1> {\n\treadonly type: SharedTreeOpType.Handle;\n\t/** The serialized handle to an uploaded edit chunk. */\n\treadonly editHandle: string;\n\t/** The index of the first edit in the chunk that corresponds to the handle. */\n\treadonly startRevision: number;\n}\n\n/** The number of IDs that a SharedTree reserves for current or future internal use */\n// This value must never change\nexport const reservedIdCount = 10;\n\n/** The SessionID of the Upgrade Session */\n// This UUID must never change\nexport const ghostSessionId = '79590933-1c70-4fda-817a-adab57c20318' as SessionId;\n\n/** Accepts either a node or a node's identifier, and returns the identifier */\nfunction getNodeId<TId>(node: TId | NodeData<TId>): TId {\n\treturn (node as NodeData<TId>).identifier ?? (node as TId);\n}\n"]}
1
+ {"version":3,"file":"0.1.1.js","sourceRoot":"","sources":["../../src/persisted-types/0.1.1.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 { assert } from '@fluidframework/core-utils/internal';\n\nimport { ReplaceRecursive, assertNotUndefined } from '../Common.js';\nimport type {\n\tDefinition,\n\tDetachedSequenceId,\n\tEditId,\n\tFinalNodeId,\n\tInternedStringId,\n\tNodeId,\n\tOpSpaceNodeId,\n\tSessionId,\n\tTraitLabel,\n\tUuidString,\n} from '../Identifiers.js';\n// These are re-exported from a persisted-types file.\nimport type {\n\tIdCreationRange,\n\tSerializedIdCompressorWithNoSession,\n\tSerializedIdCompressorWithOngoingSession,\n} from '../id-compressor/index.js';\n\nimport {\n\tBuildInternal_0_0_2,\n\tChangeTypeInternal,\n\tConstraintEffect,\n\tConstraintInternal_0_0_2,\n\tDetachInternal_0_0_2,\n\tEdit,\n\tEditWithoutId,\n\tInsertInternal_0_0_2,\n\tNodeData,\n\tPayload,\n\tSetValueInternal_0_0_2,\n\tSharedTreeNoOp,\n\tSharedTreeOpType,\n\tSharedTreeSummaryBase,\n\tSharedTreeUpdateOp,\n\tSide,\n\tStablePlaceInternal_0_0_2,\n\tTraitLocationInternal_0_0_2,\n\tTreeNode,\n\tTreeNodeSequence,\n\tVersionedOp,\n\tWriteFormat,\n} from './0.0.2.js';\n\n/**\n * Specifies the location of a trait (a labeled sequence of nodes) within the tree.\n * @alpha\n */\nexport interface TraitLocationInternal extends Omit<TraitLocationInternal_0_0_2, 'parent'> {\n\treadonly parent: NodeId;\n}\n\n/**\n * Alternating list of label then children list under that label.\n * The label may be interned, and children are {@link CompressedPlaceholderTree}.\n */\nexport type CompressedTraits<TId extends OpSpaceNodeId, TPlaceholder extends number | never> = (\n\t| InternedStringId\n\t| TraitLabel\n\t| (CompressedPlaceholderTree<TId, TPlaceholder> | TPlaceholder)[]\n)[];\n\n/**\n * A TreeNode that has been compressed into the following array format:\n * [identifier, definition, traits, payload],\n * where traits is also an array of [label, [trait], label, [trait], ...].\n * Payload is omitted if empty, and traits will be an empty subarray if no traits exist but a payload exists.\n * If both traits and payload does not exist, then both are omitted.\n * All trait labels and node definitions may also be string interned.\n * @internal\n */\nexport type CompressedPlaceholderTree<TId extends OpSpaceNodeId, TPlaceholder extends number | never> =\n\t| TPlaceholder\n\t| [InternedStringId | Definition] // The node Definition's interned string ID\n\t| [InternedStringId | Definition, TId]\n\t| [\n\t\t\tInternedStringId | Definition,\n\t\t\t[Payload, ...CompressedTraits<TId, TPlaceholder>] | CompressedTraits<TId, TPlaceholder>,\n\t ]\n\t| [\n\t\t\tInternedStringId | Definition,\n\t\t\tTId,\n\t\t\t[Payload, ...CompressedTraits<TId, TPlaceholder>] | CompressedTraits<TId, TPlaceholder>,\n\t ];\n\n/**\n * JSON-compatible Node type. Objects of this type will be persisted in internal change objects (under Edits) in the SharedTree history.\n * @internal\n */\nexport type ChangeNode = TreeNode<ChangeNode, NodeId>;\n\n/**\n * A ChangeNode that has been compressed into a {@link CompressedPlaceholderTree}.\n */\nexport type CompressedChangeNode<TId extends OpSpaceNodeId> = CompressedPlaceholderTree<TId, never>;\n\n/**\n * The contents of a SharedTree summary for write format 0.1.1.\n * Contains the current tree in a compressed format,\n * the edits needed to get from `initialTree` to the current tree,\n * and the interned strings that can be used to retrieve the interned summary.\n */\nexport interface SharedTreeSummary extends SharedTreeSummaryBase {\n\treadonly version: WriteFormat.v0_1_1;\n\n\treadonly currentTree?: CompressedChangeNode<FinalNodeId>;\n\n\t/**\n\t * Information that can populate an edit log.\n\t */\n\treadonly editHistory: EditLogSummary<CompressedChangeInternal<FinalNodeId>, FluidEditHandle>;\n\n\t/**\n\t * List of interned strings.\n\t * In 0.1.1, definitions and trait labels are interned deterministically on sequenced ops,\n\t * and each client maintains a string interner whose lifetime is tied to the SharedTree.\n\t */\n\treadonly internedStrings: readonly string[];\n\n\t/**\n\t * Information about all IDs compressed in the summary\n\t */\n\treadonly idCompressor: SerializedIdCompressorWithNoSession | SerializedIdCompressorWithOngoingSession;\n}\n\n/**\n * Information used to populate an edit log.\n * In 0.1.1, this is a persisted type only for `EditLogSummary<CompressedChangeInternal, FluidEditHandle>`,\n * where calling `FluidEditHandle.get` returns an array buffer of compressed `editChunk` contents.\n * The type is parameterized to avoid nearly identical type definitions for uncompressed forms of the edit\n * log, and abstracting away the fact that handle fetching needs to invoke decompression.\n * @internal\n */\nexport interface EditLogSummary<TChange, THandle> {\n\t/**\n\t * A of list of serialized chunks and their corresponding keys.\n\t * Start revision is the index of the first edit in the chunk in relation to the edit log.\n\t */\n\treadonly editChunks: readonly {\n\t\treadonly startRevision: number;\n\t\t/**\n\t\t * Either a chunk of edits or a handle that can be used to load that chunk.\n\t\t */\n\t\treadonly chunk: THandle | readonly EditWithoutId<TChange>[];\n\t}[];\n\n\t/**\n\t * A list of edits IDs for all sequenced edits.\n\t */\n\treadonly editIds: readonly EditId[];\n}\n\n/**\n * FluidEditHandles are used to load edit chunks stored outside of the EditLog.\n * Can be satisfied by IFluidHandle<ArrayBufferLike>.\n * Note that though this is in `PersistedTypes`, it isn't directly serializable (e.g. `get` is a function).\n * Its serialization relies on being encoded via an IFluidSerializer.\n * @internal\n */\nexport interface FluidEditHandle {\n\treadonly get: () => Promise<ArrayBuffer>;\n\treadonly absolutePath: string;\n}\n\n// Future write formats should make this a union type and append to it (e.g. `EditChunkContents_0_1_1 | EditChunkContents_2_0_0`).\nexport type EditChunkContents = EditChunkContents_0_1_1;\n\nexport interface EditChunkContents_0_1_1 {\n\tversion: WriteFormat.v0_1_1;\n\tedits: readonly EditWithoutId<CompressedChangeInternal<FinalNodeId>>[];\n}\n\n/**\n * Compressed change format type.\n * Encodes the same information as a {@link ChangeInternal}, but uses a more compact object format for `build` changes.\n */\nexport type CompressedChangeInternal<TId extends OpSpaceNodeId> =\n\t| ReplaceRecursive<Exclude<ChangeInternal, BuildInternal>, NodeId, TId>\n\t| CompressedBuildInternal<TId>;\n\n/**\n * A compressed version of {@link BuildInternal} where the source is a sequence of compressed nodes.\n */\nexport interface CompressedBuildInternal<TId extends OpSpaceNodeId> {\n\t/** {@inheritdoc Build.destination } */\n\treadonly destination: DetachedSequenceId;\n\t/** A sequence of nodes to build in some compressed format. */\n\treadonly source: TreeNodeSequence<CompressedBuildNode<TId>>;\n\t/** {@inheritdoc Build.\"type\" } */\n\treadonly type: typeof ChangeTypeInternal.CompressedBuild;\n}\n\n/**\n * A BuildNode that has been compressed into a {@link CompressedPlaceholderTree}.\n */\nexport type CompressedBuildNode<TId extends OpSpaceNodeId> = CompressedPlaceholderTree<TId, DetachedSequenceId>;\n\n// TODO: `ChangeInternal`s should be assignable to this type without casting; this will require some test refactoring.\n/**\n * This type should be used as an opaque handle in the public API for `ChangeInternal` objects.\n * This is useful for supporting public APIs which involve working with a tree's edit history,\n * which will involve changes that have already been internalized.\n * @alpha\n */\nexport interface InternalizedChange {\n\tInternalChangeBrand: '2cae1045-61cf-4ef7-a6a3-8ad920cb7ab3';\n}\n\n/**\n * {@inheritdoc (Change:type)}\n * @alpha\n */\nexport type ChangeInternal = InsertInternal | DetachInternal | BuildInternal | SetValueInternal | ConstraintInternal;\n\n/**\n * {@inheritdoc BuildNode}\n * @alpha\n */\nexport type BuildNodeInternal = TreeNode<BuildNodeInternal, NodeId> | DetachedSequenceId;\n\n/**\n * {@inheritdoc Build}\n * @alpha\n */\nexport interface BuildInternal extends Omit<BuildInternal_0_0_2, 'source'> {\n\treadonly source: TreeNodeSequence<BuildNodeInternal>;\n}\n\n/**\n * {@inheritdoc (Insert:interface)}\n * @alpha\n */\nexport interface InsertInternal extends Omit<InsertInternal_0_0_2, 'destination'> {\n\t/** {@inheritdoc (Insert:interface).destination } */\n\treadonly destination: StablePlaceInternal;\n}\n\n/**\n * {@inheritdoc Detach}\n * @alpha\n */\nexport interface DetachInternal extends Omit<DetachInternal_0_0_2, 'source'> {\n\t/** {@inheritdoc Detach.source } */\n\treadonly source: StableRangeInternal;\n}\n\n/**\n * {@inheritdoc SetValue}\n * @alpha\n */\nexport interface SetValueInternal extends Omit<SetValueInternal_0_0_2, 'nodeToModify'> {\n\t/** {@inheritdoc SetValue.nodeToModify } */\n\treadonly nodeToModify: NodeId;\n}\n\n/**\n * {@inheritdoc Constraint}\n * @alpha\n */\nexport interface ConstraintInternal extends Omit<ConstraintInternal_0_0_2, 'toConstrain' | 'parentNode'> {\n\t/** {@inheritdoc Constraint.toConstrain } */\n\treadonly toConstrain: StableRangeInternal;\n\t/** {@inheritdoc Constraint.parentNode } */\n\treadonly parentNode?: NodeId;\n}\n\n// Note: Documentation of this constant is merged with documentation of the `ChangeInternal` interface.\n/**\n * @alpha\n */\nexport const ChangeInternal = {\n\tbuild: (source: TreeNodeSequence<BuildNodeInternal>, destination: DetachedSequenceId): BuildInternal => ({\n\t\tdestination,\n\t\tsource,\n\t\ttype: ChangeTypeInternal.Build,\n\t}),\n\n\tinsert: (source: DetachedSequenceId, destination: StablePlaceInternal): InsertInternal => ({\n\t\tdestination,\n\t\tsource,\n\t\ttype: ChangeTypeInternal.Insert,\n\t}),\n\n\tdetach: (source: StableRangeInternal, destination?: DetachedSequenceId): DetachInternal => ({\n\t\tdestination,\n\t\tsource,\n\t\ttype: ChangeTypeInternal.Detach,\n\t}),\n\n\tsetPayload: (nodeToModify: NodeData<NodeId> | NodeId, payload: Payload): SetValueInternal => ({\n\t\tnodeToModify: getNodeId(nodeToModify),\n\t\tpayload,\n\t\ttype: ChangeTypeInternal.SetValue,\n\t}),\n\n\tclearPayload: (nodeToModify: NodeData<NodeId> | NodeId): SetValueInternal => ({\n\t\tnodeToModify: getNodeId(nodeToModify),\n\t\t// Rationale: 'undefined' is reserved for future use (see 'SetValue' interface above.)\n\t\tpayload: null,\n\t\ttype: ChangeTypeInternal.SetValue,\n\t}),\n\n\tconstraint: (\n\t\ttoConstrain: StableRangeInternal,\n\t\teffect: ConstraintEffect,\n\t\tidentityHash?: UuidString,\n\t\tlength?: number,\n\t\tcontentHash?: UuidString,\n\t\tparentNode?: NodeId,\n\t\tlabel?: TraitLabel\n\t): ConstraintInternal => ({\n\t\ttoConstrain,\n\t\teffect,\n\t\tidentityHash,\n\t\tlength,\n\t\tcontentHash,\n\t\tparentNode,\n\t\tlabel,\n\t\ttype: ChangeTypeInternal.Constraint,\n\t}),\n\n\t/** {@inheritdoc (Change:variable).delete } */\n\tdelete: (stableRange: StableRangeInternal): ChangeInternal => ChangeInternal.detach(stableRange),\n\n\t/** {@inheritdoc (Change:variable).insertTree } */\n\tinsertTree: (nodes: TreeNodeSequence<BuildNodeInternal>, destination: StablePlaceInternal): ChangeInternal[] => {\n\t\tconst build = ChangeInternal.build(nodes, 0 as DetachedSequenceId);\n\t\treturn [build, ChangeInternal.insert(build.destination, destination)];\n\t},\n\n\t/** {@inheritdoc (Change:variable).move } */\n\tmove: (source: StableRangeInternal, destination: StablePlaceInternal): ChangeInternal[] => {\n\t\tconst detach = ChangeInternal.detach(source, 0 as DetachedSequenceId);\n\t\treturn [detach, ChangeInternal.insert(assertNotUndefined(detach.destination), destination)];\n\t},\n};\n\n/**\n * {@inheritdoc (StablePlace:interface) }\n * @alpha\n */\nexport interface StablePlaceInternal extends Omit<StablePlaceInternal_0_0_2, 'referenceSibling' | 'referenceTrait'> {\n\t/**\n\t * {@inheritdoc (StablePlace:interface).referenceSibling }\n\t */\n\treadonly referenceSibling?: NodeId;\n\n\t/**\n\t * {@inheritdoc (StablePlace:interface).referenceTrait }\n\t */\n\treadonly referenceTrait?: TraitLocationInternal;\n}\n\n/**\n * {@inheritdoc (StableRange:interface) }\n * @alpha\n */\nexport interface StableRangeInternal {\n\t/** {@inheritdoc (StableRange:interface).start } */\n\treadonly start: StablePlaceInternal;\n\t/** {@inheritdoc (StableRange:interface).end } */\n\treadonly end: StablePlaceInternal;\n}\n\n/**\n * The remainder of this file consists of factory methods duplicated with those for StableRange/StablePlace and are maintained while\n * the new persisted version of SharedTree ops/summaries is rolled out.\n */\n\n/**\n * @alpha\n */\nexport const StablePlaceInternal = {\n\t/**\n\t * @returns The location directly before `node`.\n\t */\n\tbefore: (node: NodeData<NodeId> | NodeId): StablePlaceInternal => ({\n\t\tside: Side.Before,\n\t\treferenceSibling: getNodeId(node),\n\t}),\n\t/**\n\t * @returns The location directly after `node`.\n\t */\n\tafter: (node: NodeData<NodeId> | NodeId): StablePlaceInternal => ({\n\t\tside: Side.After,\n\t\treferenceSibling: getNodeId(node),\n\t}),\n\t/**\n\t * @returns The location at the start of `trait`.\n\t */\n\tatStartOf: (trait: TraitLocationInternal): StablePlaceInternal => ({\n\t\tside: Side.After,\n\t\treferenceTrait: trait,\n\t}),\n\t/**\n\t * @returns The location at the end of `trait`.\n\t */\n\tatEndOf: (trait: TraitLocationInternal): StablePlaceInternal => ({\n\t\tside: Side.Before,\n\t\treferenceTrait: trait,\n\t}),\n};\n\n/**\n * @alpha\n */\nexport const StableRangeInternal = {\n\t/**\n\t * Factory for producing a `StableRange` from a start `StablePlace` to an end `StablePlace`.\n\t *\n\t * @example\n\t *\n\t * ```typescript\n\t * StableRange.from(StablePlace.before(startNode)).to(StablePlace.after(endNode))\n\t * ```\n\t */\n\tfrom: (start: StablePlaceInternal): { to: (end: StablePlaceInternal) => StableRangeInternal } => ({\n\t\tto: (end: StablePlaceInternal): StableRangeInternal => {\n\t\t\tif (start.referenceTrait && end.referenceTrait) {\n\t\t\t\tassert(\n\t\t\t\t\tstart.referenceTrait.parent === end.referenceTrait.parent,\n\t\t\t\t\t0x65e /* StableRange must be constructed with endpoints from the same trait */\n\t\t\t\t);\n\t\t\t\tassert(\n\t\t\t\t\tstart.referenceTrait.label === end.referenceTrait.label,\n\t\t\t\t\t0x65f /* StableRange must be constructed with endpoints from the same trait */\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn { start, end };\n\t\t},\n\t}),\n\t/**\n\t * @returns a `StableRange` which contains only the provided `node`.\n\t * Both the start and end `StablePlace` objects used to anchor this `StableRange` are in terms of the passed in node.\n\t */\n\tonly: (node: NodeData<NodeId> | NodeId): StableRangeInternal => ({\n\t\tstart: StablePlaceInternal.before(node),\n\t\tend: StablePlaceInternal.after(node),\n\t}),\n\t/**\n\t * @returns a `StableRange` which contains everything in the trait.\n\t * This is anchored using the provided `trait`, and is independent of the actual contents of the trait:\n\t * it does not use sibling anchoring.\n\t */\n\tall: (trait: TraitLocationInternal): StableRangeInternal => ({\n\t\tstart: StablePlaceInternal.atStartOf(trait),\n\t\tend: StablePlaceInternal.atEndOf(trait),\n\t}),\n};\n\n/**\n * Discriminated union of valid 0.0.1 SharedTree op types.\n */\nexport type SharedTreeOp = SharedTreeEditOp | SharedTreeHandleOp | SharedTreeUpdateOp | SharedTreeNoOp;\n\nexport interface SharedTreeEditOp extends VersionedOp<WriteFormat.v0_1_1> {\n\treadonly type: SharedTreeOpType.Edit;\n\t/** The collection of changes to apply. */\n\treadonly edit: Edit<CompressedChangeInternal<OpSpaceNodeId>>;\n\t/** Contains all the IDs generated by the originating client since the last sent op */\n\treadonly idRange: IdCreationRange;\n}\n\n/**\n * A SharedTree op that includes edit handle information.\n * The handle corresponds to an edit chunk in the edit log.\n */\nexport interface SharedTreeHandleOp extends VersionedOp<WriteFormat.v0_1_1> {\n\treadonly type: SharedTreeOpType.Handle;\n\t/** The serialized handle to an uploaded edit chunk. */\n\treadonly editHandle: string;\n\t/** The index of the first edit in the chunk that corresponds to the handle. */\n\treadonly startRevision: number;\n}\n\n/** The number of IDs that a SharedTree reserves for current or future internal use */\n// This value must never change\nexport const reservedIdCount = 10;\n\n/** The SessionID of the Upgrade Session */\n// This UUID must never change\nexport const ghostSessionId = '79590933-1c70-4fda-817a-adab57c20318' as SessionId;\n\n/** Accepts either a node or a node's identifier, and returns the identifier */\nfunction getNodeId<TId>(node: TId | NodeData<TId>): TId {\n\treturn (node as NodeData<TId>).identifier ?? (node as TId);\n}\n"]}
@@ -3,10 +3,10 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
  import { DetachedSequenceId, OpSpaceNodeId } from './Identifiers.js';
6
- import { ChangeInternal, CompressedChangeInternal } from './persisted-types/index.js';
7
6
  import { ContextualizedNodeIdNormalizer } from './NodeIdUtilities.js';
8
- import { TreeCompressor } from './TreeCompressor.js';
9
7
  import { StringInterner } from './StringInterner.js';
8
+ import { TreeCompressor } from './TreeCompressor.js';
9
+ import { ChangeInternal, CompressedChangeInternal } from './persisted-types/index.js';
10
10
  /**
11
11
  * Encapsulates knowledge of how to compress/decompress a change into a compressed change
12
12
  * Compression and decompression each take in a {@link StringInterner} for deduplicating shared strings.
@@ -1 +1 @@
1
- {"version":3,"file":"ChangeCompression.d.ts","sourceRoot":"","sources":["../src/ChangeCompression.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,kBAAkB,EAAU,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAGN,cAAc,EACd,wBAAwB,EAQxB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAEtE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD;;;;GAIG;AACH,qBAAa,gBAAgB;IACT,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAAd,cAAc,EAAE,cAAc,CAAC,kBAAkB,CAAC;IAE/E,QAAQ,CAAC,GAAG,SAAS,aAAa,EACxC,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,8BAA8B,CAAC,GAAG,CAAC,GAC/C,wBAAwB,CAAC,GAAG,CAAC;IAiBzB,UAAU,CAAC,GAAG,SAAS,aAAa,EAC1C,MAAM,EAAE,wBAAwB,CAAC,GAAG,CAAC,EACrC,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,8BAA8B,CAAC,GAAG,CAAC,GAC/C,cAAc;CAgBjB;AAmDD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,SAAS,aAAa,EAAE,KAAK,SAAS;IAAE,OAAO,EAAE,SAAS,cAAc,EAAE,CAAA;CAAE,EAC3G,UAAU,EAAE,gBAAgB,EAC5B,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,8BAA8B,CAAC,GAAG,CAAC,EACjD,IAAI,EAAE,KAAK,GACT,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG;IAAE,OAAO,EAAE,SAAS,wBAAwB,CAAC,GAAG,CAAC,EAAE,CAAA;CAAE,CAKhF;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC7B,GAAG,SAAS,aAAa,EACzB,KAAK,SAAS;IAAE,OAAO,EAAE,SAAS,wBAAwB,CAAC,GAAG,CAAC,EAAE,CAAA;CAAE,EAEnE,UAAU,EAAE,gBAAgB,EAC5B,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,8BAA8B,CAAC,GAAG,CAAC,EACjD,IAAI,EAAE,KAAK,GACT,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG;IAAE,OAAO,EAAE,SAAS,cAAc,EAAE,CAAA;CAAE,CAKjE"}
1
+ {"version":3,"file":"ChangeCompression.d.ts","sourceRoot":"","sources":["../src/ChangeCompression.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,kBAAkB,EAAU,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAGN,cAAc,EAGd,wBAAwB,EAMxB,MAAM,4BAA4B,CAAC;AAEpC;;;;GAIG;AACH,qBAAa,gBAAgB;IACT,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAAd,cAAc,EAAE,cAAc,CAAC,kBAAkB,CAAC;IAE/E,QAAQ,CAAC,GAAG,SAAS,aAAa,EACxC,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,8BAA8B,CAAC,GAAG,CAAC,GAC/C,wBAAwB,CAAC,GAAG,CAAC;IAiBzB,UAAU,CAAC,GAAG,SAAS,aAAa,EAC1C,MAAM,EAAE,wBAAwB,CAAC,GAAG,CAAC,EACrC,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,8BAA8B,CAAC,GAAG,CAAC,GAC/C,cAAc;CAgBjB;AAmDD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,SAAS,aAAa,EAAE,KAAK,SAAS;IAAE,OAAO,EAAE,SAAS,cAAc,EAAE,CAAA;CAAE,EAC3G,UAAU,EAAE,gBAAgB,EAC5B,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,8BAA8B,CAAC,GAAG,CAAC,EACjD,IAAI,EAAE,KAAK,GACT,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG;IAAE,OAAO,EAAE,SAAS,wBAAwB,CAAC,GAAG,CAAC,EAAE,CAAA;CAAE,CAKhF;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC7B,GAAG,SAAS,aAAa,EACzB,KAAK,SAAS;IAAE,OAAO,EAAE,SAAS,wBAAwB,CAAC,GAAG,CAAC,EAAE,CAAA;CAAE,EAEnE,UAAU,EAAE,gBAAgB,EAC5B,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,8BAA8B,CAAC,GAAG,CAAC,EACjD,IAAI,EAAE,KAAK,GACT,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG;IAAE,OAAO,EAAE,SAAS,cAAc,EAAE,CAAA;CAAE,CAKjE"}
@@ -2,9 +2,9 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- import { ChangeTypeInternal, } from './persisted-types/index.js';
6
5
  import { copyPropertyIfDefined, fail } from './Common.js';
7
6
  import { convertStablePlaceIds, convertStableRangeIds } from './IdConversion.js';
7
+ import { ChangeTypeInternal, } from './persisted-types/index.js';
8
8
  /**
9
9
  * Encapsulates knowledge of how to compress/decompress a change into a compressed change
10
10
  * Compression and decompression each take in a {@link StringInterner} for deduplicating shared strings.
@@ -1 +1 @@
1
- {"version":3,"file":"ChangeCompression.js","sourceRoot":"","sources":["../src/ChangeCompression.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, OpSpaceNodeId } from './Identifiers.js';\nimport {\n\tBuildInternal,\n\tBuildNodeInternal,\n\tChangeInternal,\n\tCompressedChangeInternal,\n\tChangeTypeInternal,\n\tCompressedBuildInternal,\n\tCompressedPlaceholderTree,\n\tInsertInternal,\n\tDetachInternal,\n\tSetValueInternal,\n\tConstraintInternal,\n} from './persisted-types/index.js';\nimport { ContextualizedNodeIdNormalizer } from './NodeIdUtilities.js';\nimport { copyPropertyIfDefined, fail, Mutable, ReplaceRecursive } from './Common.js';\nimport { TreeCompressor } from './TreeCompressor.js';\nimport { StringInterner } from './StringInterner.js';\nimport { convertStablePlaceIds, convertStableRangeIds } from './IdConversion.js';\n\n/**\n * Encapsulates knowledge of how to compress/decompress a change into a compressed change\n * Compression and decompression each take in a {@link StringInterner} for deduplicating shared strings.\n * @internal\n */\nexport class ChangeCompressor {\n\tpublic constructor(private readonly treeCompressor: TreeCompressor<DetachedSequenceId>) {}\n\n\tpublic compress<TId extends OpSpaceNodeId>(\n\t\tchange: ChangeInternal,\n\t\tinterner: StringInterner,\n\t\tidNormalizer: ContextualizedNodeIdNormalizer<TId>\n\t): CompressedChangeInternal<TId> {\n\t\tif (change.type === ChangeTypeInternal.Build) {\n\t\t\tconst source: CompressedPlaceholderTree<TId, DetachedSequenceId>[] = [];\n\t\t\tfor (const node of change.source) {\n\t\t\t\tsource.push(this.treeCompressor.compress(node, interner, idNormalizer));\n\t\t\t}\n\t\t\tconst newChange: CompressedBuildInternal<TId> = {\n\t\t\t\tdestination: change.destination,\n\t\t\t\tsource,\n\t\t\t\ttype: ChangeTypeInternal.CompressedBuild,\n\t\t\t};\n\t\t\treturn newChange;\n\t\t} else {\n\t\t\treturn normalizeChange(change, (id) => idNormalizer.normalizeToOpSpace(id));\n\t\t}\n\t}\n\n\tpublic decompress<TId extends OpSpaceNodeId>(\n\t\tchange: CompressedChangeInternal<TId>,\n\t\tinterner: StringInterner,\n\t\tidNormalizer: ContextualizedNodeIdNormalizer<TId>\n\t): ChangeInternal {\n\t\tif (change.type === ChangeTypeInternal.CompressedBuild) {\n\t\t\tconst source: BuildNodeInternal[] = [];\n\t\t\tfor (const node of change.source) {\n\t\t\t\tsource.push(this.treeCompressor.decompress(node, interner, idNormalizer));\n\t\t\t}\n\t\t\tconst newChange: BuildInternal = {\n\t\t\t\tdestination: change.destination,\n\t\t\t\tsource,\n\t\t\t\ttype: ChangeTypeInternal.Build,\n\t\t\t};\n\t\t\treturn newChange;\n\t\t} else {\n\t\t\treturn normalizeChange(change, (id) => idNormalizer.normalizeToSessionSpace(id));\n\t\t}\n\t}\n}\n\nfunction normalizeChange<From extends NodeId | OpSpaceNodeId, To extends NodeId | OpSpaceNodeId>(\n\tchange: ReplaceRecursive<Exclude<ChangeInternal, BuildInternal>, NodeId, From>,\n\tnormalizeId: (id: From) => To\n): ReplaceRecursive<Exclude<ChangeInternal, BuildInternal>, NodeId, To> {\n\tswitch (change.type) {\n\t\tcase ChangeTypeInternal.Insert: {\n\t\t\tconst insert: ReplaceRecursive<InsertInternal, NodeId, To> = {\n\t\t\t\tsource: change.source,\n\t\t\t\tdestination: convertStablePlaceIds(change.destination, normalizeId),\n\t\t\t\ttype: ChangeTypeInternal.Insert,\n\t\t\t};\n\t\t\treturn insert;\n\t\t}\n\t\tcase ChangeTypeInternal.Detach: {\n\t\t\tconst detach: ReplaceRecursive<DetachInternal, NodeId, To> = {\n\t\t\t\tsource: convertStableRangeIds(change.source, normalizeId),\n\t\t\t\ttype: ChangeTypeInternal.Detach,\n\t\t\t};\n\t\t\tcopyPropertyIfDefined(change, detach, 'destination');\n\t\t\treturn detach;\n\t\t}\n\t\tcase ChangeTypeInternal.SetValue: {\n\t\t\tconst setValue: ReplaceRecursive<SetValueInternal, NodeId, To> = {\n\t\t\t\tnodeToModify: normalizeId(change.nodeToModify),\n\t\t\t\tpayload: change.payload,\n\t\t\t\ttype: ChangeTypeInternal.SetValue,\n\t\t\t};\n\t\t\treturn setValue;\n\t\t}\n\t\tcase ChangeTypeInternal.Constraint: {\n\t\t\tconst constraint: Mutable<ReplaceRecursive<ConstraintInternal, NodeId, To>> = {\n\t\t\t\teffect: change.effect,\n\t\t\t\ttoConstrain: convertStableRangeIds(change.toConstrain, normalizeId),\n\t\t\t\ttype: ChangeTypeInternal.Constraint,\n\t\t\t};\n\t\t\tcopyPropertyIfDefined(change, constraint, 'contentHash');\n\t\t\tcopyPropertyIfDefined(change, constraint, 'identityHash');\n\t\t\tcopyPropertyIfDefined(change, constraint, 'label');\n\t\t\tcopyPropertyIfDefined(change, constraint, 'length');\n\t\t\tif (change.parentNode !== undefined) {\n\t\t\t\tconstraint.parentNode = normalizeId(change.parentNode);\n\t\t\t}\n\t\t\treturn constraint;\n\t\t}\n\t\tdefault:\n\t\t\tfail('unexpected change type');\n\t}\n}\n\n/**\n * Compresses the provided edit by applying `compressor` to each change and leaving other fields\n * untouched.\n */\nexport function compressEdit<TId extends OpSpaceNodeId, TEdit extends { changes: readonly ChangeInternal[] }>(\n\tcompressor: ChangeCompressor,\n\tinterner: StringInterner,\n\tidNormalizer: ContextualizedNodeIdNormalizer<TId>,\n\tedit: TEdit\n): Omit<TEdit, 'changes'> & { changes: readonly CompressedChangeInternal<TId>[] } {\n\treturn {\n\t\t...edit,\n\t\tchanges: edit.changes.map((change) => compressor.compress(change, interner, idNormalizer)),\n\t};\n}\n\n/**\n * Decompresses the provided edit by applying `compressor` to each change and leaving other fields\n * untouched.\n */\nexport function decompressEdit<\n\tTId extends OpSpaceNodeId,\n\tTEdit extends { changes: readonly CompressedChangeInternal<TId>[] },\n>(\n\tcompressor: ChangeCompressor,\n\tinterner: StringInterner,\n\tidNormalizer: ContextualizedNodeIdNormalizer<TId>,\n\tedit: TEdit\n): Omit<TEdit, 'changes'> & { changes: readonly ChangeInternal[] } {\n\treturn {\n\t\t...edit,\n\t\tchanges: edit.changes.map((change) => compressor.decompress(change, interner, idNormalizer)),\n\t};\n}\n"]}
1
+ {"version":3,"file":"ChangeCompression.js","sourceRoot":"","sources":["../src/ChangeCompression.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 { Mutable, ReplaceRecursive, copyPropertyIfDefined, fail } from './Common.js';\nimport { convertStablePlaceIds, convertStableRangeIds } from './IdConversion.js';\nimport { DetachedSequenceId, NodeId, OpSpaceNodeId } from './Identifiers.js';\nimport { ContextualizedNodeIdNormalizer } from './NodeIdUtilities.js';\nimport { StringInterner } from './StringInterner.js';\nimport { TreeCompressor } from './TreeCompressor.js';\nimport {\n\tBuildInternal,\n\tBuildNodeInternal,\n\tChangeInternal,\n\tChangeTypeInternal,\n\tCompressedBuildInternal,\n\tCompressedChangeInternal,\n\tCompressedPlaceholderTree,\n\tConstraintInternal,\n\tDetachInternal,\n\tInsertInternal,\n\tSetValueInternal,\n} from './persisted-types/index.js';\n\n/**\n * Encapsulates knowledge of how to compress/decompress a change into a compressed change\n * Compression and decompression each take in a {@link StringInterner} for deduplicating shared strings.\n * @internal\n */\nexport class ChangeCompressor {\n\tpublic constructor(private readonly treeCompressor: TreeCompressor<DetachedSequenceId>) {}\n\n\tpublic compress<TId extends OpSpaceNodeId>(\n\t\tchange: ChangeInternal,\n\t\tinterner: StringInterner,\n\t\tidNormalizer: ContextualizedNodeIdNormalizer<TId>\n\t): CompressedChangeInternal<TId> {\n\t\tif (change.type === ChangeTypeInternal.Build) {\n\t\t\tconst source: CompressedPlaceholderTree<TId, DetachedSequenceId>[] = [];\n\t\t\tfor (const node of change.source) {\n\t\t\t\tsource.push(this.treeCompressor.compress(node, interner, idNormalizer));\n\t\t\t}\n\t\t\tconst newChange: CompressedBuildInternal<TId> = {\n\t\t\t\tdestination: change.destination,\n\t\t\t\tsource,\n\t\t\t\ttype: ChangeTypeInternal.CompressedBuild,\n\t\t\t};\n\t\t\treturn newChange;\n\t\t} else {\n\t\t\treturn normalizeChange(change, (id) => idNormalizer.normalizeToOpSpace(id));\n\t\t}\n\t}\n\n\tpublic decompress<TId extends OpSpaceNodeId>(\n\t\tchange: CompressedChangeInternal<TId>,\n\t\tinterner: StringInterner,\n\t\tidNormalizer: ContextualizedNodeIdNormalizer<TId>\n\t): ChangeInternal {\n\t\tif (change.type === ChangeTypeInternal.CompressedBuild) {\n\t\t\tconst source: BuildNodeInternal[] = [];\n\t\t\tfor (const node of change.source) {\n\t\t\t\tsource.push(this.treeCompressor.decompress(node, interner, idNormalizer));\n\t\t\t}\n\t\t\tconst newChange: BuildInternal = {\n\t\t\t\tdestination: change.destination,\n\t\t\t\tsource,\n\t\t\t\ttype: ChangeTypeInternal.Build,\n\t\t\t};\n\t\t\treturn newChange;\n\t\t} else {\n\t\t\treturn normalizeChange(change, (id) => idNormalizer.normalizeToSessionSpace(id));\n\t\t}\n\t}\n}\n\nfunction normalizeChange<From extends NodeId | OpSpaceNodeId, To extends NodeId | OpSpaceNodeId>(\n\tchange: ReplaceRecursive<Exclude<ChangeInternal, BuildInternal>, NodeId, From>,\n\tnormalizeId: (id: From) => To\n): ReplaceRecursive<Exclude<ChangeInternal, BuildInternal>, NodeId, To> {\n\tswitch (change.type) {\n\t\tcase ChangeTypeInternal.Insert: {\n\t\t\tconst insert: ReplaceRecursive<InsertInternal, NodeId, To> = {\n\t\t\t\tsource: change.source,\n\t\t\t\tdestination: convertStablePlaceIds(change.destination, normalizeId),\n\t\t\t\ttype: ChangeTypeInternal.Insert,\n\t\t\t};\n\t\t\treturn insert;\n\t\t}\n\t\tcase ChangeTypeInternal.Detach: {\n\t\t\tconst detach: ReplaceRecursive<DetachInternal, NodeId, To> = {\n\t\t\t\tsource: convertStableRangeIds(change.source, normalizeId),\n\t\t\t\ttype: ChangeTypeInternal.Detach,\n\t\t\t};\n\t\t\tcopyPropertyIfDefined(change, detach, 'destination');\n\t\t\treturn detach;\n\t\t}\n\t\tcase ChangeTypeInternal.SetValue: {\n\t\t\tconst setValue: ReplaceRecursive<SetValueInternal, NodeId, To> = {\n\t\t\t\tnodeToModify: normalizeId(change.nodeToModify),\n\t\t\t\tpayload: change.payload,\n\t\t\t\ttype: ChangeTypeInternal.SetValue,\n\t\t\t};\n\t\t\treturn setValue;\n\t\t}\n\t\tcase ChangeTypeInternal.Constraint: {\n\t\t\tconst constraint: Mutable<ReplaceRecursive<ConstraintInternal, NodeId, To>> = {\n\t\t\t\teffect: change.effect,\n\t\t\t\ttoConstrain: convertStableRangeIds(change.toConstrain, normalizeId),\n\t\t\t\ttype: ChangeTypeInternal.Constraint,\n\t\t\t};\n\t\t\tcopyPropertyIfDefined(change, constraint, 'contentHash');\n\t\t\tcopyPropertyIfDefined(change, constraint, 'identityHash');\n\t\t\tcopyPropertyIfDefined(change, constraint, 'label');\n\t\t\tcopyPropertyIfDefined(change, constraint, 'length');\n\t\t\tif (change.parentNode !== undefined) {\n\t\t\t\tconstraint.parentNode = normalizeId(change.parentNode);\n\t\t\t}\n\t\t\treturn constraint;\n\t\t}\n\t\tdefault:\n\t\t\tfail('unexpected change type');\n\t}\n}\n\n/**\n * Compresses the provided edit by applying `compressor` to each change and leaving other fields\n * untouched.\n */\nexport function compressEdit<TId extends OpSpaceNodeId, TEdit extends { changes: readonly ChangeInternal[] }>(\n\tcompressor: ChangeCompressor,\n\tinterner: StringInterner,\n\tidNormalizer: ContextualizedNodeIdNormalizer<TId>,\n\tedit: TEdit\n): Omit<TEdit, 'changes'> & { changes: readonly CompressedChangeInternal<TId>[] } {\n\treturn {\n\t\t...edit,\n\t\tchanges: edit.changes.map((change) => compressor.compress(change, interner, idNormalizer)),\n\t};\n}\n\n/**\n * Decompresses the provided edit by applying `compressor` to each change and leaving other fields\n * untouched.\n */\nexport function decompressEdit<\n\tTId extends OpSpaceNodeId,\n\tTEdit extends { changes: readonly CompressedChangeInternal<TId>[] },\n>(\n\tcompressor: ChangeCompressor,\n\tinterner: StringInterner,\n\tidNormalizer: ContextualizedNodeIdNormalizer<TId>,\n\tedit: TEdit\n): Omit<TEdit, 'changes'> & { changes: readonly ChangeInternal[] } {\n\treturn {\n\t\t...edit,\n\t\tchanges: edit.changes.map((change) => compressor.decompress(change, interner, idNormalizer)),\n\t};\n}\n"]}
@@ -3,8 +3,8 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
  import { NodeId, TraitLabel, UuidString } from './Identifiers.js';
6
- import { ConstraintEffect, NodeData, Payload, Side, TreeNodeSequence } from './persisted-types/index.js';
7
6
  import { TraitLocation } from './TreeView.js';
7
+ import { ConstraintEffect, NodeData, Payload, Side, TreeNodeSequence } from './persisted-types/index.js';
8
8
  /**
9
9
  * An object which may have traits with children of the given type underneath it
10
10
  * @alpha
@@ -1 +1 @@
1
- {"version":3,"file":"ChangeTypes.d.ts","sourceRoot":"","sources":["../src/ChangeTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChangeTypes.d.ts","sourceRoot":"","sources":["../src/ChangeTypes.ts"],"names":[],"mappings":"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"}