@fluidframework/tree 2.113.1 → 2.114.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 (527) hide show
  1. package/CHANGELOG.md +98 -0
  2. package/api-report/tree.alpha.api.md +19 -0
  3. package/dist/core/change-family/changeFamily.d.ts +15 -4
  4. package/dist/core/change-family/changeFamily.d.ts.map +1 -1
  5. package/dist/core/change-family/changeFamily.js.map +1 -1
  6. package/dist/core/change-family/editBuilder.d.ts +2 -3
  7. package/dist/core/change-family/editBuilder.d.ts.map +1 -1
  8. package/dist/core/change-family/editBuilder.js +1 -2
  9. package/dist/core/change-family/editBuilder.js.map +1 -1
  10. package/dist/core/change-family/index.d.ts +1 -1
  11. package/dist/core/change-family/index.d.ts.map +1 -1
  12. package/dist/core/change-family/index.js.map +1 -1
  13. package/dist/core/index.d.ts +3 -2
  14. package/dist/core/index.d.ts.map +1 -1
  15. package/dist/core/index.js.map +1 -1
  16. package/dist/core/tree/delta.d.ts +62 -16
  17. package/dist/core/tree/delta.d.ts.map +1 -1
  18. package/dist/core/tree/delta.js.map +1 -1
  19. package/dist/core/tree/detachedFieldIndex.d.ts +7 -13
  20. package/dist/core/tree/detachedFieldIndex.d.ts.map +1 -1
  21. package/dist/core/tree/detachedFieldIndex.js +32 -46
  22. package/dist/core/tree/detachedFieldIndex.js.map +1 -1
  23. package/dist/core/tree/index.d.ts +1 -0
  24. package/dist/core/tree/index.d.ts.map +1 -1
  25. package/dist/core/tree/index.js.map +1 -1
  26. package/dist/core/tree/visitorUtils.d.ts +2 -4
  27. package/dist/core/tree/visitorUtils.d.ts.map +1 -1
  28. package/dist/core/tree/visitorUtils.js +2 -2
  29. package/dist/core/tree/visitorUtils.js.map +1 -1
  30. package/dist/entrypoints/alpha.d.ts +1 -1
  31. package/dist/entrypoints/alpha.d.ts.map +1 -1
  32. package/dist/entrypoints/alpha.js +5 -2
  33. package/dist/entrypoints/alpha.js.map +1 -1
  34. package/dist/feature-libraries/chunked-forest/uniformChunk.d.ts.map +1 -1
  35. package/dist/feature-libraries/chunked-forest/uniformChunk.js +10 -2
  36. package/dist/feature-libraries/chunked-forest/uniformChunk.js.map +1 -1
  37. package/dist/feature-libraries/comparison-forest/comparisonForest.d.ts +51 -0
  38. package/dist/feature-libraries/comparison-forest/comparisonForest.d.ts.map +1 -0
  39. package/dist/feature-libraries/comparison-forest/comparisonForest.js +98 -0
  40. package/dist/feature-libraries/comparison-forest/comparisonForest.js.map +1 -0
  41. package/dist/feature-libraries/comparison-forest/index.d.ts +6 -0
  42. package/dist/feature-libraries/comparison-forest/index.d.ts.map +1 -0
  43. package/dist/feature-libraries/comparison-forest/index.js +10 -0
  44. package/dist/feature-libraries/comparison-forest/index.js.map +1 -0
  45. package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts +8 -6
  46. package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
  47. package/dist/feature-libraries/default-schema/defaultEditBuilder.js +6 -3
  48. package/dist/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
  49. package/dist/feature-libraries/default-schema/index.d.ts +1 -1
  50. package/dist/feature-libraries/default-schema/index.d.ts.map +1 -1
  51. package/dist/feature-libraries/default-schema/index.js.map +1 -1
  52. package/dist/feature-libraries/default-schema/noChangeCodecs.d.ts +2 -2
  53. package/dist/feature-libraries/default-schema/noChangeCodecs.d.ts.map +1 -1
  54. package/dist/feature-libraries/default-schema/noChangeCodecs.js +3 -1
  55. package/dist/feature-libraries/default-schema/noChangeCodecs.js.map +1 -1
  56. package/dist/feature-libraries/detachedFieldIndexSummarizer.d.ts +6 -3
  57. package/dist/feature-libraries/detachedFieldIndexSummarizer.d.ts.map +1 -1
  58. package/dist/feature-libraries/detachedFieldIndexSummarizer.js +18 -6
  59. package/dist/feature-libraries/detachedFieldIndexSummarizer.js.map +1 -1
  60. package/dist/feature-libraries/forest-summary/forestSummarizer.d.ts +2 -3
  61. package/dist/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
  62. package/dist/feature-libraries/forest-summary/forestSummarizer.js +2 -3
  63. package/dist/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
  64. package/dist/feature-libraries/index.d.ts +4 -3
  65. package/dist/feature-libraries/index.d.ts.map +1 -1
  66. package/dist/feature-libraries/index.js +77 -72
  67. package/dist/feature-libraries/index.js.map +1 -1
  68. package/dist/feature-libraries/mitigatedChangeFamily.d.ts +1 -1
  69. package/dist/feature-libraries/mitigatedChangeFamily.d.ts.map +1 -1
  70. package/dist/feature-libraries/mitigatedChangeFamily.js +12 -0
  71. package/dist/feature-libraries/mitigatedChangeFamily.js.map +1 -1
  72. package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts +9 -1
  73. package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -1
  74. package/dist/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -1
  75. package/dist/feature-libraries/modular-schema/genericFieldKindCodecs.d.ts +2 -2
  76. package/dist/feature-libraries/modular-schema/genericFieldKindCodecs.d.ts.map +1 -1
  77. package/dist/feature-libraries/modular-schema/genericFieldKindCodecs.js.map +1 -1
  78. package/dist/feature-libraries/modular-schema/index.d.ts +1 -1
  79. package/dist/feature-libraries/modular-schema/index.d.ts.map +1 -1
  80. package/dist/feature-libraries/modular-schema/index.js.map +1 -1
  81. package/dist/feature-libraries/modular-schema/invert.d.ts +15 -0
  82. package/dist/feature-libraries/modular-schema/invert.d.ts.map +1 -0
  83. package/dist/feature-libraries/modular-schema/invert.js +159 -0
  84. package/dist/feature-libraries/modular-schema/invert.js.map +1 -0
  85. package/dist/feature-libraries/modular-schema/minimizeModularChange.d.ts +3 -4
  86. package/dist/feature-libraries/modular-schema/minimizeModularChange.d.ts.map +1 -1
  87. package/dist/feature-libraries/modular-schema/minimizeModularChange.js +2 -2
  88. package/dist/feature-libraries/modular-schema/minimizeModularChange.js.map +1 -1
  89. package/dist/feature-libraries/modular-schema/modularChangeCodecV1.d.ts +9 -9
  90. package/dist/feature-libraries/modular-schema/modularChangeCodecV1.d.ts.map +1 -1
  91. package/dist/feature-libraries/modular-schema/modularChangeCodecV1.js +0 -2
  92. package/dist/feature-libraries/modular-schema/modularChangeCodecV1.js.map +1 -1
  93. package/dist/feature-libraries/modular-schema/modularChangeCodecV2.d.ts +2 -2
  94. package/dist/feature-libraries/modular-schema/modularChangeCodecV2.d.ts.map +1 -1
  95. package/dist/feature-libraries/modular-schema/modularChangeCodecV2.js.map +1 -1
  96. package/dist/feature-libraries/modular-schema/modularChangeCodecs.d.ts +2 -2
  97. package/dist/feature-libraries/modular-schema/modularChangeCodecs.d.ts.map +1 -1
  98. package/dist/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -1
  99. package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts +8 -22
  100. package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
  101. package/dist/feature-libraries/modular-schema/modularChangeFamily.js +53 -406
  102. package/dist/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
  103. package/dist/feature-libraries/modular-schema/modularChangeUtils.d.ts +61 -0
  104. package/dist/feature-libraries/modular-schema/modularChangeUtils.d.ts.map +1 -0
  105. package/dist/feature-libraries/modular-schema/modularChangeUtils.js +205 -0
  106. package/dist/feature-libraries/modular-schema/modularChangeUtils.js.map +1 -0
  107. package/dist/feature-libraries/modular-schema/prune.d.ts +10 -0
  108. package/dist/feature-libraries/modular-schema/prune.d.ts.map +1 -0
  109. package/dist/feature-libraries/modular-schema/prune.js +49 -0
  110. package/dist/feature-libraries/modular-schema/prune.js.map +1 -0
  111. package/dist/feature-libraries/optional-field/optionalFieldCodecV2.d.ts +2 -2
  112. package/dist/feature-libraries/optional-field/optionalFieldCodecV2.d.ts.map +1 -1
  113. package/dist/feature-libraries/optional-field/optionalFieldCodecV2.js.map +1 -1
  114. package/dist/feature-libraries/optional-field/optionalFieldCodecs.d.ts +2 -2
  115. package/dist/feature-libraries/optional-field/optionalFieldCodecs.d.ts.map +1 -1
  116. package/dist/feature-libraries/optional-field/optionalFieldCodecs.js.map +1 -1
  117. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts +2 -2
  118. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts.map +1 -1
  119. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.js.map +1 -1
  120. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV3.d.ts +2 -2
  121. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV3.d.ts.map +1 -1
  122. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV3.js.map +1 -1
  123. package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts +2 -2
  124. package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts.map +1 -1
  125. package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.js.map +1 -1
  126. package/dist/feature-libraries/treeTextCursor.d.ts +15 -0
  127. package/dist/feature-libraries/treeTextCursor.d.ts.map +1 -1
  128. package/dist/feature-libraries/treeTextCursor.js +64 -1
  129. package/dist/feature-libraries/treeTextCursor.js.map +1 -1
  130. package/dist/index.d.ts +3 -1
  131. package/dist/index.d.ts.map +1 -1
  132. package/dist/index.js +5 -1
  133. package/dist/index.js.map +1 -1
  134. package/dist/packageVersion.d.ts +1 -1
  135. package/dist/packageVersion.js +1 -1
  136. package/dist/packageVersion.js.map +1 -1
  137. package/dist/shared-tree/serializedChange.d.ts +2 -2
  138. package/dist/shared-tree/serializedChange.d.ts.map +1 -1
  139. package/dist/shared-tree/serializedChange.js.map +1 -1
  140. package/dist/shared-tree/sharedTree.d.ts +6 -3
  141. package/dist/shared-tree/sharedTree.d.ts.map +1 -1
  142. package/dist/shared-tree/sharedTree.js +8 -6
  143. package/dist/shared-tree/sharedTree.js.map +1 -1
  144. package/dist/shared-tree/sharedTreeChangeCodecs.d.ts +2 -2
  145. package/dist/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
  146. package/dist/shared-tree/sharedTreeChangeCodecs.js.map +1 -1
  147. package/dist/shared-tree/sharedTreeChangeFamily.d.ts +41 -4
  148. package/dist/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -1
  149. package/dist/shared-tree/sharedTreeChangeFamily.js +57 -1
  150. package/dist/shared-tree/sharedTreeChangeFamily.js.map +1 -1
  151. package/dist/shared-tree/transactionMinimize.d.ts.map +1 -1
  152. package/dist/shared-tree/transactionMinimize.js +2 -2
  153. package/dist/shared-tree/transactionMinimize.js.map +1 -1
  154. package/dist/shared-tree/transactionPostProcessor.d.ts +2 -1
  155. package/dist/shared-tree/transactionPostProcessor.d.ts.map +1 -1
  156. package/dist/shared-tree/transactionPostProcessor.js.map +1 -1
  157. package/dist/shared-tree/treeCheckout.d.ts +8 -7
  158. package/dist/shared-tree/treeCheckout.d.ts.map +1 -1
  159. package/dist/shared-tree/treeCheckout.js +1 -1
  160. package/dist/shared-tree/treeCheckout.js.map +1 -1
  161. package/dist/shared-tree-core/branch.d.ts +23 -9
  162. package/dist/shared-tree-core/branch.d.ts.map +1 -1
  163. package/dist/shared-tree-core/branch.js +7 -0
  164. package/dist/shared-tree-core/branch.js.map +1 -1
  165. package/dist/shared-tree-core/editManager.d.ts +4 -4
  166. package/dist/shared-tree-core/editManager.d.ts.map +1 -1
  167. package/dist/shared-tree-core/editManager.js +2 -0
  168. package/dist/shared-tree-core/editManager.js.map +1 -1
  169. package/dist/shared-tree-core/editManagerCodecs.d.ts +3 -14
  170. package/dist/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
  171. package/dist/shared-tree-core/editManagerCodecs.js.map +1 -1
  172. package/dist/shared-tree-core/editManagerCodecsCommons.d.ts +11 -1
  173. package/dist/shared-tree-core/editManagerCodecsCommons.d.ts.map +1 -1
  174. package/dist/shared-tree-core/editManagerCodecsCommons.js.map +1 -1
  175. package/dist/shared-tree-core/editManagerCodecsV1toV4.d.ts +4 -11
  176. package/dist/shared-tree-core/editManagerCodecsV1toV4.d.ts.map +1 -1
  177. package/dist/shared-tree-core/editManagerCodecsV1toV4.js.map +1 -1
  178. package/dist/shared-tree-core/editManagerCodecsVSharedBranches.d.ts +4 -11
  179. package/dist/shared-tree-core/editManagerCodecsVSharedBranches.d.ts.map +1 -1
  180. package/dist/shared-tree-core/editManagerCodecsVSharedBranches.js.map +1 -1
  181. package/dist/shared-tree-core/editManagerSummarizer.d.ts +4 -4
  182. package/dist/shared-tree-core/editManagerSummarizer.d.ts.map +1 -1
  183. package/dist/shared-tree-core/editManagerSummarizer.js +0 -1
  184. package/dist/shared-tree-core/editManagerSummarizer.js.map +1 -1
  185. package/dist/shared-tree-core/messageCodecV1ToV4.d.ts +2 -2
  186. package/dist/shared-tree-core/messageCodecV1ToV4.d.ts.map +1 -1
  187. package/dist/shared-tree-core/messageCodecV1ToV4.js.map +1 -1
  188. package/dist/shared-tree-core/messageCodecVSharedBranches.d.ts.map +1 -1
  189. package/dist/shared-tree-core/messageCodecVSharedBranches.js.map +1 -1
  190. package/dist/shared-tree-core/messageCodecs.d.ts +8 -1
  191. package/dist/shared-tree-core/messageCodecs.d.ts.map +1 -1
  192. package/dist/shared-tree-core/messageCodecs.js.map +1 -1
  193. package/dist/shared-tree-core/sharedTreeCore.d.ts +5 -5
  194. package/dist/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
  195. package/dist/shared-tree-core/sharedTreeCore.js.map +1 -1
  196. package/dist/shared-tree-core/transaction.d.ts +10 -10
  197. package/dist/shared-tree-core/transaction.d.ts.map +1 -1
  198. package/dist/shared-tree-core/transaction.js +6 -3
  199. package/dist/shared-tree-core/transaction.js.map +1 -1
  200. package/dist/simple-tree/api/eraseSchemaDetails.d.ts +15 -0
  201. package/dist/simple-tree/api/eraseSchemaDetails.d.ts.map +1 -1
  202. package/dist/simple-tree/api/eraseSchemaDetails.js +15 -0
  203. package/dist/simple-tree/api/eraseSchemaDetails.js.map +1 -1
  204. package/dist/simple-tree/node-kinds/array/arrayNode.d.ts +21 -2
  205. package/dist/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
  206. package/dist/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
  207. package/dist/simple-tree/node-kinds/map/mapNode.d.ts +13 -0
  208. package/dist/simple-tree/node-kinds/map/mapNode.d.ts.map +1 -1
  209. package/dist/simple-tree/node-kinds/map/mapNode.js +9 -0
  210. package/dist/simple-tree/node-kinds/map/mapNode.js.map +1 -1
  211. package/dist/text/textDomain.d.ts +12 -0
  212. package/dist/text/textDomain.d.ts.map +1 -1
  213. package/dist/text/textDomain.js +37 -16
  214. package/dist/text/textDomain.js.map +1 -1
  215. package/dist/text/textDomainFormatted.d.ts +155 -61
  216. package/dist/text/textDomainFormatted.d.ts.map +1 -1
  217. package/dist/text/textDomainFormatted.js +147 -71
  218. package/dist/text/textDomainFormatted.js.map +1 -1
  219. package/dist/text/textDomainFormattedDefault.d.ts +37 -14
  220. package/dist/text/textDomainFormattedDefault.d.ts.map +1 -1
  221. package/dist/text/textDomainFormattedDefault.js +13 -5
  222. package/dist/text/textDomainFormattedDefault.js.map +1 -1
  223. package/dist/treeDataStore.d.ts +49 -0
  224. package/dist/treeDataStore.d.ts.map +1 -0
  225. package/dist/treeDataStore.js +57 -0
  226. package/dist/treeDataStore.js.map +1 -0
  227. package/dist/treeFactory.d.ts +8 -3
  228. package/dist/treeFactory.d.ts.map +1 -1
  229. package/dist/treeFactory.js +6 -1
  230. package/dist/treeFactory.js.map +1 -1
  231. package/lib/core/change-family/changeFamily.d.ts +15 -4
  232. package/lib/core/change-family/changeFamily.d.ts.map +1 -1
  233. package/lib/core/change-family/changeFamily.js.map +1 -1
  234. package/lib/core/change-family/editBuilder.d.ts +2 -3
  235. package/lib/core/change-family/editBuilder.d.ts.map +1 -1
  236. package/lib/core/change-family/editBuilder.js +1 -2
  237. package/lib/core/change-family/editBuilder.js.map +1 -1
  238. package/lib/core/change-family/index.d.ts +1 -1
  239. package/lib/core/change-family/index.d.ts.map +1 -1
  240. package/lib/core/change-family/index.js.map +1 -1
  241. package/lib/core/index.d.ts +3 -2
  242. package/lib/core/index.d.ts.map +1 -1
  243. package/lib/core/index.js +1 -1
  244. package/lib/core/index.js.map +1 -1
  245. package/lib/core/tree/delta.d.ts +62 -16
  246. package/lib/core/tree/delta.d.ts.map +1 -1
  247. package/lib/core/tree/delta.js.map +1 -1
  248. package/lib/core/tree/detachedFieldIndex.d.ts +7 -13
  249. package/lib/core/tree/detachedFieldIndex.d.ts.map +1 -1
  250. package/lib/core/tree/detachedFieldIndex.js +7 -21
  251. package/lib/core/tree/detachedFieldIndex.js.map +1 -1
  252. package/lib/core/tree/index.d.ts +1 -0
  253. package/lib/core/tree/index.d.ts.map +1 -1
  254. package/lib/core/tree/index.js.map +1 -1
  255. package/lib/core/tree/visitorUtils.d.ts +2 -4
  256. package/lib/core/tree/visitorUtils.d.ts.map +1 -1
  257. package/lib/core/tree/visitorUtils.js +2 -2
  258. package/lib/core/tree/visitorUtils.js.map +1 -1
  259. package/lib/entrypoints/alpha.d.ts +1 -1
  260. package/lib/entrypoints/alpha.d.ts.map +1 -1
  261. package/lib/entrypoints/alpha.js +1 -1
  262. package/lib/entrypoints/alpha.js.map +1 -1
  263. package/lib/feature-libraries/chunked-forest/uniformChunk.d.ts.map +1 -1
  264. package/lib/feature-libraries/chunked-forest/uniformChunk.js +10 -2
  265. package/lib/feature-libraries/chunked-forest/uniformChunk.js.map +1 -1
  266. package/lib/feature-libraries/comparison-forest/comparisonForest.d.ts +51 -0
  267. package/lib/feature-libraries/comparison-forest/comparisonForest.d.ts.map +1 -0
  268. package/lib/feature-libraries/comparison-forest/comparisonForest.js +94 -0
  269. package/lib/feature-libraries/comparison-forest/comparisonForest.js.map +1 -0
  270. package/lib/feature-libraries/comparison-forest/index.d.ts +6 -0
  271. package/lib/feature-libraries/comparison-forest/index.d.ts.map +1 -0
  272. package/lib/feature-libraries/comparison-forest/index.js +6 -0
  273. package/lib/feature-libraries/comparison-forest/index.js.map +1 -0
  274. package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts +8 -6
  275. package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
  276. package/lib/feature-libraries/default-schema/defaultEditBuilder.js +6 -3
  277. package/lib/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
  278. package/lib/feature-libraries/default-schema/index.d.ts +1 -1
  279. package/lib/feature-libraries/default-schema/index.d.ts.map +1 -1
  280. package/lib/feature-libraries/default-schema/index.js.map +1 -1
  281. package/lib/feature-libraries/default-schema/noChangeCodecs.d.ts +2 -2
  282. package/lib/feature-libraries/default-schema/noChangeCodecs.d.ts.map +1 -1
  283. package/lib/feature-libraries/default-schema/noChangeCodecs.js +3 -1
  284. package/lib/feature-libraries/default-schema/noChangeCodecs.js.map +1 -1
  285. package/lib/feature-libraries/detachedFieldIndexSummarizer.d.ts +6 -3
  286. package/lib/feature-libraries/detachedFieldIndexSummarizer.d.ts.map +1 -1
  287. package/lib/feature-libraries/detachedFieldIndexSummarizer.js +16 -4
  288. package/lib/feature-libraries/detachedFieldIndexSummarizer.js.map +1 -1
  289. package/lib/feature-libraries/forest-summary/forestSummarizer.d.ts +2 -3
  290. package/lib/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
  291. package/lib/feature-libraries/forest-summary/forestSummarizer.js +2 -3
  292. package/lib/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
  293. package/lib/feature-libraries/index.d.ts +4 -3
  294. package/lib/feature-libraries/index.d.ts.map +1 -1
  295. package/lib/feature-libraries/index.js +2 -1
  296. package/lib/feature-libraries/index.js.map +1 -1
  297. package/lib/feature-libraries/mitigatedChangeFamily.d.ts +1 -1
  298. package/lib/feature-libraries/mitigatedChangeFamily.d.ts.map +1 -1
  299. package/lib/feature-libraries/mitigatedChangeFamily.js +12 -0
  300. package/lib/feature-libraries/mitigatedChangeFamily.js.map +1 -1
  301. package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts +9 -1
  302. package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -1
  303. package/lib/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -1
  304. package/lib/feature-libraries/modular-schema/genericFieldKindCodecs.d.ts +2 -2
  305. package/lib/feature-libraries/modular-schema/genericFieldKindCodecs.d.ts.map +1 -1
  306. package/lib/feature-libraries/modular-schema/genericFieldKindCodecs.js.map +1 -1
  307. package/lib/feature-libraries/modular-schema/index.d.ts +1 -1
  308. package/lib/feature-libraries/modular-schema/index.d.ts.map +1 -1
  309. package/lib/feature-libraries/modular-schema/index.js.map +1 -1
  310. package/lib/feature-libraries/modular-schema/invert.d.ts +15 -0
  311. package/lib/feature-libraries/modular-schema/invert.d.ts.map +1 -0
  312. package/lib/feature-libraries/modular-schema/invert.js +155 -0
  313. package/lib/feature-libraries/modular-schema/invert.js.map +1 -0
  314. package/lib/feature-libraries/modular-schema/minimizeModularChange.d.ts +3 -4
  315. package/lib/feature-libraries/modular-schema/minimizeModularChange.d.ts.map +1 -1
  316. package/lib/feature-libraries/modular-schema/minimizeModularChange.js +2 -2
  317. package/lib/feature-libraries/modular-schema/minimizeModularChange.js.map +1 -1
  318. package/lib/feature-libraries/modular-schema/modularChangeCodecV1.d.ts +9 -9
  319. package/lib/feature-libraries/modular-schema/modularChangeCodecV1.d.ts.map +1 -1
  320. package/lib/feature-libraries/modular-schema/modularChangeCodecV1.js +0 -2
  321. package/lib/feature-libraries/modular-schema/modularChangeCodecV1.js.map +1 -1
  322. package/lib/feature-libraries/modular-schema/modularChangeCodecV2.d.ts +2 -2
  323. package/lib/feature-libraries/modular-schema/modularChangeCodecV2.d.ts.map +1 -1
  324. package/lib/feature-libraries/modular-schema/modularChangeCodecV2.js.map +1 -1
  325. package/lib/feature-libraries/modular-schema/modularChangeCodecs.d.ts +2 -2
  326. package/lib/feature-libraries/modular-schema/modularChangeCodecs.d.ts.map +1 -1
  327. package/lib/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -1
  328. package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts +8 -22
  329. package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
  330. package/lib/feature-libraries/modular-schema/modularChangeFamily.js +16 -367
  331. package/lib/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
  332. package/lib/feature-libraries/modular-schema/modularChangeUtils.d.ts +61 -0
  333. package/lib/feature-libraries/modular-schema/modularChangeUtils.d.ts.map +1 -0
  334. package/lib/feature-libraries/modular-schema/modularChangeUtils.js +192 -0
  335. package/lib/feature-libraries/modular-schema/modularChangeUtils.js.map +1 -0
  336. package/lib/feature-libraries/modular-schema/prune.d.ts +10 -0
  337. package/lib/feature-libraries/modular-schema/prune.d.ts.map +1 -0
  338. package/lib/feature-libraries/modular-schema/prune.js +45 -0
  339. package/lib/feature-libraries/modular-schema/prune.js.map +1 -0
  340. package/lib/feature-libraries/optional-field/optionalFieldCodecV2.d.ts +2 -2
  341. package/lib/feature-libraries/optional-field/optionalFieldCodecV2.d.ts.map +1 -1
  342. package/lib/feature-libraries/optional-field/optionalFieldCodecV2.js.map +1 -1
  343. package/lib/feature-libraries/optional-field/optionalFieldCodecs.d.ts +2 -2
  344. package/lib/feature-libraries/optional-field/optionalFieldCodecs.d.ts.map +1 -1
  345. package/lib/feature-libraries/optional-field/optionalFieldCodecs.js.map +1 -1
  346. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts +2 -2
  347. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts.map +1 -1
  348. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.js.map +1 -1
  349. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.d.ts +2 -2
  350. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.d.ts.map +1 -1
  351. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.js.map +1 -1
  352. package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts +2 -2
  353. package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts.map +1 -1
  354. package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.js.map +1 -1
  355. package/lib/feature-libraries/treeTextCursor.d.ts +15 -0
  356. package/lib/feature-libraries/treeTextCursor.d.ts.map +1 -1
  357. package/lib/feature-libraries/treeTextCursor.js +62 -1
  358. package/lib/feature-libraries/treeTextCursor.js.map +1 -1
  359. package/lib/index.d.ts +3 -1
  360. package/lib/index.d.ts.map +1 -1
  361. package/lib/index.js +2 -1
  362. package/lib/index.js.map +1 -1
  363. package/lib/packageVersion.d.ts +1 -1
  364. package/lib/packageVersion.js +1 -1
  365. package/lib/packageVersion.js.map +1 -1
  366. package/lib/shared-tree/serializedChange.d.ts +2 -2
  367. package/lib/shared-tree/serializedChange.d.ts.map +1 -1
  368. package/lib/shared-tree/serializedChange.js.map +1 -1
  369. package/lib/shared-tree/sharedTree.d.ts +6 -3
  370. package/lib/shared-tree/sharedTree.d.ts.map +1 -1
  371. package/lib/shared-tree/sharedTree.js +9 -7
  372. package/lib/shared-tree/sharedTree.js.map +1 -1
  373. package/lib/shared-tree/sharedTreeChangeCodecs.d.ts +2 -2
  374. package/lib/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
  375. package/lib/shared-tree/sharedTreeChangeCodecs.js.map +1 -1
  376. package/lib/shared-tree/sharedTreeChangeFamily.d.ts +41 -4
  377. package/lib/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -1
  378. package/lib/shared-tree/sharedTreeChangeFamily.js +55 -0
  379. package/lib/shared-tree/sharedTreeChangeFamily.js.map +1 -1
  380. package/lib/shared-tree/transactionMinimize.d.ts.map +1 -1
  381. package/lib/shared-tree/transactionMinimize.js +3 -3
  382. package/lib/shared-tree/transactionMinimize.js.map +1 -1
  383. package/lib/shared-tree/transactionPostProcessor.d.ts +2 -1
  384. package/lib/shared-tree/transactionPostProcessor.d.ts.map +1 -1
  385. package/lib/shared-tree/transactionPostProcessor.js.map +1 -1
  386. package/lib/shared-tree/treeCheckout.d.ts +8 -7
  387. package/lib/shared-tree/treeCheckout.d.ts.map +1 -1
  388. package/lib/shared-tree/treeCheckout.js +1 -1
  389. package/lib/shared-tree/treeCheckout.js.map +1 -1
  390. package/lib/shared-tree-core/branch.d.ts +23 -9
  391. package/lib/shared-tree-core/branch.d.ts.map +1 -1
  392. package/lib/shared-tree-core/branch.js +7 -0
  393. package/lib/shared-tree-core/branch.js.map +1 -1
  394. package/lib/shared-tree-core/editManager.d.ts +4 -4
  395. package/lib/shared-tree-core/editManager.d.ts.map +1 -1
  396. package/lib/shared-tree-core/editManager.js +2 -0
  397. package/lib/shared-tree-core/editManager.js.map +1 -1
  398. package/lib/shared-tree-core/editManagerCodecs.d.ts +3 -14
  399. package/lib/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
  400. package/lib/shared-tree-core/editManagerCodecs.js.map +1 -1
  401. package/lib/shared-tree-core/editManagerCodecsCommons.d.ts +11 -1
  402. package/lib/shared-tree-core/editManagerCodecsCommons.d.ts.map +1 -1
  403. package/lib/shared-tree-core/editManagerCodecsCommons.js.map +1 -1
  404. package/lib/shared-tree-core/editManagerCodecsV1toV4.d.ts +4 -11
  405. package/lib/shared-tree-core/editManagerCodecsV1toV4.d.ts.map +1 -1
  406. package/lib/shared-tree-core/editManagerCodecsV1toV4.js +1 -1
  407. package/lib/shared-tree-core/editManagerCodecsV1toV4.js.map +1 -1
  408. package/lib/shared-tree-core/editManagerCodecsVSharedBranches.d.ts +4 -11
  409. package/lib/shared-tree-core/editManagerCodecsVSharedBranches.d.ts.map +1 -1
  410. package/lib/shared-tree-core/editManagerCodecsVSharedBranches.js +1 -1
  411. package/lib/shared-tree-core/editManagerCodecsVSharedBranches.js.map +1 -1
  412. package/lib/shared-tree-core/editManagerSummarizer.d.ts +4 -4
  413. package/lib/shared-tree-core/editManagerSummarizer.d.ts.map +1 -1
  414. package/lib/shared-tree-core/editManagerSummarizer.js +0 -1
  415. package/lib/shared-tree-core/editManagerSummarizer.js.map +1 -1
  416. package/lib/shared-tree-core/messageCodecV1ToV4.d.ts +2 -2
  417. package/lib/shared-tree-core/messageCodecV1ToV4.d.ts.map +1 -1
  418. package/lib/shared-tree-core/messageCodecV1ToV4.js.map +1 -1
  419. package/lib/shared-tree-core/messageCodecVSharedBranches.d.ts.map +1 -1
  420. package/lib/shared-tree-core/messageCodecVSharedBranches.js.map +1 -1
  421. package/lib/shared-tree-core/messageCodecs.d.ts +8 -1
  422. package/lib/shared-tree-core/messageCodecs.d.ts.map +1 -1
  423. package/lib/shared-tree-core/messageCodecs.js.map +1 -1
  424. package/lib/shared-tree-core/sharedTreeCore.d.ts +5 -5
  425. package/lib/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
  426. package/lib/shared-tree-core/sharedTreeCore.js.map +1 -1
  427. package/lib/shared-tree-core/transaction.d.ts +10 -10
  428. package/lib/shared-tree-core/transaction.d.ts.map +1 -1
  429. package/lib/shared-tree-core/transaction.js +6 -3
  430. package/lib/shared-tree-core/transaction.js.map +1 -1
  431. package/lib/simple-tree/api/eraseSchemaDetails.d.ts +15 -0
  432. package/lib/simple-tree/api/eraseSchemaDetails.d.ts.map +1 -1
  433. package/lib/simple-tree/api/eraseSchemaDetails.js +15 -0
  434. package/lib/simple-tree/api/eraseSchemaDetails.js.map +1 -1
  435. package/lib/simple-tree/node-kinds/array/arrayNode.d.ts +21 -2
  436. package/lib/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
  437. package/lib/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
  438. package/lib/simple-tree/node-kinds/map/mapNode.d.ts +13 -0
  439. package/lib/simple-tree/node-kinds/map/mapNode.d.ts.map +1 -1
  440. package/lib/simple-tree/node-kinds/map/mapNode.js +9 -0
  441. package/lib/simple-tree/node-kinds/map/mapNode.js.map +1 -1
  442. package/lib/text/textDomain.d.ts +12 -0
  443. package/lib/text/textDomain.d.ts.map +1 -1
  444. package/lib/text/textDomain.js +34 -15
  445. package/lib/text/textDomain.js.map +1 -1
  446. package/lib/text/textDomainFormatted.d.ts +155 -61
  447. package/lib/text/textDomainFormatted.d.ts.map +1 -1
  448. package/lib/text/textDomainFormatted.js +148 -73
  449. package/lib/text/textDomainFormatted.js.map +1 -1
  450. package/lib/text/textDomainFormattedDefault.d.ts +37 -14
  451. package/lib/text/textDomainFormattedDefault.d.ts.map +1 -1
  452. package/lib/text/textDomainFormattedDefault.js +14 -6
  453. package/lib/text/textDomainFormattedDefault.js.map +1 -1
  454. package/lib/treeDataStore.d.ts +49 -0
  455. package/lib/treeDataStore.d.ts.map +1 -0
  456. package/lib/treeDataStore.js +52 -0
  457. package/lib/treeDataStore.js.map +1 -0
  458. package/lib/treeFactory.d.ts +8 -3
  459. package/lib/treeFactory.d.ts.map +1 -1
  460. package/lib/treeFactory.js +5 -0
  461. package/lib/treeFactory.js.map +1 -1
  462. package/package.json +25 -24
  463. package/src/core/change-family/changeFamily.ts +32 -4
  464. package/src/core/change-family/editBuilder.ts +1 -2
  465. package/src/core/change-family/index.ts +2 -0
  466. package/src/core/index.ts +9 -6
  467. package/src/core/tree/delta.ts +62 -16
  468. package/src/core/tree/detachedFieldIndex.ts +7 -38
  469. package/src/core/tree/index.ts +2 -0
  470. package/src/core/tree/visitorUtils.ts +3 -17
  471. package/src/entrypoints/alpha.ts +7 -3
  472. package/src/feature-libraries/chunked-forest/uniformChunk.ts +11 -1
  473. package/src/feature-libraries/comparison-forest/comparisonForest.ts +140 -0
  474. package/src/feature-libraries/comparison-forest/index.ts +6 -0
  475. package/src/feature-libraries/default-schema/defaultEditBuilder.ts +20 -6
  476. package/src/feature-libraries/default-schema/index.ts +1 -0
  477. package/src/feature-libraries/default-schema/noChangeCodecs.ts +11 -3
  478. package/src/feature-libraries/detachedFieldIndexSummarizer.ts +33 -5
  479. package/src/feature-libraries/forest-summary/forestSummarizer.ts +1 -3
  480. package/src/feature-libraries/index.ts +5 -0
  481. package/src/feature-libraries/mitigatedChangeFamily.ts +21 -3
  482. package/src/feature-libraries/modular-schema/fieldChangeHandler.ts +10 -1
  483. package/src/feature-libraries/modular-schema/genericFieldKindCodecs.ts +9 -4
  484. package/src/feature-libraries/modular-schema/index.ts +1 -0
  485. package/src/feature-libraries/modular-schema/invert.ts +338 -0
  486. package/src/feature-libraries/modular-schema/minimizeModularChange.ts +3 -5
  487. package/src/feature-libraries/modular-schema/modularChangeCodecV1.ts +16 -13
  488. package/src/feature-libraries/modular-schema/modularChangeCodecV2.ts +3 -1
  489. package/src/feature-libraries/modular-schema/modularChangeCodecs.ts +2 -1
  490. package/src/feature-libraries/modular-schema/modularChangeFamily.ts +45 -644
  491. package/src/feature-libraries/modular-schema/modularChangeUtils.ts +340 -0
  492. package/src/feature-libraries/modular-schema/prune.ts +69 -0
  493. package/src/feature-libraries/optional-field/optionalFieldCodecV2.ts +4 -2
  494. package/src/feature-libraries/optional-field/optionalFieldCodecs.ts +5 -2
  495. package/src/feature-libraries/sequence-field/sequenceFieldCodecV2.ts +4 -2
  496. package/src/feature-libraries/sequence-field/sequenceFieldCodecV3.ts +4 -2
  497. package/src/feature-libraries/sequence-field/sequenceFieldCodecs.ts +6 -3
  498. package/src/feature-libraries/treeTextCursor.ts +66 -1
  499. package/src/index.ts +4 -0
  500. package/src/packageVersion.ts +1 -1
  501. package/src/shared-tree/serializedChange.ts +2 -2
  502. package/src/shared-tree/sharedTree.ts +34 -14
  503. package/src/shared-tree/sharedTreeChangeCodecs.ts +11 -3
  504. package/src/shared-tree/sharedTreeChangeFamily.ts +77 -2
  505. package/src/shared-tree/transactionMinimize.ts +7 -3
  506. package/src/shared-tree/transactionPostProcessor.ts +5 -1
  507. package/src/shared-tree/treeCheckout.ts +55 -16
  508. package/src/shared-tree-core/branch.ts +40 -12
  509. package/src/shared-tree-core/editManager.ts +46 -25
  510. package/src/shared-tree-core/editManagerCodecs.ts +9 -21
  511. package/src/shared-tree-core/editManagerCodecsCommons.ts +14 -2
  512. package/src/shared-tree-core/editManagerCodecsV1toV4.ts +18 -21
  513. package/src/shared-tree-core/editManagerCodecsVSharedBranches.ts +18 -20
  514. package/src/shared-tree-core/editManagerSummarizer.ts +9 -6
  515. package/src/shared-tree-core/messageCodecV1ToV4.ts +3 -3
  516. package/src/shared-tree-core/messageCodecVSharedBranches.ts +2 -2
  517. package/src/shared-tree-core/messageCodecs.ts +12 -2
  518. package/src/shared-tree-core/sharedTreeCore.ts +15 -6
  519. package/src/shared-tree-core/transaction.ts +47 -25
  520. package/src/simple-tree/api/eraseSchemaDetails.ts +15 -0
  521. package/src/simple-tree/node-kinds/array/arrayNode.ts +21 -2
  522. package/src/simple-tree/node-kinds/map/mapNode.ts +24 -2
  523. package/src/text/textDomain.ts +29 -6
  524. package/src/text/textDomainFormatted.ts +351 -134
  525. package/src/text/textDomainFormattedDefault.ts +25 -16
  526. package/src/treeDataStore.ts +125 -0
  527. package/src/treeFactory.ts +11 -3
@@ -2,13 +2,11 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- import type { IIdCompressor } from "@fluidframework/id-compressor";
6
- import { type CodecWriteOptions } from "../../codec/index.js";
7
- import { type IdAllocator, type JsonCompatibleReadOnly } from "../../util/index.js";
8
- import type { RevisionTag, RevisionTagCodec } from "../rebase/index.js";
5
+ import { type IdAllocator } from "../../util/index.js";
6
+ import type { RevisionTag } from "../rebase/index.js";
9
7
  import type { FieldKey } from "../schema-stored/index.js";
10
8
  import type * as Delta from "./delta.js";
11
- import type { ForestRootId } from "./detachedFieldIndexTypes.js";
9
+ import type { DetachedFieldSummaryData, ForestRootId } from "./detachedFieldIndexTypes.js";
12
10
  /**
13
11
  * Readonly interface for {@link DetachedFieldIndex}.
14
12
  */
@@ -44,8 +42,6 @@ export type DetachedFieldIndexCheckpoint = () => void;
44
42
  export declare class DetachedFieldIndex implements ReadOnlyDetachedFieldIndex {
45
43
  private readonly name;
46
44
  private rootIdAllocator;
47
- private readonly revisionTagCodec;
48
- private readonly idCompressor;
49
45
  /**
50
46
  * A mapping from detached node ids to detached fields.
51
47
  */
@@ -58,8 +54,6 @@ export declare class DetachedFieldIndex implements ReadOnlyDetachedFieldIndex {
58
54
  * undefined revisions are tolerated but any roots not associated with a revision must be disposed manually
59
55
  */
60
56
  private latestRelevantRevisionToFields;
61
- private readonly codec;
62
- private readonly options;
63
57
  /**
64
58
  * The process for loading `DetachedFieldIndex` data from a summary is split into two steps:
65
59
  * 1. Call {@link loadData}
@@ -73,7 +67,7 @@ export declare class DetachedFieldIndex implements ReadOnlyDetachedFieldIndex {
73
67
  * @param name - A name for the index, used as a prefix for the generated field keys.
74
68
  * @param rootIdAllocator - An ID allocator used to generate unique field keys.
75
69
  */
76
- constructor(name: string, rootIdAllocator: IdAllocator<ForestRootId>, revisionTagCodec: RevisionTagCodec, idCompressor: IIdCompressor, options?: CodecWriteOptions);
70
+ constructor(name: string, rootIdAllocator: IdAllocator<ForestRootId>);
77
71
  clone(): DetachedFieldIndex;
78
72
  /**
79
73
  * Creates a restorable checkpoint of the current state of the DetachedFieldIndex.
@@ -113,11 +107,11 @@ export declare class DetachedFieldIndex implements ReadOnlyDetachedFieldIndex {
113
107
  * Updates the latest revision that is relevant to the provided root
114
108
  */
115
109
  updateLatestRevision(id: Delta.DetachedNodeId, revision: RevisionTag | undefined): void;
116
- encode(): JsonCompatibleReadOnly;
110
+ getSummaryData(): DetachedFieldSummaryData;
117
111
  /**
118
- * Loads the tree index from the given string, this overrides any existing data.
112
+ * Loads the tree index from summary data, this overrides any existing data.
119
113
  */
120
- loadData(data: JsonCompatibleReadOnly): void;
114
+ loadData(detachedFieldIndex: DetachedFieldSummaryData): void;
121
115
  /**
122
116
  * Sets the latest relevant revision for any roots that have an undefined latest relevant revision.
123
117
  * This occurs when the detached field index is loaded from a summary and can only be called once after
@@ -1 +1 @@
1
- {"version":3,"file":"detachedFieldIndex.d.ts","sourceRoot":"","sources":["../../../src/core/tree/detachedFieldIndex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detachedFieldIndex.d.ts","sourceRoot":"","sources":["../../../src/core/tree/detachedFieldIndex.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACN,KAAK,WAAW,EAShB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAEX,wBAAwB,EACxB,YAAY,EAGZ,MAAM,8BAA8B,CAAC;AAEtC;;GAEG;AACH,MAAM,WAAW,0BAA0B;IAC1C;;OAEG;IACH,KAAK,IAAI,kBAAkB,CAAC;IAE5B;;;OAGG;IACH,UAAU,CAAC,EAAE,EAAE,YAAY,GAAG,QAAQ,CAAC;IAEvC;;;OAGG;IACH,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,cAAc,GAAG,YAAY,GAAG,SAAS,CAAC;IAEhE;;;OAGG;IACH,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,cAAc,GAAG,YAAY,CAAC;CACjD;AAED;;;GAGG;AACH,MAAM,MAAM,4BAA4B,GAAG,MAAM,IAAI,CAAC;AAEtD;;GAEG;AACH,qBAAa,kBAAmB,YAAW,0BAA0B;IAiCnE,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,eAAe;IAjCxB;;OAEG;IACH,OAAO,CAAC,mBAAmB,CAAqD;IAChF;;;;;;OAMG;IACH,OAAO,CAAC,8BAA8B,CAIxB;IAEd;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa,CAAQ;IAE7B;;;OAGG;gBAEe,IAAI,EAAE,MAAM,EACrB,eAAe,EAAE,WAAW,CAAC,YAAY,CAAC;IAG5C,KAAK,IAAI,kBAAkB;IAclC;;OAEG;IACI,gBAAgB,IAAI,4BAA4B;IAgB/C,OAAO,IAAI,SAAS,CAAC;QAC5B,IAAI,EAAE,YAAY,CAAC;QACnB,sBAAsB,CAAC,EAAE,WAAW,CAAC;QACrC,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC;KACzB,CAAC;IAkBF;;OAEG;IACI,KAAK,IAAI,IAAI;IAKb,UAAU,CAAC,EAAE,EAAE,YAAY,GAAG,QAAQ;IAItC,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,cAAc,GAAG,YAAY,GAAG,SAAS;IAI/D,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,cAAc,GAAG,YAAY;IAMvD;;OAEG;IACK,6BAA6B,CAAC,QAAQ,EAAE,WAAW,GAAG,QAAQ,CAAC,YAAY,CAAC;IAOpF;;OAEG;IACI,gCAAgC,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IAiB7D,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,cAAc,GAAG,IAAI;IAWtD;;;;;;;OAOG;IACI,WAAW,CACjB,MAAM,CAAC,EAAE,KAAK,CAAC,cAAc,EAC7B,QAAQ,CAAC,EAAE,WAAW,EACtB,KAAK,GAAE,MAAU,GACf,YAAY;IAsBf;;OAEG;IACI,oBAAoB,CAC1B,EAAE,EAAE,KAAK,CAAC,cAAc,EACxB,QAAQ,EAAE,WAAW,GAAG,SAAS,GAC/B,IAAI;IAmBA,cAAc,IAAI,wBAAwB;IAOjD;;OAEG;IACI,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,GAAG,IAAI;IAiBnE;;;;OAIG;IACI,yBAAyB,CAAC,cAAc,EAAE,WAAW,GAAG,IAAI;CAqBnE"}
@@ -6,9 +6,7 @@
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.DetachedFieldIndex = void 0;
8
8
  const internal_1 = require("@fluidframework/core-utils/internal");
9
- const index_js_1 = require("../../codec/index.js");
10
- const index_js_2 = require("../../util/index.js");
11
- const detachedFieldIndexCodecs_js_1 = require("./detachedFieldIndexCodecs.js");
9
+ const index_js_1 = require("../../util/index.js");
12
10
  /**
13
11
  * The tree index records detached field IDs and associates them with a change atom ID.
14
12
  */
@@ -17,11 +15,9 @@ class DetachedFieldIndex {
17
15
  * @param name - A name for the index, used as a prefix for the generated field keys.
18
16
  * @param rootIdAllocator - An ID allocator used to generate unique field keys.
19
17
  */
20
- constructor(name, rootIdAllocator, revisionTagCodec, idCompressor, options) {
18
+ constructor(name, rootIdAllocator) {
21
19
  this.name = name;
22
20
  this.rootIdAllocator = rootIdAllocator;
23
- this.revisionTagCodec = revisionTagCodec;
24
- this.idCompressor = idCompressor;
25
21
  /**
26
22
  * A mapping from detached node ids to detached fields.
27
23
  */
@@ -43,20 +39,11 @@ class DetachedFieldIndex {
43
39
  * This helps ensure that `setRevisionsForLoadedData` is only called after `loadData` and only called once.
44
40
  */
45
41
  this.isFullyLoaded = true;
46
- this.options = options ?? {
47
- jsonValidator: index_js_1.FormatValidatorNoOp,
48
- minVersionForCollab: index_js_1.FluidClientVersion.v2_0,
49
- };
50
- this.codec = detachedFieldIndexCodecs_js_1.detachedFieldIndexCodecBuilder.build({
51
- ...this.options,
52
- revisionTagCodec,
53
- idCompressor,
54
- });
55
42
  }
56
43
  clone() {
57
- const clone = new DetachedFieldIndex(this.name, (0, index_js_2.idAllocatorFromMaxId)(this.rootIdAllocator.getMaxId()), this.revisionTagCodec, this.idCompressor, this.options);
58
- (0, index_js_2.populateNestedMap)(this.detachedNodeToField, clone.detachedNodeToField, true);
59
- (0, index_js_2.populateNestedMap)(this.latestRelevantRevisionToFields, clone.latestRelevantRevisionToFields, true);
44
+ const clone = new DetachedFieldIndex(this.name, (0, index_js_1.idAllocatorFromMaxId)(this.rootIdAllocator.getMaxId()));
45
+ (0, index_js_1.populateNestedMap)(this.detachedNodeToField, clone.detachedNodeToField, true);
46
+ (0, index_js_1.populateNestedMap)(this.latestRelevantRevisionToFields, clone.latestRelevantRevisionToFields, true);
60
47
  return clone;
61
48
  }
62
49
  /**
@@ -66,9 +53,9 @@ class DetachedFieldIndex {
66
53
  const clone = this.clone();
67
54
  return () => {
68
55
  this.purge();
69
- (0, index_js_2.populateNestedMap)(clone.detachedNodeToField, this.detachedNodeToField, true);
70
- (0, index_js_2.populateNestedMap)(clone.latestRelevantRevisionToFields, this.latestRelevantRevisionToFields, true);
71
- this.rootIdAllocator = (0, index_js_2.idAllocatorFromMaxId)(clone.rootIdAllocator.getMaxId());
56
+ (0, index_js_1.populateNestedMap)(clone.detachedNodeToField, this.detachedNodeToField, true);
57
+ (0, index_js_1.populateNestedMap)(clone.latestRelevantRevisionToFields, this.latestRelevantRevisionToFields, true);
58
+ this.rootIdAllocator = (0, index_js_1.idAllocatorFromMaxId)(clone.rootIdAllocator.getMaxId());
72
59
  };
73
60
  }
74
61
  *entries() {
@@ -97,10 +84,10 @@ class DetachedFieldIndex {
97
84
  this.latestRelevantRevisionToFields.clear();
98
85
  }
99
86
  toFieldKey(id) {
100
- return (0, index_js_2.brand)(`${this.name}-${id}`);
87
+ return (0, index_js_1.brand)(`${this.name}-${id}`);
101
88
  }
102
89
  tryGetEntry(id) {
103
- return (0, index_js_2.tryGetFromNestedMap)(this.detachedNodeToField, id.major, id.minor)?.root;
90
+ return (0, index_js_1.tryGetFromNestedMap)(this.detachedNodeToField, id.major, id.minor)?.root;
104
91
  }
105
92
  getEntry(id) {
106
93
  const key = this.tryGetEntry(id);
@@ -126,15 +113,15 @@ class DetachedFieldIndex {
126
113
  }
127
114
  this.latestRelevantRevisionToFields.delete(revision);
128
115
  for (const detachedNodeId of entries.values()) {
129
- const found = (0, index_js_2.deleteFromNestedMap)(this.detachedNodeToField, detachedNodeId.major, detachedNodeId.minor);
116
+ const found = (0, index_js_1.deleteFromNestedMap)(this.detachedNodeToField, detachedNodeId.major, detachedNodeId.minor);
130
117
  (0, internal_1.assert)(found, 0x9ba /* Unable to delete unknown entry */);
131
118
  }
132
119
  }
133
120
  deleteEntry(nodeId) {
134
- const entry = (0, index_js_2.tryGetFromNestedMap)(this.detachedNodeToField, nodeId.major, nodeId.minor);
121
+ const entry = (0, index_js_1.tryGetFromNestedMap)(this.detachedNodeToField, nodeId.major, nodeId.minor);
135
122
  (0, internal_1.assert)(entry !== undefined, 0x9bb /* Unable to delete unknown entry */);
136
- (0, index_js_2.deleteFromNestedMap)(this.detachedNodeToField, nodeId.major, nodeId.minor);
137
- (0, index_js_2.deleteFromNestedMap)(this.latestRelevantRevisionToFields, entry.latestRelevantRevision, entry.root);
123
+ (0, index_js_1.deleteFromNestedMap)(this.detachedNodeToField, nodeId.major, nodeId.minor);
124
+ (0, index_js_1.deleteFromNestedMap)(this.latestRelevantRevisionToFields, entry.latestRelevantRevision, entry.root);
138
125
  }
139
126
  /**
140
127
  * Associates the DetachedNodeId with a field key and creates an entry for it in the index.
@@ -148,13 +135,13 @@ class DetachedFieldIndex {
148
135
  const root = this.rootIdAllocator.allocate(count);
149
136
  if (nodeId !== undefined) {
150
137
  for (let i = 0; i < count; i++) {
151
- (0, internal_1.assert)((0, index_js_2.tryGetFromNestedMap)(this.detachedNodeToField, nodeId.major, nodeId.minor + i) ===
138
+ (0, internal_1.assert)((0, index_js_1.tryGetFromNestedMap)(this.detachedNodeToField, nodeId.major, nodeId.minor + i) ===
152
139
  undefined, 0x7ce /* Detached node ID already exists in index */);
153
- (0, index_js_2.setInNestedMap)(this.detachedNodeToField, nodeId.major, nodeId.minor + i, {
154
- root: (0, index_js_2.brand)(root + i),
140
+ (0, index_js_1.setInNestedMap)(this.detachedNodeToField, nodeId.major, nodeId.minor + i, {
141
+ root: (0, index_js_1.brand)(root + i),
155
142
  latestRelevantRevision: revision,
156
143
  });
157
- (0, index_js_2.setInNestedMap)(this.latestRelevantRevisionToFields, revision, root + i, {
144
+ (0, index_js_1.setInNestedMap)(this.latestRelevantRevisionToFields, revision, root + i, {
158
145
  major: nodeId.major,
159
146
  minor: nodeId.minor + i,
160
147
  });
@@ -166,36 +153,35 @@ class DetachedFieldIndex {
166
153
  * Updates the latest revision that is relevant to the provided root
167
154
  */
168
155
  updateLatestRevision(id, revision) {
169
- const fieldEntry = (0, index_js_2.tryGetFromNestedMap)(this.detachedNodeToField, id.major, id.minor);
156
+ const fieldEntry = (0, index_js_1.tryGetFromNestedMap)(this.detachedNodeToField, id.major, id.minor);
170
157
  (0, internal_1.assert)(fieldEntry !== undefined, 0x9bc /* detached node id does not exist in the detached field index */);
171
158
  const { root, latestRelevantRevision: previousRevision } = fieldEntry;
172
159
  // remove this root from the set of roots for the previous latest revision
173
- (0, index_js_2.deleteFromNestedMap)(this.latestRelevantRevisionToFields, previousRevision, root);
160
+ (0, index_js_1.deleteFromNestedMap)(this.latestRelevantRevisionToFields, previousRevision, root);
174
161
  // add this root to the set of roots for the new latest revision
175
- (0, index_js_2.setInNestedMap)(this.latestRelevantRevisionToFields, revision, root, id);
176
- (0, index_js_2.setInNestedMap)(this.detachedNodeToField, id.major, id.minor, {
162
+ (0, index_js_1.setInNestedMap)(this.latestRelevantRevisionToFields, revision, root, id);
163
+ (0, index_js_1.setInNestedMap)(this.detachedNodeToField, id.major, id.minor, {
177
164
  root,
178
165
  latestRelevantRevision: revision,
179
166
  });
180
167
  }
181
- encode() {
182
- return this.codec.encode({
168
+ getSummaryData() {
169
+ return {
183
170
  data: this.detachedNodeToField,
184
171
  maxId: this.rootIdAllocator.getMaxId(),
185
- });
172
+ };
186
173
  }
187
174
  /**
188
- * Loads the tree index from the given string, this overrides any existing data.
175
+ * Loads the tree index from summary data, this overrides any existing data.
189
176
  */
190
- loadData(data) {
191
- const detachedFieldIndex = this.codec.decode(data);
192
- this.rootIdAllocator = (0, index_js_2.idAllocatorFromMaxId)(detachedFieldIndex.maxId);
177
+ loadData(detachedFieldIndex) {
178
+ this.rootIdAllocator = (0, index_js_1.idAllocatorFromMaxId)(detachedFieldIndex.maxId);
193
179
  this.detachedNodeToField = new Map();
194
180
  this.latestRelevantRevisionToFields = new Map();
195
181
  this.isFullyLoaded = false;
196
182
  const rootMap = new Map();
197
- (0, index_js_2.forEachInNestedMap)(detachedFieldIndex.data, ({ root }, major, minor) => {
198
- (0, index_js_2.setInNestedMap)(this.detachedNodeToField, major, minor, { root });
183
+ (0, index_js_1.forEachInNestedMap)(detachedFieldIndex.data, ({ root }, major, minor) => {
184
+ (0, index_js_1.setInNestedMap)(this.detachedNodeToField, major, minor, { root });
199
185
  rootMap.set(root, { major, minor });
200
186
  });
201
187
  this.latestRelevantRevisionToFields.set(undefined, rootMap);
@@ -209,8 +195,8 @@ class DetachedFieldIndex {
209
195
  (0, internal_1.assert)(!this.isFullyLoaded, 0x9bd /* revisions should only be set once using this function after loading data from a summary */);
210
196
  const newDetachedNodeToField = new Map();
211
197
  const rootMap = new Map();
212
- (0, index_js_2.forEachInNestedMap)(this.detachedNodeToField, ({ root }, major, minor) => {
213
- (0, index_js_2.setInNestedMap)(newDetachedNodeToField, major, minor, {
198
+ (0, index_js_1.forEachInNestedMap)(this.detachedNodeToField, ({ root }, major, minor) => {
199
+ (0, index_js_1.setInNestedMap)(newDetachedNodeToField, major, minor, {
214
200
  root,
215
201
  latestRelevantRevision: latestRevision,
216
202
  });
@@ -1 +1 @@
1
- {"version":3,"file":"detachedFieldIndex.js","sourceRoot":"","sources":["../../../src/core/tree/detachedFieldIndex.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\";\nimport type { IIdCompressor } from \"@fluidframework/id-compressor\";\n\nimport {\n\ttype CodecWriteOptions,\n\tFluidClientVersion,\n\tFormatValidatorNoOp,\n\ttype IJsonCodec,\n} from \"../../codec/index.js\";\nimport {\n\ttype IdAllocator,\n\ttype JsonCompatibleReadOnly,\n\ttype NestedMap,\n\tbrand,\n\tdeleteFromNestedMap,\n\tforEachInNestedMap,\n\tidAllocatorFromMaxId,\n\tpopulateNestedMap,\n\tsetInNestedMap,\n\ttryGetFromNestedMap,\n} from \"../../util/index.js\";\nimport type { RevisionTag, RevisionTagCodec } from \"../rebase/index.js\";\nimport type { FieldKey } from \"../schema-stored/index.js\";\n\nimport type * as Delta from \"./delta.js\";\nimport { detachedFieldIndexCodecBuilder } from \"./detachedFieldIndexCodecs.js\";\nimport type {\n\tDetachedField,\n\tDetachedFieldSummaryData,\n\tForestRootId,\n\tMajor,\n\tMinor,\n} from \"./detachedFieldIndexTypes.js\";\n\n/**\n * Readonly interface for {@link DetachedFieldIndex}.\n */\nexport interface ReadOnlyDetachedFieldIndex {\n\t/**\n\t * Creates a deep clone of this `DetachedFieldIndex`.\n\t */\n\tclone(): DetachedFieldIndex;\n\n\t/**\n\t * Returns a field key for the given ID.\n\t * This does not save the field key on the index. To do so, call {@link createEntry}.\n\t */\n\ttoFieldKey(id: ForestRootId): FieldKey;\n\n\t/**\n\t * Returns the `ForestRootId` associated with the given id.\n\t * Returns undefined if no such id is known to the index.\n\t */\n\ttryGetEntry(id: Delta.DetachedNodeId): ForestRootId | undefined;\n\n\t/**\n\t * Returns the `ForestRootId` associated with the given id.\n\t * Fails if no such id is known to the index.\n\t */\n\tgetEntry(id: Delta.DetachedNodeId): ForestRootId;\n}\n\n/**\n * Restores the originating DetachedFieldIndex to the state it was in when the checkpoint was created.\n * Can be invoked multiple times.\n */\nexport type DetachedFieldIndexCheckpoint = () => void;\n\n/**\n * The tree index records detached field IDs and associates them with a change atom ID.\n */\nexport class DetachedFieldIndex implements ReadOnlyDetachedFieldIndex {\n\t/**\n\t * A mapping from detached node ids to detached fields.\n\t */\n\tprivate detachedNodeToField: NestedMap<Major, Minor, DetachedField> = new Map();\n\t/**\n\t * A map from revisions to all detached fields for which the revision is the latest relevant revision.\n\t * See {@link DetachedField.latestRelevantRevision}.\n\t *\n\t * @remarks\n\t * undefined revisions are tolerated but any roots not associated with a revision must be disposed manually\n\t */\n\tprivate latestRelevantRevisionToFields: NestedMap<\n\t\tRevisionTag | undefined,\n\t\tForestRootId,\n\t\tDelta.DetachedNodeId\n\t> = new Map();\n\n\tprivate readonly codec: IJsonCodec<DetachedFieldSummaryData>;\n\tprivate readonly options: CodecWriteOptions;\n\n\t/**\n\t * The process for loading `DetachedFieldIndex` data from a summary is split into two steps:\n\t * 1. Call {@link loadData}\n\t * 2. Call {@link setRevisionsForLoadedData}\n\t *\n\t * This flag is only set to `false` after calling `loadData` and is set back to `true` after calling `setRevisionsForLoadedData`.\n\t * This helps ensure that `setRevisionsForLoadedData` is only called after `loadData` and only called once.\n\t */\n\tprivate isFullyLoaded = true;\n\n\t/**\n\t * @param name - A name for the index, used as a prefix for the generated field keys.\n\t * @param rootIdAllocator - An ID allocator used to generate unique field keys.\n\t */\n\tpublic constructor(\n\t\tprivate readonly name: string,\n\t\tprivate rootIdAllocator: IdAllocator<ForestRootId>,\n\t\tprivate readonly revisionTagCodec: RevisionTagCodec,\n\t\tprivate readonly idCompressor: IIdCompressor,\n\t\toptions?: CodecWriteOptions,\n\t) {\n\t\tthis.options = options ?? {\n\t\t\tjsonValidator: FormatValidatorNoOp,\n\t\t\tminVersionForCollab: FluidClientVersion.v2_0,\n\t\t};\n\t\tthis.codec = detachedFieldIndexCodecBuilder.build({\n\t\t\t...this.options,\n\t\t\trevisionTagCodec,\n\t\t\tidCompressor,\n\t\t});\n\t}\n\n\tpublic clone(): DetachedFieldIndex {\n\t\tconst clone = new DetachedFieldIndex(\n\t\t\tthis.name,\n\t\t\tidAllocatorFromMaxId(this.rootIdAllocator.getMaxId()) as IdAllocator<ForestRootId>,\n\t\t\tthis.revisionTagCodec,\n\t\t\tthis.idCompressor,\n\t\t\tthis.options,\n\t\t);\n\t\tpopulateNestedMap(this.detachedNodeToField, clone.detachedNodeToField, true);\n\t\tpopulateNestedMap(\n\t\t\tthis.latestRelevantRevisionToFields,\n\t\t\tclone.latestRelevantRevisionToFields,\n\t\t\ttrue,\n\t\t);\n\t\treturn clone;\n\t}\n\n\t/**\n\t * Creates a restorable checkpoint of the current state of the DetachedFieldIndex.\n\t */\n\tpublic createCheckpoint(): DetachedFieldIndexCheckpoint {\n\t\tconst clone = this.clone();\n\t\treturn () => {\n\t\t\tthis.purge();\n\t\t\tpopulateNestedMap(clone.detachedNodeToField, this.detachedNodeToField, true);\n\t\t\tpopulateNestedMap(\n\t\t\t\tclone.latestRelevantRevisionToFields,\n\t\t\t\tthis.latestRelevantRevisionToFields,\n\t\t\t\ttrue,\n\t\t\t);\n\t\t\tthis.rootIdAllocator = idAllocatorFromMaxId(\n\t\t\t\tclone.rootIdAllocator.getMaxId(),\n\t\t\t) as IdAllocator<ForestRootId>;\n\t\t};\n\t}\n\n\tpublic *entries(): Generator<{\n\t\troot: ForestRootId;\n\t\tlatestRelevantRevision?: RevisionTag;\n\t\tid: Delta.DetachedNodeId;\n\t}> {\n\t\tfor (const [major, innerMap] of this.detachedNodeToField) {\n\t\t\tif (major === undefined) {\n\t\t\t\tfor (const [minor, { root, latestRelevantRevision }] of innerMap) {\n\t\t\t\t\tyield latestRelevantRevision === undefined\n\t\t\t\t\t\t? { id: { minor }, root }\n\t\t\t\t\t\t: { id: { minor }, root, latestRelevantRevision };\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (const [minor, { root, latestRelevantRevision }] of innerMap) {\n\t\t\t\t\tyield latestRelevantRevision === undefined\n\t\t\t\t\t\t? { id: { major, minor }, root }\n\t\t\t\t\t\t: { id: { major, minor }, root, latestRelevantRevision };\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Removes all entries from the index.\n\t */\n\tpublic purge(): void {\n\t\tthis.detachedNodeToField.clear();\n\t\tthis.latestRelevantRevisionToFields.clear();\n\t}\n\n\tpublic toFieldKey(id: ForestRootId): FieldKey {\n\t\treturn brand(`${this.name}-${id}`);\n\t}\n\n\tpublic tryGetEntry(id: Delta.DetachedNodeId): ForestRootId | undefined {\n\t\treturn tryGetFromNestedMap(this.detachedNodeToField, id.major, id.minor)?.root;\n\t}\n\n\tpublic getEntry(id: Delta.DetachedNodeId): ForestRootId {\n\t\tconst key = this.tryGetEntry(id);\n\t\tassert(key !== undefined, 0x7aa /* Unknown removed node ID */);\n\t\treturn key;\n\t}\n\n\t/**\n\t * Returns the detached root IDs for all the trees that were detached or last modified by the given revision.\n\t */\n\tpublic *getRootsLastTouchedByRevision(revision: RevisionTag): Iterable<ForestRootId> {\n\t\tconst roots = this.latestRelevantRevisionToFields.get(revision);\n\t\tif (roots !== undefined) {\n\t\t\tyield* roots.keys();\n\t\t}\n\t}\n\n\t/**\n\t * Removes the detached roots for all the trees that were detached or last modified by the given revision.\n\t */\n\tpublic deleteRootsLastTouchedByRevision(revision: RevisionTag): void {\n\t\tconst entries = this.latestRelevantRevisionToFields.get(revision);\n\t\tif (entries === undefined) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.latestRelevantRevisionToFields.delete(revision);\n\t\tfor (const detachedNodeId of entries.values()) {\n\t\t\tconst found = deleteFromNestedMap(\n\t\t\t\tthis.detachedNodeToField,\n\t\t\t\tdetachedNodeId.major,\n\t\t\t\tdetachedNodeId.minor,\n\t\t\t);\n\t\t\tassert(found, 0x9ba /* Unable to delete unknown entry */);\n\t\t}\n\t}\n\n\tpublic deleteEntry(nodeId: Delta.DetachedNodeId): void {\n\t\tconst entry = tryGetFromNestedMap(this.detachedNodeToField, nodeId.major, nodeId.minor);\n\t\tassert(entry !== undefined, 0x9bb /* Unable to delete unknown entry */);\n\t\tdeleteFromNestedMap(this.detachedNodeToField, nodeId.major, nodeId.minor);\n\t\tdeleteFromNestedMap(\n\t\t\tthis.latestRelevantRevisionToFields,\n\t\t\tentry.latestRelevantRevision,\n\t\t\tentry.root,\n\t\t);\n\t}\n\n\t/**\n\t * Associates the DetachedNodeId with a field key and creates an entry for it in the index.\n\t * @param nodeId - The ID of the detached node.\n\t * @param revision - The revision that last detached the root.\n\t * See {@link DetachedField.latestRelevantRevision} for details.\n\t * @param count - The number of entries to create. These entries will have consecutive minor IDs.\n\t * @returns The atomic ID that the `DetachedFieldIndex` uses to uniquely identify the first root.\n\t */\n\tpublic createEntry(\n\t\tnodeId?: Delta.DetachedNodeId,\n\t\trevision?: RevisionTag,\n\t\tcount: number = 1,\n\t): ForestRootId {\n\t\tconst root = this.rootIdAllocator.allocate(count);\n\t\tif (nodeId !== undefined) {\n\t\t\tfor (let i = 0; i < count; i++) {\n\t\t\t\tassert(\n\t\t\t\t\ttryGetFromNestedMap(this.detachedNodeToField, nodeId.major, nodeId.minor + i) ===\n\t\t\t\t\t\tundefined,\n\t\t\t\t\t0x7ce /* Detached node ID already exists in index */,\n\t\t\t\t);\n\t\t\t\tsetInNestedMap(this.detachedNodeToField, nodeId.major, nodeId.minor + i, {\n\t\t\t\t\troot: brand<ForestRootId>(root + i),\n\t\t\t\t\tlatestRelevantRevision: revision,\n\t\t\t\t});\n\t\t\t\tsetInNestedMap(this.latestRelevantRevisionToFields, revision, root + i, {\n\t\t\t\t\tmajor: nodeId.major,\n\t\t\t\t\tminor: nodeId.minor + i,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn root;\n\t}\n\n\t/**\n\t * Updates the latest revision that is relevant to the provided root\n\t */\n\tpublic updateLatestRevision(\n\t\tid: Delta.DetachedNodeId,\n\t\trevision: RevisionTag | undefined,\n\t): void {\n\t\tconst fieldEntry = tryGetFromNestedMap(this.detachedNodeToField, id.major, id.minor);\n\t\tassert(\n\t\t\tfieldEntry !== undefined,\n\t\t\t0x9bc /* detached node id does not exist in the detached field index */,\n\t\t);\n\t\tconst { root, latestRelevantRevision: previousRevision } = fieldEntry;\n\n\t\t// remove this root from the set of roots for the previous latest revision\n\t\tdeleteFromNestedMap(this.latestRelevantRevisionToFields, previousRevision, root);\n\n\t\t// add this root to the set of roots for the new latest revision\n\t\tsetInNestedMap(this.latestRelevantRevisionToFields, revision, root, id);\n\t\tsetInNestedMap(this.detachedNodeToField, id.major, id.minor, {\n\t\t\troot,\n\t\t\tlatestRelevantRevision: revision,\n\t\t});\n\t}\n\n\tpublic encode(): JsonCompatibleReadOnly {\n\t\treturn this.codec.encode({\n\t\t\tdata: this.detachedNodeToField,\n\t\t\tmaxId: this.rootIdAllocator.getMaxId(),\n\t\t});\n\t}\n\n\t/**\n\t * Loads the tree index from the given string, this overrides any existing data.\n\t */\n\tpublic loadData(data: JsonCompatibleReadOnly): void {\n\t\tconst detachedFieldIndex: DetachedFieldSummaryData = this.codec.decode(data);\n\n\t\tthis.rootIdAllocator = idAllocatorFromMaxId(\n\t\t\tdetachedFieldIndex.maxId,\n\t\t) as IdAllocator<ForestRootId>;\n\n\t\tthis.detachedNodeToField = new Map();\n\t\tthis.latestRelevantRevisionToFields = new Map();\n\t\tthis.isFullyLoaded = false;\n\t\tconst rootMap = new Map<ForestRootId, Delta.DetachedNodeId>();\n\t\tforEachInNestedMap(detachedFieldIndex.data, ({ root }, major, minor) => {\n\t\t\tsetInNestedMap(this.detachedNodeToField, major, minor, { root });\n\t\t\trootMap.set(root, { major, minor });\n\t\t});\n\n\t\tthis.latestRelevantRevisionToFields.set(undefined, rootMap);\n\t}\n\n\t/**\n\t * Sets the latest relevant revision for any roots that have an undefined latest relevant revision.\n\t * This occurs when the detached field index is loaded from a summary and can only be called once after\n\t * the summary has been loaded.\n\t */\n\tpublic setRevisionsForLoadedData(latestRevision: RevisionTag): void {\n\t\tassert(\n\t\t\t!this.isFullyLoaded,\n\t\t\t0x9bd /* revisions should only be set once using this function after loading data from a summary */,\n\t\t);\n\n\t\tconst newDetachedNodeToField: NestedMap<Major, Minor, DetachedField> = new Map();\n\t\tconst rootMap = new Map();\n\t\tforEachInNestedMap(this.detachedNodeToField, ({ root }, major, minor) => {\n\t\t\tsetInNestedMap(newDetachedNodeToField, major, minor, {\n\t\t\t\troot,\n\t\t\t\tlatestRelevantRevision: latestRevision,\n\t\t\t});\n\t\t\trootMap.set(root, { major, minor });\n\t\t});\n\n\t\tthis.detachedNodeToField = newDetachedNodeToField;\n\t\tthis.latestRelevantRevisionToFields.delete(undefined);\n\t\tthis.latestRelevantRevisionToFields.set(latestRevision, rootMap);\n\t\tthis.isFullyLoaded = true;\n\t}\n}\n"]}
1
+ {"version":3,"file":"detachedFieldIndex.js","sourceRoot":"","sources":["../../../src/core/tree/detachedFieldIndex.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\";\nimport {\n\ttype IdAllocator,\n\ttype NestedMap,\n\tbrand,\n\tdeleteFromNestedMap,\n\tforEachInNestedMap,\n\tidAllocatorFromMaxId,\n\tpopulateNestedMap,\n\tsetInNestedMap,\n\ttryGetFromNestedMap,\n} from \"../../util/index.js\";\nimport type { RevisionTag } from \"../rebase/index.js\";\nimport type { FieldKey } from \"../schema-stored/index.js\";\n\nimport type * as Delta from \"./delta.js\";\nimport type {\n\tDetachedField,\n\tDetachedFieldSummaryData,\n\tForestRootId,\n\tMajor,\n\tMinor,\n} from \"./detachedFieldIndexTypes.js\";\n\n/**\n * Readonly interface for {@link DetachedFieldIndex}.\n */\nexport interface ReadOnlyDetachedFieldIndex {\n\t/**\n\t * Creates a deep clone of this `DetachedFieldIndex`.\n\t */\n\tclone(): DetachedFieldIndex;\n\n\t/**\n\t * Returns a field key for the given ID.\n\t * This does not save the field key on the index. To do so, call {@link createEntry}.\n\t */\n\ttoFieldKey(id: ForestRootId): FieldKey;\n\n\t/**\n\t * Returns the `ForestRootId` associated with the given id.\n\t * Returns undefined if no such id is known to the index.\n\t */\n\ttryGetEntry(id: Delta.DetachedNodeId): ForestRootId | undefined;\n\n\t/**\n\t * Returns the `ForestRootId` associated with the given id.\n\t * Fails if no such id is known to the index.\n\t */\n\tgetEntry(id: Delta.DetachedNodeId): ForestRootId;\n}\n\n/**\n * Restores the originating DetachedFieldIndex to the state it was in when the checkpoint was created.\n * Can be invoked multiple times.\n */\nexport type DetachedFieldIndexCheckpoint = () => void;\n\n/**\n * The tree index records detached field IDs and associates them with a change atom ID.\n */\nexport class DetachedFieldIndex implements ReadOnlyDetachedFieldIndex {\n\t/**\n\t * A mapping from detached node ids to detached fields.\n\t */\n\tprivate detachedNodeToField: NestedMap<Major, Minor, DetachedField> = new Map();\n\t/**\n\t * A map from revisions to all detached fields for which the revision is the latest relevant revision.\n\t * See {@link DetachedField.latestRelevantRevision}.\n\t *\n\t * @remarks\n\t * undefined revisions are tolerated but any roots not associated with a revision must be disposed manually\n\t */\n\tprivate latestRelevantRevisionToFields: NestedMap<\n\t\tRevisionTag | undefined,\n\t\tForestRootId,\n\t\tDelta.DetachedNodeId\n\t> = new Map();\n\n\t/**\n\t * The process for loading `DetachedFieldIndex` data from a summary is split into two steps:\n\t * 1. Call {@link loadData}\n\t * 2. Call {@link setRevisionsForLoadedData}\n\t *\n\t * This flag is only set to `false` after calling `loadData` and is set back to `true` after calling `setRevisionsForLoadedData`.\n\t * This helps ensure that `setRevisionsForLoadedData` is only called after `loadData` and only called once.\n\t */\n\tprivate isFullyLoaded = true;\n\n\t/**\n\t * @param name - A name for the index, used as a prefix for the generated field keys.\n\t * @param rootIdAllocator - An ID allocator used to generate unique field keys.\n\t */\n\tpublic constructor(\n\t\tprivate readonly name: string,\n\t\tprivate rootIdAllocator: IdAllocator<ForestRootId>,\n\t) {}\n\n\tpublic clone(): DetachedFieldIndex {\n\t\tconst clone = new DetachedFieldIndex(\n\t\t\tthis.name,\n\t\t\tidAllocatorFromMaxId(this.rootIdAllocator.getMaxId()) as IdAllocator<ForestRootId>,\n\t\t);\n\t\tpopulateNestedMap(this.detachedNodeToField, clone.detachedNodeToField, true);\n\t\tpopulateNestedMap(\n\t\t\tthis.latestRelevantRevisionToFields,\n\t\t\tclone.latestRelevantRevisionToFields,\n\t\t\ttrue,\n\t\t);\n\t\treturn clone;\n\t}\n\n\t/**\n\t * Creates a restorable checkpoint of the current state of the DetachedFieldIndex.\n\t */\n\tpublic createCheckpoint(): DetachedFieldIndexCheckpoint {\n\t\tconst clone = this.clone();\n\t\treturn () => {\n\t\t\tthis.purge();\n\t\t\tpopulateNestedMap(clone.detachedNodeToField, this.detachedNodeToField, true);\n\t\t\tpopulateNestedMap(\n\t\t\t\tclone.latestRelevantRevisionToFields,\n\t\t\t\tthis.latestRelevantRevisionToFields,\n\t\t\t\ttrue,\n\t\t\t);\n\t\t\tthis.rootIdAllocator = idAllocatorFromMaxId(\n\t\t\t\tclone.rootIdAllocator.getMaxId(),\n\t\t\t) as IdAllocator<ForestRootId>;\n\t\t};\n\t}\n\n\tpublic *entries(): Generator<{\n\t\troot: ForestRootId;\n\t\tlatestRelevantRevision?: RevisionTag;\n\t\tid: Delta.DetachedNodeId;\n\t}> {\n\t\tfor (const [major, innerMap] of this.detachedNodeToField) {\n\t\t\tif (major === undefined) {\n\t\t\t\tfor (const [minor, { root, latestRelevantRevision }] of innerMap) {\n\t\t\t\t\tyield latestRelevantRevision === undefined\n\t\t\t\t\t\t? { id: { minor }, root }\n\t\t\t\t\t\t: { id: { minor }, root, latestRelevantRevision };\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (const [minor, { root, latestRelevantRevision }] of innerMap) {\n\t\t\t\t\tyield latestRelevantRevision === undefined\n\t\t\t\t\t\t? { id: { major, minor }, root }\n\t\t\t\t\t\t: { id: { major, minor }, root, latestRelevantRevision };\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Removes all entries from the index.\n\t */\n\tpublic purge(): void {\n\t\tthis.detachedNodeToField.clear();\n\t\tthis.latestRelevantRevisionToFields.clear();\n\t}\n\n\tpublic toFieldKey(id: ForestRootId): FieldKey {\n\t\treturn brand(`${this.name}-${id}`);\n\t}\n\n\tpublic tryGetEntry(id: Delta.DetachedNodeId): ForestRootId | undefined {\n\t\treturn tryGetFromNestedMap(this.detachedNodeToField, id.major, id.minor)?.root;\n\t}\n\n\tpublic getEntry(id: Delta.DetachedNodeId): ForestRootId {\n\t\tconst key = this.tryGetEntry(id);\n\t\tassert(key !== undefined, 0x7aa /* Unknown removed node ID */);\n\t\treturn key;\n\t}\n\n\t/**\n\t * Returns the detached root IDs for all the trees that were detached or last modified by the given revision.\n\t */\n\tpublic *getRootsLastTouchedByRevision(revision: RevisionTag): Iterable<ForestRootId> {\n\t\tconst roots = this.latestRelevantRevisionToFields.get(revision);\n\t\tif (roots !== undefined) {\n\t\t\tyield* roots.keys();\n\t\t}\n\t}\n\n\t/**\n\t * Removes the detached roots for all the trees that were detached or last modified by the given revision.\n\t */\n\tpublic deleteRootsLastTouchedByRevision(revision: RevisionTag): void {\n\t\tconst entries = this.latestRelevantRevisionToFields.get(revision);\n\t\tif (entries === undefined) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.latestRelevantRevisionToFields.delete(revision);\n\t\tfor (const detachedNodeId of entries.values()) {\n\t\t\tconst found = deleteFromNestedMap(\n\t\t\t\tthis.detachedNodeToField,\n\t\t\t\tdetachedNodeId.major,\n\t\t\t\tdetachedNodeId.minor,\n\t\t\t);\n\t\t\tassert(found, 0x9ba /* Unable to delete unknown entry */);\n\t\t}\n\t}\n\n\tpublic deleteEntry(nodeId: Delta.DetachedNodeId): void {\n\t\tconst entry = tryGetFromNestedMap(this.detachedNodeToField, nodeId.major, nodeId.minor);\n\t\tassert(entry !== undefined, 0x9bb /* Unable to delete unknown entry */);\n\t\tdeleteFromNestedMap(this.detachedNodeToField, nodeId.major, nodeId.minor);\n\t\tdeleteFromNestedMap(\n\t\t\tthis.latestRelevantRevisionToFields,\n\t\t\tentry.latestRelevantRevision,\n\t\t\tentry.root,\n\t\t);\n\t}\n\n\t/**\n\t * Associates the DetachedNodeId with a field key and creates an entry for it in the index.\n\t * @param nodeId - The ID of the detached node.\n\t * @param revision - The revision that last detached the root.\n\t * See {@link DetachedField.latestRelevantRevision} for details.\n\t * @param count - The number of entries to create. These entries will have consecutive minor IDs.\n\t * @returns The atomic ID that the `DetachedFieldIndex` uses to uniquely identify the first root.\n\t */\n\tpublic createEntry(\n\t\tnodeId?: Delta.DetachedNodeId,\n\t\trevision?: RevisionTag,\n\t\tcount: number = 1,\n\t): ForestRootId {\n\t\tconst root = this.rootIdAllocator.allocate(count);\n\t\tif (nodeId !== undefined) {\n\t\t\tfor (let i = 0; i < count; i++) {\n\t\t\t\tassert(\n\t\t\t\t\ttryGetFromNestedMap(this.detachedNodeToField, nodeId.major, nodeId.minor + i) ===\n\t\t\t\t\t\tundefined,\n\t\t\t\t\t0x7ce /* Detached node ID already exists in index */,\n\t\t\t\t);\n\t\t\t\tsetInNestedMap(this.detachedNodeToField, nodeId.major, nodeId.minor + i, {\n\t\t\t\t\troot: brand<ForestRootId>(root + i),\n\t\t\t\t\tlatestRelevantRevision: revision,\n\t\t\t\t});\n\t\t\t\tsetInNestedMap(this.latestRelevantRevisionToFields, revision, root + i, {\n\t\t\t\t\tmajor: nodeId.major,\n\t\t\t\t\tminor: nodeId.minor + i,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn root;\n\t}\n\n\t/**\n\t * Updates the latest revision that is relevant to the provided root\n\t */\n\tpublic updateLatestRevision(\n\t\tid: Delta.DetachedNodeId,\n\t\trevision: RevisionTag | undefined,\n\t): void {\n\t\tconst fieldEntry = tryGetFromNestedMap(this.detachedNodeToField, id.major, id.minor);\n\t\tassert(\n\t\t\tfieldEntry !== undefined,\n\t\t\t0x9bc /* detached node id does not exist in the detached field index */,\n\t\t);\n\t\tconst { root, latestRelevantRevision: previousRevision } = fieldEntry;\n\n\t\t// remove this root from the set of roots for the previous latest revision\n\t\tdeleteFromNestedMap(this.latestRelevantRevisionToFields, previousRevision, root);\n\n\t\t// add this root to the set of roots for the new latest revision\n\t\tsetInNestedMap(this.latestRelevantRevisionToFields, revision, root, id);\n\t\tsetInNestedMap(this.detachedNodeToField, id.major, id.minor, {\n\t\t\troot,\n\t\t\tlatestRelevantRevision: revision,\n\t\t});\n\t}\n\n\tpublic getSummaryData(): DetachedFieldSummaryData {\n\t\treturn {\n\t\t\tdata: this.detachedNodeToField,\n\t\t\tmaxId: this.rootIdAllocator.getMaxId(),\n\t\t};\n\t}\n\n\t/**\n\t * Loads the tree index from summary data, this overrides any existing data.\n\t */\n\tpublic loadData(detachedFieldIndex: DetachedFieldSummaryData): void {\n\t\tthis.rootIdAllocator = idAllocatorFromMaxId(\n\t\t\tdetachedFieldIndex.maxId,\n\t\t) as IdAllocator<ForestRootId>;\n\n\t\tthis.detachedNodeToField = new Map();\n\t\tthis.latestRelevantRevisionToFields = new Map();\n\t\tthis.isFullyLoaded = false;\n\t\tconst rootMap = new Map<ForestRootId, Delta.DetachedNodeId>();\n\t\tforEachInNestedMap(detachedFieldIndex.data, ({ root }, major, minor) => {\n\t\t\tsetInNestedMap(this.detachedNodeToField, major, minor, { root });\n\t\t\trootMap.set(root, { major, minor });\n\t\t});\n\n\t\tthis.latestRelevantRevisionToFields.set(undefined, rootMap);\n\t}\n\n\t/**\n\t * Sets the latest relevant revision for any roots that have an undefined latest relevant revision.\n\t * This occurs when the detached field index is loaded from a summary and can only be called once after\n\t * the summary has been loaded.\n\t */\n\tpublic setRevisionsForLoadedData(latestRevision: RevisionTag): void {\n\t\tassert(\n\t\t\t!this.isFullyLoaded,\n\t\t\t0x9bd /* revisions should only be set once using this function after loading data from a summary */,\n\t\t);\n\n\t\tconst newDetachedNodeToField: NestedMap<Major, Minor, DetachedField> = new Map();\n\t\tconst rootMap = new Map();\n\t\tforEachInNestedMap(this.detachedNodeToField, ({ root }, major, minor) => {\n\t\t\tsetInNestedMap(newDetachedNodeToField, major, minor, {\n\t\t\t\troot,\n\t\t\t\tlatestRelevantRevision: latestRevision,\n\t\t\t});\n\t\t\trootMap.set(root, { major, minor });\n\t\t});\n\n\t\tthis.detachedNodeToField = newDetachedNodeToField;\n\t\tthis.latestRelevantRevisionToFields.delete(undefined);\n\t\tthis.latestRelevantRevisionToFields.set(latestRevision, rootMap);\n\t\tthis.isFullyLoaded = true;\n\t}\n}\n"]}
@@ -16,6 +16,7 @@ export { SparseNode, getDescendant } from "./sparseTree.js";
16
16
  export { deltaForRootInitialization, makeDetachedNodeId, offsetDetachId, emptyDelta, areDetachedNodeIdsEqual, deltaFieldMapHasVisibleChanges, deltaFieldChangesHaveVisibleChanges, } from "./deltaUtil.js";
17
17
  export { type TreeChunk, dummyRoot, cursorChunk, tryGetChunk, type ChunkedCursor, } from "./chunk.js";
18
18
  export { DetachedFieldIndex, type DetachedFieldIndexCheckpoint, type ReadOnlyDetachedFieldIndex, } from "./detachedFieldIndex.js";
19
+ export { type DetachedFieldSummaryData } from "./detachedFieldIndexTypes.js";
19
20
  export { detachedFieldIndexCodecBuilder } from "./detachedFieldIndexCodecs.js";
20
21
  export { DetachedFieldIndexFormatVersion } from "./detachedFieldIndexFormatCommon.js";
21
22
  export { type FormatV1 } from "./detachedFieldIndexFormatV1.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/tree/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/tree/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/tree/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;AAEH,+CASwB;AANvB,yGAAA,SAAS,OAAA;AAGT,0GAAA,UAAU,OAAA;AAIX,yCAiBqB;AAfpB,+GAAA,kBAAkB,OAAA;AAClB,oHAAA,uBAAuB,OAAA;AACvB,2GAAA,cAAc,OAAA;AACd,4GAAA,eAAe,OAAA;AACf,wGAAA,WAAW,OAAA;AACX,iHAAA,oBAAoB,OAAA;AACpB,yGAAA,YAAY,OAAA;AACZ,+GAAA,kBAAkB,OAAA;AAGlB,0GAAA,aAAa,OAAA;AACb,yGAAA,YAAY,OAAA;AACZ,yGAAA,YAAY,OAAA;AACZ,qGAAA,QAAQ,OAAA;AACR,mHAAA,sBAAsB,OAAA;AAcvB,2CAAoF;AAAtC,6GAAA,eAAe,OAAA;AAC7D,6CAmBuB;AAlBtB,wGAAA,SAAS,OAAA;AACT,0GAAA,WAAW,OAAA;AACX,uGAAA,QAAQ,OAAA;AAWR,6GAAA,cAAc,OAAA;AACd,kHAAA,mBAAmB,OAAA;AACnB,+GAAA,oBAAoB,OAAoB;AACxC,6HAAA,8BAA8B,OAAA;AAG/B,yDAS6B;AAN5B,6HAAA,wBAAwB,OAAA;AACxB,oHAAA,eAAe,OAAA;AAEf,wHAAA,mBAAmB,OAAA;AAEnB,wHAAA,mBAAmB,OAAA;AAEpB,2EAAmE;AAA1D,iIAAA,mBAAmB,OAAA;AAC5B,uCAeoB;AAdnB,oGAAA,QAAQ,OAAA;AAQR,8GAAA,kBAAkB,OAAA;AAClB,8GAAA,kBAAkB,OAAA;AAClB,wGAAA,YAAY,OAAA;AAEZ,qGAAA,SAAS,OAAA;AACT,gHAAA,oBAAoB,OAAA;AAErB,iDAAgE;AAApC,2GAAA,UAAU,OAAA;AACtC,qDAO2B;AAL1B,gHAAA,aAAa,OAAA;AACb,6GAAA,UAAU,OAAA;AACV,yHAAA,sBAAsB,OAAA;AACtB,kHAAA,eAAe,OAAA;AACf,yHAAA,sBAAsB,OAAA;AAGvB,iDAA4D;AAAnD,2GAAA,UAAU,OAAA;AAAE,8GAAA,aAAa,OAAA;AAElC,+CAQwB;AAPvB,0HAAA,0BAA0B,OAAA;AAC1B,kHAAA,kBAAkB,OAAA;AAClB,8GAAA,cAAc,OAAA;AACd,0GAAA,UAAU,OAAA;AACV,uHAAA,uBAAuB,OAAA;AACvB,8HAAA,8BAA8B,OAAA;AAC9B,mIAAA,mCAAmC,OAAA;AAGpC,uCAMoB;AAJnB,qGAAA,SAAS,OAAA;AACT,uGAAA,WAAW,OAAA;AACX,uGAAA,WAAW,OAAA;AAIZ,iEAIiC;AAHhC,2HAAA,kBAAkB,OAAA;AAKnB,6EAA+E;AAAtE,6IAAA,8BAA8B,OAAA;AACvC,yFAAsF;AAA7E,oJAAA,+BAA+B,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport {\n\ttype Anchor,\n\ttype AnchorLocator,\n\tAnchorSet,\n\ttype AnchorSlot,\n\ttype AnchorNode,\n\tanchorSlot,\n\ttype AnchorEvents,\n\ttype AnchorSetRootEvents,\n} from \"./anchorSet.js\";\nexport {\n\ttype ITreeCursor,\n\tCursorLocationType,\n\tcastCursorToSynchronous,\n\tmapCursorField,\n\tmapCursorFields,\n\tforEachNode,\n\tforEachNodeInSubtree,\n\tforEachField,\n\titerateCursorField,\n\ttype ITreeCursorSynchronous,\n\ttype PathRootPrefix,\n\tinCursorField,\n\tinCursorNode,\n\tCursorMarker,\n\tisCursor,\n\tforEachNodeSubsequence,\n} from \"./cursor.js\";\nexport type {\n\tProtoNodes,\n\tRoot as DeltaRoot,\n\tMark as DeltaMark,\n\tDetachedNodeId as DeltaDetachedNodeId,\n\tFieldMap as DeltaFieldMap,\n\tDetachedNodeChanges as DeltaDetachedNodeChanges,\n\tDetachedNodeBuild as DeltaDetachedNodeBuild,\n\tDetachedNodeDestruction as DeltaDetachedNodeDestruction,\n\tDetachedNodeRename as DeltaDetachedNodeRename,\n\tFieldChanges as DeltaFieldChanges,\n} from \"./delta.js\";\nexport { type MapTree, type ExclusiveMapTree, deepCopyMapTree } from \"./mapTree.js\";\nexport {\n\tclonePath,\n\ttopDownPath,\n\tgetDepth,\n\ttype UpPath,\n\ttype NormalizedUpPath,\n\ttype INormalizedUpPath,\n\ttype NormalizedFieldUpPath,\n\ttype FieldUpPath,\n\ttype Range,\n\ttype RangeUpPath,\n\ttype PlaceUpPath,\n\ttype PlaceIndex,\n\ttype NodeIndex,\n\tcompareUpPaths,\n\tcompareFieldUpPaths,\n\tisDetachedUpPathRoot as isDetachedUpPath,\n\tgetDetachedFieldContainingPath,\n\ttype UpPathDefault,\n} from \"./pathTree.js\";\nexport {\n\ttype FieldMapObject,\n\ttype GenericFieldsNode,\n\tgenericTreeDeleteIfEmpty,\n\tgenericTreeKeys,\n\ttype GenericTreeNode,\n\tgetGenericTreeField,\n\ttype JsonableTree,\n\tsetGenericTreeField,\n} from \"./treeTextFormat.js\";\nexport { EncodedJsonableTree } from \"./persistedTreeTextFormat.js\";\nexport {\n\tEmptyKey,\n\ttype TreeType,\n\ttype ChildLocation,\n\ttype DetachedField,\n\ttype ChildCollection,\n\ttype RootField,\n\ttype Value,\n\ttype TreeValue,\n\tdetachedFieldAsKey,\n\tkeyAsDetachedField,\n\trootFieldKey,\n\ttype NodeData,\n\trootField,\n\taboveRootPlaceholder,\n} from \"./types.js\";\nexport { type DeltaVisitor, visitDelta } from \"./visitDelta.js\";\nexport {\n\ttype AnnouncedVisitor,\n\tannounceDelta,\n\tapplyDelta,\n\tcreateAnnouncedVisitor,\n\tcombineVisitors,\n\tmakeDetachedFieldIndex,\n} from \"./visitorUtils.js\";\n\nexport { SparseNode, getDescendant } from \"./sparseTree.js\";\n\nexport {\n\tdeltaForRootInitialization,\n\tmakeDetachedNodeId,\n\toffsetDetachId,\n\temptyDelta,\n\tareDetachedNodeIdsEqual,\n\tdeltaFieldMapHasVisibleChanges,\n\tdeltaFieldChangesHaveVisibleChanges,\n} from \"./deltaUtil.js\";\n\nexport {\n\ttype TreeChunk,\n\tdummyRoot,\n\tcursorChunk,\n\ttryGetChunk,\n\ttype ChunkedCursor,\n} from \"./chunk.js\";\n\nexport {\n\tDetachedFieldIndex,\n\ttype DetachedFieldIndexCheckpoint,\n\ttype ReadOnlyDetachedFieldIndex,\n} from \"./detachedFieldIndex.js\";\n\nexport { detachedFieldIndexCodecBuilder } from \"./detachedFieldIndexCodecs.js\";\nexport { DetachedFieldIndexFormatVersion } from \"./detachedFieldIndexFormatCommon.js\";\nexport { type FormatV1 } from \"./detachedFieldIndexFormatV1.js\";\n\nexport { type ForestRootId } from \"./detachedFieldIndexTypes.js\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/tree/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;AAEH,+CASwB;AANvB,yGAAA,SAAS,OAAA;AAGT,0GAAA,UAAU,OAAA;AAIX,yCAiBqB;AAfpB,+GAAA,kBAAkB,OAAA;AAClB,oHAAA,uBAAuB,OAAA;AACvB,2GAAA,cAAc,OAAA;AACd,4GAAA,eAAe,OAAA;AACf,wGAAA,WAAW,OAAA;AACX,iHAAA,oBAAoB,OAAA;AACpB,yGAAA,YAAY,OAAA;AACZ,+GAAA,kBAAkB,OAAA;AAGlB,0GAAA,aAAa,OAAA;AACb,yGAAA,YAAY,OAAA;AACZ,yGAAA,YAAY,OAAA;AACZ,qGAAA,QAAQ,OAAA;AACR,mHAAA,sBAAsB,OAAA;AAcvB,2CAAoF;AAAtC,6GAAA,eAAe,OAAA;AAC7D,6CAmBuB;AAlBtB,wGAAA,SAAS,OAAA;AACT,0GAAA,WAAW,OAAA;AACX,uGAAA,QAAQ,OAAA;AAWR,6GAAA,cAAc,OAAA;AACd,kHAAA,mBAAmB,OAAA;AACnB,+GAAA,oBAAoB,OAAoB;AACxC,6HAAA,8BAA8B,OAAA;AAG/B,yDAS6B;AAN5B,6HAAA,wBAAwB,OAAA;AACxB,oHAAA,eAAe,OAAA;AAEf,wHAAA,mBAAmB,OAAA;AAEnB,wHAAA,mBAAmB,OAAA;AAEpB,2EAAmE;AAA1D,iIAAA,mBAAmB,OAAA;AAC5B,uCAeoB;AAdnB,oGAAA,QAAQ,OAAA;AAQR,8GAAA,kBAAkB,OAAA;AAClB,8GAAA,kBAAkB,OAAA;AAClB,wGAAA,YAAY,OAAA;AAEZ,qGAAA,SAAS,OAAA;AACT,gHAAA,oBAAoB,OAAA;AAErB,iDAAgE;AAApC,2GAAA,UAAU,OAAA;AACtC,qDAO2B;AAL1B,gHAAA,aAAa,OAAA;AACb,6GAAA,UAAU,OAAA;AACV,yHAAA,sBAAsB,OAAA;AACtB,kHAAA,eAAe,OAAA;AACf,yHAAA,sBAAsB,OAAA;AAGvB,iDAA4D;AAAnD,2GAAA,UAAU,OAAA;AAAE,8GAAA,aAAa,OAAA;AAElC,+CAQwB;AAPvB,0HAAA,0BAA0B,OAAA;AAC1B,kHAAA,kBAAkB,OAAA;AAClB,8GAAA,cAAc,OAAA;AACd,0GAAA,UAAU,OAAA;AACV,uHAAA,uBAAuB,OAAA;AACvB,8HAAA,8BAA8B,OAAA;AAC9B,mIAAA,mCAAmC,OAAA;AAGpC,uCAMoB;AAJnB,qGAAA,SAAS,OAAA;AACT,uGAAA,WAAW,OAAA;AACX,uGAAA,WAAW,OAAA;AAIZ,iEAIiC;AAHhC,2HAAA,kBAAkB,OAAA;AAOnB,6EAA+E;AAAtE,6IAAA,8BAA8B,OAAA;AACvC,yFAAsF;AAA7E,oJAAA,+BAA+B,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport {\n\ttype Anchor,\n\ttype AnchorLocator,\n\tAnchorSet,\n\ttype AnchorSlot,\n\ttype AnchorNode,\n\tanchorSlot,\n\ttype AnchorEvents,\n\ttype AnchorSetRootEvents,\n} from \"./anchorSet.js\";\nexport {\n\ttype ITreeCursor,\n\tCursorLocationType,\n\tcastCursorToSynchronous,\n\tmapCursorField,\n\tmapCursorFields,\n\tforEachNode,\n\tforEachNodeInSubtree,\n\tforEachField,\n\titerateCursorField,\n\ttype ITreeCursorSynchronous,\n\ttype PathRootPrefix,\n\tinCursorField,\n\tinCursorNode,\n\tCursorMarker,\n\tisCursor,\n\tforEachNodeSubsequence,\n} from \"./cursor.js\";\nexport type {\n\tProtoNodes,\n\tRoot as DeltaRoot,\n\tMark as DeltaMark,\n\tDetachedNodeId as DeltaDetachedNodeId,\n\tFieldMap as DeltaFieldMap,\n\tDetachedNodeChanges as DeltaDetachedNodeChanges,\n\tDetachedNodeBuild as DeltaDetachedNodeBuild,\n\tDetachedNodeDestruction as DeltaDetachedNodeDestruction,\n\tDetachedNodeRename as DeltaDetachedNodeRename,\n\tFieldChanges as DeltaFieldChanges,\n} from \"./delta.js\";\nexport { type MapTree, type ExclusiveMapTree, deepCopyMapTree } from \"./mapTree.js\";\nexport {\n\tclonePath,\n\ttopDownPath,\n\tgetDepth,\n\ttype UpPath,\n\ttype NormalizedUpPath,\n\ttype INormalizedUpPath,\n\ttype NormalizedFieldUpPath,\n\ttype FieldUpPath,\n\ttype Range,\n\ttype RangeUpPath,\n\ttype PlaceUpPath,\n\ttype PlaceIndex,\n\ttype NodeIndex,\n\tcompareUpPaths,\n\tcompareFieldUpPaths,\n\tisDetachedUpPathRoot as isDetachedUpPath,\n\tgetDetachedFieldContainingPath,\n\ttype UpPathDefault,\n} from \"./pathTree.js\";\nexport {\n\ttype FieldMapObject,\n\ttype GenericFieldsNode,\n\tgenericTreeDeleteIfEmpty,\n\tgenericTreeKeys,\n\ttype GenericTreeNode,\n\tgetGenericTreeField,\n\ttype JsonableTree,\n\tsetGenericTreeField,\n} from \"./treeTextFormat.js\";\nexport { EncodedJsonableTree } from \"./persistedTreeTextFormat.js\";\nexport {\n\tEmptyKey,\n\ttype TreeType,\n\ttype ChildLocation,\n\ttype DetachedField,\n\ttype ChildCollection,\n\ttype RootField,\n\ttype Value,\n\ttype TreeValue,\n\tdetachedFieldAsKey,\n\tkeyAsDetachedField,\n\trootFieldKey,\n\ttype NodeData,\n\trootField,\n\taboveRootPlaceholder,\n} from \"./types.js\";\nexport { type DeltaVisitor, visitDelta } from \"./visitDelta.js\";\nexport {\n\ttype AnnouncedVisitor,\n\tannounceDelta,\n\tapplyDelta,\n\tcreateAnnouncedVisitor,\n\tcombineVisitors,\n\tmakeDetachedFieldIndex,\n} from \"./visitorUtils.js\";\n\nexport { SparseNode, getDescendant } from \"./sparseTree.js\";\n\nexport {\n\tdeltaForRootInitialization,\n\tmakeDetachedNodeId,\n\toffsetDetachId,\n\temptyDelta,\n\tareDetachedNodeIdsEqual,\n\tdeltaFieldMapHasVisibleChanges,\n\tdeltaFieldChangesHaveVisibleChanges,\n} from \"./deltaUtil.js\";\n\nexport {\n\ttype TreeChunk,\n\tdummyRoot,\n\tcursorChunk,\n\ttryGetChunk,\n\ttype ChunkedCursor,\n} from \"./chunk.js\";\n\nexport {\n\tDetachedFieldIndex,\n\ttype DetachedFieldIndexCheckpoint,\n\ttype ReadOnlyDetachedFieldIndex,\n} from \"./detachedFieldIndex.js\";\n\nexport { type DetachedFieldSummaryData } from \"./detachedFieldIndexTypes.js\";\n\nexport { detachedFieldIndexCodecBuilder } from \"./detachedFieldIndexCodecs.js\";\nexport { DetachedFieldIndexFormatVersion } from \"./detachedFieldIndexFormatCommon.js\";\nexport { type FormatV1 } from \"./detachedFieldIndexFormatV1.js\";\n\nexport { type ForestRootId } from \"./detachedFieldIndexTypes.js\";\n"]}
@@ -2,16 +2,14 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- import type { IIdCompressor } from "@fluidframework/id-compressor";
6
- import type { CodecWriteOptions } from "../../codec/index.js";
7
- import type { RevisionTag, RevisionTagCodec } from "../rebase/index.js";
5
+ import type { RevisionTag } from "../rebase/index.js";
8
6
  import type { FieldKey } from "../schema-stored/index.js";
9
7
  import type { ITreeCursorSynchronous } from "./cursor.js";
10
8
  import type { Root } from "./delta.js";
11
9
  import { DetachedFieldIndex } from "./detachedFieldIndex.js";
12
10
  import type { PlaceIndex, Range } from "./pathTree.js";
13
11
  import { type DeltaVisitor } from "./visitDelta.js";
14
- export declare function makeDetachedFieldIndex(prefix: string | undefined, revisionTagCodec: RevisionTagCodec, idCompressor: IIdCompressor, options?: CodecWriteOptions): DetachedFieldIndex;
12
+ export declare function makeDetachedFieldIndex(prefix?: string): DetachedFieldIndex;
15
13
  export declare function applyDelta(delta: Root, latestRevision: RevisionTag | undefined, deltaProcessor: {
16
14
  acquireVisitor: () => DeltaVisitor;
17
15
  }, detachedFieldIndex: DetachedFieldIndex): void;
@@ -1 +1 @@
1
- {"version":3,"file":"visitorUtils.d.ts","sourceRoot":"","sources":["../../../src/core/tree/visitorUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,KAAK,EAAkB,IAAI,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,KAAK,YAAY,EAAc,MAAM,iBAAiB,CAAC;AAEhE,wBAAgB,sBAAsB,CACrC,MAAM,oBAAiB,EACvB,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EAAE,aAAa,EAC3B,OAAO,CAAC,EAAE,iBAAiB,GACzB,kBAAkB,CAQpB;AAED,wBAAgB,UAAU,CACzB,KAAK,EAAE,IAAI,EACX,cAAc,EAAE,WAAW,GAAG,SAAS,EACvC,cAAc,EAAE;IAAE,cAAc,EAAE,MAAM,YAAY,CAAA;CAAE,EACtD,kBAAkB,EAAE,kBAAkB,GACpC,IAAI,CAIN;AAED,wBAAgB,aAAa,CAC5B,KAAK,EAAE,IAAI,EACX,cAAc,EAAE,WAAW,GAAG,SAAS,EACvC,cAAc,EAAE;IAAE,cAAc,EAAE,MAAM,YAAY,GAAG,gBAAgB,CAAA;CAAE,EACzE,kBAAkB,EAAE,kBAAkB,GACpC,IAAI,CAIN;AAED,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACpD,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAE1B,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAChD;AAED,MAAM,MAAM,iBAAiB,GAC1B,CAAC,YAAY,GAAG;IAAE,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC,GACjC,gBAAgB,GAChB,eAAe,CAAC;AAEnB;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,GAAG,eAAe,CAqFvF;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACrD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,SAAS,sBAAsB,EAAE,EAAE,WAAW,EAAE,QAAQ,GAAG,IAAI,CAAC;IACrF,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACpD,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,GAAG,IAAI,CAAC;IAC7E,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,GAAG,IAAI,CAAC;IACxD,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9E,WAAW,CACV,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,QAAQ,EACrB,UAAU,EAAE,OAAO,GACjB,IAAI,CAAC;CACR;AAID;;;GAGG;AACH,wBAAgB,sBAAsB,CACrC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,GACzC,gBAAgB,CAmBlB"}
1
+ {"version":3,"file":"visitorUtils.d.ts","sourceRoot":"","sources":["../../../src/core/tree/visitorUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,KAAK,EAAkB,IAAI,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,KAAK,YAAY,EAAc,MAAM,iBAAiB,CAAC;AAEhE,wBAAgB,sBAAsB,CAAC,MAAM,GAAE,MAAe,GAAG,kBAAkB,CAElF;AAED,wBAAgB,UAAU,CACzB,KAAK,EAAE,IAAI,EACX,cAAc,EAAE,WAAW,GAAG,SAAS,EACvC,cAAc,EAAE;IAAE,cAAc,EAAE,MAAM,YAAY,CAAA;CAAE,EACtD,kBAAkB,EAAE,kBAAkB,GACpC,IAAI,CAIN;AAED,wBAAgB,aAAa,CAC5B,KAAK,EAAE,IAAI,EACX,cAAc,EAAE,WAAW,GAAG,SAAS,EACvC,cAAc,EAAE;IAAE,cAAc,EAAE,MAAM,YAAY,GAAG,gBAAgB,CAAA;CAAE,EACzE,kBAAkB,EAAE,kBAAkB,GACpC,IAAI,CAIN;AAED,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACpD,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAE1B,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAChD;AAED,MAAM,MAAM,iBAAiB,GAC1B,CAAC,YAAY,GAAG;IAAE,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC,GACjC,gBAAgB,GAChB,eAAe,CAAC;AAEnB;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,GAAG,eAAe,CAqFvF;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACrD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,SAAS,sBAAsB,EAAE,EAAE,WAAW,EAAE,QAAQ,GAAG,IAAI,CAAC;IACrF,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACpD,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,GAAG,IAAI,CAAC;IAC7E,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,GAAG,IAAI,CAAC;IACxD,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9E,WAAW,CACV,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,QAAQ,EACrB,UAAU,EAAE,OAAO,GACjB,IAAI,CAAC;CACR;AAID;;;GAGG;AACH,wBAAgB,sBAAsB,CACrC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,GACzC,gBAAgB,CAmBlB"}
@@ -8,8 +8,8 @@ exports.createAnnouncedVisitor = exports.combineVisitors = exports.announceDelta
8
8
  const index_js_1 = require("../../util/index.js");
9
9
  const detachedFieldIndex_js_1 = require("./detachedFieldIndex.js");
10
10
  const visitDelta_js_1 = require("./visitDelta.js");
11
- function makeDetachedFieldIndex(prefix = "Temp", revisionTagCodec, idCompressor, options) {
12
- return new detachedFieldIndex_js_1.DetachedFieldIndex(prefix, (0, index_js_1.idAllocatorFromMaxId)(), revisionTagCodec, idCompressor, options);
11
+ function makeDetachedFieldIndex(prefix = "Temp") {
12
+ return new detachedFieldIndex_js_1.DetachedFieldIndex(prefix, (0, index_js_1.idAllocatorFromMaxId)());
13
13
  }
14
14
  exports.makeDetachedFieldIndex = makeDetachedFieldIndex;
15
15
  function applyDelta(delta, latestRevision, deltaProcessor, detachedFieldIndex) {
@@ -1 +1 @@
1
- {"version":3,"file":"visitorUtils.js","sourceRoot":"","sources":["../../../src/core/tree/visitorUtils.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 type { IIdCompressor } from \"@fluidframework/id-compressor\";\n\nimport type { CodecWriteOptions } from \"../../codec/index.js\";\nimport { type IdAllocator, idAllocatorFromMaxId } from \"../../util/index.js\";\nimport type { RevisionTag, RevisionTagCodec } from \"../rebase/index.js\";\nimport type { FieldKey } from \"../schema-stored/index.js\";\n\nimport type { ITreeCursorSynchronous } from \"./cursor.js\";\nimport type { DetachedNodeId, Root } from \"./delta.js\";\nimport { DetachedFieldIndex } from \"./detachedFieldIndex.js\";\nimport type { ForestRootId } from \"./detachedFieldIndexTypes.js\";\nimport type { PlaceIndex, Range } from \"./pathTree.js\";\nimport { type DeltaVisitor, visitDelta } from \"./visitDelta.js\";\n\nexport function makeDetachedFieldIndex(\n\tprefix: string = \"Temp\",\n\trevisionTagCodec: RevisionTagCodec,\n\tidCompressor: IIdCompressor,\n\toptions?: CodecWriteOptions,\n): DetachedFieldIndex {\n\treturn new DetachedFieldIndex(\n\t\tprefix,\n\t\tidAllocatorFromMaxId() as IdAllocator<ForestRootId>,\n\t\trevisionTagCodec,\n\t\tidCompressor,\n\t\toptions,\n\t);\n}\n\nexport function applyDelta(\n\tdelta: Root,\n\tlatestRevision: RevisionTag | undefined,\n\tdeltaProcessor: { acquireVisitor: () => DeltaVisitor },\n\tdetachedFieldIndex: DetachedFieldIndex,\n): void {\n\tconst visitor = deltaProcessor.acquireVisitor();\n\tvisitDelta(delta, visitor, detachedFieldIndex, latestRevision);\n\tvisitor.free();\n}\n\nexport function announceDelta(\n\tdelta: Root,\n\tlatestRevision: RevisionTag | undefined,\n\tdeltaProcessor: { acquireVisitor: () => DeltaVisitor & AnnouncedVisitor },\n\tdetachedFieldIndex: DetachedFieldIndex,\n): void {\n\tconst visitor = deltaProcessor.acquireVisitor();\n\tvisitDelta(delta, combineVisitors([visitor]), detachedFieldIndex, latestRevision);\n\tvisitor.free();\n}\n\nexport interface CombinedVisitor extends DeltaVisitor {\n\treadonly type: \"Combined\";\n\n\treadonly visitors: readonly CombinableVisitor[];\n}\n\nexport type CombinableVisitor =\n\t| (DeltaVisitor & { type?: never })\n\t| AnnouncedVisitor\n\t| CombinedVisitor;\n\n/**\n * Combines multiple visitors into a single visitor.\n * @param visitors - The returned visitor invokes the corresponding events for all these visitors, in order.\n * @returns a DeltaVisitor combining all `visitors`.\n */\nexport function combineVisitors(visitors: readonly CombinableVisitor[]): CombinedVisitor {\n\tconst allVisitors = visitors.flatMap((v) => (v.type === \"Combined\" ? v.visitors : [v]));\n\tconst announcedVisitors = allVisitors.filter(\n\t\t(v): v is AnnouncedVisitor => v.type === \"Announced\",\n\t);\n\treturn {\n\t\ttype: \"Combined\",\n\t\tvisitors: allVisitors,\n\t\tfree: () => {\n\t\t\tfor (const v of visitors) {\n\t\t\t\tv.free();\n\t\t\t}\n\t\t},\n\t\tcreate: (...args) => {\n\t\t\tfor (const v of allVisitors) {\n\t\t\t\tv.create(...args);\n\t\t\t}\n\t\t\tfor (const v of announcedVisitors) {\n\t\t\t\tv.afterCreate(...args);\n\t\t\t}\n\t\t},\n\t\tdestroy: (...args) => {\n\t\t\tfor (const v of announcedVisitors) {\n\t\t\t\tv.beforeDestroy(...args);\n\t\t\t}\n\t\t\tfor (const v of allVisitors) {\n\t\t\t\tv.destroy(...args);\n\t\t\t}\n\t\t},\n\t\tattach: (source: FieldKey, count: number, destination: PlaceIndex) => {\n\t\t\tfor (const v of announcedVisitors) {\n\t\t\t\tv.beforeAttach(source, count, destination);\n\t\t\t}\n\t\t\tfor (const v of allVisitors) {\n\t\t\t\tv.attach(source, count, destination);\n\t\t\t}\n\t\t\tfor (const v of announcedVisitors) {\n\t\t\t\tv.afterAttach(source, {\n\t\t\t\t\tstart: destination,\n\t\t\t\t\tend: destination + count,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tdetach: (\n\t\t\tsource: Range,\n\t\t\tdestination: FieldKey,\n\t\t\tid: DetachedNodeId,\n\t\t\tisReplaced: boolean,\n\t\t) => {\n\t\t\tfor (const v of announcedVisitors) {\n\t\t\t\tv.beforeDetach(source, destination, isReplaced);\n\t\t\t}\n\t\t\tfor (const v of allVisitors) {\n\t\t\t\tv.detach(source, destination, id, isReplaced);\n\t\t\t}\n\t\t\tfor (const v of announcedVisitors) {\n\t\t\t\tv.afterDetach(source.start, source.end - source.start, destination, isReplaced);\n\t\t\t}\n\t\t},\n\t\tenterNode: (...args) => {\n\t\t\tfor (const v of allVisitors) {\n\t\t\t\tv.enterNode(...args);\n\t\t\t}\n\t\t},\n\t\texitNode: (...args) => {\n\t\t\tfor (const v of allVisitors) {\n\t\t\t\tv.exitNode(...args);\n\t\t\t}\n\t\t},\n\t\tenterField: (...args) => {\n\t\t\tfor (const v of allVisitors) {\n\t\t\t\tv.enterField(...args);\n\t\t\t}\n\t\t},\n\t\texitField: (...args) => {\n\t\t\tfor (const v of allVisitors) {\n\t\t\t\tv.exitField(...args);\n\t\t\t}\n\t\t},\n\t\tfieldMarks: (marks) => {\n\t\t\tfor (const v of allVisitors) {\n\t\t\t\tv.fieldMarks?.(marks);\n\t\t\t}\n\t\t},\n\t};\n}\n\n/**\n * Visitor that is notified of changes before, after, and when changes are made.\n * Must be freed after use.\n */\nexport interface AnnouncedVisitor extends DeltaVisitor {\n\treadonly type: \"Announced\";\n\t/**\n\t * A hook that is called after all nodes have been created.\n\t */\n\tafterCreate(content: readonly ITreeCursorSynchronous[], destination: FieldKey): void;\n\tbeforeDestroy(field: FieldKey, count: number): void;\n\tbeforeAttach(source: FieldKey, count: number, destination: PlaceIndex): void;\n\tafterAttach(source: FieldKey, destination: Range): void;\n\tbeforeDetach(source: Range, destination: FieldKey, isReplaced: boolean): void;\n\tafterDetach(\n\t\tsource: PlaceIndex,\n\t\tcount: number,\n\t\tdestination: FieldKey,\n\t\tisReplaced: boolean,\n\t): void;\n}\n\nconst noOp = (): void => {};\n\n/**\n * Creates an announced visitor with only the provided functions and uses a no op for the rest.\n * This is provided to make some of the delta visitor definitions cleaner.\n */\nexport function createAnnouncedVisitor(\n\tvisitorFunctions: Partial<AnnouncedVisitor>,\n): AnnouncedVisitor {\n\treturn {\n\t\ttype: \"Announced\",\n\t\tfree: visitorFunctions.free ?? noOp,\n\t\tcreate: visitorFunctions.create ?? noOp,\n\t\tafterCreate: visitorFunctions.afterCreate ?? noOp,\n\t\tbeforeDestroy: visitorFunctions.beforeDestroy ?? noOp,\n\t\tdestroy: visitorFunctions.destroy ?? noOp,\n\t\tbeforeAttach: visitorFunctions.beforeAttach ?? noOp,\n\t\tattach: visitorFunctions.attach ?? noOp,\n\t\tafterAttach: visitorFunctions.afterAttach ?? noOp,\n\t\tbeforeDetach: visitorFunctions.beforeDetach ?? noOp,\n\t\tdetach: visitorFunctions.detach ?? noOp,\n\t\tafterDetach: visitorFunctions.afterDetach ?? noOp,\n\t\tenterNode: visitorFunctions.enterNode ?? noOp,\n\t\texitNode: visitorFunctions.exitNode ?? noOp,\n\t\tenterField: visitorFunctions.enterField ?? noOp,\n\t\texitField: visitorFunctions.exitField ?? noOp,\n\t};\n}\n"]}
1
+ {"version":3,"file":"visitorUtils.js","sourceRoot":"","sources":["../../../src/core/tree/visitorUtils.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 { type IdAllocator, idAllocatorFromMaxId } from \"../../util/index.js\";\nimport type { RevisionTag } from \"../rebase/index.js\";\nimport type { FieldKey } from \"../schema-stored/index.js\";\n\nimport type { ITreeCursorSynchronous } from \"./cursor.js\";\nimport type { DetachedNodeId, Root } from \"./delta.js\";\nimport { DetachedFieldIndex } from \"./detachedFieldIndex.js\";\nimport type { ForestRootId } from \"./detachedFieldIndexTypes.js\";\nimport type { PlaceIndex, Range } from \"./pathTree.js\";\nimport { type DeltaVisitor, visitDelta } from \"./visitDelta.js\";\n\nexport function makeDetachedFieldIndex(prefix: string = \"Temp\"): DetachedFieldIndex {\n\treturn new DetachedFieldIndex(prefix, idAllocatorFromMaxId() as IdAllocator<ForestRootId>);\n}\n\nexport function applyDelta(\n\tdelta: Root,\n\tlatestRevision: RevisionTag | undefined,\n\tdeltaProcessor: { acquireVisitor: () => DeltaVisitor },\n\tdetachedFieldIndex: DetachedFieldIndex,\n): void {\n\tconst visitor = deltaProcessor.acquireVisitor();\n\tvisitDelta(delta, visitor, detachedFieldIndex, latestRevision);\n\tvisitor.free();\n}\n\nexport function announceDelta(\n\tdelta: Root,\n\tlatestRevision: RevisionTag | undefined,\n\tdeltaProcessor: { acquireVisitor: () => DeltaVisitor & AnnouncedVisitor },\n\tdetachedFieldIndex: DetachedFieldIndex,\n): void {\n\tconst visitor = deltaProcessor.acquireVisitor();\n\tvisitDelta(delta, combineVisitors([visitor]), detachedFieldIndex, latestRevision);\n\tvisitor.free();\n}\n\nexport interface CombinedVisitor extends DeltaVisitor {\n\treadonly type: \"Combined\";\n\n\treadonly visitors: readonly CombinableVisitor[];\n}\n\nexport type CombinableVisitor =\n\t| (DeltaVisitor & { type?: never })\n\t| AnnouncedVisitor\n\t| CombinedVisitor;\n\n/**\n * Combines multiple visitors into a single visitor.\n * @param visitors - The returned visitor invokes the corresponding events for all these visitors, in order.\n * @returns a DeltaVisitor combining all `visitors`.\n */\nexport function combineVisitors(visitors: readonly CombinableVisitor[]): CombinedVisitor {\n\tconst allVisitors = visitors.flatMap((v) => (v.type === \"Combined\" ? v.visitors : [v]));\n\tconst announcedVisitors = allVisitors.filter(\n\t\t(v): v is AnnouncedVisitor => v.type === \"Announced\",\n\t);\n\treturn {\n\t\ttype: \"Combined\",\n\t\tvisitors: allVisitors,\n\t\tfree: () => {\n\t\t\tfor (const v of visitors) {\n\t\t\t\tv.free();\n\t\t\t}\n\t\t},\n\t\tcreate: (...args) => {\n\t\t\tfor (const v of allVisitors) {\n\t\t\t\tv.create(...args);\n\t\t\t}\n\t\t\tfor (const v of announcedVisitors) {\n\t\t\t\tv.afterCreate(...args);\n\t\t\t}\n\t\t},\n\t\tdestroy: (...args) => {\n\t\t\tfor (const v of announcedVisitors) {\n\t\t\t\tv.beforeDestroy(...args);\n\t\t\t}\n\t\t\tfor (const v of allVisitors) {\n\t\t\t\tv.destroy(...args);\n\t\t\t}\n\t\t},\n\t\tattach: (source: FieldKey, count: number, destination: PlaceIndex) => {\n\t\t\tfor (const v of announcedVisitors) {\n\t\t\t\tv.beforeAttach(source, count, destination);\n\t\t\t}\n\t\t\tfor (const v of allVisitors) {\n\t\t\t\tv.attach(source, count, destination);\n\t\t\t}\n\t\t\tfor (const v of announcedVisitors) {\n\t\t\t\tv.afterAttach(source, {\n\t\t\t\t\tstart: destination,\n\t\t\t\t\tend: destination + count,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tdetach: (\n\t\t\tsource: Range,\n\t\t\tdestination: FieldKey,\n\t\t\tid: DetachedNodeId,\n\t\t\tisReplaced: boolean,\n\t\t) => {\n\t\t\tfor (const v of announcedVisitors) {\n\t\t\t\tv.beforeDetach(source, destination, isReplaced);\n\t\t\t}\n\t\t\tfor (const v of allVisitors) {\n\t\t\t\tv.detach(source, destination, id, isReplaced);\n\t\t\t}\n\t\t\tfor (const v of announcedVisitors) {\n\t\t\t\tv.afterDetach(source.start, source.end - source.start, destination, isReplaced);\n\t\t\t}\n\t\t},\n\t\tenterNode: (...args) => {\n\t\t\tfor (const v of allVisitors) {\n\t\t\t\tv.enterNode(...args);\n\t\t\t}\n\t\t},\n\t\texitNode: (...args) => {\n\t\t\tfor (const v of allVisitors) {\n\t\t\t\tv.exitNode(...args);\n\t\t\t}\n\t\t},\n\t\tenterField: (...args) => {\n\t\t\tfor (const v of allVisitors) {\n\t\t\t\tv.enterField(...args);\n\t\t\t}\n\t\t},\n\t\texitField: (...args) => {\n\t\t\tfor (const v of allVisitors) {\n\t\t\t\tv.exitField(...args);\n\t\t\t}\n\t\t},\n\t\tfieldMarks: (marks) => {\n\t\t\tfor (const v of allVisitors) {\n\t\t\t\tv.fieldMarks?.(marks);\n\t\t\t}\n\t\t},\n\t};\n}\n\n/**\n * Visitor that is notified of changes before, after, and when changes are made.\n * Must be freed after use.\n */\nexport interface AnnouncedVisitor extends DeltaVisitor {\n\treadonly type: \"Announced\";\n\t/**\n\t * A hook that is called after all nodes have been created.\n\t */\n\tafterCreate(content: readonly ITreeCursorSynchronous[], destination: FieldKey): void;\n\tbeforeDestroy(field: FieldKey, count: number): void;\n\tbeforeAttach(source: FieldKey, count: number, destination: PlaceIndex): void;\n\tafterAttach(source: FieldKey, destination: Range): void;\n\tbeforeDetach(source: Range, destination: FieldKey, isReplaced: boolean): void;\n\tafterDetach(\n\t\tsource: PlaceIndex,\n\t\tcount: number,\n\t\tdestination: FieldKey,\n\t\tisReplaced: boolean,\n\t): void;\n}\n\nconst noOp = (): void => {};\n\n/**\n * Creates an announced visitor with only the provided functions and uses a no op for the rest.\n * This is provided to make some of the delta visitor definitions cleaner.\n */\nexport function createAnnouncedVisitor(\n\tvisitorFunctions: Partial<AnnouncedVisitor>,\n): AnnouncedVisitor {\n\treturn {\n\t\ttype: \"Announced\",\n\t\tfree: visitorFunctions.free ?? noOp,\n\t\tcreate: visitorFunctions.create ?? noOp,\n\t\tafterCreate: visitorFunctions.afterCreate ?? noOp,\n\t\tbeforeDestroy: visitorFunctions.beforeDestroy ?? noOp,\n\t\tdestroy: visitorFunctions.destroy ?? noOp,\n\t\tbeforeAttach: visitorFunctions.beforeAttach ?? noOp,\n\t\tattach: visitorFunctions.attach ?? noOp,\n\t\tafterAttach: visitorFunctions.afterAttach ?? noOp,\n\t\tbeforeDetach: visitorFunctions.beforeDetach ?? noOp,\n\t\tdetach: visitorFunctions.detach ?? noOp,\n\t\tafterDetach: visitorFunctions.afterDetach ?? noOp,\n\t\tenterNode: visitorFunctions.enterNode ?? noOp,\n\t\texitNode: visitorFunctions.exitNode ?? noOp,\n\t\tenterField: visitorFunctions.enterField ?? noOp,\n\t\texitField: visitorFunctions.exitField ?? noOp,\n\t};\n}\n"]}
@@ -2,5 +2,5 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- export { AllowedTypes, CommitKind, CommitMetadata, FieldKind, FieldProps, FieldSchema, FieldSchemaMetadata, ITree, ITreeConfigurationOptions, ITreeViewConfiguration, ImplicitAllowedTypes, ImplicitFieldSchema, Input, InsertableTreeFieldFromImplicitField, InsertableTreeNodeFromAllowedTypes, InsertableTreeNodeFromImplicitAllowedTypes, InsertableTypedNode, InternalTreeNode, InternalTypes, IsListener, IsUnion, IterableTreeArrayContent, LazyItem, LeafSchema, Listenable, Listeners, MakeNominal, MapNodeInsertableData, NodeFromSchema, NodeInDocumentConstraint, NodeKind, NodeSchemaMetadata, NodeSchemaOptions, NumberKeys, ObjectFromSchemaRecord, Off, ReadonlyArrayNode, RestrictiveReadonlyRecord, RestrictiveStringRecord, Revertible, RevertibleFactory, RevertibleStatus, RunTransaction, SchemaCompatibilityStatus, SchemaFactory, SchemaFactory_base, SchemaStatics, SimpleNodeSchemaBase, System_Unsafe, TransactionConstraint, Tree, TreeArrayNode, TreeChangeEvents, TreeFieldFromImplicitField, TreeLeafValue, TreeMapNode, TreeNode, TreeNodeApi, TreeNodeFromImplicitAllowedTypes, TreeNodeSchema, TreeNodeSchemaClass, TreeNodeSchemaCore, TreeNodeSchemaNonClass, TreeObjectNode, TreeStatus, TreeView, TreeViewConfiguration, TreeViewEvents, Unenforced, Unhydrated, UnionToIntersection, ValidateRecursiveSchema, ValidateRecursiveSchemaTemplate, ViewableTree, WithType, rollback, typeSchemaSymbol, AllowedTypeMetadata, AllowedTypesFull, AllowedTypesFullEvaluated, AllowedTypesFullFromMixed, AllowedTypesFullFromMixedUnsafe, AllowedTypesMetadata, AnnotateAllowedTypesList, AnnotateAllowedTypesListUnsafe, AnnotatedAllowedType, AnnotatedAllowedTypeUnsafe, AnnotatedAllowedTypes, AnnotatedAllowedTypesUnsafe, CodecWriteOptionsBeta, ConciseTree, ExtensibleUnionNode, FixRecursiveArraySchema, FluidSerializableAsTree, ForestOptions, ForestType, ForestTypeExpensiveDebug, ForestTypeOptimized, ForestTypeReference, IdentifierIndex, JsonCompatible, JsonCompatibleObject, KeyEncodingOptions, NodeChangedData, ObjectSchemaOptions, PopUnion, RecordNodeInsertableData, RunTransactionParamsBeta, SchemaFactoryBeta, SchemaStaticsBeta, SchemaUpgrade, SharedTreeOptionsBeta, SnapshotFileSystem, SnapshotSchemaCompatibilityOptions, System_TableSchema, TableSchema, TransactionCallbackStatusBeta, TransactionResultFailed, TransactionResultSuccess, TransactionValueResult, TransactionVoidResult, TreeBeta, TreeBranch, TreeChangeEventsBeta, TreeEncodingOptions, TreeIndex, TreeIndexKey, TreeIndexNodes, TreeRecordNode, TreeRecordNodeUnsafe, TreeViewBeta, UnannotateAllowedTypeUnsafe, UnannotateAllowedTypesList, UnannotateAllowedTypesListUnsafe, UnionToTuple, VoidTransactionCallbackStatusBeta, WithValue, adaptEnum, asBeta, configuredSharedTreeBeta, createIdentifierIndex, createIndependentTreeBeta, createTreeIndex, enumFromStrings, singletonSchema, snapshotSchemaCompatibility, AllowedTypesFullUnsafe, ArrayNodeCustomizableSchema, ArrayNodeCustomizableSchemaAlpha, ArrayNodeCustomizableSchemaUnsafe, ArrayNodeDeltaOp, ArrayNodeInsertOp, ArrayNodePojoEmulationSchema, ArrayNodeRemoveOp, ArrayNodeRetainOp, ArrayNodeSchema, ArrayNodeTreeChangedDeltaOp, ArrayNodeTreeChangedRetainOp, ArrayPlaceAnchor, ChangeMetadata, CodecName, CodecWriteOptions, Component, CreateIndependentTreeAlphaOptions, DirtyTreeMap, DirtyTreeStatus, ErasedNode, ErasedSchema, ErasedSchemaSubclassable, FactoryContent, FactoryContentObject, FieldHasDefaultAlpha, FieldHasDefaultAlphaUnsafe, FieldPropsAlpha, FieldSchemaAlpha, FieldSchemaAlphaUnsafe, FluidClientVersion, FormatValidator, FormatValidatorBasic, FormatValidatorNoOp, FormatVersion, HandleConverter, ICodecOptions, ITreeAlpha, ITreeViewConfigurationAlpha, IncrementalEncodingPolicy, IndependentViewOptions, IndependentViewTelemetryOptions, Insertable, InsertableContent, InsertableField, InsertableObjectFromSchemaRecordAlpha, InsertableObjectFromSchemaRecordAlphaUnsafe, JsonArrayNodeSchema, JsonAsTree, JsonCompatibleReadOnly, JsonCompatibleReadOnlyObject, JsonFieldSchema, JsonLeafNodeSchema, JsonLeafSchemaType, JsonMapNodeSchema, JsonNodeSchema, JsonNodeSchemaBase, JsonObjectNodeSchema, JsonRecordNodeSchema, JsonRefPath, JsonSchemaId, JsonSchemaRef, JsonSchemaType, JsonStringKeyPatternProperties, JsonTreeSchema, LabelTree, LocalChangeMetadata, MapNodeCustomizableSchema, MapNodeCustomizableSchemaUnsafe, MapNodePojoEmulationSchema, MapNodeSchema, NoChangeConstraint, NodeChangedDataAlpha, NodeChangedDataDelta, NodeChangedDataProperties, NodeChangedDataTreeDelta, NodeProvider, NodeSchemaOptionsAlpha, ObjectNodeSchema, ObjectNodeSchemaWorkaround, ObjectSchemaOptionsAlpha, ObservationResults, ReadSchema, ReadableField, RecordNodeCustomizableSchema, RecordNodePojoEmulationSchema, RecordNodeSchema, RemoteChangeMetadata, RevertibleAlpha, RevertibleAlphaFactory, RunTransactionParamsAlpha, SchemaFactoryAlpha, SchemaStaticsAlpha, SchemaType, SharedTreeFormatOptions, SharedTreeOptions, SimpleAllowedTypeAttributes, SimpleArrayNodeSchema, SimpleFieldSchema, SimpleLeafNodeSchema, SimpleMapNodeSchema, SimpleNodeSchema, SimpleNodeSchemaBaseAlpha, SimpleObjectFieldSchema, SimpleObjectNodeSchema, SimpleRecordNodeSchema, SimpleTreeSchema, StagedSchemaUpgradePolicy, StagedSchemaUpgradePolicyFactory, TextAsTree, TransactionCallbackStatusAlpha, TransactionConstraintAlpha, TransactionLabels, TransactionPostProcessor, TreeAlpha, TreeArrayNodeAlpha, TreeBranchAlpha, TreeBranchEvents, TreeChangeEventsAlpha, TreeCompressionStrategy, TreeContextAlpha, TreeIdentifierUtils, TreeMapNodeAlpha, TreeParsingOptions, TreeSchema, TreeSchemaEncodingOptions, TreeViewAlpha, TreeViewConfigurationAlpha, UnsafeUnknownSchema, ValueSchema, VerboseTree, VerboseTreeNode, ViewContent, VoidTransactionCallbackStatusAlpha, allowUnused, asAlpha, asTreeViewAlpha, checkCompatibility, cloneWithReplacements, comparePersistedSchema, configuredSharedTreeAlpha, contentSchemaSymbol, createArrayInsertionAnchor, createIndependentTreeAlpha, decodeSchemaCompatibilitySnapshot, encodeSchemaCompatibilitySnapshot, eraseSchemaDetails, eraseSchemaDetailsSubclassable, evaluateLazySchema, exportCompatibilitySchemaSnapshot, extractPersistedSchema, generateSchemaFromSimpleSchema, getJsonSchema, getSimpleSchema, importCompatibilitySchemaSnapshot, incrementalEncodingPolicyForAllowedTypes, incrementalSummaryHint, independentInitializedView, independentView, minimize, normalizeAllowedTypes, persistedToSimpleSchema, replaceConciseTreeHandles, replaceHandles, replaceVerboseTreeHandles, trackDirtyNodes } from "../index.js";
5
+ export { AllowedTypes, CommitKind, CommitMetadata, FieldKind, FieldProps, FieldSchema, FieldSchemaMetadata, ITree, ITreeConfigurationOptions, ITreeViewConfiguration, ImplicitAllowedTypes, ImplicitFieldSchema, Input, InsertableTreeFieldFromImplicitField, InsertableTreeNodeFromAllowedTypes, InsertableTreeNodeFromImplicitAllowedTypes, InsertableTypedNode, InternalTreeNode, InternalTypes, IsListener, IsUnion, IterableTreeArrayContent, LazyItem, LeafSchema, Listenable, Listeners, MakeNominal, MapNodeInsertableData, NodeFromSchema, NodeInDocumentConstraint, NodeKind, NodeSchemaMetadata, NodeSchemaOptions, NumberKeys, ObjectFromSchemaRecord, Off, ReadonlyArrayNode, RestrictiveReadonlyRecord, RestrictiveStringRecord, Revertible, RevertibleFactory, RevertibleStatus, RunTransaction, SchemaCompatibilityStatus, SchemaFactory, SchemaFactory_base, SchemaStatics, SimpleNodeSchemaBase, System_Unsafe, TransactionConstraint, Tree, TreeArrayNode, TreeChangeEvents, TreeFieldFromImplicitField, TreeLeafValue, TreeMapNode, TreeNode, TreeNodeApi, TreeNodeFromImplicitAllowedTypes, TreeNodeSchema, TreeNodeSchemaClass, TreeNodeSchemaCore, TreeNodeSchemaNonClass, TreeObjectNode, TreeStatus, TreeView, TreeViewConfiguration, TreeViewEvents, Unenforced, Unhydrated, UnionToIntersection, ValidateRecursiveSchema, ValidateRecursiveSchemaTemplate, ViewableTree, WithType, rollback, typeSchemaSymbol, AllowedTypeMetadata, AllowedTypesFull, AllowedTypesFullEvaluated, AllowedTypesFullFromMixed, AllowedTypesFullFromMixedUnsafe, AllowedTypesMetadata, AnnotateAllowedTypesList, AnnotateAllowedTypesListUnsafe, AnnotatedAllowedType, AnnotatedAllowedTypeUnsafe, AnnotatedAllowedTypes, AnnotatedAllowedTypesUnsafe, CodecWriteOptionsBeta, ConciseTree, ExtensibleUnionNode, FixRecursiveArraySchema, FluidSerializableAsTree, ForestOptions, ForestType, ForestTypeExpensiveDebug, ForestTypeOptimized, ForestTypeReference, IdentifierIndex, JsonCompatible, JsonCompatibleObject, KeyEncodingOptions, NodeChangedData, ObjectSchemaOptions, PopUnion, RecordNodeInsertableData, RunTransactionParamsBeta, SchemaFactoryBeta, SchemaStaticsBeta, SchemaUpgrade, SharedTreeOptionsBeta, SnapshotFileSystem, SnapshotSchemaCompatibilityOptions, System_TableSchema, TableSchema, TransactionCallbackStatusBeta, TransactionResultFailed, TransactionResultSuccess, TransactionValueResult, TransactionVoidResult, TreeBeta, TreeBranch, TreeChangeEventsBeta, TreeEncodingOptions, TreeIndex, TreeIndexKey, TreeIndexNodes, TreeRecordNode, TreeRecordNodeUnsafe, TreeViewBeta, UnannotateAllowedTypeUnsafe, UnannotateAllowedTypesList, UnannotateAllowedTypesListUnsafe, UnionToTuple, VoidTransactionCallbackStatusBeta, WithValue, adaptEnum, asBeta, configuredSharedTreeBeta, createIdentifierIndex, createIndependentTreeBeta, createTreeIndex, enumFromStrings, singletonSchema, snapshotSchemaCompatibility, AllowedTypesFullUnsafe, ArrayNodeCustomizableSchema, ArrayNodeCustomizableSchemaAlpha, ArrayNodeCustomizableSchemaUnsafe, ArrayNodeDeltaOp, ArrayNodeInsertOp, ArrayNodePojoEmulationSchema, ArrayNodeRemoveOp, ArrayNodeRetainOp, ArrayNodeSchema, ArrayNodeTreeChangedDeltaOp, ArrayNodeTreeChangedRetainOp, ArrayPlaceAnchor, ChangeMetadata, CodecName, CodecWriteOptions, Component, CreateIndependentTreeAlphaOptions, DirtyTreeMap, DirtyTreeStatus, ErasedNode, ErasedSchema, ErasedSchemaSubclassable, FactoryContent, FactoryContentObject, FieldHasDefaultAlpha, FieldHasDefaultAlphaUnsafe, FieldPropsAlpha, FieldSchemaAlpha, FieldSchemaAlphaUnsafe, FluidClientVersion, FormatValidator, FormatValidatorBasic, FormatValidatorNoOp, FormatVersion, HandleConverter, ICodecOptions, ITreeAlpha, ITreeViewConfigurationAlpha, IncrementalEncodingPolicy, IndependentViewOptions, IndependentViewTelemetryOptions, Insertable, InsertableContent, InsertableField, InsertableObjectFromSchemaRecordAlpha, InsertableObjectFromSchemaRecordAlphaUnsafe, JsonArrayNodeSchema, JsonAsTree, JsonCompatibleReadOnly, JsonCompatibleReadOnlyObject, JsonFieldSchema, JsonLeafNodeSchema, JsonLeafSchemaType, JsonMapNodeSchema, JsonNodeSchema, JsonNodeSchemaBase, JsonObjectNodeSchema, JsonRecordNodeSchema, JsonRefPath, JsonSchemaId, JsonSchemaRef, JsonSchemaType, JsonStringKeyPatternProperties, JsonTreeSchema, LabelTree, LocalChangeMetadata, MapNodeCustomizableSchema, MapNodeCustomizableSchemaUnsafe, MapNodePojoEmulationSchema, MapNodeSchema, NoChangeConstraint, NodeChangedDataAlpha, NodeChangedDataDelta, NodeChangedDataProperties, NodeChangedDataTreeDelta, NodeProvider, NodeSchemaOptionsAlpha, ObjectNodeSchema, ObjectNodeSchemaWorkaround, ObjectSchemaOptionsAlpha, ObservationResults, ReadSchema, ReadableField, RecordNodeCustomizableSchema, RecordNodePojoEmulationSchema, RecordNodeSchema, RemoteChangeMetadata, RevertibleAlpha, RevertibleAlphaFactory, RunTransactionParamsAlpha, SchemaFactoryAlpha, SchemaStaticsAlpha, SchemaType, SharedTreeAlpha, SharedTreeFormatOptions, SharedTreeOptions, SimpleAllowedTypeAttributes, SimpleArrayNodeSchema, SimpleFieldSchema, SimpleLeafNodeSchema, SimpleMapNodeSchema, SimpleNodeSchema, SimpleNodeSchemaBaseAlpha, SimpleObjectFieldSchema, SimpleObjectNodeSchema, SimpleRecordNodeSchema, SimpleTreeSchema, StagedSchemaUpgradePolicy, StagedSchemaUpgradePolicyFactory, TextAsTree, TransactionCallbackStatusAlpha, TransactionConstraintAlpha, TransactionLabels, TransactionPostProcessor, TreeAlpha, TreeArrayNodeAlpha, TreeBranchAlpha, TreeBranchEvents, TreeChangeEventsAlpha, TreeCompressionStrategy, TreeContextAlpha, TreeDataStoreOptions, TreeIdentifierUtils, TreeMapNodeAlpha, TreeParsingOptions, TreeSchema, TreeSchemaEncodingOptions, TreeViewAlpha, TreeViewConfigurationAlpha, UnsafeUnknownSchema, ValueSchema, VerboseTree, VerboseTreeNode, ViewContent, VoidTransactionCallbackStatusAlpha, allowUnused, asAlpha, asTreeViewAlpha, checkCompatibility, cloneWithReplacements, comparePersistedSchema, configuredSharedTreeAlpha, contentSchemaSymbol, createArrayInsertionAnchor, createIndependentTreeAlpha, decodeSchemaCompatibilitySnapshot, encodeSchemaCompatibilitySnapshot, eraseSchemaDetails, eraseSchemaDetailsSubclassable, evaluateLazySchema, exportCompatibilitySchemaSnapshot, extractPersistedSchema, generateSchemaFromSimpleSchema, getJsonSchema, getSimpleSchema, importCompatibilitySchemaSnapshot, incrementalEncodingPolicyForAllowedTypes, incrementalSummaryHint, independentInitializedView, independentView, instantiateTreeFirstTime, minimize, normalizeAllowedTypes, persistedToSimpleSchema, replaceConciseTreeHandles, replaceHandles, replaceVerboseTreeHandles, trackDirtyNodes, defineTreeDataStore } from "../index.js";
6
6
  //# sourceMappingURL=alpha.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"alpha.d.ts","sourceRoot":"","sources":["../../src/entrypoints/alpha.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"alpha.d.ts","sourceRoot":"","sources":["../../src/entrypoints/alpha.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,8 @@
4
4
  * Licensed under the MIT License.
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.asAlpha = exports.allowUnused = exports.ValueSchema = exports.TreeViewConfigurationAlpha = exports.TreeCompressionStrategy = exports.TreeAlpha = exports.TextAsTree = exports.StagedSchemaUpgradePolicy = exports.SchemaFactoryAlpha = exports.RecordNodeSchema = exports.ObjectNodeSchema = exports.MapNodeSchema = exports.JsonAsTree = exports.FormatValidatorNoOp = exports.FormatValidatorBasic = exports.FluidClientVersion = exports.Component = exports.ArrayNodeSchema = exports.snapshotSchemaCompatibility = exports.singletonSchema = exports.enumFromStrings = exports.createTreeIndex = exports.createIndependentTreeBeta = exports.createIdentifierIndex = exports.configuredSharedTreeBeta = exports.asBeta = exports.adaptEnum = exports.TreeBeta = exports.TableSchema = exports.SchemaFactoryBeta = exports.KeyEncodingOptions = exports.ForestTypeReference = exports.ForestTypeOptimized = exports.ForestTypeExpensiveDebug = exports.FluidSerializableAsTree = exports.ExtensibleUnionNode = exports.rollback = exports.TreeViewConfiguration = exports.TreeStatus = exports.TreeNode = exports.TreeArrayNode = exports.Tree = exports.SchemaFactory = exports.RevertibleStatus = exports.NodeKind = exports.IterableTreeArrayContent = exports.InternalTypes = exports.FieldSchema = exports.FieldKind = exports.CommitKind = void 0;
8
- exports.trackDirtyNodes = exports.replaceVerboseTreeHandles = exports.replaceHandles = exports.replaceConciseTreeHandles = exports.persistedToSimpleSchema = exports.normalizeAllowedTypes = exports.minimize = exports.independentView = exports.independentInitializedView = exports.incrementalSummaryHint = exports.incrementalEncodingPolicyForAllowedTypes = exports.importCompatibilitySchemaSnapshot = exports.getSimpleSchema = exports.getJsonSchema = exports.generateSchemaFromSimpleSchema = exports.extractPersistedSchema = exports.exportCompatibilitySchemaSnapshot = exports.evaluateLazySchema = exports.eraseSchemaDetailsSubclassable = exports.eraseSchemaDetails = exports.encodeSchemaCompatibilitySnapshot = exports.decodeSchemaCompatibilitySnapshot = exports.createIndependentTreeAlpha = exports.createArrayInsertionAnchor = exports.contentSchemaSymbol = exports.configuredSharedTreeAlpha = exports.comparePersistedSchema = exports.cloneWithReplacements = exports.checkCompatibility = exports.asTreeViewAlpha = void 0;
7
+ exports.allowUnused = exports.ValueSchema = exports.TreeViewConfigurationAlpha = exports.TreeCompressionStrategy = exports.TreeAlpha = exports.TextAsTree = exports.StagedSchemaUpgradePolicy = exports.SharedTreeAlpha = exports.SchemaFactoryAlpha = exports.RecordNodeSchema = exports.ObjectNodeSchema = exports.MapNodeSchema = exports.JsonAsTree = exports.FormatValidatorNoOp = exports.FormatValidatorBasic = exports.FluidClientVersion = exports.Component = exports.ArrayNodeSchema = exports.snapshotSchemaCompatibility = exports.singletonSchema = exports.enumFromStrings = exports.createTreeIndex = exports.createIndependentTreeBeta = exports.createIdentifierIndex = exports.configuredSharedTreeBeta = exports.asBeta = exports.adaptEnum = exports.TreeBeta = exports.TableSchema = exports.SchemaFactoryBeta = exports.KeyEncodingOptions = exports.ForestTypeReference = exports.ForestTypeOptimized = exports.ForestTypeExpensiveDebug = exports.FluidSerializableAsTree = exports.ExtensibleUnionNode = exports.rollback = exports.TreeViewConfiguration = exports.TreeStatus = exports.TreeNode = exports.TreeArrayNode = exports.Tree = exports.SchemaFactory = exports.RevertibleStatus = exports.NodeKind = exports.IterableTreeArrayContent = exports.InternalTypes = exports.FieldSchema = exports.FieldKind = exports.CommitKind = void 0;
8
+ exports.defineTreeDataStore = exports.trackDirtyNodes = exports.replaceVerboseTreeHandles = exports.replaceHandles = exports.replaceConciseTreeHandles = exports.persistedToSimpleSchema = exports.normalizeAllowedTypes = exports.minimize = exports.instantiateTreeFirstTime = exports.independentView = exports.independentInitializedView = exports.incrementalSummaryHint = exports.incrementalEncodingPolicyForAllowedTypes = exports.importCompatibilitySchemaSnapshot = exports.getSimpleSchema = exports.getJsonSchema = exports.generateSchemaFromSimpleSchema = exports.extractPersistedSchema = exports.exportCompatibilitySchemaSnapshot = exports.evaluateLazySchema = exports.eraseSchemaDetailsSubclassable = exports.eraseSchemaDetails = exports.encodeSchemaCompatibilitySnapshot = exports.decodeSchemaCompatibilitySnapshot = exports.createIndependentTreeAlpha = exports.createArrayInsertionAnchor = exports.contentSchemaSymbol = exports.configuredSharedTreeAlpha = exports.comparePersistedSchema = exports.cloneWithReplacements = exports.checkCompatibility = exports.asTreeViewAlpha = exports.asAlpha = void 0;
9
9
  /*
10
10
  * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
11
11
  * Generated by "generate:entrypoint-sources".
@@ -53,6 +53,7 @@ Object.defineProperty(exports, "MapNodeSchema", { enumerable: true, get: functio
53
53
  Object.defineProperty(exports, "ObjectNodeSchema", { enumerable: true, get: function () { return index_js_1.ObjectNodeSchema; } });
54
54
  Object.defineProperty(exports, "RecordNodeSchema", { enumerable: true, get: function () { return index_js_1.RecordNodeSchema; } });
55
55
  Object.defineProperty(exports, "SchemaFactoryAlpha", { enumerable: true, get: function () { return index_js_1.SchemaFactoryAlpha; } });
56
+ Object.defineProperty(exports, "SharedTreeAlpha", { enumerable: true, get: function () { return index_js_1.SharedTreeAlpha; } });
56
57
  Object.defineProperty(exports, "StagedSchemaUpgradePolicy", { enumerable: true, get: function () { return index_js_1.StagedSchemaUpgradePolicy; } });
57
58
  Object.defineProperty(exports, "TextAsTree", { enumerable: true, get: function () { return index_js_1.TextAsTree; } });
58
59
  Object.defineProperty(exports, "TreeAlpha", { enumerable: true, get: function () { return index_js_1.TreeAlpha; } });
@@ -84,6 +85,7 @@ Object.defineProperty(exports, "incrementalEncodingPolicyForAllowedTypes", { enu
84
85
  Object.defineProperty(exports, "incrementalSummaryHint", { enumerable: true, get: function () { return index_js_1.incrementalSummaryHint; } });
85
86
  Object.defineProperty(exports, "independentInitializedView", { enumerable: true, get: function () { return index_js_1.independentInitializedView; } });
86
87
  Object.defineProperty(exports, "independentView", { enumerable: true, get: function () { return index_js_1.independentView; } });
88
+ Object.defineProperty(exports, "instantiateTreeFirstTime", { enumerable: true, get: function () { return index_js_1.instantiateTreeFirstTime; } });
87
89
  Object.defineProperty(exports, "minimize", { enumerable: true, get: function () { return index_js_1.minimize; } });
88
90
  Object.defineProperty(exports, "normalizeAllowedTypes", { enumerable: true, get: function () { return index_js_1.normalizeAllowedTypes; } });
89
91
  Object.defineProperty(exports, "persistedToSimpleSchema", { enumerable: true, get: function () { return index_js_1.persistedToSimpleSchema; } });
@@ -91,4 +93,5 @@ Object.defineProperty(exports, "replaceConciseTreeHandles", { enumerable: true,
91
93
  Object.defineProperty(exports, "replaceHandles", { enumerable: true, get: function () { return index_js_1.replaceHandles; } });
92
94
  Object.defineProperty(exports, "replaceVerboseTreeHandles", { enumerable: true, get: function () { return index_js_1.replaceVerboseTreeHandles; } });
93
95
  Object.defineProperty(exports, "trackDirtyNodes", { enumerable: true, get: function () { return index_js_1.trackDirtyNodes; } });
96
+ Object.defineProperty(exports, "defineTreeDataStore", { enumerable: true, get: function () { return index_js_1.defineTreeDataStore; } });
94
97
  //# sourceMappingURL=alpha.js.map