@fluidframework/tree 2.103.0 → 2.111.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 (530) hide show
  1. package/.vscode/settings.json +1 -0
  2. package/CHANGELOG.md +109 -0
  3. package/api-report/tree.alpha.api.md +60 -34
  4. package/api-report/tree.beta.api.md +49 -3
  5. package/api-report/tree.legacy.beta.api.md +49 -3
  6. package/dist/codec/versioned/format.js +2 -24
  7. package/dist/codec/versioned/format.js.map +1 -1
  8. package/dist/core/change-family/changeFamily.d.ts +3 -10
  9. package/dist/core/change-family/changeFamily.d.ts.map +1 -1
  10. package/dist/core/change-family/changeFamily.js.map +1 -1
  11. package/dist/core/rebase/types.d.ts +2 -2
  12. package/dist/core/rebase/types.js +2 -24
  13. package/dist/core/rebase/types.js.map +1 -1
  14. package/dist/core/schema-stored/formatV1.js +2 -24
  15. package/dist/core/schema-stored/formatV1.js.map +1 -1
  16. package/dist/core/schema-stored/formatV2.js +2 -24
  17. package/dist/core/schema-stored/formatV2.js.map +1 -1
  18. package/dist/core/schema-stored/index.js +3 -25
  19. package/dist/core/schema-stored/index.js.map +1 -1
  20. package/dist/core/schema-stored/storedSchemaRepository.d.ts +2 -2
  21. package/dist/core/schema-stored/storedSchemaRepository.js.map +1 -1
  22. package/dist/core/tree/anchorSet.js +4 -8
  23. package/dist/core/tree/anchorSet.js.map +1 -1
  24. package/dist/core/tree/detachedFieldIndexFormatCommon.js +2 -24
  25. package/dist/core/tree/detachedFieldIndexFormatCommon.js.map +1 -1
  26. package/dist/core/tree/detachedFieldIndexFormatV2.js +2 -24
  27. package/dist/core/tree/detachedFieldIndexFormatV2.js.map +1 -1
  28. package/dist/core/tree/persistedTreeTextFormat.js +2 -24
  29. package/dist/core/tree/persistedTreeTextFormat.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.map +1 -1
  33. package/dist/entrypoints/beta.d.ts +1 -1
  34. package/dist/entrypoints/beta.d.ts.map +1 -1
  35. package/dist/entrypoints/beta.js.map +1 -1
  36. package/dist/entrypoints/internal.js +2 -15
  37. package/dist/entrypoints/internal.js.map +1 -1
  38. package/dist/entrypoints/legacy.d.ts +1 -1
  39. package/dist/entrypoints/legacy.d.ts.map +1 -1
  40. package/dist/entrypoints/legacy.js.map +1 -1
  41. package/dist/feature-libraries/chunked-forest/chunkedForest.js +7 -11
  42. package/dist/feature-libraries/chunked-forest/chunkedForest.js.map +1 -1
  43. package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts +19 -14
  44. package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts.map +1 -1
  45. package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.js +13 -32
  46. package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.js.map +1 -1
  47. package/dist/feature-libraries/chunked-forest/codec/codecs.d.ts +85 -28
  48. package/dist/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -1
  49. package/dist/feature-libraries/chunked-forest/codec/codecs.js +83 -9
  50. package/dist/feature-libraries/chunked-forest/codec/codecs.js.map +1 -1
  51. package/dist/feature-libraries/chunked-forest/codec/compressedEncode.d.ts +4 -2
  52. package/dist/feature-libraries/chunked-forest/codec/compressedEncode.d.ts.map +1 -1
  53. package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js +11 -0
  54. package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -1
  55. package/dist/feature-libraries/chunked-forest/codec/format/formatGeneric.js +2 -24
  56. package/dist/feature-libraries/chunked-forest/codec/format/formatGeneric.js.map +1 -1
  57. package/dist/feature-libraries/chunked-forest/codec/format/formatV1.js +2 -24
  58. package/dist/feature-libraries/chunked-forest/codec/format/formatV1.js.map +1 -1
  59. package/dist/feature-libraries/chunked-forest/codec/format/formatV2.js +2 -24
  60. package/dist/feature-libraries/chunked-forest/codec/format/formatV2.js.map +1 -1
  61. package/dist/feature-libraries/chunked-forest/codec/format/formatVText.js +2 -24
  62. package/dist/feature-libraries/chunked-forest/codec/format/formatVText.js.map +1 -1
  63. package/dist/feature-libraries/chunked-forest/codec/index.d.ts +1 -1
  64. package/dist/feature-libraries/chunked-forest/codec/index.d.ts.map +1 -1
  65. package/dist/feature-libraries/chunked-forest/codec/index.js +2 -1
  66. package/dist/feature-libraries/chunked-forest/codec/index.js.map +1 -1
  67. package/dist/feature-libraries/chunked-forest/codec/nodeEncoder.d.ts +1 -1
  68. package/dist/feature-libraries/chunked-forest/codec/nodeEncoder.d.ts.map +1 -1
  69. package/dist/feature-libraries/chunked-forest/codec/nodeEncoder.js +3 -15
  70. package/dist/feature-libraries/chunked-forest/codec/nodeEncoder.js.map +1 -1
  71. package/dist/feature-libraries/chunked-forest/index.d.ts +1 -1
  72. package/dist/feature-libraries/chunked-forest/index.d.ts.map +1 -1
  73. package/dist/feature-libraries/chunked-forest/index.js +2 -1
  74. package/dist/feature-libraries/chunked-forest/index.js.map +1 -1
  75. package/dist/feature-libraries/flex-tree/lazyEntity.js +9 -19
  76. package/dist/feature-libraries/flex-tree/lazyEntity.js.map +1 -1
  77. package/dist/feature-libraries/flex-tree/lazyNode.js +3 -13
  78. package/dist/feature-libraries/flex-tree/lazyNode.js.map +1 -1
  79. package/dist/feature-libraries/forest-summary/codec.d.ts +3 -3
  80. package/dist/feature-libraries/forest-summary/codec.d.ts.map +1 -1
  81. package/dist/feature-libraries/forest-summary/codec.js.map +1 -1
  82. package/dist/feature-libraries/forest-summary/forestSummarizer.d.ts +3 -2
  83. package/dist/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
  84. package/dist/feature-libraries/forest-summary/forestSummarizer.js +4 -6
  85. package/dist/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
  86. package/dist/feature-libraries/forest-summary/formatCommon.js +2 -24
  87. package/dist/feature-libraries/forest-summary/formatCommon.js.map +1 -1
  88. package/dist/feature-libraries/index.d.ts +1 -1
  89. package/dist/feature-libraries/index.d.ts.map +1 -1
  90. package/dist/feature-libraries/index.js +4 -25
  91. package/dist/feature-libraries/index.js.map +1 -1
  92. package/dist/feature-libraries/modular-schema/genericFieldKindFormat.js +2 -24
  93. package/dist/feature-libraries/modular-schema/genericFieldKindFormat.js.map +1 -1
  94. package/dist/feature-libraries/modular-schema/modularChangeCodecV1.d.ts.map +1 -1
  95. package/dist/feature-libraries/modular-schema/modularChangeCodecV1.js +9 -9
  96. package/dist/feature-libraries/modular-schema/modularChangeCodecV1.js.map +1 -1
  97. package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
  98. package/dist/feature-libraries/modular-schema/modularChangeFamily.js +10 -30
  99. package/dist/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
  100. package/dist/feature-libraries/modular-schema/modularChangeFormatV1.js +2 -24
  101. package/dist/feature-libraries/modular-schema/modularChangeFormatV1.js.map +1 -1
  102. package/dist/feature-libraries/modular-schema/modularChangeFormatV2.js +2 -24
  103. package/dist/feature-libraries/modular-schema/modularChangeFormatV2.js.map +1 -1
  104. package/dist/feature-libraries/modular-schema/modularChangeTypes.d.ts +0 -5
  105. package/dist/feature-libraries/modular-schema/modularChangeTypes.d.ts.map +1 -1
  106. package/dist/feature-libraries/modular-schema/modularChangeTypes.js.map +1 -1
  107. package/dist/feature-libraries/object-forest/objectForest.js +11 -55
  108. package/dist/feature-libraries/object-forest/objectForest.js.map +1 -1
  109. package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV1.js +2 -24
  110. package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV1.js.map +1 -1
  111. package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV2.js +2 -24
  112. package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV2.js.map +1 -1
  113. package/dist/feature-libraries/schema-edits/schemaChangeFormat.js +2 -24
  114. package/dist/feature-libraries/schema-edits/schemaChangeFormat.js.map +1 -1
  115. package/dist/feature-libraries/schema-index/formatV1.js +2 -24
  116. package/dist/feature-libraries/schema-index/formatV1.js.map +1 -1
  117. package/dist/feature-libraries/schema-index/formatV2.js +2 -24
  118. package/dist/feature-libraries/schema-index/formatV2.js.map +1 -1
  119. package/dist/feature-libraries/sequence-field/formatV1.js +2 -24
  120. package/dist/feature-libraries/sequence-field/formatV1.js.map +1 -1
  121. package/dist/feature-libraries/sequence-field/formatV2.js +2 -24
  122. package/dist/feature-libraries/sequence-field/formatV2.js.map +1 -1
  123. package/dist/feature-libraries/sequence-field/formatV3.js +2 -24
  124. package/dist/feature-libraries/sequence-field/formatV3.js.map +1 -1
  125. package/dist/index.d.ts +2 -2
  126. package/dist/index.d.ts.map +1 -1
  127. package/dist/index.js +4 -25
  128. package/dist/index.js.map +1 -1
  129. package/dist/packageVersion.d.ts +1 -1
  130. package/dist/packageVersion.js +1 -1
  131. package/dist/packageVersion.js.map +1 -1
  132. package/dist/shared-tree/independentView.d.ts.map +1 -1
  133. package/dist/shared-tree/independentView.js +4 -7
  134. package/dist/shared-tree/independentView.js.map +1 -1
  135. package/dist/shared-tree/index.d.ts +1 -1
  136. package/dist/shared-tree/index.d.ts.map +1 -1
  137. package/dist/shared-tree/index.js.map +1 -1
  138. package/dist/shared-tree/schematizingTreeView.d.ts +6 -5
  139. package/dist/shared-tree/schematizingTreeView.d.ts.map +1 -1
  140. package/dist/shared-tree/schematizingTreeView.js +7 -41
  141. package/dist/shared-tree/schematizingTreeView.js.map +1 -1
  142. package/dist/shared-tree/sharedTree.d.ts +5 -1
  143. package/dist/shared-tree/sharedTree.d.ts.map +1 -1
  144. package/dist/shared-tree/sharedTree.js +13 -49
  145. package/dist/shared-tree/sharedTree.js.map +1 -1
  146. package/dist/shared-tree/sharedTreeChangeFormat.js +2 -24
  147. package/dist/shared-tree/sharedTreeChangeFormat.js.map +1 -1
  148. package/dist/shared-tree/transactionPostProcessor.d.ts +28 -0
  149. package/dist/shared-tree/transactionPostProcessor.d.ts.map +1 -0
  150. package/dist/shared-tree/transactionPostProcessor.js +28 -0
  151. package/dist/shared-tree/transactionPostProcessor.js.map +1 -0
  152. package/dist/shared-tree/treeAlpha.js +3 -3
  153. package/dist/shared-tree/treeAlpha.js.map +1 -1
  154. package/dist/shared-tree/treeCheckout.d.ts +28 -15
  155. package/dist/shared-tree/treeCheckout.d.ts.map +1 -1
  156. package/dist/shared-tree/treeCheckout.js +124 -145
  157. package/dist/shared-tree/treeCheckout.js.map +1 -1
  158. package/dist/shared-tree/unhydratedTreeContext.d.ts +5 -5
  159. package/dist/shared-tree/unhydratedTreeContext.d.ts.map +1 -1
  160. package/dist/shared-tree/unhydratedTreeContext.js.map +1 -1
  161. package/dist/shared-tree-core/branch.js +13 -17
  162. package/dist/shared-tree-core/branch.js.map +1 -1
  163. package/dist/shared-tree-core/editManagerCodecs.d.ts +3 -2
  164. package/dist/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
  165. package/dist/shared-tree-core/editManagerCodecs.js.map +1 -1
  166. package/dist/shared-tree-core/editManagerCodecsCommons.d.ts +3 -9
  167. package/dist/shared-tree-core/editManagerCodecsCommons.d.ts.map +1 -1
  168. package/dist/shared-tree-core/editManagerCodecsCommons.js +2 -4
  169. package/dist/shared-tree-core/editManagerCodecsCommons.js.map +1 -1
  170. package/dist/shared-tree-core/editManagerCodecsV1toV4.d.ts +3 -3
  171. package/dist/shared-tree-core/editManagerCodecsV1toV4.d.ts.map +1 -1
  172. package/dist/shared-tree-core/editManagerCodecsV1toV4.js.map +1 -1
  173. package/dist/shared-tree-core/editManagerCodecsVSharedBranches.d.ts +3 -3
  174. package/dist/shared-tree-core/editManagerCodecsVSharedBranches.d.ts.map +1 -1
  175. package/dist/shared-tree-core/editManagerCodecsVSharedBranches.js.map +1 -1
  176. package/dist/shared-tree-core/editManagerFormatCommons.js +2 -24
  177. package/dist/shared-tree-core/editManagerFormatCommons.js.map +1 -1
  178. package/dist/shared-tree-core/editManagerFormatV1toV4.js +2 -24
  179. package/dist/shared-tree-core/editManagerFormatV1toV4.js.map +1 -1
  180. package/dist/shared-tree-core/editManagerFormatVSharedBranches.js +2 -24
  181. package/dist/shared-tree-core/editManagerFormatVSharedBranches.js.map +1 -1
  182. package/dist/shared-tree-core/editManagerSummarizer.d.ts +5 -9
  183. package/dist/shared-tree-core/editManagerSummarizer.d.ts.map +1 -1
  184. package/dist/shared-tree-core/editManagerSummarizer.js +5 -10
  185. package/dist/shared-tree-core/editManagerSummarizer.js.map +1 -1
  186. package/dist/shared-tree-core/index.d.ts +1 -1
  187. package/dist/shared-tree-core/index.d.ts.map +1 -1
  188. package/dist/shared-tree-core/index.js +3 -2
  189. package/dist/shared-tree-core/index.js.map +1 -1
  190. package/dist/shared-tree-core/messageCodecVSharedBranches.js +2 -24
  191. package/dist/shared-tree-core/messageCodecVSharedBranches.js.map +1 -1
  192. package/dist/shared-tree-core/messageFormatV1ToV4.js +2 -24
  193. package/dist/shared-tree-core/messageFormatV1ToV4.js.map +1 -1
  194. package/dist/shared-tree-core/messageFormatVSharedBranches.js +2 -24
  195. package/dist/shared-tree-core/messageFormatVSharedBranches.js.map +1 -1
  196. package/dist/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
  197. package/dist/shared-tree-core/sharedTreeCore.js +9 -44
  198. package/dist/shared-tree-core/sharedTreeCore.js.map +1 -1
  199. package/dist/shared-tree-core/transaction.d.ts +84 -9
  200. package/dist/shared-tree-core/transaction.d.ts.map +1 -1
  201. package/dist/shared-tree-core/transaction.js +94 -37
  202. package/dist/shared-tree-core/transaction.js.map +1 -1
  203. package/dist/simple-tree/api/index.d.ts +1 -1
  204. package/dist/simple-tree/api/index.d.ts.map +1 -1
  205. package/dist/simple-tree/api/index.js.map +1 -1
  206. package/dist/simple-tree/api/schemaCreationUtilities.d.ts +3 -3
  207. package/dist/simple-tree/api/schemaCreationUtilities.js +3 -3
  208. package/dist/simple-tree/api/schemaCreationUtilities.js.map +1 -1
  209. package/dist/simple-tree/api/schemaFactory.d.ts +1 -1
  210. package/dist/simple-tree/api/schemaFactory.js +2 -2
  211. package/dist/simple-tree/api/schemaFactory.js.map +1 -1
  212. package/dist/simple-tree/api/simpleSchemaCodec.js +2 -24
  213. package/dist/simple-tree/api/simpleSchemaCodec.js.map +1 -1
  214. package/dist/simple-tree/api/snapshotCompatibilityChecker.d.ts +2 -2
  215. package/dist/simple-tree/api/snapshotCompatibilityChecker.js +4 -26
  216. package/dist/simple-tree/api/snapshotCompatibilityChecker.js.map +1 -1
  217. package/dist/simple-tree/api/transactionTypes.d.ts +91 -28
  218. package/dist/simple-tree/api/transactionTypes.d.ts.map +1 -1
  219. package/dist/simple-tree/api/transactionTypes.js.map +1 -1
  220. package/dist/simple-tree/api/tree.d.ts +96 -22
  221. package/dist/simple-tree/api/tree.d.ts.map +1 -1
  222. package/dist/simple-tree/api/tree.js.map +1 -1
  223. package/dist/simple-tree/api/treeBeta.d.ts.map +1 -1
  224. package/dist/simple-tree/api/treeBeta.js.map +1 -1
  225. package/dist/simple-tree/core/treeNodeKernel.js +83 -93
  226. package/dist/simple-tree/core/treeNodeKernel.js.map +1 -1
  227. package/dist/simple-tree/core/treeNodeSchema.d.ts +7 -7
  228. package/dist/simple-tree/core/treeNodeSchema.js.map +1 -1
  229. package/dist/simple-tree/core/unhydratedFlexTree.js +6 -10
  230. package/dist/simple-tree/core/unhydratedFlexTree.js.map +1 -1
  231. package/dist/simple-tree/index.d.ts +1 -1
  232. package/dist/simple-tree/index.d.ts.map +1 -1
  233. package/dist/simple-tree/index.js.map +1 -1
  234. package/dist/simple-tree/leafNodeSchema.js +2 -12
  235. package/dist/simple-tree/leafNodeSchema.js.map +1 -1
  236. package/dist/simple-tree/node-kinds/array/arrayNode.js +2 -6
  237. package/dist/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
  238. package/dist/simple-tree/simpleSchemaFormatV1.js +2 -24
  239. package/dist/simple-tree/simpleSchemaFormatV1.js.map +1 -1
  240. package/dist/tableSchema.d.ts +50 -4
  241. package/dist/tableSchema.d.ts.map +1 -1
  242. package/dist/tableSchema.js +202 -106
  243. package/dist/tableSchema.js.map +1 -1
  244. package/dist/text/index.d.ts +1 -0
  245. package/dist/text/index.d.ts.map +1 -1
  246. package/dist/text/index.js +3 -1
  247. package/dist/text/index.js.map +1 -1
  248. package/dist/text/textDomainFormatted.d.ts +69 -758
  249. package/dist/text/textDomainFormatted.d.ts.map +1 -1
  250. package/dist/text/textDomainFormatted.js +275 -322
  251. package/dist/text/textDomainFormatted.js.map +1 -1
  252. package/dist/text/textDomainFormattedDefault.d.ts +273 -0
  253. package/dist/text/textDomainFormattedDefault.d.ts.map +1 -0
  254. package/dist/text/textDomainFormattedDefault.js +94 -0
  255. package/dist/text/textDomainFormattedDefault.js.map +1 -0
  256. package/dist/util/arrayUtilities.d.ts +20 -0
  257. package/dist/util/arrayUtilities.d.ts.map +1 -1
  258. package/dist/util/arrayUtilities.js +24 -1
  259. package/dist/util/arrayUtilities.js.map +1 -1
  260. package/dist/util/compressedIds.d.ts +118 -0
  261. package/dist/util/compressedIds.d.ts.map +1 -0
  262. package/dist/util/compressedIds.js +133 -0
  263. package/dist/util/compressedIds.js.map +1 -0
  264. package/dist/util/index.d.ts +2 -1
  265. package/dist/util/index.d.ts.map +1 -1
  266. package/dist/util/index.js +11 -2
  267. package/dist/util/index.js.map +1 -1
  268. package/dist/util/rangeMap.d.ts +13 -0
  269. package/dist/util/rangeMap.d.ts.map +1 -1
  270. package/dist/util/rangeMap.js +69 -8
  271. package/dist/util/rangeMap.js.map +1 -1
  272. package/dist/util/typeboxBrand.js +2 -24
  273. package/dist/util/typeboxBrand.js.map +1 -1
  274. package/dist/util/utils.js +2 -24
  275. package/dist/util/utils.js.map +1 -1
  276. package/eslint.config.mts +0 -30
  277. package/lib/core/change-family/changeFamily.d.ts +3 -10
  278. package/lib/core/change-family/changeFamily.d.ts.map +1 -1
  279. package/lib/core/change-family/changeFamily.js.map +1 -1
  280. package/lib/core/rebase/types.d.ts +2 -2
  281. package/lib/core/rebase/types.js.map +1 -1
  282. package/lib/core/schema-stored/storedSchemaRepository.d.ts +2 -2
  283. package/lib/core/schema-stored/storedSchemaRepository.js.map +1 -1
  284. package/lib/core/tree/anchorSet.js +1 -5
  285. package/lib/core/tree/anchorSet.js.map +1 -1
  286. package/lib/entrypoints/alpha.d.ts +1 -1
  287. package/lib/entrypoints/alpha.d.ts.map +1 -1
  288. package/lib/entrypoints/alpha.js.map +1 -1
  289. package/lib/entrypoints/beta.d.ts +1 -1
  290. package/lib/entrypoints/beta.d.ts.map +1 -1
  291. package/lib/entrypoints/beta.js.map +1 -1
  292. package/lib/entrypoints/legacy.d.ts +1 -1
  293. package/lib/entrypoints/legacy.d.ts.map +1 -1
  294. package/lib/entrypoints/legacy.js.map +1 -1
  295. package/lib/feature-libraries/chunked-forest/chunkedForest.js +1 -5
  296. package/lib/feature-libraries/chunked-forest/chunkedForest.js.map +1 -1
  297. package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts +19 -14
  298. package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts.map +1 -1
  299. package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.js +14 -33
  300. package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.js.map +1 -1
  301. package/lib/feature-libraries/chunked-forest/codec/codecs.d.ts +85 -28
  302. package/lib/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -1
  303. package/lib/feature-libraries/chunked-forest/codec/codecs.js +82 -9
  304. package/lib/feature-libraries/chunked-forest/codec/codecs.js.map +1 -1
  305. package/lib/feature-libraries/chunked-forest/codec/compressedEncode.d.ts +4 -2
  306. package/lib/feature-libraries/chunked-forest/codec/compressedEncode.d.ts.map +1 -1
  307. package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js +12 -1
  308. package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -1
  309. package/lib/feature-libraries/chunked-forest/codec/index.d.ts +1 -1
  310. package/lib/feature-libraries/chunked-forest/codec/index.d.ts.map +1 -1
  311. package/lib/feature-libraries/chunked-forest/codec/index.js +1 -1
  312. package/lib/feature-libraries/chunked-forest/codec/index.js.map +1 -1
  313. package/lib/feature-libraries/chunked-forest/codec/nodeEncoder.d.ts +1 -1
  314. package/lib/feature-libraries/chunked-forest/codec/nodeEncoder.d.ts.map +1 -1
  315. package/lib/feature-libraries/chunked-forest/codec/nodeEncoder.js +3 -15
  316. package/lib/feature-libraries/chunked-forest/codec/nodeEncoder.js.map +1 -1
  317. package/lib/feature-libraries/chunked-forest/index.d.ts +1 -1
  318. package/lib/feature-libraries/chunked-forest/index.d.ts.map +1 -1
  319. package/lib/feature-libraries/chunked-forest/index.js +1 -1
  320. package/lib/feature-libraries/chunked-forest/index.js.map +1 -1
  321. package/lib/feature-libraries/flex-tree/lazyEntity.js +1 -11
  322. package/lib/feature-libraries/flex-tree/lazyEntity.js.map +1 -1
  323. package/lib/feature-libraries/flex-tree/lazyNode.js +1 -11
  324. package/lib/feature-libraries/flex-tree/lazyNode.js.map +1 -1
  325. package/lib/feature-libraries/forest-summary/codec.d.ts +3 -3
  326. package/lib/feature-libraries/forest-summary/codec.d.ts.map +1 -1
  327. package/lib/feature-libraries/forest-summary/codec.js.map +1 -1
  328. package/lib/feature-libraries/forest-summary/forestSummarizer.d.ts +3 -2
  329. package/lib/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
  330. package/lib/feature-libraries/forest-summary/forestSummarizer.js +4 -6
  331. package/lib/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
  332. package/lib/feature-libraries/index.d.ts +1 -1
  333. package/lib/feature-libraries/index.d.ts.map +1 -1
  334. package/lib/feature-libraries/index.js +1 -1
  335. package/lib/feature-libraries/index.js.map +1 -1
  336. package/lib/feature-libraries/modular-schema/modularChangeCodecV1.d.ts.map +1 -1
  337. package/lib/feature-libraries/modular-schema/modularChangeCodecV1.js +10 -10
  338. package/lib/feature-libraries/modular-schema/modularChangeCodecV1.js.map +1 -1
  339. package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
  340. package/lib/feature-libraries/modular-schema/modularChangeFamily.js +10 -30
  341. package/lib/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
  342. package/lib/feature-libraries/modular-schema/modularChangeTypes.d.ts +0 -5
  343. package/lib/feature-libraries/modular-schema/modularChangeTypes.d.ts.map +1 -1
  344. package/lib/feature-libraries/modular-schema/modularChangeTypes.js.map +1 -1
  345. package/lib/feature-libraries/object-forest/objectForest.js +1 -45
  346. package/lib/feature-libraries/object-forest/objectForest.js.map +1 -1
  347. package/lib/index.d.ts +2 -2
  348. package/lib/index.d.ts.map +1 -1
  349. package/lib/index.js +1 -1
  350. package/lib/index.js.map +1 -1
  351. package/lib/packageVersion.d.ts +1 -1
  352. package/lib/packageVersion.js +1 -1
  353. package/lib/packageVersion.js.map +1 -1
  354. package/lib/shared-tree/independentView.d.ts.map +1 -1
  355. package/lib/shared-tree/independentView.js +5 -8
  356. package/lib/shared-tree/independentView.js.map +1 -1
  357. package/lib/shared-tree/index.d.ts +1 -1
  358. package/lib/shared-tree/index.d.ts.map +1 -1
  359. package/lib/shared-tree/index.js.map +1 -1
  360. package/lib/shared-tree/schematizingTreeView.d.ts +6 -5
  361. package/lib/shared-tree/schematizingTreeView.d.ts.map +1 -1
  362. package/lib/shared-tree/schematizingTreeView.js +4 -38
  363. package/lib/shared-tree/schematizingTreeView.js.map +1 -1
  364. package/lib/shared-tree/sharedTree.d.ts +5 -1
  365. package/lib/shared-tree/sharedTree.d.ts.map +1 -1
  366. package/lib/shared-tree/sharedTree.js +9 -45
  367. package/lib/shared-tree/sharedTree.js.map +1 -1
  368. package/lib/shared-tree/transactionPostProcessor.d.ts +28 -0
  369. package/lib/shared-tree/transactionPostProcessor.d.ts.map +1 -0
  370. package/lib/shared-tree/transactionPostProcessor.js +23 -0
  371. package/lib/shared-tree/transactionPostProcessor.js.map +1 -0
  372. package/lib/shared-tree/treeAlpha.js +3 -3
  373. package/lib/shared-tree/treeAlpha.js.map +1 -1
  374. package/lib/shared-tree/treeCheckout.d.ts +28 -15
  375. package/lib/shared-tree/treeCheckout.d.ts.map +1 -1
  376. package/lib/shared-tree/treeCheckout.js +80 -101
  377. package/lib/shared-tree/treeCheckout.js.map +1 -1
  378. package/lib/shared-tree/unhydratedTreeContext.d.ts +5 -5
  379. package/lib/shared-tree/unhydratedTreeContext.d.ts.map +1 -1
  380. package/lib/shared-tree/unhydratedTreeContext.js.map +1 -1
  381. package/lib/shared-tree-core/branch.js +1 -5
  382. package/lib/shared-tree-core/branch.js.map +1 -1
  383. package/lib/shared-tree-core/editManagerCodecs.d.ts +3 -2
  384. package/lib/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
  385. package/lib/shared-tree-core/editManagerCodecs.js.map +1 -1
  386. package/lib/shared-tree-core/editManagerCodecsCommons.d.ts +3 -9
  387. package/lib/shared-tree-core/editManagerCodecsCommons.d.ts.map +1 -1
  388. package/lib/shared-tree-core/editManagerCodecsCommons.js +3 -5
  389. package/lib/shared-tree-core/editManagerCodecsCommons.js.map +1 -1
  390. package/lib/shared-tree-core/editManagerCodecsV1toV4.d.ts +3 -3
  391. package/lib/shared-tree-core/editManagerCodecsV1toV4.d.ts.map +1 -1
  392. package/lib/shared-tree-core/editManagerCodecsV1toV4.js.map +1 -1
  393. package/lib/shared-tree-core/editManagerCodecsVSharedBranches.d.ts +3 -3
  394. package/lib/shared-tree-core/editManagerCodecsVSharedBranches.d.ts.map +1 -1
  395. package/lib/shared-tree-core/editManagerCodecsVSharedBranches.js.map +1 -1
  396. package/lib/shared-tree-core/editManagerSummarizer.d.ts +5 -9
  397. package/lib/shared-tree-core/editManagerSummarizer.d.ts.map +1 -1
  398. package/lib/shared-tree-core/editManagerSummarizer.js +5 -10
  399. package/lib/shared-tree-core/editManagerSummarizer.js.map +1 -1
  400. package/lib/shared-tree-core/index.d.ts +1 -1
  401. package/lib/shared-tree-core/index.d.ts.map +1 -1
  402. package/lib/shared-tree-core/index.js +1 -1
  403. package/lib/shared-tree-core/index.js.map +1 -1
  404. package/lib/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
  405. package/lib/shared-tree-core/sharedTreeCore.js +4 -39
  406. package/lib/shared-tree-core/sharedTreeCore.js.map +1 -1
  407. package/lib/shared-tree-core/transaction.d.ts +84 -9
  408. package/lib/shared-tree-core/transaction.d.ts.map +1 -1
  409. package/lib/shared-tree-core/transaction.js +74 -17
  410. package/lib/shared-tree-core/transaction.js.map +1 -1
  411. package/lib/simple-tree/api/index.d.ts +1 -1
  412. package/lib/simple-tree/api/index.d.ts.map +1 -1
  413. package/lib/simple-tree/api/index.js.map +1 -1
  414. package/lib/simple-tree/api/schemaCreationUtilities.d.ts +3 -3
  415. package/lib/simple-tree/api/schemaCreationUtilities.js +3 -3
  416. package/lib/simple-tree/api/schemaCreationUtilities.js.map +1 -1
  417. package/lib/simple-tree/api/schemaFactory.d.ts +1 -1
  418. package/lib/simple-tree/api/schemaFactory.js +2 -2
  419. package/lib/simple-tree/api/schemaFactory.js.map +1 -1
  420. package/lib/simple-tree/api/snapshotCompatibilityChecker.d.ts +2 -2
  421. package/lib/simple-tree/api/snapshotCompatibilityChecker.js +2 -2
  422. package/lib/simple-tree/api/snapshotCompatibilityChecker.js.map +1 -1
  423. package/lib/simple-tree/api/transactionTypes.d.ts +91 -28
  424. package/lib/simple-tree/api/transactionTypes.d.ts.map +1 -1
  425. package/lib/simple-tree/api/transactionTypes.js.map +1 -1
  426. package/lib/simple-tree/api/tree.d.ts +96 -22
  427. package/lib/simple-tree/api/tree.d.ts.map +1 -1
  428. package/lib/simple-tree/api/tree.js.map +1 -1
  429. package/lib/simple-tree/api/treeBeta.d.ts.map +1 -1
  430. package/lib/simple-tree/api/treeBeta.js.map +1 -1
  431. package/lib/simple-tree/core/treeNodeKernel.js +1 -11
  432. package/lib/simple-tree/core/treeNodeKernel.js.map +1 -1
  433. package/lib/simple-tree/core/treeNodeSchema.d.ts +7 -7
  434. package/lib/simple-tree/core/treeNodeSchema.js.map +1 -1
  435. package/lib/simple-tree/core/unhydratedFlexTree.js +1 -5
  436. package/lib/simple-tree/core/unhydratedFlexTree.js.map +1 -1
  437. package/lib/simple-tree/index.d.ts +1 -1
  438. package/lib/simple-tree/index.d.ts.map +1 -1
  439. package/lib/simple-tree/index.js.map +1 -1
  440. package/lib/simple-tree/leafNodeSchema.js +1 -11
  441. package/lib/simple-tree/leafNodeSchema.js.map +1 -1
  442. package/lib/simple-tree/node-kinds/array/arrayNode.js +1 -5
  443. package/lib/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
  444. package/lib/tableSchema.d.ts +50 -4
  445. package/lib/tableSchema.d.ts.map +1 -1
  446. package/lib/tableSchema.js +171 -75
  447. package/lib/tableSchema.js.map +1 -1
  448. package/lib/text/index.d.ts +1 -0
  449. package/lib/text/index.d.ts.map +1 -1
  450. package/lib/text/index.js +1 -0
  451. package/lib/text/index.js.map +1 -1
  452. package/lib/text/textDomainFormatted.d.ts +69 -758
  453. package/lib/text/textDomainFormatted.d.ts.map +1 -1
  454. package/lib/text/textDomainFormatted.js +277 -324
  455. package/lib/text/textDomainFormatted.js.map +1 -1
  456. package/lib/text/textDomainFormattedDefault.d.ts +273 -0
  457. package/lib/text/textDomainFormattedDefault.d.ts.map +1 -0
  458. package/lib/text/textDomainFormattedDefault.js +91 -0
  459. package/lib/text/textDomainFormattedDefault.js.map +1 -0
  460. package/lib/util/arrayUtilities.d.ts +20 -0
  461. package/lib/util/arrayUtilities.d.ts.map +1 -1
  462. package/lib/util/arrayUtilities.js +22 -0
  463. package/lib/util/arrayUtilities.js.map +1 -1
  464. package/lib/util/compressedIds.d.ts +118 -0
  465. package/lib/util/compressedIds.d.ts.map +1 -0
  466. package/lib/util/compressedIds.js +124 -0
  467. package/lib/util/compressedIds.js.map +1 -0
  468. package/lib/util/index.d.ts +2 -1
  469. package/lib/util/index.d.ts.map +1 -1
  470. package/lib/util/index.js +2 -1
  471. package/lib/util/index.js.map +1 -1
  472. package/lib/util/rangeMap.d.ts +13 -0
  473. package/lib/util/rangeMap.d.ts.map +1 -1
  474. package/lib/util/rangeMap.js +69 -8
  475. package/lib/util/rangeMap.js.map +1 -1
  476. package/package.json +25 -24
  477. package/src/core/change-family/changeFamily.ts +3 -12
  478. package/src/core/rebase/types.ts +2 -2
  479. package/src/core/schema-stored/storedSchemaRepository.ts +2 -2
  480. package/src/entrypoints/alpha.ts +12 -8
  481. package/src/entrypoints/beta.ts +8 -0
  482. package/src/entrypoints/legacy.ts +8 -0
  483. package/src/feature-libraries/chunked-forest/codec/chunkDecoding.ts +35 -64
  484. package/src/feature-libraries/chunked-forest/codec/codecs.ts +138 -42
  485. package/src/feature-libraries/chunked-forest/codec/compressedEncode.ts +32 -4
  486. package/src/feature-libraries/chunked-forest/codec/index.ts +1 -0
  487. package/src/feature-libraries/chunked-forest/codec/nodeEncoder.ts +7 -19
  488. package/src/feature-libraries/chunked-forest/index.ts +3 -0
  489. package/src/feature-libraries/forest-summary/codec.ts +5 -3
  490. package/src/feature-libraries/forest-summary/forestSummarizer.ts +4 -5
  491. package/src/feature-libraries/index.ts +3 -0
  492. package/src/feature-libraries/modular-schema/modularChangeCodecV1.ts +13 -9
  493. package/src/feature-libraries/modular-schema/modularChangeFamily.ts +14 -47
  494. package/src/feature-libraries/modular-schema/modularChangeTypes.ts +0 -5
  495. package/src/index.ts +13 -8
  496. package/src/packageVersion.ts +1 -1
  497. package/src/shared-tree/independentView.ts +5 -10
  498. package/src/shared-tree/index.ts +1 -0
  499. package/src/shared-tree/schematizingTreeView.ts +29 -25
  500. package/src/shared-tree/sharedTree.ts +18 -10
  501. package/src/shared-tree/transactionPostProcessor.ts +40 -0
  502. package/src/shared-tree/treeAlpha.ts +3 -3
  503. package/src/shared-tree/treeCheckout.ts +120 -95
  504. package/src/shared-tree/unhydratedTreeContext.ts +18 -15
  505. package/src/shared-tree-core/editManagerCodecs.ts +3 -2
  506. package/src/shared-tree-core/editManagerCodecsCommons.ts +10 -14
  507. package/src/shared-tree-core/editManagerCodecsV1toV4.ts +3 -2
  508. package/src/shared-tree-core/editManagerCodecsVSharedBranches.ts +3 -2
  509. package/src/shared-tree-core/editManagerSummarizer.ts +5 -9
  510. package/src/shared-tree-core/index.ts +8 -5
  511. package/src/shared-tree-core/sharedTreeCore.ts +3 -2
  512. package/src/shared-tree-core/transaction.ts +148 -18
  513. package/src/simple-tree/api/index.ts +13 -9
  514. package/src/simple-tree/api/schemaCreationUtilities.ts +3 -3
  515. package/src/simple-tree/api/schemaFactory.ts +2 -2
  516. package/src/simple-tree/api/snapshotCompatibilityChecker.ts +2 -2
  517. package/src/simple-tree/api/transactionTypes.ts +111 -39
  518. package/src/simple-tree/api/tree.ts +152 -47
  519. package/src/simple-tree/api/treeBeta.ts +2 -0
  520. package/src/simple-tree/core/treeNodeSchema.ts +7 -7
  521. package/src/simple-tree/index.ts +12 -8
  522. package/src/tableSchema.ts +306 -80
  523. package/src/text/index.ts +1 -0
  524. package/src/text/textDomainFormatted.ts +520 -415
  525. package/src/text/textDomainFormattedDefault.ts +150 -0
  526. package/src/util/arrayUtilities.ts +35 -0
  527. package/src/util/compressedIds.ts +216 -0
  528. package/src/util/index.ts +17 -0
  529. package/src/util/rangeMap.ts +108 -9
  530. package/tsconfig.json +5 -0
@@ -1 +1 @@
1
- {"version":3,"file":"alpha.js","sourceRoot":"","sources":["../../src/entrypoints/alpha.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;AAEH;;;GAGG;AAEH,wCAuTqB;AApTpB,sGAAA,UAAU,OAAA;AAEV,qGAAA,SAAS,OAAA;AAET,uGAAA,WAAW,OAAA;AAaX,yGAAA,aAAa,OAAA;AAGb,oHAAA,wBAAwB,OAAA;AASxB,oGAAA,QAAQ,OAAA;AAWR,4GAAA,gBAAgB,OAAA;AAGhB,yGAAA,aAAa,OAAA;AAMb,gGAAA,IAAI,OAAA;AACJ,yGAAA,aAAa,OAAA;AAKb,oGAAA,QAAQ,OAAA;AAQR,sGAAA,UAAU,OAAA;AAEV,iHAAA,qBAAqB,OAAA;AASrB,oGAAA,QAAQ,OAAA;AAmBR,+GAAA,mBAAmB,OAAA;AAEnB,mHAAA,uBAAuB,OAAA;AAGvB,oHAAA,wBAAwB,OAAA;AACxB,+GAAA,mBAAmB,OAAA;AACnB,+GAAA,mBAAmB,OAAA;AAInB,8GAAA,kBAAkB,OAAA;AAKlB,6GAAA,iBAAiB,OAAA;AAOjB,uGAAA,WAAW,OAAA;AACX,oGAAA,QAAQ,OAAA;AAcR,qGAAA,SAAS,OAAA;AACT,kGAAA,MAAM,OAAA;AACN,oHAAA,wBAAwB,OAAA;AACxB,iHAAA,qBAAqB,OAAA;AACrB,qHAAA,yBAAyB,OAAA;AACzB,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AACf,uHAAA,2BAA2B,OAAA;AAa3B,2GAAA,eAAe,OAAA;AAoBf,8GAAA,kBAAkB,OAAA;AAElB,gHAAA,oBAAoB,OAAA;AACpB,+GAAA,mBAAmB,OAAA;AAanB,sGAAA,UAAU,OAAA;AAsBV,yGAAA,aAAa,OAAA;AAQb,4GAAA,gBAAgB,OAAA;AAQhB,4GAAA,gBAAgB,OAAA;AAKhB,8GAAA,kBAAkB,OAAA;AAgBlB,sGAAA,UAAU,OAAA;AAQV,qGAAA,SAAS,OAAA;AAKT,mHAAA,uBAAuB,OAAA;AAQvB,sHAAA,0BAA0B,OAAA;AAE1B,uGAAA,WAAW,OAAA;AAMX,uGAAA,WAAW,OAAA;AACX,mGAAA,OAAO,OAAA;AACP,2GAAA,eAAe,OAAA;AACf,8GAAA,kBAAkB,OAAA;AAClB,iHAAA,qBAAqB,OAAA;AACrB,kHAAA,sBAAsB,OAAA;AACtB,qHAAA,yBAAyB,OAAA;AACzB,+GAAA,mBAAmB,OAAA;AACnB,sHAAA,0BAA0B,OAAA;AAC1B,sHAAA,0BAA0B,OAAA;AAC1B,6HAAA,iCAAiC,OAAA;AACjC,6HAAA,iCAAiC,OAAA;AACjC,8GAAA,kBAAkB,OAAA;AAClB,0HAAA,8BAA8B,OAAA;AAC9B,8GAAA,kBAAkB,OAAA;AAClB,6HAAA,iCAAiC,OAAA;AACjC,kHAAA,sBAAsB,OAAA;AACtB,0HAAA,8BAA8B,OAAA;AAC9B,yGAAA,aAAa,OAAA;AACb,2GAAA,eAAe,OAAA;AACf,6HAAA,iCAAiC,OAAA;AACjC,oIAAA,wCAAwC,OAAA;AACxC,kHAAA,sBAAsB,OAAA;AACtB,sHAAA,0BAA0B,OAAA;AAC1B,2GAAA,eAAe,OAAA;AACf,iHAAA,qBAAqB,OAAA;AACrB,mHAAA,uBAAuB,OAAA;AACvB,qHAAA,yBAAyB,OAAA;AACzB,0GAAA,cAAc,OAAA;AACd,qHAAA,yBAAyB,OAAA;AACzB,2GAAA,eAAe,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/*\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.\n * Generated by \"generate:entrypoint-sources\".\n */\n\nexport {\n\t// #region @public APIs\n\tAllowedTypes, \n\tCommitKind, \n\tCommitMetadata, \n\tFieldKind, \n\tFieldProps, \n\tFieldSchema, \n\tFieldSchemaMetadata, \n\tITree, \n\tITreeConfigurationOptions, \n\tITreeViewConfiguration, \n\tImplicitAllowedTypes, \n\tImplicitFieldSchema, \n\tInput, \n\tInsertableTreeFieldFromImplicitField, \n\tInsertableTreeNodeFromAllowedTypes, \n\tInsertableTreeNodeFromImplicitAllowedTypes, \n\tInsertableTypedNode, \n\tInternalTreeNode, \n\tInternalTypes, \n\tIsListener, \n\tIsUnion, \n\tIterableTreeArrayContent, \n\tLazyItem, \n\tLeafSchema, \n\tListenable, \n\tListeners, \n\tMakeNominal, \n\tMapNodeInsertableData, \n\tNodeFromSchema, \n\tNodeInDocumentConstraint, \n\tNodeKind, \n\tNodeSchemaMetadata, \n\tNodeSchemaOptions, \n\tNumberKeys, \n\tObjectFromSchemaRecord, \n\tOff, \n\tReadonlyArrayNode, \n\tRestrictiveReadonlyRecord, \n\tRestrictiveStringRecord, \n\tRevertible, \n\tRevertibleFactory, \n\tRevertibleStatus, \n\tRunTransaction, \n\tSchemaCompatibilityStatus, \n\tSchemaFactory, \n\tSchemaFactory_base, \n\tSchemaStatics, \n\tSimpleNodeSchemaBase, \n\tSystem_Unsafe, \n\tTransactionConstraint, \n\tTree, \n\tTreeArrayNode, \n\tTreeChangeEvents, \n\tTreeFieldFromImplicitField, \n\tTreeLeafValue, \n\tTreeMapNode, \n\tTreeNode, \n\tTreeNodeApi, \n\tTreeNodeFromImplicitAllowedTypes, \n\tTreeNodeSchema, \n\tTreeNodeSchemaClass, \n\tTreeNodeSchemaCore, \n\tTreeNodeSchemaNonClass, \n\tTreeObjectNode, \n\tTreeStatus, \n\tTreeView, \n\tTreeViewConfiguration, \n\tTreeViewEvents, \n\tUnenforced, \n\tUnhydrated, \n\tUnionToIntersection, \n\tValidateRecursiveSchema, \n\tValidateRecursiveSchemaTemplate, \n\tViewableTree, \n\tWithType, \n\trollback, \n\ttypeSchemaSymbol,\n\t// #endregion\n \n\t// #region @beta APIs\n\tAllowedTypeMetadata, \n\tAllowedTypesFull, \n\tAllowedTypesFullEvaluated, \n\tAllowedTypesFullFromMixed, \n\tAllowedTypesFullFromMixedUnsafe, \n\tAllowedTypesMetadata, \n\tAnnotateAllowedTypesList, \n\tAnnotateAllowedTypesListUnsafe, \n\tAnnotatedAllowedType, \n\tAnnotatedAllowedTypeUnsafe, \n\tAnnotatedAllowedTypes, \n\tAnnotatedAllowedTypesUnsafe, \n\tCodecWriteOptionsBeta, \n\tConciseTree, \n\tExtensibleUnionNode, \n\tFixRecursiveArraySchema, \n\tFluidSerializableAsTree, \n\tForestOptions, \n\tForestType, \n\tForestTypeExpensiveDebug, \n\tForestTypeOptimized, \n\tForestTypeReference, \n\tIdentifierIndex, \n\tJsonCompatible, \n\tJsonCompatibleObject, \n\tKeyEncodingOptions, \n\tNodeChangedData, \n\tObjectSchemaOptions, \n\tPopUnion, \n\tRecordNodeInsertableData, \n\tSchemaFactoryBeta, \n\tSchemaStaticsBeta, \n\tSchemaUpgrade, \n\tSharedTreeOptionsBeta, \n\tSnapshotFileSystem, \n\tSnapshotSchemaCompatibilityOptions, \n\tSystem_TableSchema, \n\tTableSchema, \n\tTreeBeta, \n\tTreeBranch, \n\tTreeChangeEventsBeta, \n\tTreeEncodingOptions, \n\tTreeIndex, \n\tTreeIndexKey, \n\tTreeIndexNodes, \n\tTreeRecordNode, \n\tTreeRecordNodeUnsafe, \n\tTreeViewBeta, \n\tUnannotateAllowedTypeUnsafe, \n\tUnannotateAllowedTypesList, \n\tUnannotateAllowedTypesListUnsafe, \n\tUnionToTuple, \n\tadaptEnum, \n\tasBeta, \n\tconfiguredSharedTreeBeta, \n\tcreateIdentifierIndex, \n\tcreateIndependentTreeBeta, \n\tcreateTreeIndex, \n\tenumFromStrings, \n\tsingletonSchema, \n\tsnapshotSchemaCompatibility,\n\t// #endregion\n \n\t// #region @alpha APIs\n\tAllowedTypesFullUnsafe, \n\tArrayNodeCustomizableSchema, \n\tArrayNodeCustomizableSchemaAlpha, \n\tArrayNodeCustomizableSchemaUnsafe, \n\tArrayNodeDeltaOp, \n\tArrayNodeInsertOp, \n\tArrayNodePojoEmulationSchema, \n\tArrayNodeRemoveOp, \n\tArrayNodeRetainOp, \n\tArrayNodeSchema, \n\tArrayNodeTreeChangedDeltaOp, \n\tArrayNodeTreeChangedRetainOp, \n\tArrayPlaceAnchor, \n\tChangeMetadata, \n\tCodecName, \n\tCodecWriteOptions, \n\tCreateIndependentTreeAlphaOptions, \n\tDirtyTreeMap, \n\tDirtyTreeStatus, \n\tErasedNode, \n\tErasedSchema, \n\tErasedSchemaSubclassable, \n\tFactoryContent, \n\tFactoryContentObject, \n\tFieldHasDefaultAlpha, \n\tFieldHasDefaultAlphaUnsafe, \n\tFieldPropsAlpha, \n\tFieldSchemaAlpha, \n\tFieldSchemaAlphaUnsafe, \n\tFluidClientVersion, \n\tFormatValidator, \n\tFormatValidatorBasic, \n\tFormatValidatorNoOp, \n\tFormatVersion, \n\tHandleConverter, \n\tICodecOptions, \n\tITreeAlpha, \n\tIncrementalEncodingPolicy, \n\tIndependentViewOptions, \n\tInsertable, \n\tInsertableContent, \n\tInsertableField, \n\tInsertableObjectFromSchemaRecordAlpha, \n\tInsertableObjectFromSchemaRecordAlphaUnsafe, \n\tJsonArrayNodeSchema, \n\tJsonAsTree, \n\tJsonCompatibleReadOnly, \n\tJsonCompatibleReadOnlyObject, \n\tJsonFieldSchema, \n\tJsonLeafNodeSchema, \n\tJsonLeafSchemaType, \n\tJsonMapNodeSchema, \n\tJsonNodeSchema, \n\tJsonNodeSchemaBase, \n\tJsonObjectNodeSchema, \n\tJsonRecordNodeSchema, \n\tJsonRefPath, \n\tJsonSchemaId, \n\tJsonSchemaRef, \n\tJsonSchemaType, \n\tJsonStringKeyPatternProperties, \n\tJsonTreeSchema, \n\tLabelTree, \n\tLocalChangeMetadata, \n\tMapNodeCustomizableSchema, \n\tMapNodeCustomizableSchemaUnsafe, \n\tMapNodePojoEmulationSchema, \n\tMapNodeSchema, \n\tNoChangeConstraint, \n\tNodeChangedDataAlpha, \n\tNodeChangedDataDelta, \n\tNodeChangedDataProperties, \n\tNodeChangedDataTreeDelta, \n\tNodeProvider, \n\tNodeSchemaOptionsAlpha, \n\tObjectNodeSchema, \n\tObjectNodeSchemaWorkaround, \n\tObjectSchemaOptionsAlpha, \n\tObservationResults, \n\tReadSchema, \n\tReadableField, \n\tRecordNodeCustomizableSchema, \n\tRecordNodePojoEmulationSchema, \n\tRecordNodeSchema, \n\tRemoteChangeMetadata, \n\tRevertibleAlpha, \n\tRevertibleAlphaFactory, \n\tRunTransactionParams, \n\tSchemaFactoryAlpha, \n\tSchemaStaticsAlpha, \n\tSchemaType, \n\tSharedTreeFormatOptions, \n\tSharedTreeOptions, \n\tSimpleAllowedTypeAttributes, \n\tSimpleArrayNodeSchema, \n\tSimpleFieldSchema, \n\tSimpleLeafNodeSchema, \n\tSimpleMapNodeSchema, \n\tSimpleNodeSchema, \n\tSimpleNodeSchemaBaseAlpha, \n\tSimpleObjectFieldSchema, \n\tSimpleObjectNodeSchema, \n\tSimpleRecordNodeSchema, \n\tSimpleTreeSchema, \n\tTextAsTree, \n\tTransactionCallbackStatus, \n\tTransactionConstraintAlpha, \n\tTransactionLabels, \n\tTransactionResult, \n\tTransactionResultExt, \n\tTransactionResultFailed, \n\tTransactionResultSuccess, \n\tTreeAlpha, \n\tTreeArrayNodeAlpha, \n\tTreeBranchAlpha, \n\tTreeBranchEvents, \n\tTreeChangeEventsAlpha, \n\tTreeCompressionStrategy, \n\tTreeContextAlpha, \n\tTreeIdentifierUtils, \n\tTreeMapNodeAlpha, \n\tTreeParsingOptions, \n\tTreeSchema, \n\tTreeSchemaEncodingOptions, \n\tTreeViewAlpha, \n\tTreeViewConfigurationAlpha, \n\tUnsafeUnknownSchema, \n\tValueSchema, \n\tVerboseTree, \n\tVerboseTreeNode, \n\tViewContent, \n\tVoidTransactionCallbackStatus, \n\tWithValue, \n\tallowUnused, \n\tasAlpha, \n\tasTreeViewAlpha, \n\tcheckCompatibility, \n\tcloneWithReplacements, \n\tcomparePersistedSchema, \n\tconfiguredSharedTreeAlpha, \n\tcontentSchemaSymbol, \n\tcreateArrayInsertionAnchor, \n\tcreateIndependentTreeAlpha, \n\tdecodeSchemaCompatibilitySnapshot, \n\tencodeSchemaCompatibilitySnapshot, \n\teraseSchemaDetails, \n\teraseSchemaDetailsSubclassable, \n\tevaluateLazySchema, \n\texportCompatibilitySchemaSnapshot, \n\textractPersistedSchema, \n\tgenerateSchemaFromSimpleSchema, \n\tgetJsonSchema, \n\tgetSimpleSchema, \n\timportCompatibilitySchemaSnapshot, \n\tincrementalEncodingPolicyForAllowedTypes, \n\tincrementalSummaryHint, \n\tindependentInitializedView, \n\tindependentView, \n\tnormalizeAllowedTypes, \n\tpersistedToSimpleSchema, \n\treplaceConciseTreeHandles, \n\treplaceHandles, \n\treplaceVerboseTreeHandles, \n\ttrackDirtyNodes\n\t// #endregion\n} from \"../index.js\";\n"]}
1
+ {"version":3,"file":"alpha.js","sourceRoot":"","sources":["../../src/entrypoints/alpha.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;AAEH;;;GAGG;AAEH,wCA2TqB;AAxTpB,sGAAA,UAAU,OAAA;AAEV,qGAAA,SAAS,OAAA;AAET,uGAAA,WAAW,OAAA;AAaX,yGAAA,aAAa,OAAA;AAGb,oHAAA,wBAAwB,OAAA;AASxB,oGAAA,QAAQ,OAAA;AAWR,4GAAA,gBAAgB,OAAA;AAGhB,yGAAA,aAAa,OAAA;AAMb,gGAAA,IAAI,OAAA;AACJ,yGAAA,aAAa,OAAA;AAKb,oGAAA,QAAQ,OAAA;AAQR,sGAAA,UAAU,OAAA;AAEV,iHAAA,qBAAqB,OAAA;AASrB,oGAAA,QAAQ,OAAA;AAmBR,+GAAA,mBAAmB,OAAA;AAEnB,mHAAA,uBAAuB,OAAA;AAGvB,oHAAA,wBAAwB,OAAA;AACxB,+GAAA,mBAAmB,OAAA;AACnB,+GAAA,mBAAmB,OAAA;AAInB,8GAAA,kBAAkB,OAAA;AAMlB,6GAAA,iBAAiB,OAAA;AAOjB,uGAAA,WAAW,OAAA;AAMX,oGAAA,QAAQ,OAAA;AAgBR,qGAAA,SAAS,OAAA;AACT,kGAAA,MAAM,OAAA;AACN,oHAAA,wBAAwB,OAAA;AACxB,iHAAA,qBAAqB,OAAA;AACrB,qHAAA,yBAAyB,OAAA;AACzB,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AACf,uHAAA,2BAA2B,OAAA;AAa3B,2GAAA,eAAe,OAAA;AAoBf,8GAAA,kBAAkB,OAAA;AAElB,gHAAA,oBAAoB,OAAA;AACpB,+GAAA,mBAAmB,OAAA;AAanB,sGAAA,UAAU,OAAA;AAsBV,yGAAA,aAAa,OAAA;AAQb,4GAAA,gBAAgB,OAAA;AAQhB,4GAAA,gBAAgB,OAAA;AAKhB,8GAAA,kBAAkB,OAAA;AAgBlB,sGAAA,UAAU,OAAA;AAKV,qGAAA,SAAS,OAAA;AAKT,mHAAA,uBAAuB,OAAA;AAQvB,sHAAA,0BAA0B,OAAA;AAE1B,uGAAA,WAAW,OAAA;AAKX,uGAAA,WAAW,OAAA;AACX,mGAAA,OAAO,OAAA;AACP,2GAAA,eAAe,OAAA;AACf,8GAAA,kBAAkB,OAAA;AAClB,iHAAA,qBAAqB,OAAA;AACrB,kHAAA,sBAAsB,OAAA;AACtB,qHAAA,yBAAyB,OAAA;AACzB,+GAAA,mBAAmB,OAAA;AACnB,sHAAA,0BAA0B,OAAA;AAC1B,sHAAA,0BAA0B,OAAA;AAC1B,6HAAA,iCAAiC,OAAA;AACjC,6HAAA,iCAAiC,OAAA;AACjC,8GAAA,kBAAkB,OAAA;AAClB,0HAAA,8BAA8B,OAAA;AAC9B,8GAAA,kBAAkB,OAAA;AAClB,6HAAA,iCAAiC,OAAA;AACjC,kHAAA,sBAAsB,OAAA;AACtB,0HAAA,8BAA8B,OAAA;AAC9B,yGAAA,aAAa,OAAA;AACb,2GAAA,eAAe,OAAA;AACf,6HAAA,iCAAiC,OAAA;AACjC,oIAAA,wCAAwC,OAAA;AACxC,kHAAA,sBAAsB,OAAA;AACtB,sHAAA,0BAA0B,OAAA;AAC1B,2GAAA,eAAe,OAAA;AACf,iHAAA,qBAAqB,OAAA;AACrB,mHAAA,uBAAuB,OAAA;AACvB,qHAAA,yBAAyB,OAAA;AACzB,0GAAA,cAAc,OAAA;AACd,qHAAA,yBAAyB,OAAA;AACzB,2GAAA,eAAe,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/*\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.\n * Generated by \"generate:entrypoint-sources\".\n */\n\nexport {\n\t// #region @public APIs\n\tAllowedTypes, \n\tCommitKind, \n\tCommitMetadata, \n\tFieldKind, \n\tFieldProps, \n\tFieldSchema, \n\tFieldSchemaMetadata, \n\tITree, \n\tITreeConfigurationOptions, \n\tITreeViewConfiguration, \n\tImplicitAllowedTypes, \n\tImplicitFieldSchema, \n\tInput, \n\tInsertableTreeFieldFromImplicitField, \n\tInsertableTreeNodeFromAllowedTypes, \n\tInsertableTreeNodeFromImplicitAllowedTypes, \n\tInsertableTypedNode, \n\tInternalTreeNode, \n\tInternalTypes, \n\tIsListener, \n\tIsUnion, \n\tIterableTreeArrayContent, \n\tLazyItem, \n\tLeafSchema, \n\tListenable, \n\tListeners, \n\tMakeNominal, \n\tMapNodeInsertableData, \n\tNodeFromSchema, \n\tNodeInDocumentConstraint, \n\tNodeKind, \n\tNodeSchemaMetadata, \n\tNodeSchemaOptions, \n\tNumberKeys, \n\tObjectFromSchemaRecord, \n\tOff, \n\tReadonlyArrayNode, \n\tRestrictiveReadonlyRecord, \n\tRestrictiveStringRecord, \n\tRevertible, \n\tRevertibleFactory, \n\tRevertibleStatus, \n\tRunTransaction, \n\tSchemaCompatibilityStatus, \n\tSchemaFactory, \n\tSchemaFactory_base, \n\tSchemaStatics, \n\tSimpleNodeSchemaBase, \n\tSystem_Unsafe, \n\tTransactionConstraint, \n\tTree, \n\tTreeArrayNode, \n\tTreeChangeEvents, \n\tTreeFieldFromImplicitField, \n\tTreeLeafValue, \n\tTreeMapNode, \n\tTreeNode, \n\tTreeNodeApi, \n\tTreeNodeFromImplicitAllowedTypes, \n\tTreeNodeSchema, \n\tTreeNodeSchemaClass, \n\tTreeNodeSchemaCore, \n\tTreeNodeSchemaNonClass, \n\tTreeObjectNode, \n\tTreeStatus, \n\tTreeView, \n\tTreeViewConfiguration, \n\tTreeViewEvents, \n\tUnenforced, \n\tUnhydrated, \n\tUnionToIntersection, \n\tValidateRecursiveSchema, \n\tValidateRecursiveSchemaTemplate, \n\tViewableTree, \n\tWithType, \n\trollback, \n\ttypeSchemaSymbol,\n\t// #endregion\n \n\t// #region @beta APIs\n\tAllowedTypeMetadata, \n\tAllowedTypesFull, \n\tAllowedTypesFullEvaluated, \n\tAllowedTypesFullFromMixed, \n\tAllowedTypesFullFromMixedUnsafe, \n\tAllowedTypesMetadata, \n\tAnnotateAllowedTypesList, \n\tAnnotateAllowedTypesListUnsafe, \n\tAnnotatedAllowedType, \n\tAnnotatedAllowedTypeUnsafe, \n\tAnnotatedAllowedTypes, \n\tAnnotatedAllowedTypesUnsafe, \n\tCodecWriteOptionsBeta, \n\tConciseTree, \n\tExtensibleUnionNode, \n\tFixRecursiveArraySchema, \n\tFluidSerializableAsTree, \n\tForestOptions, \n\tForestType, \n\tForestTypeExpensiveDebug, \n\tForestTypeOptimized, \n\tForestTypeReference, \n\tIdentifierIndex, \n\tJsonCompatible, \n\tJsonCompatibleObject, \n\tKeyEncodingOptions, \n\tNodeChangedData, \n\tObjectSchemaOptions, \n\tPopUnion, \n\tRecordNodeInsertableData, \n\tRunTransactionParamsBeta, \n\tSchemaFactoryBeta, \n\tSchemaStaticsBeta, \n\tSchemaUpgrade, \n\tSharedTreeOptionsBeta, \n\tSnapshotFileSystem, \n\tSnapshotSchemaCompatibilityOptions, \n\tSystem_TableSchema, \n\tTableSchema, \n\tTransactionCallbackStatusBeta, \n\tTransactionResultFailed, \n\tTransactionResultSuccess, \n\tTransactionValueResult, \n\tTransactionVoidResult, \n\tTreeBeta, \n\tTreeBranch, \n\tTreeChangeEventsBeta, \n\tTreeEncodingOptions, \n\tTreeIndex, \n\tTreeIndexKey, \n\tTreeIndexNodes, \n\tTreeRecordNode, \n\tTreeRecordNodeUnsafe, \n\tTreeViewBeta, \n\tUnannotateAllowedTypeUnsafe, \n\tUnannotateAllowedTypesList, \n\tUnannotateAllowedTypesListUnsafe, \n\tUnionToTuple, \n\tVoidTransactionCallbackStatusBeta, \n\tWithValue, \n\tadaptEnum, \n\tasBeta, \n\tconfiguredSharedTreeBeta, \n\tcreateIdentifierIndex, \n\tcreateIndependentTreeBeta, \n\tcreateTreeIndex, \n\tenumFromStrings, \n\tsingletonSchema, \n\tsnapshotSchemaCompatibility,\n\t// #endregion\n \n\t// #region @alpha APIs\n\tAllowedTypesFullUnsafe, \n\tArrayNodeCustomizableSchema, \n\tArrayNodeCustomizableSchemaAlpha, \n\tArrayNodeCustomizableSchemaUnsafe, \n\tArrayNodeDeltaOp, \n\tArrayNodeInsertOp, \n\tArrayNodePojoEmulationSchema, \n\tArrayNodeRemoveOp, \n\tArrayNodeRetainOp, \n\tArrayNodeSchema, \n\tArrayNodeTreeChangedDeltaOp, \n\tArrayNodeTreeChangedRetainOp, \n\tArrayPlaceAnchor, \n\tChangeMetadata, \n\tCodecName, \n\tCodecWriteOptions, \n\tCreateIndependentTreeAlphaOptions, \n\tDirtyTreeMap, \n\tDirtyTreeStatus, \n\tErasedNode, \n\tErasedSchema, \n\tErasedSchemaSubclassable, \n\tFactoryContent, \n\tFactoryContentObject, \n\tFieldHasDefaultAlpha, \n\tFieldHasDefaultAlphaUnsafe, \n\tFieldPropsAlpha, \n\tFieldSchemaAlpha, \n\tFieldSchemaAlphaUnsafe, \n\tFluidClientVersion, \n\tFormatValidator, \n\tFormatValidatorBasic, \n\tFormatValidatorNoOp, \n\tFormatVersion, \n\tHandleConverter, \n\tICodecOptions, \n\tITreeAlpha, \n\tIncrementalEncodingPolicy, \n\tIndependentViewOptions, \n\tInsertable, \n\tInsertableContent, \n\tInsertableField, \n\tInsertableObjectFromSchemaRecordAlpha, \n\tInsertableObjectFromSchemaRecordAlphaUnsafe, \n\tJsonArrayNodeSchema, \n\tJsonAsTree, \n\tJsonCompatibleReadOnly, \n\tJsonCompatibleReadOnlyObject, \n\tJsonFieldSchema, \n\tJsonLeafNodeSchema, \n\tJsonLeafSchemaType, \n\tJsonMapNodeSchema, \n\tJsonNodeSchema, \n\tJsonNodeSchemaBase, \n\tJsonObjectNodeSchema, \n\tJsonRecordNodeSchema, \n\tJsonRefPath, \n\tJsonSchemaId, \n\tJsonSchemaRef, \n\tJsonSchemaType, \n\tJsonStringKeyPatternProperties, \n\tJsonTreeSchema, \n\tLabelTree, \n\tLocalChangeMetadata, \n\tMapNodeCustomizableSchema, \n\tMapNodeCustomizableSchemaUnsafe, \n\tMapNodePojoEmulationSchema, \n\tMapNodeSchema, \n\tNoChangeConstraint, \n\tNodeChangedDataAlpha, \n\tNodeChangedDataDelta, \n\tNodeChangedDataProperties, \n\tNodeChangedDataTreeDelta, \n\tNodeProvider, \n\tNodeSchemaOptionsAlpha, \n\tObjectNodeSchema, \n\tObjectNodeSchemaWorkaround, \n\tObjectSchemaOptionsAlpha, \n\tObservationResults, \n\tReadSchema, \n\tReadableField, \n\tRecordNodeCustomizableSchema, \n\tRecordNodePojoEmulationSchema, \n\tRecordNodeSchema, \n\tRemoteChangeMetadata, \n\tRevertibleAlpha, \n\tRevertibleAlphaFactory, \n\tRunTransactionParamsAlpha, \n\tSchemaFactoryAlpha, \n\tSchemaStaticsAlpha, \n\tSchemaType, \n\tSharedTreeFormatOptions, \n\tSharedTreeOptions, \n\tSimpleAllowedTypeAttributes, \n\tSimpleArrayNodeSchema, \n\tSimpleFieldSchema, \n\tSimpleLeafNodeSchema, \n\tSimpleMapNodeSchema, \n\tSimpleNodeSchema, \n\tSimpleNodeSchemaBaseAlpha, \n\tSimpleObjectFieldSchema, \n\tSimpleObjectNodeSchema, \n\tSimpleRecordNodeSchema, \n\tSimpleTreeSchema, \n\tTextAsTree, \n\tTransactionCallbackStatusAlpha, \n\tTransactionConstraintAlpha, \n\tTransactionLabels, \n\tTransactionPostProcessor, \n\tTreeAlpha, \n\tTreeArrayNodeAlpha, \n\tTreeBranchAlpha, \n\tTreeBranchEvents, \n\tTreeChangeEventsAlpha, \n\tTreeCompressionStrategy, \n\tTreeContextAlpha, \n\tTreeIdentifierUtils, \n\tTreeMapNodeAlpha, \n\tTreeParsingOptions, \n\tTreeSchema, \n\tTreeSchemaEncodingOptions, \n\tTreeViewAlpha, \n\tTreeViewConfigurationAlpha, \n\tUnsafeUnknownSchema, \n\tValueSchema, \n\tVerboseTree, \n\tVerboseTreeNode, \n\tViewContent, \n\tVoidTransactionCallbackStatusAlpha, \n\tallowUnused, \n\tasAlpha, \n\tasTreeViewAlpha, \n\tcheckCompatibility, \n\tcloneWithReplacements, \n\tcomparePersistedSchema, \n\tconfiguredSharedTreeAlpha, \n\tcontentSchemaSymbol, \n\tcreateArrayInsertionAnchor, \n\tcreateIndependentTreeAlpha, \n\tdecodeSchemaCompatibilitySnapshot, \n\tencodeSchemaCompatibilitySnapshot, \n\teraseSchemaDetails, \n\teraseSchemaDetailsSubclassable, \n\tevaluateLazySchema, \n\texportCompatibilitySchemaSnapshot, \n\textractPersistedSchema, \n\tgenerateSchemaFromSimpleSchema, \n\tgetJsonSchema, \n\tgetSimpleSchema, \n\timportCompatibilitySchemaSnapshot, \n\tincrementalEncodingPolicyForAllowedTypes, \n\tincrementalSummaryHint, \n\tindependentInitializedView, \n\tindependentView, \n\tnormalizeAllowedTypes, \n\tpersistedToSimpleSchema, \n\treplaceConciseTreeHandles, \n\treplaceHandles, \n\treplaceVerboseTreeHandles, \n\ttrackDirtyNodes\n\t// #endregion\n} from \"../index.js\";\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, SchemaFactoryBeta, SchemaStaticsBeta, SchemaUpgrade, SharedTreeOptionsBeta, SnapshotFileSystem, SnapshotSchemaCompatibilityOptions, System_TableSchema, TableSchema, TreeBeta, TreeBranch, TreeChangeEventsBeta, TreeEncodingOptions, TreeIndex, TreeIndexKey, TreeIndexNodes, TreeRecordNode, TreeRecordNodeUnsafe, TreeViewBeta, UnannotateAllowedTypeUnsafe, UnannotateAllowedTypesList, UnannotateAllowedTypesListUnsafe, UnionToTuple, adaptEnum, asBeta, configuredSharedTreeBeta, createIdentifierIndex, createIndependentTreeBeta, createTreeIndex, enumFromStrings, singletonSchema, snapshotSchemaCompatibility } 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 } from "../index.js";
6
6
  //# sourceMappingURL=beta.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"beta.d.ts","sourceRoot":"","sources":["../../src/entrypoints/beta.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,EAEN,YAAY,EACZ,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,KAAK,EACL,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,KAAK,EACL,oCAAoC,EACpC,kCAAkC,EAClC,0CAA0C,EAC1C,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,OAAO,EACP,wBAAwB,EACxB,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,qBAAqB,EACrB,cAAc,EACd,wBAAwB,EACxB,QAAQ,EACR,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,sBAAsB,EACtB,GAAG,EACH,iBAAiB,EACjB,yBAAyB,EACzB,uBAAuB,EACvB,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EACzB,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACrB,IAAI,EACJ,aAAa,EACb,gBAAgB,EAChB,0BAA0B,EAC1B,aAAa,EACb,WAAW,EACX,QAAQ,EACR,WAAW,EACX,gCAAgC,EAChC,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EACd,UAAU,EACV,QAAQ,EACR,qBAAqB,EACrB,cAAc,EACd,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,uBAAuB,EACvB,+BAA+B,EAC/B,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAIhB,mBAAmB,EACnB,gBAAgB,EAChB,yBAAyB,EACzB,yBAAyB,EACzB,+BAA+B,EAC/B,oBAAoB,EACpB,wBAAwB,EACxB,8BAA8B,EAC9B,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAqB,EACrB,2BAA2B,EAC3B,qBAAqB,EACrB,WAAW,EACX,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,EACvB,aAAa,EACb,UAAU,EACV,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,QAAQ,EACR,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,kCAAkC,EAClC,kBAAkB,EAClB,WAAW,EACX,QAAQ,EACR,UAAU,EACV,oBAAoB,EACpB,mBAAmB,EACnB,SAAS,EACT,YAAY,EACZ,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,2BAA2B,EAC3B,0BAA0B,EAC1B,gCAAgC,EAChC,YAAY,EACZ,SAAS,EACT,MAAM,EACN,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,EACzB,eAAe,EACf,eAAe,EACf,eAAe,EACf,2BAA2B,EAE3B,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"beta.d.ts","sourceRoot":"","sources":["../../src/entrypoints/beta.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,EAEN,YAAY,EACZ,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,KAAK,EACL,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,KAAK,EACL,oCAAoC,EACpC,kCAAkC,EAClC,0CAA0C,EAC1C,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,OAAO,EACP,wBAAwB,EACxB,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,qBAAqB,EACrB,cAAc,EACd,wBAAwB,EACxB,QAAQ,EACR,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,sBAAsB,EACtB,GAAG,EACH,iBAAiB,EACjB,yBAAyB,EACzB,uBAAuB,EACvB,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EACzB,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACrB,IAAI,EACJ,aAAa,EACb,gBAAgB,EAChB,0BAA0B,EAC1B,aAAa,EACb,WAAW,EACX,QAAQ,EACR,WAAW,EACX,gCAAgC,EAChC,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EACd,UAAU,EACV,QAAQ,EACR,qBAAqB,EACrB,cAAc,EACd,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,uBAAuB,EACvB,+BAA+B,EAC/B,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAIhB,mBAAmB,EACnB,gBAAgB,EAChB,yBAAyB,EACzB,yBAAyB,EACzB,+BAA+B,EAC/B,oBAAoB,EACpB,wBAAwB,EACxB,8BAA8B,EAC9B,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAqB,EACrB,2BAA2B,EAC3B,qBAAqB,EACrB,WAAW,EACX,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,EACvB,aAAa,EACb,UAAU,EACV,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,QAAQ,EACR,wBAAwB,EACxB,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,kCAAkC,EAClC,kBAAkB,EAClB,WAAW,EACX,6BAA6B,EAC7B,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,QAAQ,EACR,UAAU,EACV,oBAAoB,EACpB,mBAAmB,EACnB,SAAS,EACT,YAAY,EACZ,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,2BAA2B,EAC3B,0BAA0B,EAC1B,gCAAgC,EAChC,YAAY,EACZ,iCAAiC,EACjC,SAAS,EACT,SAAS,EACT,MAAM,EACN,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,EACzB,eAAe,EACf,eAAe,EACf,eAAe,EACf,2BAA2B,EAE3B,MAAM,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"beta.js","sourceRoot":"","sources":["../../src/entrypoints/beta.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH;;;GAGG;AAEH,wCAgJqB;AA7IpB,sGAAA,UAAU,OAAA;AAEV,qGAAA,SAAS,OAAA;AAET,uGAAA,WAAW,OAAA;AAaX,yGAAA,aAAa,OAAA;AAGb,oHAAA,wBAAwB,OAAA;AASxB,oGAAA,QAAQ,OAAA;AAWR,4GAAA,gBAAgB,OAAA;AAGhB,yGAAA,aAAa,OAAA;AAMb,gGAAA,IAAI,OAAA;AACJ,yGAAA,aAAa,OAAA;AAKb,oGAAA,QAAQ,OAAA;AAQR,sGAAA,UAAU,OAAA;AAEV,iHAAA,qBAAqB,OAAA;AASrB,oGAAA,QAAQ,OAAA;AAmBR,+GAAA,mBAAmB,OAAA;AAEnB,mHAAA,uBAAuB,OAAA;AAGvB,oHAAA,wBAAwB,OAAA;AACxB,+GAAA,mBAAmB,OAAA;AACnB,+GAAA,mBAAmB,OAAA;AAInB,8GAAA,kBAAkB,OAAA;AAKlB,6GAAA,iBAAiB,OAAA;AAOjB,uGAAA,WAAW,OAAA;AACX,oGAAA,QAAQ,OAAA;AAcR,qGAAA,SAAS,OAAA;AACT,kGAAA,MAAM,OAAA;AACN,oHAAA,wBAAwB,OAAA;AACxB,iHAAA,qBAAqB,OAAA;AACrB,qHAAA,yBAAyB,OAAA;AACzB,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AACf,uHAAA,2BAA2B,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/*\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.\n * Generated by \"generate:entrypoint-sources\".\n */\n\nexport {\n\t// #region @public APIs\n\tAllowedTypes, \n\tCommitKind, \n\tCommitMetadata, \n\tFieldKind, \n\tFieldProps, \n\tFieldSchema, \n\tFieldSchemaMetadata, \n\tITree, \n\tITreeConfigurationOptions, \n\tITreeViewConfiguration, \n\tImplicitAllowedTypes, \n\tImplicitFieldSchema, \n\tInput, \n\tInsertableTreeFieldFromImplicitField, \n\tInsertableTreeNodeFromAllowedTypes, \n\tInsertableTreeNodeFromImplicitAllowedTypes, \n\tInsertableTypedNode, \n\tInternalTreeNode, \n\tInternalTypes, \n\tIsListener, \n\tIsUnion, \n\tIterableTreeArrayContent, \n\tLazyItem, \n\tLeafSchema, \n\tListenable, \n\tListeners, \n\tMakeNominal, \n\tMapNodeInsertableData, \n\tNodeFromSchema, \n\tNodeInDocumentConstraint, \n\tNodeKind, \n\tNodeSchemaMetadata, \n\tNodeSchemaOptions, \n\tNumberKeys, \n\tObjectFromSchemaRecord, \n\tOff, \n\tReadonlyArrayNode, \n\tRestrictiveReadonlyRecord, \n\tRestrictiveStringRecord, \n\tRevertible, \n\tRevertibleFactory, \n\tRevertibleStatus, \n\tRunTransaction, \n\tSchemaCompatibilityStatus, \n\tSchemaFactory, \n\tSchemaFactory_base, \n\tSchemaStatics, \n\tSimpleNodeSchemaBase, \n\tSystem_Unsafe, \n\tTransactionConstraint, \n\tTree, \n\tTreeArrayNode, \n\tTreeChangeEvents, \n\tTreeFieldFromImplicitField, \n\tTreeLeafValue, \n\tTreeMapNode, \n\tTreeNode, \n\tTreeNodeApi, \n\tTreeNodeFromImplicitAllowedTypes, \n\tTreeNodeSchema, \n\tTreeNodeSchemaClass, \n\tTreeNodeSchemaCore, \n\tTreeNodeSchemaNonClass, \n\tTreeObjectNode, \n\tTreeStatus, \n\tTreeView, \n\tTreeViewConfiguration, \n\tTreeViewEvents, \n\tUnenforced, \n\tUnhydrated, \n\tUnionToIntersection, \n\tValidateRecursiveSchema, \n\tValidateRecursiveSchemaTemplate, \n\tViewableTree, \n\tWithType, \n\trollback, \n\ttypeSchemaSymbol,\n\t// #endregion\n \n\t// #region @beta APIs\n\tAllowedTypeMetadata, \n\tAllowedTypesFull, \n\tAllowedTypesFullEvaluated, \n\tAllowedTypesFullFromMixed, \n\tAllowedTypesFullFromMixedUnsafe, \n\tAllowedTypesMetadata, \n\tAnnotateAllowedTypesList, \n\tAnnotateAllowedTypesListUnsafe, \n\tAnnotatedAllowedType, \n\tAnnotatedAllowedTypeUnsafe, \n\tAnnotatedAllowedTypes, \n\tAnnotatedAllowedTypesUnsafe, \n\tCodecWriteOptionsBeta, \n\tConciseTree, \n\tExtensibleUnionNode, \n\tFixRecursiveArraySchema, \n\tFluidSerializableAsTree, \n\tForestOptions, \n\tForestType, \n\tForestTypeExpensiveDebug, \n\tForestTypeOptimized, \n\tForestTypeReference, \n\tIdentifierIndex, \n\tJsonCompatible, \n\tJsonCompatibleObject, \n\tKeyEncodingOptions, \n\tNodeChangedData, \n\tObjectSchemaOptions, \n\tPopUnion, \n\tRecordNodeInsertableData, \n\tSchemaFactoryBeta, \n\tSchemaStaticsBeta, \n\tSchemaUpgrade, \n\tSharedTreeOptionsBeta, \n\tSnapshotFileSystem, \n\tSnapshotSchemaCompatibilityOptions, \n\tSystem_TableSchema, \n\tTableSchema, \n\tTreeBeta, \n\tTreeBranch, \n\tTreeChangeEventsBeta, \n\tTreeEncodingOptions, \n\tTreeIndex, \n\tTreeIndexKey, \n\tTreeIndexNodes, \n\tTreeRecordNode, \n\tTreeRecordNodeUnsafe, \n\tTreeViewBeta, \n\tUnannotateAllowedTypeUnsafe, \n\tUnannotateAllowedTypesList, \n\tUnannotateAllowedTypesListUnsafe, \n\tUnionToTuple, \n\tadaptEnum, \n\tasBeta, \n\tconfiguredSharedTreeBeta, \n\tcreateIdentifierIndex, \n\tcreateIndependentTreeBeta, \n\tcreateTreeIndex, \n\tenumFromStrings, \n\tsingletonSchema, \n\tsnapshotSchemaCompatibility\n\t// #endregion\n} from \"../index.js\";\n"]}
1
+ {"version":3,"file":"beta.js","sourceRoot":"","sources":["../../src/entrypoints/beta.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH;;;GAGG;AAEH,wCAwJqB;AArJpB,sGAAA,UAAU,OAAA;AAEV,qGAAA,SAAS,OAAA;AAET,uGAAA,WAAW,OAAA;AAaX,yGAAA,aAAa,OAAA;AAGb,oHAAA,wBAAwB,OAAA;AASxB,oGAAA,QAAQ,OAAA;AAWR,4GAAA,gBAAgB,OAAA;AAGhB,yGAAA,aAAa,OAAA;AAMb,gGAAA,IAAI,OAAA;AACJ,yGAAA,aAAa,OAAA;AAKb,oGAAA,QAAQ,OAAA;AAQR,sGAAA,UAAU,OAAA;AAEV,iHAAA,qBAAqB,OAAA;AASrB,oGAAA,QAAQ,OAAA;AAmBR,+GAAA,mBAAmB,OAAA;AAEnB,mHAAA,uBAAuB,OAAA;AAGvB,oHAAA,wBAAwB,OAAA;AACxB,+GAAA,mBAAmB,OAAA;AACnB,+GAAA,mBAAmB,OAAA;AAInB,8GAAA,kBAAkB,OAAA;AAMlB,6GAAA,iBAAiB,OAAA;AAOjB,uGAAA,WAAW,OAAA;AAMX,oGAAA,QAAQ,OAAA;AAgBR,qGAAA,SAAS,OAAA;AACT,kGAAA,MAAM,OAAA;AACN,oHAAA,wBAAwB,OAAA;AACxB,iHAAA,qBAAqB,OAAA;AACrB,qHAAA,yBAAyB,OAAA;AACzB,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AACf,uHAAA,2BAA2B,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/*\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.\n * Generated by \"generate:entrypoint-sources\".\n */\n\nexport {\n\t// #region @public APIs\n\tAllowedTypes, \n\tCommitKind, \n\tCommitMetadata, \n\tFieldKind, \n\tFieldProps, \n\tFieldSchema, \n\tFieldSchemaMetadata, \n\tITree, \n\tITreeConfigurationOptions, \n\tITreeViewConfiguration, \n\tImplicitAllowedTypes, \n\tImplicitFieldSchema, \n\tInput, \n\tInsertableTreeFieldFromImplicitField, \n\tInsertableTreeNodeFromAllowedTypes, \n\tInsertableTreeNodeFromImplicitAllowedTypes, \n\tInsertableTypedNode, \n\tInternalTreeNode, \n\tInternalTypes, \n\tIsListener, \n\tIsUnion, \n\tIterableTreeArrayContent, \n\tLazyItem, \n\tLeafSchema, \n\tListenable, \n\tListeners, \n\tMakeNominal, \n\tMapNodeInsertableData, \n\tNodeFromSchema, \n\tNodeInDocumentConstraint, \n\tNodeKind, \n\tNodeSchemaMetadata, \n\tNodeSchemaOptions, \n\tNumberKeys, \n\tObjectFromSchemaRecord, \n\tOff, \n\tReadonlyArrayNode, \n\tRestrictiveReadonlyRecord, \n\tRestrictiveStringRecord, \n\tRevertible, \n\tRevertibleFactory, \n\tRevertibleStatus, \n\tRunTransaction, \n\tSchemaCompatibilityStatus, \n\tSchemaFactory, \n\tSchemaFactory_base, \n\tSchemaStatics, \n\tSimpleNodeSchemaBase, \n\tSystem_Unsafe, \n\tTransactionConstraint, \n\tTree, \n\tTreeArrayNode, \n\tTreeChangeEvents, \n\tTreeFieldFromImplicitField, \n\tTreeLeafValue, \n\tTreeMapNode, \n\tTreeNode, \n\tTreeNodeApi, \n\tTreeNodeFromImplicitAllowedTypes, \n\tTreeNodeSchema, \n\tTreeNodeSchemaClass, \n\tTreeNodeSchemaCore, \n\tTreeNodeSchemaNonClass, \n\tTreeObjectNode, \n\tTreeStatus, \n\tTreeView, \n\tTreeViewConfiguration, \n\tTreeViewEvents, \n\tUnenforced, \n\tUnhydrated, \n\tUnionToIntersection, \n\tValidateRecursiveSchema, \n\tValidateRecursiveSchemaTemplate, \n\tViewableTree, \n\tWithType, \n\trollback, \n\ttypeSchemaSymbol,\n\t// #endregion\n \n\t// #region @beta APIs\n\tAllowedTypeMetadata, \n\tAllowedTypesFull, \n\tAllowedTypesFullEvaluated, \n\tAllowedTypesFullFromMixed, \n\tAllowedTypesFullFromMixedUnsafe, \n\tAllowedTypesMetadata, \n\tAnnotateAllowedTypesList, \n\tAnnotateAllowedTypesListUnsafe, \n\tAnnotatedAllowedType, \n\tAnnotatedAllowedTypeUnsafe, \n\tAnnotatedAllowedTypes, \n\tAnnotatedAllowedTypesUnsafe, \n\tCodecWriteOptionsBeta, \n\tConciseTree, \n\tExtensibleUnionNode, \n\tFixRecursiveArraySchema, \n\tFluidSerializableAsTree, \n\tForestOptions, \n\tForestType, \n\tForestTypeExpensiveDebug, \n\tForestTypeOptimized, \n\tForestTypeReference, \n\tIdentifierIndex, \n\tJsonCompatible, \n\tJsonCompatibleObject, \n\tKeyEncodingOptions, \n\tNodeChangedData, \n\tObjectSchemaOptions, \n\tPopUnion, \n\tRecordNodeInsertableData, \n\tRunTransactionParamsBeta, \n\tSchemaFactoryBeta, \n\tSchemaStaticsBeta, \n\tSchemaUpgrade, \n\tSharedTreeOptionsBeta, \n\tSnapshotFileSystem, \n\tSnapshotSchemaCompatibilityOptions, \n\tSystem_TableSchema, \n\tTableSchema, \n\tTransactionCallbackStatusBeta, \n\tTransactionResultFailed, \n\tTransactionResultSuccess, \n\tTransactionValueResult, \n\tTransactionVoidResult, \n\tTreeBeta, \n\tTreeBranch, \n\tTreeChangeEventsBeta, \n\tTreeEncodingOptions, \n\tTreeIndex, \n\tTreeIndexKey, \n\tTreeIndexNodes, \n\tTreeRecordNode, \n\tTreeRecordNodeUnsafe, \n\tTreeViewBeta, \n\tUnannotateAllowedTypeUnsafe, \n\tUnannotateAllowedTypesList, \n\tUnannotateAllowedTypesListUnsafe, \n\tUnionToTuple, \n\tVoidTransactionCallbackStatusBeta, \n\tWithValue, \n\tadaptEnum, \n\tasBeta, \n\tconfiguredSharedTreeBeta, \n\tcreateIdentifierIndex, \n\tcreateIndependentTreeBeta, \n\tcreateTreeIndex, \n\tenumFromStrings, \n\tsingletonSchema, \n\tsnapshotSchemaCompatibility\n\t// #endregion\n} from \"../index.js\";\n"]}
@@ -3,26 +3,13 @@
3
3
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
4
4
  * Licensed under the MIT License.
5
5
  */
6
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
- if (k2 === undefined) k2 = k;
8
- var desc = Object.getOwnPropertyDescriptor(m, k);
9
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
- desc = { enumerable: true, get: function() { return m[k]; } };
11
- }
12
- Object.defineProperty(o, k2, desc);
13
- }) : (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- o[k2] = m[k];
16
- }));
17
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
18
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
19
- };
20
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
+ const tslib_1 = require("tslib");
21
8
  // This file provides one module of indirection from index.ts to control
22
9
  // TypeScript import spec generation in consumer packages' .d.ts output. Importantly,
23
10
  // if alpha / beta / public entrypoints need to search to import spec and those
24
11
  // reference index.js, then package exports should not also reference index.js,
25
12
  // or that path will be chosen. (import("@fluidframework/tree/internal") in this
26
13
  // case).
27
- __exportStar(require("../index.js"), exports);
14
+ tslib_1.__exportStar(require("../index.js"), exports);
28
15
  //# sourceMappingURL=internal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/entrypoints/internal.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,wEAAwE;AACxE,qFAAqF;AACrF,+EAA+E;AAC/E,+EAA+E;AAC/E,gFAAgF;AAChF,SAAS;AAET,8CAA4B","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n// This file provides one module of indirection from index.ts to control\n// TypeScript import spec generation in consumer packages' .d.ts output. Importantly,\n// if alpha / beta / public entrypoints need to search to import spec and those\n// reference index.js, then package exports should not also reference index.js,\n// or that path will be chosen. (import(\"@fluidframework/tree/internal\") in this\n// case).\n\nexport * from \"../index.js\";\n"]}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/entrypoints/internal.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,wEAAwE;AACxE,qFAAqF;AACrF,+EAA+E;AAC/E,+EAA+E;AAC/E,gFAAgF;AAChF,SAAS;AAET,sDAA4B","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n// This file provides one module of indirection from index.ts to control\n// TypeScript import spec generation in consumer packages' .d.ts output. Importantly,\n// if alpha / beta / public entrypoints need to search to import spec and those\n// reference index.js, then package exports should not also reference index.js,\n// or that path will be chosen. (import(\"@fluidframework/tree/internal\") in this\n// case).\n\nexport * from \"../index.js\";\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, SchemaFactoryBeta, SchemaStaticsBeta, SchemaUpgrade, SharedTreeOptionsBeta, SnapshotFileSystem, SnapshotSchemaCompatibilityOptions, System_TableSchema, TableSchema, TreeBeta, TreeBranch, TreeChangeEventsBeta, TreeEncodingOptions, TreeIndex, TreeIndexKey, TreeIndexNodes, TreeRecordNode, TreeRecordNodeUnsafe, TreeViewBeta, UnannotateAllowedTypeUnsafe, UnannotateAllowedTypesList, UnannotateAllowedTypesListUnsafe, UnionToTuple, adaptEnum, asBeta, configuredSharedTreeBeta, createIdentifierIndex, createIndependentTreeBeta, createTreeIndex, enumFromStrings, singletonSchema, snapshotSchemaCompatibility, SharedTree, SharedTreeAttributes, SharedTreeFactoryType, configuredSharedTreeBetaLegacy } 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, SharedTree, SharedTreeAttributes, SharedTreeFactoryType, configuredSharedTreeBetaLegacy } from "../index.js";
6
6
  //# sourceMappingURL=legacy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"legacy.d.ts","sourceRoot":"","sources":["../../src/entrypoints/legacy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,EAEN,YAAY,EACZ,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,KAAK,EACL,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,KAAK,EACL,oCAAoC,EACpC,kCAAkC,EAClC,0CAA0C,EAC1C,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,OAAO,EACP,wBAAwB,EACxB,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,qBAAqB,EACrB,cAAc,EACd,wBAAwB,EACxB,QAAQ,EACR,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,sBAAsB,EACtB,GAAG,EACH,iBAAiB,EACjB,yBAAyB,EACzB,uBAAuB,EACvB,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EACzB,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACrB,IAAI,EACJ,aAAa,EACb,gBAAgB,EAChB,0BAA0B,EAC1B,aAAa,EACb,WAAW,EACX,QAAQ,EACR,WAAW,EACX,gCAAgC,EAChC,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EACd,UAAU,EACV,QAAQ,EACR,qBAAqB,EACrB,cAAc,EACd,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,uBAAuB,EACvB,+BAA+B,EAC/B,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAIhB,mBAAmB,EACnB,gBAAgB,EAChB,yBAAyB,EACzB,yBAAyB,EACzB,+BAA+B,EAC/B,oBAAoB,EACpB,wBAAwB,EACxB,8BAA8B,EAC9B,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAqB,EACrB,2BAA2B,EAC3B,qBAAqB,EACrB,WAAW,EACX,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,EACvB,aAAa,EACb,UAAU,EACV,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,QAAQ,EACR,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,kCAAkC,EAClC,kBAAkB,EAClB,WAAW,EACX,QAAQ,EACR,UAAU,EACV,oBAAoB,EACpB,mBAAmB,EACnB,SAAS,EACT,YAAY,EACZ,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,2BAA2B,EAC3B,0BAA0B,EAC1B,gCAAgC,EAChC,YAAY,EACZ,SAAS,EACT,MAAM,EACN,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,EACzB,eAAe,EACf,eAAe,EACf,eAAe,EACf,2BAA2B,EAI3B,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,8BAA8B,EAE9B,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"legacy.d.ts","sourceRoot":"","sources":["../../src/entrypoints/legacy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,EAEN,YAAY,EACZ,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,KAAK,EACL,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,KAAK,EACL,oCAAoC,EACpC,kCAAkC,EAClC,0CAA0C,EAC1C,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,OAAO,EACP,wBAAwB,EACxB,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,qBAAqB,EACrB,cAAc,EACd,wBAAwB,EACxB,QAAQ,EACR,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,sBAAsB,EACtB,GAAG,EACH,iBAAiB,EACjB,yBAAyB,EACzB,uBAAuB,EACvB,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EACzB,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACrB,IAAI,EACJ,aAAa,EACb,gBAAgB,EAChB,0BAA0B,EAC1B,aAAa,EACb,WAAW,EACX,QAAQ,EACR,WAAW,EACX,gCAAgC,EAChC,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EACd,UAAU,EACV,QAAQ,EACR,qBAAqB,EACrB,cAAc,EACd,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,uBAAuB,EACvB,+BAA+B,EAC/B,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAIhB,mBAAmB,EACnB,gBAAgB,EAChB,yBAAyB,EACzB,yBAAyB,EACzB,+BAA+B,EAC/B,oBAAoB,EACpB,wBAAwB,EACxB,8BAA8B,EAC9B,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAqB,EACrB,2BAA2B,EAC3B,qBAAqB,EACrB,WAAW,EACX,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,EACvB,aAAa,EACb,UAAU,EACV,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,QAAQ,EACR,wBAAwB,EACxB,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,kCAAkC,EAClC,kBAAkB,EAClB,WAAW,EACX,6BAA6B,EAC7B,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,QAAQ,EACR,UAAU,EACV,oBAAoB,EACpB,mBAAmB,EACnB,SAAS,EACT,YAAY,EACZ,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,2BAA2B,EAC3B,0BAA0B,EAC1B,gCAAgC,EAChC,YAAY,EACZ,iCAAiC,EACjC,SAAS,EACT,SAAS,EACT,MAAM,EACN,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,EACzB,eAAe,EACf,eAAe,EACf,eAAe,EACf,2BAA2B,EAI3B,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,8BAA8B,EAE9B,MAAM,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"legacy.js","sourceRoot":"","sources":["../../src/entrypoints/legacy.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH;;;GAGG;AAEH,wCAuJqB;AApJpB,sGAAA,UAAU,OAAA;AAEV,qGAAA,SAAS,OAAA;AAET,uGAAA,WAAW,OAAA;AAaX,yGAAA,aAAa,OAAA;AAGb,oHAAA,wBAAwB,OAAA;AASxB,oGAAA,QAAQ,OAAA;AAWR,4GAAA,gBAAgB,OAAA;AAGhB,yGAAA,aAAa,OAAA;AAMb,gGAAA,IAAI,OAAA;AACJ,yGAAA,aAAa,OAAA;AAKb,oGAAA,QAAQ,OAAA;AAQR,sGAAA,UAAU,OAAA;AAEV,iHAAA,qBAAqB,OAAA;AASrB,oGAAA,QAAQ,OAAA;AAmBR,+GAAA,mBAAmB,OAAA;AAEnB,mHAAA,uBAAuB,OAAA;AAGvB,oHAAA,wBAAwB,OAAA;AACxB,+GAAA,mBAAmB,OAAA;AACnB,+GAAA,mBAAmB,OAAA;AAInB,8GAAA,kBAAkB,OAAA;AAKlB,6GAAA,iBAAiB,OAAA;AAOjB,uGAAA,WAAW,OAAA;AACX,oGAAA,QAAQ,OAAA;AAcR,qGAAA,SAAS,OAAA;AACT,kGAAA,MAAM,OAAA;AACN,oHAAA,wBAAwB,OAAA;AACxB,iHAAA,qBAAqB,OAAA;AACrB,qHAAA,yBAAyB,OAAA;AACzB,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AACf,uHAAA,2BAA2B,OAAA;AAC3B,aAAa;AAEb,2BAA2B;AAC3B,sGAAA,UAAU,OAAA;AACV,gHAAA,oBAAoB,OAAA;AACpB,iHAAA,qBAAqB,OAAA;AACrB,0HAAA,8BAA8B,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/*\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.\n * Generated by \"generate:entrypoint-sources\".\n */\n\nexport {\n\t// #region @public APIs\n\tAllowedTypes, \n\tCommitKind, \n\tCommitMetadata, \n\tFieldKind, \n\tFieldProps, \n\tFieldSchema, \n\tFieldSchemaMetadata, \n\tITree, \n\tITreeConfigurationOptions, \n\tITreeViewConfiguration, \n\tImplicitAllowedTypes, \n\tImplicitFieldSchema, \n\tInput, \n\tInsertableTreeFieldFromImplicitField, \n\tInsertableTreeNodeFromAllowedTypes, \n\tInsertableTreeNodeFromImplicitAllowedTypes, \n\tInsertableTypedNode, \n\tInternalTreeNode, \n\tInternalTypes, \n\tIsListener, \n\tIsUnion, \n\tIterableTreeArrayContent, \n\tLazyItem, \n\tLeafSchema, \n\tListenable, \n\tListeners, \n\tMakeNominal, \n\tMapNodeInsertableData, \n\tNodeFromSchema, \n\tNodeInDocumentConstraint, \n\tNodeKind, \n\tNodeSchemaMetadata, \n\tNodeSchemaOptions, \n\tNumberKeys, \n\tObjectFromSchemaRecord, \n\tOff, \n\tReadonlyArrayNode, \n\tRestrictiveReadonlyRecord, \n\tRestrictiveStringRecord, \n\tRevertible, \n\tRevertibleFactory, \n\tRevertibleStatus, \n\tRunTransaction, \n\tSchemaCompatibilityStatus, \n\tSchemaFactory, \n\tSchemaFactory_base, \n\tSchemaStatics, \n\tSimpleNodeSchemaBase, \n\tSystem_Unsafe, \n\tTransactionConstraint, \n\tTree, \n\tTreeArrayNode, \n\tTreeChangeEvents, \n\tTreeFieldFromImplicitField, \n\tTreeLeafValue, \n\tTreeMapNode, \n\tTreeNode, \n\tTreeNodeApi, \n\tTreeNodeFromImplicitAllowedTypes, \n\tTreeNodeSchema, \n\tTreeNodeSchemaClass, \n\tTreeNodeSchemaCore, \n\tTreeNodeSchemaNonClass, \n\tTreeObjectNode, \n\tTreeStatus, \n\tTreeView, \n\tTreeViewConfiguration, \n\tTreeViewEvents, \n\tUnenforced, \n\tUnhydrated, \n\tUnionToIntersection, \n\tValidateRecursiveSchema, \n\tValidateRecursiveSchemaTemplate, \n\tViewableTree, \n\tWithType, \n\trollback, \n\ttypeSchemaSymbol,\n\t// #endregion\n \n\t// #region @beta APIs\n\tAllowedTypeMetadata, \n\tAllowedTypesFull, \n\tAllowedTypesFullEvaluated, \n\tAllowedTypesFullFromMixed, \n\tAllowedTypesFullFromMixedUnsafe, \n\tAllowedTypesMetadata, \n\tAnnotateAllowedTypesList, \n\tAnnotateAllowedTypesListUnsafe, \n\tAnnotatedAllowedType, \n\tAnnotatedAllowedTypeUnsafe, \n\tAnnotatedAllowedTypes, \n\tAnnotatedAllowedTypesUnsafe, \n\tCodecWriteOptionsBeta, \n\tConciseTree, \n\tExtensibleUnionNode, \n\tFixRecursiveArraySchema, \n\tFluidSerializableAsTree, \n\tForestOptions, \n\tForestType, \n\tForestTypeExpensiveDebug, \n\tForestTypeOptimized, \n\tForestTypeReference, \n\tIdentifierIndex, \n\tJsonCompatible, \n\tJsonCompatibleObject, \n\tKeyEncodingOptions, \n\tNodeChangedData, \n\tObjectSchemaOptions, \n\tPopUnion, \n\tRecordNodeInsertableData, \n\tSchemaFactoryBeta, \n\tSchemaStaticsBeta, \n\tSchemaUpgrade, \n\tSharedTreeOptionsBeta, \n\tSnapshotFileSystem, \n\tSnapshotSchemaCompatibilityOptions, \n\tSystem_TableSchema, \n\tTableSchema, \n\tTreeBeta, \n\tTreeBranch, \n\tTreeChangeEventsBeta, \n\tTreeEncodingOptions, \n\tTreeIndex, \n\tTreeIndexKey, \n\tTreeIndexNodes, \n\tTreeRecordNode, \n\tTreeRecordNodeUnsafe, \n\tTreeViewBeta, \n\tUnannotateAllowedTypeUnsafe, \n\tUnannotateAllowedTypesList, \n\tUnannotateAllowedTypesListUnsafe, \n\tUnionToTuple, \n\tadaptEnum, \n\tasBeta, \n\tconfiguredSharedTreeBeta, \n\tcreateIdentifierIndex, \n\tcreateIndependentTreeBeta, \n\tcreateTreeIndex, \n\tenumFromStrings, \n\tsingletonSchema, \n\tsnapshotSchemaCompatibility,\n\t// #endregion\n \n\t// #region @legacyBeta APIs\n\tSharedTree, \n\tSharedTreeAttributes, \n\tSharedTreeFactoryType, \n\tconfiguredSharedTreeBetaLegacy\n\t// #endregion\n} from \"../index.js\";\n"]}
1
+ {"version":3,"file":"legacy.js","sourceRoot":"","sources":["../../src/entrypoints/legacy.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH;;;GAGG;AAEH,wCA+JqB;AA5JpB,sGAAA,UAAU,OAAA;AAEV,qGAAA,SAAS,OAAA;AAET,uGAAA,WAAW,OAAA;AAaX,yGAAA,aAAa,OAAA;AAGb,oHAAA,wBAAwB,OAAA;AASxB,oGAAA,QAAQ,OAAA;AAWR,4GAAA,gBAAgB,OAAA;AAGhB,yGAAA,aAAa,OAAA;AAMb,gGAAA,IAAI,OAAA;AACJ,yGAAA,aAAa,OAAA;AAKb,oGAAA,QAAQ,OAAA;AAQR,sGAAA,UAAU,OAAA;AAEV,iHAAA,qBAAqB,OAAA;AASrB,oGAAA,QAAQ,OAAA;AAmBR,+GAAA,mBAAmB,OAAA;AAEnB,mHAAA,uBAAuB,OAAA;AAGvB,oHAAA,wBAAwB,OAAA;AACxB,+GAAA,mBAAmB,OAAA;AACnB,+GAAA,mBAAmB,OAAA;AAInB,8GAAA,kBAAkB,OAAA;AAMlB,6GAAA,iBAAiB,OAAA;AAOjB,uGAAA,WAAW,OAAA;AAMX,oGAAA,QAAQ,OAAA;AAgBR,qGAAA,SAAS,OAAA;AACT,kGAAA,MAAM,OAAA;AACN,oHAAA,wBAAwB,OAAA;AACxB,iHAAA,qBAAqB,OAAA;AACrB,qHAAA,yBAAyB,OAAA;AACzB,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AACf,uHAAA,2BAA2B,OAAA;AAC3B,aAAa;AAEb,2BAA2B;AAC3B,sGAAA,UAAU,OAAA;AACV,gHAAA,oBAAoB,OAAA;AACpB,iHAAA,qBAAqB,OAAA;AACrB,0HAAA,8BAA8B,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/*\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.\n * Generated by \"generate:entrypoint-sources\".\n */\n\nexport {\n\t// #region @public APIs\n\tAllowedTypes, \n\tCommitKind, \n\tCommitMetadata, \n\tFieldKind, \n\tFieldProps, \n\tFieldSchema, \n\tFieldSchemaMetadata, \n\tITree, \n\tITreeConfigurationOptions, \n\tITreeViewConfiguration, \n\tImplicitAllowedTypes, \n\tImplicitFieldSchema, \n\tInput, \n\tInsertableTreeFieldFromImplicitField, \n\tInsertableTreeNodeFromAllowedTypes, \n\tInsertableTreeNodeFromImplicitAllowedTypes, \n\tInsertableTypedNode, \n\tInternalTreeNode, \n\tInternalTypes, \n\tIsListener, \n\tIsUnion, \n\tIterableTreeArrayContent, \n\tLazyItem, \n\tLeafSchema, \n\tListenable, \n\tListeners, \n\tMakeNominal, \n\tMapNodeInsertableData, \n\tNodeFromSchema, \n\tNodeInDocumentConstraint, \n\tNodeKind, \n\tNodeSchemaMetadata, \n\tNodeSchemaOptions, \n\tNumberKeys, \n\tObjectFromSchemaRecord, \n\tOff, \n\tReadonlyArrayNode, \n\tRestrictiveReadonlyRecord, \n\tRestrictiveStringRecord, \n\tRevertible, \n\tRevertibleFactory, \n\tRevertibleStatus, \n\tRunTransaction, \n\tSchemaCompatibilityStatus, \n\tSchemaFactory, \n\tSchemaFactory_base, \n\tSchemaStatics, \n\tSimpleNodeSchemaBase, \n\tSystem_Unsafe, \n\tTransactionConstraint, \n\tTree, \n\tTreeArrayNode, \n\tTreeChangeEvents, \n\tTreeFieldFromImplicitField, \n\tTreeLeafValue, \n\tTreeMapNode, \n\tTreeNode, \n\tTreeNodeApi, \n\tTreeNodeFromImplicitAllowedTypes, \n\tTreeNodeSchema, \n\tTreeNodeSchemaClass, \n\tTreeNodeSchemaCore, \n\tTreeNodeSchemaNonClass, \n\tTreeObjectNode, \n\tTreeStatus, \n\tTreeView, \n\tTreeViewConfiguration, \n\tTreeViewEvents, \n\tUnenforced, \n\tUnhydrated, \n\tUnionToIntersection, \n\tValidateRecursiveSchema, \n\tValidateRecursiveSchemaTemplate, \n\tViewableTree, \n\tWithType, \n\trollback, \n\ttypeSchemaSymbol,\n\t// #endregion\n \n\t// #region @beta APIs\n\tAllowedTypeMetadata, \n\tAllowedTypesFull, \n\tAllowedTypesFullEvaluated, \n\tAllowedTypesFullFromMixed, \n\tAllowedTypesFullFromMixedUnsafe, \n\tAllowedTypesMetadata, \n\tAnnotateAllowedTypesList, \n\tAnnotateAllowedTypesListUnsafe, \n\tAnnotatedAllowedType, \n\tAnnotatedAllowedTypeUnsafe, \n\tAnnotatedAllowedTypes, \n\tAnnotatedAllowedTypesUnsafe, \n\tCodecWriteOptionsBeta, \n\tConciseTree, \n\tExtensibleUnionNode, \n\tFixRecursiveArraySchema, \n\tFluidSerializableAsTree, \n\tForestOptions, \n\tForestType, \n\tForestTypeExpensiveDebug, \n\tForestTypeOptimized, \n\tForestTypeReference, \n\tIdentifierIndex, \n\tJsonCompatible, \n\tJsonCompatibleObject, \n\tKeyEncodingOptions, \n\tNodeChangedData, \n\tObjectSchemaOptions, \n\tPopUnion, \n\tRecordNodeInsertableData, \n\tRunTransactionParamsBeta, \n\tSchemaFactoryBeta, \n\tSchemaStaticsBeta, \n\tSchemaUpgrade, \n\tSharedTreeOptionsBeta, \n\tSnapshotFileSystem, \n\tSnapshotSchemaCompatibilityOptions, \n\tSystem_TableSchema, \n\tTableSchema, \n\tTransactionCallbackStatusBeta, \n\tTransactionResultFailed, \n\tTransactionResultSuccess, \n\tTransactionValueResult, \n\tTransactionVoidResult, \n\tTreeBeta, \n\tTreeBranch, \n\tTreeChangeEventsBeta, \n\tTreeEncodingOptions, \n\tTreeIndex, \n\tTreeIndexKey, \n\tTreeIndexNodes, \n\tTreeRecordNode, \n\tTreeRecordNodeUnsafe, \n\tTreeViewBeta, \n\tUnannotateAllowedTypeUnsafe, \n\tUnannotateAllowedTypesList, \n\tUnannotateAllowedTypesListUnsafe, \n\tUnionToTuple, \n\tVoidTransactionCallbackStatusBeta, \n\tWithValue, \n\tadaptEnum, \n\tasBeta, \n\tconfiguredSharedTreeBeta, \n\tcreateIdentifierIndex, \n\tcreateIndependentTreeBeta, \n\tcreateTreeIndex, \n\tenumFromStrings, \n\tsingletonSchema, \n\tsnapshotSchemaCompatibility,\n\t// #endregion\n \n\t// #region @legacyBeta APIs\n\tSharedTree, \n\tSharedTreeAttributes, \n\tSharedTreeFactoryType, \n\tconfiguredSharedTreeBetaLegacy\n\t// #endregion\n} from \"../index.js\";\n"]}
@@ -3,14 +3,10 @@
3
3
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
4
4
  * Licensed under the MIT License.
5
5
  */
6
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
7
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
8
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
9
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
10
- };
11
6
  var _ChunkedForest_events;
12
7
  Object.defineProperty(exports, "__esModule", { value: true });
13
8
  exports.buildChunkedForest = exports.ChunkedForest = void 0;
9
+ const tslib_1 = require("tslib");
14
10
  const client_utils_1 = require("@fluid-internal/client-utils");
15
11
  const internal_1 = require("@fluidframework/core-utils/internal");
16
12
  const index_js_1 = require("../../core/index.js");
@@ -40,7 +36,7 @@ class ChunkedForest {
40
36
  this.idCompressor = idCompressor;
41
37
  this.deltaVisitors = new Set();
42
38
  _ChunkedForest_events.set(this, (0, client_utils_1.createEmitter)());
43
- this.events = __classPrivateFieldGet(this, _ChunkedForest_events, "f");
39
+ this.events = tslib_1.__classPrivateFieldGet(this, _ChunkedForest_events, "f");
44
40
  this.nextDetachedFieldIdentifier = 0;
45
41
  }
46
42
  get isEmpty() {
@@ -84,17 +80,17 @@ class ChunkedForest {
84
80
  this.forest.activeVisitor = undefined;
85
81
  },
86
82
  destroy(detachedField, count) {
87
- __classPrivateFieldGet(this.forest, _ChunkedForest_events, "f").emit("beforeChange");
83
+ tslib_1.__classPrivateFieldGet(this.forest, _ChunkedForest_events, "f").emit("beforeChange");
88
84
  this.forest.roots.fields.delete(detachedField);
89
85
  },
90
86
  create(content, destination) {
91
- __classPrivateFieldGet(this.forest, _ChunkedForest_events, "f").emit("beforeChange");
87
+ tslib_1.__classPrivateFieldGet(this.forest, _ChunkedForest_events, "f").emit("beforeChange");
92
88
  const chunks = content.map((c) => (0, chunkTree_js_1.chunkTree)(c, {
93
89
  policy: this.forest.chunker,
94
90
  idCompressor: this.forest.idCompressor,
95
91
  }));
96
92
  this.forest.roots.fields.set(destination, chunks);
97
- __classPrivateFieldGet(this.forest, _ChunkedForest_events, "f").emit("afterRootFieldCreated", destination);
93
+ tslib_1.__classPrivateFieldGet(this.forest, _ChunkedForest_events, "f").emit("afterRootFieldCreated", destination);
98
94
  },
99
95
  attach(source, count, destination) {
100
96
  this.attachEdit(source, count, destination);
@@ -109,7 +105,7 @@ class ChunkedForest {
109
105
  * @param destination - The index in the current field at which to attach the content.
110
106
  */
111
107
  attachEdit(source, count, destination) {
112
- __classPrivateFieldGet(this.forest, _ChunkedForest_events, "f").emit("beforeChange");
108
+ tslib_1.__classPrivateFieldGet(this.forest, _ChunkedForest_events, "f").emit("beforeChange");
113
109
  const sourceField = this.forest.roots.fields.get(source) ?? [];
114
110
  this.forest.roots.fields.delete(source);
115
111
  if (sourceField.length === 0) {
@@ -137,7 +133,7 @@ class ChunkedForest {
137
133
  // 1. In-place update of uniform chunk. No allocations, no ref count changes, no new TreeChunks.
138
134
  // 2. Uniform chunk is shared: copy it (and parent path as needed), and update the copy.
139
135
  // 3. Fallback to detach then attach (Which will copy parents and convert to basic chunks as needed).
140
- __classPrivateFieldGet(this.forest, _ChunkedForest_events, "f").emit("beforeChange");
136
+ tslib_1.__classPrivateFieldGet(this.forest, _ChunkedForest_events, "f").emit("beforeChange");
141
137
  const parent = this.getParent();
142
138
  const sourceField = parent.mutableChunk.fields.get(parent.key) ?? [];
143
139
  (0, internal_1.assert)(source.start <= source.end, 0xcf8 /* detach range start must not exceed end */);
@@ -1 +1 @@
1
- {"version":3,"file":"chunkedForest.js","sourceRoot":"","sources":["../../../src/feature-libraries/chunked-forest/chunkedForest.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 { createEmitter } from \"@fluid-internal/client-utils\";\nimport type { Listenable } from \"@fluidframework/core-interfaces\";\nimport { assert, oob, fail } from \"@fluidframework/core-utils/internal\";\nimport type { IIdCompressor } from \"@fluidframework/id-compressor\";\n\nimport {\n\ttype Anchor,\n\tAnchorSet,\n\ttype AnnouncedVisitor,\n\ttype DeltaVisitor,\n\ttype DetachedField,\n\ttype FieldAnchor,\n\ttype FieldKey,\n\ttype ForestEvents,\n\ttype IEditableForest,\n\ttype ITreeCursorSynchronous,\n\ttype ITreeSubscriptionCursor,\n\tITreeSubscriptionCursorState,\n\ttype PlaceIndex,\n\ttype Range,\n\tTreeNavigationResult,\n\ttype TreeStoredSchemaSubscription,\n\ttype UpPath,\n\taboveRootPlaceholder,\n\tcombineVisitors,\n\tdetachedFieldAsKey,\n\tmapCursorField,\n\trootFieldKey,\n\ttype ChunkedCursor,\n\ttype TreeChunk,\n\ttype DeltaDetachedNodeId,\n} from \"../../core/index.js\";\nimport {\n\tbrand,\n\tgetLast,\n\tgetOrAddEmptyToMap,\n\thasSome,\n\ttype Breakable,\n} from \"../../util/index.js\";\n\nimport { BasicChunk, BasicChunkCursor, type SiblingsOrKey } from \"./basicChunk.js\";\nimport {\n\ttype ChunkCompressor,\n\ttype IChunker,\n\tbasicChunkTree,\n\tchunkField,\n\tchunkTree,\n\tsplitFieldAtIndex,\n} from \"./chunkTree.js\";\n\nfunction makeRoot(): BasicChunk {\n\treturn new BasicChunk(aboveRootPlaceholder, new Map());\n}\n\ninterface StackNode {\n\tmutableChunk: BasicChunk;\n\tkey: FieldKey;\n}\n\n/**\n * Implementation of IEditableForest based on copy on write chunks.\n *\n * This implementation focuses on performance.\n */\nexport class ChunkedForest implements IEditableForest {\n\tprivate activeVisitor?: DeltaVisitor;\n\n\tprivate readonly deltaVisitors: Set<() => AnnouncedVisitor> = new Set();\n\treadonly #events = createEmitter<ForestEvents>();\n\tpublic readonly events: Listenable<ForestEvents> = this.#events;\n\n\t/**\n\t * @param roots - dummy node above the root under which detached fields are stored. All content of the forest is reachable from this.\n\t * @param schema - schema which all content in this forest is assumed to comply with.\n\t * @param chunker - Chunking policy. TODO: dispose of this when forest is disposed.\n\t * @param anchors - anchorSet used to track location in this forest across changes. Callers of applyDelta must ensure this is updated accordingly.\n\t */\n\tpublic constructor(\n\t\tpublic roots: BasicChunk,\n\t\tpublic readonly schema: TreeStoredSchemaSubscription,\n\t\tpublic readonly chunker: IChunker,\n\t\tpublic readonly anchors: AnchorSet = new AnchorSet(),\n\t\tpublic readonly idCompressor?: IIdCompressor,\n\t) {}\n\n\tpublic get isEmpty(): boolean {\n\t\treturn this.roots.fields.size === 0;\n\t}\n\n\tpublic clone(schema: TreeStoredSchemaSubscription, _breaker?: Breakable): ChunkedForest {\n\t\tthis.roots.referenceAdded();\n\t\treturn new ChunkedForest(this.roots, schema, this.chunker.clone(schema));\n\t}\n\n\tpublic chunkField(cursor: ITreeCursorSynchronous): TreeChunk[] {\n\t\treturn chunkField(cursor, { idCompressor: this.idCompressor, policy: this.chunker });\n\t}\n\n\tpublic forgetAnchor(anchor: Anchor): void {\n\t\tthis.anchors.forget(anchor);\n\t}\n\n\tpublic registerAnnouncedVisitor(visitor: () => AnnouncedVisitor): void {\n\t\tthis.deltaVisitors.add(visitor);\n\t}\n\n\tpublic deregisterAnnouncedVisitor(visitor: () => AnnouncedVisitor): void {\n\t\tthis.deltaVisitors.delete(visitor);\n\t}\n\n\tpublic acquireVisitor(): DeltaVisitor {\n\t\tassert(\n\t\t\tthis.activeVisitor === undefined,\n\t\t\t0x76a /* Must release existing visitor before acquiring another */,\n\t\t);\n\n\t\tif (this.roots.isShared()) {\n\t\t\tthis.roots = this.roots.clone();\n\t\t}\n\n\t\tconst forestVisitor = {\n\t\t\tforest: this,\n\t\t\t// Current location in the tree, as a non-shared BasicChunk (TODO: support in-place modification of other chunk formats when possible).\n\t\t\t// Start above root detached sequences.\n\t\t\tmutableChunkStack: [] as StackNode[],\n\t\t\tmutableChunk: this.roots as BasicChunk | undefined,\n\t\t\tgetParent(): StackNode {\n\t\t\t\tassert(hasSome(this.mutableChunkStack), 0x532 /* invalid access to root's parent */);\n\t\t\t\treturn getLast(this.mutableChunkStack);\n\t\t\t},\n\t\t\tfree(): void {\n\t\t\t\tthis.mutableChunk = undefined;\n\t\t\t\tthis.mutableChunkStack.length = 0;\n\t\t\t\tassert(\n\t\t\t\t\tthis.forest.activeVisitor !== undefined,\n\t\t\t\t\t0x76b /* Multiple free calls for same visitor */,\n\t\t\t\t);\n\t\t\t\tthis.forest.activeVisitor = undefined;\n\t\t\t},\n\t\t\tdestroy(detachedField: FieldKey, count: number): void {\n\t\t\t\tthis.forest.#events.emit(\"beforeChange\");\n\t\t\t\tthis.forest.roots.fields.delete(detachedField);\n\t\t\t},\n\t\t\tcreate(content: readonly ITreeCursorSynchronous[], destination: FieldKey): void {\n\t\t\t\tthis.forest.#events.emit(\"beforeChange\");\n\t\t\t\tconst chunks: TreeChunk[] = content.map((c) =>\n\t\t\t\t\tchunkTree(c, {\n\t\t\t\t\t\tpolicy: this.forest.chunker,\n\t\t\t\t\t\tidCompressor: this.forest.idCompressor,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t\tthis.forest.roots.fields.set(destination, chunks);\n\t\t\t\tthis.forest.#events.emit(\"afterRootFieldCreated\", destination);\n\t\t\t},\n\t\t\tattach(source: FieldKey, count: number, destination: PlaceIndex): void {\n\t\t\t\tthis.attachEdit(source, count, destination);\n\t\t\t},\n\t\t\tdetach(source: Range, destination: FieldKey, id: DeltaDetachedNodeId): void {\n\t\t\t\tthis.detachEdit(source, destination);\n\t\t\t},\n\t\t\t/**\n\t\t\t * Attaches the range into the current field by transferring it from the given source path.\n\t\t\t * Does not invalidate dependents.\n\t\t\t * @param source - The the range to be attached.\n\t\t\t * @param destination - The index in the current field at which to attach the content.\n\t\t\t */\n\t\t\tattachEdit(source: FieldKey, count: number, destination: PlaceIndex): void {\n\t\t\t\tthis.forest.#events.emit(\"beforeChange\");\n\t\t\t\tconst sourceField = this.forest.roots.fields.get(source) ?? [];\n\t\t\t\tthis.forest.roots.fields.delete(source);\n\t\t\t\tif (sourceField.length === 0) {\n\t\t\t\t\treturn; // Prevent creating 0 sized fields when inserting empty into empty.\n\t\t\t\t}\n\n\t\t\t\tconst parent = this.getParent();\n\t\t\t\tconst destinationField = getOrAddEmptyToMap(parent.mutableChunk.fields, parent.key);\n\t\t\t\tconst destinationChunkIndex = splitFieldAtIndex(destinationField, destination, {\n\t\t\t\t\tpolicy: this.forest.chunker,\n\t\t\t\t\tidCompressor: this.forest.idCompressor,\n\t\t\t\t});\n\t\t\t\t// TODO: this will fail for very large moves due to argument limits.\n\t\t\t\tdestinationField.splice(destinationChunkIndex, 0, ...sourceField);\n\t\t\t},\n\t\t\t/**\n\t\t\t * Detaches the range from the current field and transfers it to the given destination if any.\n\t\t\t * Does not invalidate dependents.\n\t\t\t * @param source - The bounds of the range to be detached from the current field.\n\t\t\t * @param destination - If specified, the destination to transfer the detached range to.\n\t\t\t * If not specified, the detached range is destroyed.\n\t\t\t */\n\t\t\tdetachEdit(source: Range, destination: FieldKey | undefined): void {\n\t\t\t\t// TODO: optimize this to perform in-place replace in uniform chunks when attach edits bring the chunk back to its original shape.\n\t\t\t\t// This should result in 3 cases:\n\t\t\t\t// 1. In-place update of uniform chunk. No allocations, no ref count changes, no new TreeChunks.\n\t\t\t\t// 2. Uniform chunk is shared: copy it (and parent path as needed), and update the copy.\n\t\t\t\t// 3. Fallback to detach then attach (Which will copy parents and convert to basic chunks as needed).\n\n\t\t\t\tthis.forest.#events.emit(\"beforeChange\");\n\t\t\t\tconst parent = this.getParent();\n\t\t\t\tconst sourceField = parent.mutableChunk.fields.get(parent.key) ?? [];\n\t\t\t\tassert(source.start <= source.end, 0xcf8 /* detach range start must not exceed end */);\n\n\t\t\t\tconst policy: ChunkCompressor = {\n\t\t\t\t\tpolicy: this.forest.chunker,\n\t\t\t\t\tidCompressor: this.forest.idCompressor,\n\t\t\t\t};\n\t\t\t\t// Split start first: splitting end later only expands chunks at positions >= startChunkIndex,\n\t\t\t\t// which leaves startChunkIndex valid. The reverse order would shift endChunkIndex when\n\t\t\t\t// source.start and source.end land in different chunks.\n\t\t\t\t// Performance: It's practical to have a variant of splitFieldAtIndex which can split at multiple locations in a single pass if the performance of this becomes worth optimizing.\n\t\t\t\tconst startChunkIndex = splitFieldAtIndex(sourceField, source.start, policy);\n\t\t\t\tconst endChunkIndex = splitFieldAtIndex(sourceField, source.end, policy);\n\t\t\t\tconst newField = sourceField.splice(startChunkIndex, endChunkIndex - startChunkIndex);\n\n\t\t\t\tif (destination === undefined) {\n\t\t\t\t\tfor (const child of newField) {\n\t\t\t\t\t\tchild.referenceRemoved();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tassert(\n\t\t\t\t\t\t!this.forest.roots.fields.has(destination),\n\t\t\t\t\t\t0x7af /* Destination must be a new empty detached field */,\n\t\t\t\t\t);\n\t\t\t\t\tif (newField.length > 0) {\n\t\t\t\t\t\tthis.forest.roots.fields.set(destination, newField);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// This check is performed after the transfer to ensure that the field is not removed in scenarios\n\t\t\t\t// where the source and destination are the same.\n\t\t\t\tif (sourceField.length === 0) {\n\t\t\t\t\tparent.mutableChunk.fields.delete(parent.key);\n\t\t\t\t}\n\t\t\t},\n\t\t\tenterNode(index: number): void {\n\t\t\t\tassert(this.mutableChunk === undefined, 0x535 /* should be in field */);\n\t\t\t\tconst parent = this.getParent();\n\t\t\t\tconst chunks =\n\t\t\t\t\tparent.mutableChunk.fields.get(parent.key) ?? fail(0xaf6 /* missing edited field */);\n\t\t\t\tlet indexWithinChunk = index;\n\t\t\t\tlet indexOfChunk = 0;\n\t\t\t\tlet chunk = chunks[indexOfChunk] ?? oob();\n\t\t\t\twhile (indexWithinChunk >= chunk.topLevelLength) {\n\t\t\t\t\tindexWithinChunk -= chunk.topLevelLength;\n\t\t\t\t\tindexOfChunk++;\n\t\t\t\t\tif (indexOfChunk === chunks.length) {\n\t\t\t\t\t\tfail(0xaf7 /* missing edited node */);\n\t\t\t\t\t}\n\t\t\t\t\tchunk = chunks[indexOfChunk] ?? oob();\n\t\t\t\t}\n\t\t\t\tlet found = chunks[indexOfChunk] ?? oob();\n\t\t\t\tif (!(found instanceof BasicChunk)) {\n\t\t\t\t\t// TODO:Perf: support in place editing of other chunk formats when possible:\n\t\t\t\t\t// 1. Support updating values in uniform chunks.\n\t\t\t\t\t// 2. Support traversing sequence chunks.\n\t\t\t\t\t//\n\t\t\t\t\t// Maybe build path when visitor navigates then lazily sync to chunk tree when editing?\n\t\t\t\t\tconst newChunks = mapCursorField(found.cursor(), (cursor) =>\n\t\t\t\t\t\tbasicChunkTree(cursor, {\n\t\t\t\t\t\t\tpolicy: this.forest.chunker,\n\t\t\t\t\t\t\tidCompressor: this.forest.idCompressor,\n\t\t\t\t\t\t}),\n\t\t\t\t\t);\n\t\t\t\t\t// TODO: this could fail for really long chunks being split (due to argument count limits).\n\t\t\t\t\t// Current implementations of chunks shouldn't ever be that long, but it could be an issue if they get bigger.\n\t\t\t\t\tchunks.splice(indexOfChunk, 1, ...newChunks);\n\t\t\t\t\tfound.referenceRemoved();\n\n\t\t\t\t\tfound = newChunks[indexWithinChunk] ?? oob();\n\t\t\t\t}\n\t\t\t\tassert(found instanceof BasicChunk, 0x536 /* chunk should have been normalized */);\n\t\t\t\tif (found.isShared()) {\n\t\t\t\t\tthis.mutableChunk = chunks[indexOfChunk] = found.clone();\n\t\t\t\t\tfound.referenceRemoved();\n\t\t\t\t} else {\n\t\t\t\t\tthis.mutableChunk = found;\n\t\t\t\t}\n\t\t\t},\n\t\t\texitNode(index: number): void {\n\t\t\t\tassert(this.mutableChunk !== undefined, 0x537 /* should be in node */);\n\t\t\t\tthis.mutableChunk = undefined;\n\t\t\t},\n\t\t\tenterField(key: FieldKey): void {\n\t\t\t\tassert(this.mutableChunk !== undefined, 0x538 /* should be in node */);\n\t\t\t\tthis.mutableChunkStack.push({ key, mutableChunk: this.mutableChunk });\n\t\t\t\tthis.mutableChunk = undefined;\n\t\t\t},\n\t\t\texitField(key: FieldKey): void {\n\t\t\t\tconst top = this.mutableChunkStack.pop() ?? fail(0xaf8 /* should not be at root */);\n\t\t\t\tassert(this.mutableChunk === undefined, 0x539 /* should be in field */);\n\t\t\t\tthis.mutableChunk = top.mutableChunk;\n\t\t\t},\n\t\t};\n\n\t\tconst announcedVisitors: AnnouncedVisitor[] = [];\n\t\tfor (const getVisitor of this.deltaVisitors) {\n\t\t\tannouncedVisitors.push(getVisitor());\n\t\t}\n\t\tconst combinedVisitor = combineVisitors([forestVisitor, ...announcedVisitors]);\n\t\tthis.activeVisitor = combinedVisitor;\n\t\treturn combinedVisitor;\n\t}\n\n\tprivate nextDetachedFieldIdentifier = 0;\n\tpublic newDetachedField(): DetachedField {\n\t\tconst field: DetachedField = brand(String(this.nextDetachedFieldIdentifier));\n\t\tassert(\n\t\t\t!this.roots.fields.has(detachedFieldAsKey(field)),\n\t\t\t0x53a /* new field must not already exist */,\n\t\t);\n\t\tthis.nextDetachedFieldIdentifier += 1;\n\t\treturn field;\n\t}\n\n\tpublic allocateCursor(): Cursor {\n\t\treturn new Cursor(\n\t\t\tthis,\n\t\t\tITreeSubscriptionCursorState.Cleared,\n\t\t\t[],\n\t\t\t[],\n\t\t\t[],\n\t\t\t[],\n\t\t\t[],\n\t\t\t[],\n\t\t\t0,\n\t\t\t0,\n\t\t\t0,\n\t\t\tundefined,\n\t\t);\n\t}\n\n\tpublic tryMoveCursorToNode(\n\t\tdestination: Anchor,\n\t\tcursorToMove: ITreeSubscriptionCursor,\n\t): TreeNavigationResult {\n\t\tconst path = this.anchors.locate(destination);\n\t\tif (path === undefined) {\n\t\t\treturn TreeNavigationResult.NotFound;\n\t\t}\n\t\tthis.moveCursorToPath(path, cursorToMove);\n\t\treturn TreeNavigationResult.Ok;\n\t}\n\n\tpublic tryMoveCursorToField(\n\t\tdestination: FieldAnchor,\n\t\tcursorToMove: ITreeSubscriptionCursor,\n\t): TreeNavigationResult {\n\t\tassert(\n\t\t\tcursorToMove instanceof Cursor,\n\t\t\t0x53b /* ChunkedForest must only be given its own Cursor type */,\n\t\t);\n\t\tif (destination.parent === undefined) {\n\t\t\tcursorToMove.setToDetachedSequence(destination.fieldKey);\n\t\t\treturn TreeNavigationResult.Ok;\n\t\t}\n\t\tconst result = this.tryMoveCursorToNode(destination.parent, cursorToMove);\n\t\tif (result !== TreeNavigationResult.Ok) {\n\t\t\treturn result;\n\t\t}\n\n\t\tcursorToMove.enterField(destination.fieldKey);\n\t\treturn TreeNavigationResult.Ok;\n\t}\n\n\tpublic moveCursorToPath(destination: UpPath, cursorToMove: ITreeSubscriptionCursor): void {\n\t\tassert(\n\t\t\tcursorToMove instanceof Cursor,\n\t\t\t0x53c /* ChunkedForest must only be given its own Cursor type */,\n\t\t);\n\t\tassert(\n\t\t\tcursorToMove.forest === this,\n\t\t\t0x53d /* ChunkedForest must only be given its own Cursor */,\n\t\t);\n\n\t\tconst indexStack: number[] = [];\n\t\tconst keyStack: FieldKey[] = [];\n\n\t\tlet path: UpPath | undefined = destination;\n\t\twhile (path !== undefined) {\n\t\t\tindexStack.push(path.parentIndex);\n\t\t\tkeyStack.push(path.parentField);\n\t\t\tpath = path.parent;\n\t\t}\n\t\tcursorToMove.clear();\n\t\twhile (keyStack.length > 0) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\tconst key = keyStack.pop()!;\n\t\t\tif (cursorToMove.state === ITreeSubscriptionCursorState.Cleared) {\n\t\t\t\tcursorToMove.setToDetachedSequence(key);\n\t\t\t\tcursorToMove.state = ITreeSubscriptionCursorState.Current;\n\t\t\t} else {\n\t\t\t\tcursorToMove.enterField(key);\n\t\t\t}\n\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\tcursorToMove.enterNode(indexStack.pop()!);\n\t\t}\n\t}\n\n\tpublic getCursorAboveDetachedFields(): ITreeCursorSynchronous {\n\t\tconst rootCursor = this.roots.cursor();\n\t\trootCursor.enterNode(0);\n\t\treturn rootCursor;\n\t}\n}\n\nclass Cursor extends BasicChunkCursor implements ITreeSubscriptionCursor {\n\tpublic constructor(\n\t\tpublic readonly forest: ChunkedForest,\n\t\tpublic state: ITreeSubscriptionCursorState,\n\t\troot: readonly TreeChunk[],\n\t\tsiblingStack: SiblingsOrKey[],\n\t\tindexStack: number[],\n\t\tindexOfChunkStack: number[],\n\t\tindexWithinChunkStack: number[],\n\t\tsiblings: SiblingsOrKey,\n\t\tindex: number,\n\t\tindexOfChunk: number,\n\t\tindexWithinChunk: number,\n\t\tnestedCursor: ChunkedCursor | undefined,\n\t) {\n\t\tsuper(\n\t\t\troot,\n\t\t\tsiblingStack,\n\t\t\tindexStack,\n\t\t\tindexOfChunkStack,\n\t\t\tindexWithinChunkStack,\n\t\t\tsiblings,\n\t\t\tindex,\n\t\t\tindexOfChunk,\n\t\t\tindexWithinChunk,\n\t\t\tnestedCursor,\n\t\t);\n\t}\n\n\tpublic setToDetachedSequence(key: FieldKey): void {\n\t\tthis.root = (this.forest.roots.fields.get(key) ?? []) as BasicChunk[];\n\t\tthis.siblingStack.length = 0;\n\t\tthis.indexStack.length = 0;\n\t\tthis.indexOfChunkStack.length = 0;\n\t\tthis.indexWithinChunkStack.length = 0;\n\t\tthis.siblings = [key];\n\t\tthis.index = 0;\n\t\tthis.indexOfChunk = 0;\n\t\tthis.indexWithinChunk = 0;\n\t\tthis.nestedCursor = undefined;\n\t}\n\n\tpublic override fork(): Cursor {\n\t\t// Siblings arrays are not modified during navigation and do not need be be copied.\n\t\t// This allows this copy to be shallow, and `this.siblings` below to not be copied as all.\n\t\treturn new Cursor(\n\t\t\tthis.forest,\n\t\t\tthis.state,\n\t\t\tthis.root,\n\t\t\t[...this.siblingStack],\n\t\t\t[...this.indexStack],\n\t\t\t[...this.indexOfChunkStack],\n\t\t\t[...this.indexWithinChunkStack],\n\t\t\tthis.siblings,\n\t\t\tthis.index,\n\t\t\tthis.indexOfChunk,\n\t\t\tthis.indexWithinChunk,\n\t\t\tthis.nestedCursor?.fork(),\n\t\t);\n\t}\n\n\tpublic buildFieldAnchor(): FieldAnchor {\n\t\tconst path = this.getFieldPath();\n\t\tconst anchor =\n\t\t\tpath.parent === undefined ? undefined : this.forest.anchors.track(path.parent);\n\t\treturn { parent: anchor, fieldKey: path.field };\n\t}\n\n\tpublic free(): void {\n\t\tthis.state = ITreeSubscriptionCursorState.Freed;\n\t}\n\n\tpublic buildAnchor(): Anchor {\n\t\treturn this.forest.anchors.track(this.getPath());\n\t}\n\n\tpublic clear(): void {\n\t\tthis.state = ITreeSubscriptionCursorState.Cleared;\n\t\tthis.setToDetachedSequence(rootFieldKey);\n\t}\n}\n\n/**\n * Creates an implementation of {@link IEditableForest} with no data or schema.\n */\nexport function buildChunkedForest(\n\tchunker: IChunker,\n\tanchors?: AnchorSet,\n\tidCompressor?: IIdCompressor,\n): ChunkedForest {\n\treturn new ChunkedForest(makeRoot(), chunker.schema, chunker, anchors, idCompressor);\n}\n"]}
1
+ {"version":3,"file":"chunkedForest.js","sourceRoot":"","sources":["../../../src/feature-libraries/chunked-forest/chunkedForest.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;AAEH,+DAA6D;AAE7D,kEAAwE;AAGxE,kDA0B6B;AAC7B,kDAM6B;AAE7B,mDAAmF;AACnF,iDAOwB;AAExB,SAAS,QAAQ;IAChB,OAAO,IAAI,0BAAU,CAAC,+BAAoB,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;AACxD,CAAC;AAOD;;;;GAIG;AACH,MAAa,aAAa;IAOzB;;;;;OAKG;IACH,YACQ,KAAiB,EACR,MAAoC,EACpC,OAAiB,EACjB,UAAqB,IAAI,oBAAS,EAAE,EACpC,YAA4B;QAJrC,UAAK,GAAL,KAAK,CAAY;QACR,WAAM,GAAN,MAAM,CAA8B;QACpC,YAAO,GAAP,OAAO,CAAU;QACjB,YAAO,GAAP,OAAO,CAA6B;QACpC,iBAAY,GAAZ,YAAY,CAAgB;QAf5B,kBAAa,GAAgC,IAAI,GAAG,EAAE,CAAC;QAC/D,gCAAU,IAAA,4BAAa,GAAgB,EAAC;QACjC,WAAM,GAA6B,+BAAA,IAAI,6BAAQ,CAAC;QAyOxD,gCAA2B,GAAG,CAAC,CAAC;IA3NrC,CAAC;IAEJ,IAAW,OAAO;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC;IACrC,CAAC;IAEM,KAAK,CAAC,MAAoC,EAAE,QAAoB;QACtE,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QAC5B,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1E,CAAC;IAEM,UAAU,CAAC,MAA8B;QAC/C,OAAO,IAAA,yBAAU,EAAC,MAAM,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACtF,CAAC;IAEM,YAAY,CAAC,MAAc;QACjC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAEM,wBAAwB,CAAC,OAA+B;QAC9D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAEM,0BAA0B,CAAC,OAA+B;QAChE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAEM,cAAc;QACpB,IAAA,iBAAM,EACL,IAAI,CAAC,aAAa,KAAK,SAAS,EAChC,KAAK,CAAC,4DAA4D,CAClE,CAAC;QAEF,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACjC,CAAC;QAED,MAAM,aAAa,GAAG;YACrB,MAAM,EAAE,IAAI;YACZ,uIAAuI;YACvI,uCAAuC;YACvC,iBAAiB,EAAE,EAAiB;YACpC,YAAY,EAAE,IAAI,CAAC,KAA+B;YAClD,SAAS;gBACR,IAAA,iBAAM,EAAC,IAAA,kBAAO,EAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,qCAAqC,CAAC,CAAC;gBACrF,OAAO,IAAA,kBAAO,EAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACxC,CAAC;YACD,IAAI;gBACH,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;gBAC9B,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;gBAClC,IAAA,iBAAM,EACL,IAAI,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,EACvC,KAAK,CAAC,0CAA0C,CAChD,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,SAAS,CAAC;YACvC,CAAC;YACD,OAAO,CAAC,aAAuB,EAAE,KAAa;gBAC7C,+BAAA,IAAI,CAAC,MAAM,6BAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAChD,CAAC;YACD,MAAM,CAAC,OAA0C,EAAE,WAAqB;gBACvE,+BAAA,IAAI,CAAC,MAAM,6BAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACzC,MAAM,MAAM,GAAgB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7C,IAAA,wBAAS,EAAC,CAAC,EAAE;oBACZ,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;oBAC3B,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;iBACtC,CAAC,CACF,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAClD,+BAAA,IAAI,CAAC,MAAM,6BAAQ,CAAC,IAAI,CAAC,uBAAuB,EAAE,WAAW,CAAC,CAAC;YAChE,CAAC;YACD,MAAM,CAAC,MAAgB,EAAE,KAAa,EAAE,WAAuB;gBAC9D,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;YAC7C,CAAC;YACD,MAAM,CAAC,MAAa,EAAE,WAAqB,EAAE,EAAuB;gBACnE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACtC,CAAC;YACD;;;;;eAKG;YACH,UAAU,CAAC,MAAgB,EAAE,KAAa,EAAE,WAAuB;gBAClE,+BAAA,IAAI,CAAC,MAAM,6BAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACzC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC/D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACxC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC9B,OAAO,CAAC,mEAAmE;gBAC5E,CAAC;gBAED,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChC,MAAM,gBAAgB,GAAG,IAAA,6BAAkB,EAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;gBACpF,MAAM,qBAAqB,GAAG,IAAA,gCAAiB,EAAC,gBAAgB,EAAE,WAAW,EAAE;oBAC9E,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;oBAC3B,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;iBACtC,CAAC,CAAC;gBACH,oEAAoE;gBACpE,gBAAgB,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC;YACnE,CAAC;YACD;;;;;;eAMG;YACH,UAAU,CAAC,MAAa,EAAE,WAAiC;gBAC1D,kIAAkI;gBAClI,iCAAiC;gBACjC,gGAAgG;gBAChG,wFAAwF;gBACxF,qGAAqG;gBAErG,+BAAA,IAAI,CAAC,MAAM,6BAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACzC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChC,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACrE,IAAA,iBAAM,EAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,4CAA4C,CAAC,CAAC;gBAEvF,MAAM,MAAM,GAAoB;oBAC/B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;oBAC3B,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;iBACtC,CAAC;gBACF,8FAA8F;gBAC9F,uFAAuF;gBACvF,wDAAwD;gBACxD,iLAAiL;gBACjL,MAAM,eAAe,GAAG,IAAA,gCAAiB,EAAC,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAC7E,MAAM,aAAa,GAAG,IAAA,gCAAiB,EAAC,WAAW,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBACzE,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,eAAe,EAAE,aAAa,GAAG,eAAe,CAAC,CAAC;gBAEtF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;oBAC/B,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;wBAC9B,KAAK,CAAC,gBAAgB,EAAE,CAAC;oBAC1B,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,IAAA,iBAAM,EACL,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAC1C,KAAK,CAAC,oDAAoD,CAC1D,CAAC;oBACF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;oBACrD,CAAC;gBACF,CAAC;gBACD,kGAAkG;gBAClG,iDAAiD;gBACjD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC9B,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC/C,CAAC;YACF,CAAC;YACD,SAAS,CAAC,KAAa;gBACtB,IAAA,iBAAM,EAAC,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBACxE,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChC,MAAM,MAAM,GACX,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAA,eAAI,EAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBACtF,IAAI,gBAAgB,GAAG,KAAK,CAAC;gBAC7B,IAAI,YAAY,GAAG,CAAC,CAAC;gBACrB,IAAI,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,IAAA,cAAG,GAAE,CAAC;gBAC1C,OAAO,gBAAgB,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;oBACjD,gBAAgB,IAAI,KAAK,CAAC,cAAc,CAAC;oBACzC,YAAY,EAAE,CAAC;oBACf,IAAI,YAAY,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;wBACpC,IAAA,eAAI,EAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;oBACvC,CAAC;oBACD,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,IAAA,cAAG,GAAE,CAAC;gBACvC,CAAC;gBACD,IAAI,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,IAAA,cAAG,GAAE,CAAC;gBAC1C,IAAI,CAAC,CAAC,KAAK,YAAY,0BAAU,CAAC,EAAE,CAAC;oBACpC,4EAA4E;oBAC5E,gDAAgD;oBAChD,yCAAyC;oBACzC,EAAE;oBACF,uFAAuF;oBACvF,MAAM,SAAS,GAAG,IAAA,yBAAc,EAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAC3D,IAAA,6BAAc,EAAC,MAAM,EAAE;wBACtB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;wBAC3B,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;qBACtC,CAAC,CACF,CAAC;oBACF,2FAA2F;oBAC3F,8GAA8G;oBAC9G,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;oBAC7C,KAAK,CAAC,gBAAgB,EAAE,CAAC;oBAEzB,KAAK,GAAG,SAAS,CAAC,gBAAgB,CAAC,IAAI,IAAA,cAAG,GAAE,CAAC;gBAC9C,CAAC;gBACD,IAAA,iBAAM,EAAC,KAAK,YAAY,0BAAU,EAAE,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBACnF,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;oBACtB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;oBACzD,KAAK,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,CAAC;qBAAM,CAAC;oBACP,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC3B,CAAC;YACF,CAAC;YACD,QAAQ,CAAC,KAAa;gBACrB,IAAA,iBAAM,EAAC,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBACvE,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAC/B,CAAC;YACD,UAAU,CAAC,GAAa;gBACvB,IAAA,iBAAM,EAAC,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBACvE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;gBACtE,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAC/B,CAAC;YACD,SAAS,CAAC,GAAa;gBACtB,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,IAAA,eAAI,EAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;gBACpF,IAAA,iBAAM,EAAC,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBACxE,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;YACtC,CAAC;SACD,CAAC;QAEF,MAAM,iBAAiB,GAAuB,EAAE,CAAC;QACjD,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC7C,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,eAAe,GAAG,IAAA,0BAAe,EAAC,CAAC,aAAa,EAAE,GAAG,iBAAiB,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,aAAa,GAAG,eAAe,CAAC;QACrC,OAAO,eAAe,CAAC;IACxB,CAAC;IAGM,gBAAgB;QACtB,MAAM,KAAK,GAAkB,IAAA,gBAAK,EAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;QAC7E,IAAA,iBAAM,EACL,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAA,6BAAkB,EAAC,KAAK,CAAC,CAAC,EACjD,KAAK,CAAC,sCAAsC,CAC5C,CAAC;QACF,IAAI,CAAC,2BAA2B,IAAI,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC;IACd,CAAC;IAEM,cAAc;QACpB,OAAO,IAAI,MAAM,CAChB,IAAI,EACJ,uCAA4B,CAAC,OAAO,EACpC,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,CAAC,EACD,CAAC,EACD,CAAC,EACD,SAAS,CACT,CAAC;IACH,CAAC;IAEM,mBAAmB,CACzB,WAAmB,EACnB,YAAqC;QAErC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC9C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACxB,8CAAqC;QACtC,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC1C,uCAA+B;IAChC,CAAC;IAEM,oBAAoB,CAC1B,WAAwB,EACxB,YAAqC;QAErC,IAAA,iBAAM,EACL,YAAY,YAAY,MAAM,EAC9B,KAAK,CAAC,0DAA0D,CAChE,CAAC;QACF,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACtC,YAAY,CAAC,qBAAqB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACzD,uCAA+B;QAChC,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAC1E,IAAI,MAAM,oCAA4B,EAAE,CAAC;YACxC,OAAO,MAAM,CAAC;QACf,CAAC;QAED,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC9C,uCAA+B;IAChC,CAAC;IAEM,gBAAgB,CAAC,WAAmB,EAAE,YAAqC;QACjF,IAAA,iBAAM,EACL,YAAY,YAAY,MAAM,EAC9B,KAAK,CAAC,0DAA0D,CAChE,CAAC;QACF,IAAA,iBAAM,EACL,YAAY,CAAC,MAAM,KAAK,IAAI,EAC5B,KAAK,CAAC,qDAAqD,CAC3D,CAAC;QAEF,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAe,EAAE,CAAC;QAEhC,IAAI,IAAI,GAAuB,WAAW,CAAC;QAC3C,OAAO,IAAI,KAAK,SAAS,EAAE,CAAC;YAC3B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAClC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAChC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QACpB,CAAC;QACD,YAAY,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,oEAAoE;YACpE,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAG,CAAC;YAC5B,IAAI,YAAY,CAAC,KAAK,KAAK,uCAA4B,CAAC,OAAO,EAAE,CAAC;gBACjE,YAAY,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;gBACxC,YAAY,CAAC,KAAK,GAAG,uCAA4B,CAAC,OAAO,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACP,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;YAED,oEAAoE;YACpE,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,EAAG,CAAC,CAAC;QAC3C,CAAC;IACF,CAAC;IAEM,4BAA4B;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACvC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACxB,OAAO,UAAU,CAAC;IACnB,CAAC;CACD;AAnVD,sCAmVC;;AAED,MAAM,MAAO,SAAQ,gCAAgB;IACpC,YACiB,MAAqB,EAC9B,KAAmC,EAC1C,IAA0B,EAC1B,YAA6B,EAC7B,UAAoB,EACpB,iBAA2B,EAC3B,qBAA+B,EAC/B,QAAuB,EACvB,KAAa,EACb,YAAoB,EACpB,gBAAwB,EACxB,YAAuC;QAEvC,KAAK,CACJ,IAAI,EACJ,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,qBAAqB,EACrB,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,gBAAgB,EAChB,YAAY,CACZ,CAAC;QAxBc,WAAM,GAAN,MAAM,CAAe;QAC9B,UAAK,GAAL,KAAK,CAA8B;IAwB3C,CAAC;IAEM,qBAAqB,CAAC,GAAa;QACzC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAiB,CAAC;QACtE,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;IAC/B,CAAC;IAEe,IAAI;QACnB,mFAAmF;QACnF,0FAA0F;QAC1F,OAAO,IAAI,MAAM,CAChB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,IAAI,EACT,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,EACtB,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,EACpB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAC3B,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,EAC/B,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,CACzB,CAAC;IACH,CAAC;IAEM,gBAAgB;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,MAAM,MAAM,GACX,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChF,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IACjD,CAAC;IAEM,IAAI;QACV,IAAI,CAAC,KAAK,GAAG,uCAA4B,CAAC,KAAK,CAAC;IACjD,CAAC;IAEM,WAAW;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAClD,CAAC;IAEM,KAAK;QACX,IAAI,CAAC,KAAK,GAAG,uCAA4B,CAAC,OAAO,CAAC;QAClD,IAAI,CAAC,qBAAqB,CAAC,uBAAY,CAAC,CAAC;IAC1C,CAAC;CACD;AAED;;GAEG;AACH,SAAgB,kBAAkB,CACjC,OAAiB,EACjB,OAAmB,EACnB,YAA4B;IAE5B,OAAO,IAAI,aAAa,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;AACtF,CAAC;AAND,gDAMC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { createEmitter } from \"@fluid-internal/client-utils\";\nimport type { Listenable } from \"@fluidframework/core-interfaces\";\nimport { assert, oob, fail } from \"@fluidframework/core-utils/internal\";\nimport type { IIdCompressor } from \"@fluidframework/id-compressor\";\n\nimport {\n\ttype Anchor,\n\tAnchorSet,\n\ttype AnnouncedVisitor,\n\ttype DeltaVisitor,\n\ttype DetachedField,\n\ttype FieldAnchor,\n\ttype FieldKey,\n\ttype ForestEvents,\n\ttype IEditableForest,\n\ttype ITreeCursorSynchronous,\n\ttype ITreeSubscriptionCursor,\n\tITreeSubscriptionCursorState,\n\ttype PlaceIndex,\n\ttype Range,\n\tTreeNavigationResult,\n\ttype TreeStoredSchemaSubscription,\n\ttype UpPath,\n\taboveRootPlaceholder,\n\tcombineVisitors,\n\tdetachedFieldAsKey,\n\tmapCursorField,\n\trootFieldKey,\n\ttype ChunkedCursor,\n\ttype TreeChunk,\n\ttype DeltaDetachedNodeId,\n} from \"../../core/index.js\";\nimport {\n\tbrand,\n\tgetLast,\n\tgetOrAddEmptyToMap,\n\thasSome,\n\ttype Breakable,\n} from \"../../util/index.js\";\n\nimport { BasicChunk, BasicChunkCursor, type SiblingsOrKey } from \"./basicChunk.js\";\nimport {\n\ttype ChunkCompressor,\n\ttype IChunker,\n\tbasicChunkTree,\n\tchunkField,\n\tchunkTree,\n\tsplitFieldAtIndex,\n} from \"./chunkTree.js\";\n\nfunction makeRoot(): BasicChunk {\n\treturn new BasicChunk(aboveRootPlaceholder, new Map());\n}\n\ninterface StackNode {\n\tmutableChunk: BasicChunk;\n\tkey: FieldKey;\n}\n\n/**\n * Implementation of IEditableForest based on copy on write chunks.\n *\n * This implementation focuses on performance.\n */\nexport class ChunkedForest implements IEditableForest {\n\tprivate activeVisitor?: DeltaVisitor;\n\n\tprivate readonly deltaVisitors: Set<() => AnnouncedVisitor> = new Set();\n\treadonly #events = createEmitter<ForestEvents>();\n\tpublic readonly events: Listenable<ForestEvents> = this.#events;\n\n\t/**\n\t * @param roots - dummy node above the root under which detached fields are stored. All content of the forest is reachable from this.\n\t * @param schema - schema which all content in this forest is assumed to comply with.\n\t * @param chunker - Chunking policy. TODO: dispose of this when forest is disposed.\n\t * @param anchors - anchorSet used to track location in this forest across changes. Callers of applyDelta must ensure this is updated accordingly.\n\t */\n\tpublic constructor(\n\t\tpublic roots: BasicChunk,\n\t\tpublic readonly schema: TreeStoredSchemaSubscription,\n\t\tpublic readonly chunker: IChunker,\n\t\tpublic readonly anchors: AnchorSet = new AnchorSet(),\n\t\tpublic readonly idCompressor?: IIdCompressor,\n\t) {}\n\n\tpublic get isEmpty(): boolean {\n\t\treturn this.roots.fields.size === 0;\n\t}\n\n\tpublic clone(schema: TreeStoredSchemaSubscription, _breaker?: Breakable): ChunkedForest {\n\t\tthis.roots.referenceAdded();\n\t\treturn new ChunkedForest(this.roots, schema, this.chunker.clone(schema));\n\t}\n\n\tpublic chunkField(cursor: ITreeCursorSynchronous): TreeChunk[] {\n\t\treturn chunkField(cursor, { idCompressor: this.idCompressor, policy: this.chunker });\n\t}\n\n\tpublic forgetAnchor(anchor: Anchor): void {\n\t\tthis.anchors.forget(anchor);\n\t}\n\n\tpublic registerAnnouncedVisitor(visitor: () => AnnouncedVisitor): void {\n\t\tthis.deltaVisitors.add(visitor);\n\t}\n\n\tpublic deregisterAnnouncedVisitor(visitor: () => AnnouncedVisitor): void {\n\t\tthis.deltaVisitors.delete(visitor);\n\t}\n\n\tpublic acquireVisitor(): DeltaVisitor {\n\t\tassert(\n\t\t\tthis.activeVisitor === undefined,\n\t\t\t0x76a /* Must release existing visitor before acquiring another */,\n\t\t);\n\n\t\tif (this.roots.isShared()) {\n\t\t\tthis.roots = this.roots.clone();\n\t\t}\n\n\t\tconst forestVisitor = {\n\t\t\tforest: this,\n\t\t\t// Current location in the tree, as a non-shared BasicChunk (TODO: support in-place modification of other chunk formats when possible).\n\t\t\t// Start above root detached sequences.\n\t\t\tmutableChunkStack: [] as StackNode[],\n\t\t\tmutableChunk: this.roots as BasicChunk | undefined,\n\t\t\tgetParent(): StackNode {\n\t\t\t\tassert(hasSome(this.mutableChunkStack), 0x532 /* invalid access to root's parent */);\n\t\t\t\treturn getLast(this.mutableChunkStack);\n\t\t\t},\n\t\t\tfree(): void {\n\t\t\t\tthis.mutableChunk = undefined;\n\t\t\t\tthis.mutableChunkStack.length = 0;\n\t\t\t\tassert(\n\t\t\t\t\tthis.forest.activeVisitor !== undefined,\n\t\t\t\t\t0x76b /* Multiple free calls for same visitor */,\n\t\t\t\t);\n\t\t\t\tthis.forest.activeVisitor = undefined;\n\t\t\t},\n\t\t\tdestroy(detachedField: FieldKey, count: number): void {\n\t\t\t\tthis.forest.#events.emit(\"beforeChange\");\n\t\t\t\tthis.forest.roots.fields.delete(detachedField);\n\t\t\t},\n\t\t\tcreate(content: readonly ITreeCursorSynchronous[], destination: FieldKey): void {\n\t\t\t\tthis.forest.#events.emit(\"beforeChange\");\n\t\t\t\tconst chunks: TreeChunk[] = content.map((c) =>\n\t\t\t\t\tchunkTree(c, {\n\t\t\t\t\t\tpolicy: this.forest.chunker,\n\t\t\t\t\t\tidCompressor: this.forest.idCompressor,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t\tthis.forest.roots.fields.set(destination, chunks);\n\t\t\t\tthis.forest.#events.emit(\"afterRootFieldCreated\", destination);\n\t\t\t},\n\t\t\tattach(source: FieldKey, count: number, destination: PlaceIndex): void {\n\t\t\t\tthis.attachEdit(source, count, destination);\n\t\t\t},\n\t\t\tdetach(source: Range, destination: FieldKey, id: DeltaDetachedNodeId): void {\n\t\t\t\tthis.detachEdit(source, destination);\n\t\t\t},\n\t\t\t/**\n\t\t\t * Attaches the range into the current field by transferring it from the given source path.\n\t\t\t * Does not invalidate dependents.\n\t\t\t * @param source - The the range to be attached.\n\t\t\t * @param destination - The index in the current field at which to attach the content.\n\t\t\t */\n\t\t\tattachEdit(source: FieldKey, count: number, destination: PlaceIndex): void {\n\t\t\t\tthis.forest.#events.emit(\"beforeChange\");\n\t\t\t\tconst sourceField = this.forest.roots.fields.get(source) ?? [];\n\t\t\t\tthis.forest.roots.fields.delete(source);\n\t\t\t\tif (sourceField.length === 0) {\n\t\t\t\t\treturn; // Prevent creating 0 sized fields when inserting empty into empty.\n\t\t\t\t}\n\n\t\t\t\tconst parent = this.getParent();\n\t\t\t\tconst destinationField = getOrAddEmptyToMap(parent.mutableChunk.fields, parent.key);\n\t\t\t\tconst destinationChunkIndex = splitFieldAtIndex(destinationField, destination, {\n\t\t\t\t\tpolicy: this.forest.chunker,\n\t\t\t\t\tidCompressor: this.forest.idCompressor,\n\t\t\t\t});\n\t\t\t\t// TODO: this will fail for very large moves due to argument limits.\n\t\t\t\tdestinationField.splice(destinationChunkIndex, 0, ...sourceField);\n\t\t\t},\n\t\t\t/**\n\t\t\t * Detaches the range from the current field and transfers it to the given destination if any.\n\t\t\t * Does not invalidate dependents.\n\t\t\t * @param source - The bounds of the range to be detached from the current field.\n\t\t\t * @param destination - If specified, the destination to transfer the detached range to.\n\t\t\t * If not specified, the detached range is destroyed.\n\t\t\t */\n\t\t\tdetachEdit(source: Range, destination: FieldKey | undefined): void {\n\t\t\t\t// TODO: optimize this to perform in-place replace in uniform chunks when attach edits bring the chunk back to its original shape.\n\t\t\t\t// This should result in 3 cases:\n\t\t\t\t// 1. In-place update of uniform chunk. No allocations, no ref count changes, no new TreeChunks.\n\t\t\t\t// 2. Uniform chunk is shared: copy it (and parent path as needed), and update the copy.\n\t\t\t\t// 3. Fallback to detach then attach (Which will copy parents and convert to basic chunks as needed).\n\n\t\t\t\tthis.forest.#events.emit(\"beforeChange\");\n\t\t\t\tconst parent = this.getParent();\n\t\t\t\tconst sourceField = parent.mutableChunk.fields.get(parent.key) ?? [];\n\t\t\t\tassert(source.start <= source.end, 0xcf8 /* detach range start must not exceed end */);\n\n\t\t\t\tconst policy: ChunkCompressor = {\n\t\t\t\t\tpolicy: this.forest.chunker,\n\t\t\t\t\tidCompressor: this.forest.idCompressor,\n\t\t\t\t};\n\t\t\t\t// Split start first: splitting end later only expands chunks at positions >= startChunkIndex,\n\t\t\t\t// which leaves startChunkIndex valid. The reverse order would shift endChunkIndex when\n\t\t\t\t// source.start and source.end land in different chunks.\n\t\t\t\t// Performance: It's practical to have a variant of splitFieldAtIndex which can split at multiple locations in a single pass if the performance of this becomes worth optimizing.\n\t\t\t\tconst startChunkIndex = splitFieldAtIndex(sourceField, source.start, policy);\n\t\t\t\tconst endChunkIndex = splitFieldAtIndex(sourceField, source.end, policy);\n\t\t\t\tconst newField = sourceField.splice(startChunkIndex, endChunkIndex - startChunkIndex);\n\n\t\t\t\tif (destination === undefined) {\n\t\t\t\t\tfor (const child of newField) {\n\t\t\t\t\t\tchild.referenceRemoved();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tassert(\n\t\t\t\t\t\t!this.forest.roots.fields.has(destination),\n\t\t\t\t\t\t0x7af /* Destination must be a new empty detached field */,\n\t\t\t\t\t);\n\t\t\t\t\tif (newField.length > 0) {\n\t\t\t\t\t\tthis.forest.roots.fields.set(destination, newField);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// This check is performed after the transfer to ensure that the field is not removed in scenarios\n\t\t\t\t// where the source and destination are the same.\n\t\t\t\tif (sourceField.length === 0) {\n\t\t\t\t\tparent.mutableChunk.fields.delete(parent.key);\n\t\t\t\t}\n\t\t\t},\n\t\t\tenterNode(index: number): void {\n\t\t\t\tassert(this.mutableChunk === undefined, 0x535 /* should be in field */);\n\t\t\t\tconst parent = this.getParent();\n\t\t\t\tconst chunks =\n\t\t\t\t\tparent.mutableChunk.fields.get(parent.key) ?? fail(0xaf6 /* missing edited field */);\n\t\t\t\tlet indexWithinChunk = index;\n\t\t\t\tlet indexOfChunk = 0;\n\t\t\t\tlet chunk = chunks[indexOfChunk] ?? oob();\n\t\t\t\twhile (indexWithinChunk >= chunk.topLevelLength) {\n\t\t\t\t\tindexWithinChunk -= chunk.topLevelLength;\n\t\t\t\t\tindexOfChunk++;\n\t\t\t\t\tif (indexOfChunk === chunks.length) {\n\t\t\t\t\t\tfail(0xaf7 /* missing edited node */);\n\t\t\t\t\t}\n\t\t\t\t\tchunk = chunks[indexOfChunk] ?? oob();\n\t\t\t\t}\n\t\t\t\tlet found = chunks[indexOfChunk] ?? oob();\n\t\t\t\tif (!(found instanceof BasicChunk)) {\n\t\t\t\t\t// TODO:Perf: support in place editing of other chunk formats when possible:\n\t\t\t\t\t// 1. Support updating values in uniform chunks.\n\t\t\t\t\t// 2. Support traversing sequence chunks.\n\t\t\t\t\t//\n\t\t\t\t\t// Maybe build path when visitor navigates then lazily sync to chunk tree when editing?\n\t\t\t\t\tconst newChunks = mapCursorField(found.cursor(), (cursor) =>\n\t\t\t\t\t\tbasicChunkTree(cursor, {\n\t\t\t\t\t\t\tpolicy: this.forest.chunker,\n\t\t\t\t\t\t\tidCompressor: this.forest.idCompressor,\n\t\t\t\t\t\t}),\n\t\t\t\t\t);\n\t\t\t\t\t// TODO: this could fail for really long chunks being split (due to argument count limits).\n\t\t\t\t\t// Current implementations of chunks shouldn't ever be that long, but it could be an issue if they get bigger.\n\t\t\t\t\tchunks.splice(indexOfChunk, 1, ...newChunks);\n\t\t\t\t\tfound.referenceRemoved();\n\n\t\t\t\t\tfound = newChunks[indexWithinChunk] ?? oob();\n\t\t\t\t}\n\t\t\t\tassert(found instanceof BasicChunk, 0x536 /* chunk should have been normalized */);\n\t\t\t\tif (found.isShared()) {\n\t\t\t\t\tthis.mutableChunk = chunks[indexOfChunk] = found.clone();\n\t\t\t\t\tfound.referenceRemoved();\n\t\t\t\t} else {\n\t\t\t\t\tthis.mutableChunk = found;\n\t\t\t\t}\n\t\t\t},\n\t\t\texitNode(index: number): void {\n\t\t\t\tassert(this.mutableChunk !== undefined, 0x537 /* should be in node */);\n\t\t\t\tthis.mutableChunk = undefined;\n\t\t\t},\n\t\t\tenterField(key: FieldKey): void {\n\t\t\t\tassert(this.mutableChunk !== undefined, 0x538 /* should be in node */);\n\t\t\t\tthis.mutableChunkStack.push({ key, mutableChunk: this.mutableChunk });\n\t\t\t\tthis.mutableChunk = undefined;\n\t\t\t},\n\t\t\texitField(key: FieldKey): void {\n\t\t\t\tconst top = this.mutableChunkStack.pop() ?? fail(0xaf8 /* should not be at root */);\n\t\t\t\tassert(this.mutableChunk === undefined, 0x539 /* should be in field */);\n\t\t\t\tthis.mutableChunk = top.mutableChunk;\n\t\t\t},\n\t\t};\n\n\t\tconst announcedVisitors: AnnouncedVisitor[] = [];\n\t\tfor (const getVisitor of this.deltaVisitors) {\n\t\t\tannouncedVisitors.push(getVisitor());\n\t\t}\n\t\tconst combinedVisitor = combineVisitors([forestVisitor, ...announcedVisitors]);\n\t\tthis.activeVisitor = combinedVisitor;\n\t\treturn combinedVisitor;\n\t}\n\n\tprivate nextDetachedFieldIdentifier = 0;\n\tpublic newDetachedField(): DetachedField {\n\t\tconst field: DetachedField = brand(String(this.nextDetachedFieldIdentifier));\n\t\tassert(\n\t\t\t!this.roots.fields.has(detachedFieldAsKey(field)),\n\t\t\t0x53a /* new field must not already exist */,\n\t\t);\n\t\tthis.nextDetachedFieldIdentifier += 1;\n\t\treturn field;\n\t}\n\n\tpublic allocateCursor(): Cursor {\n\t\treturn new Cursor(\n\t\t\tthis,\n\t\t\tITreeSubscriptionCursorState.Cleared,\n\t\t\t[],\n\t\t\t[],\n\t\t\t[],\n\t\t\t[],\n\t\t\t[],\n\t\t\t[],\n\t\t\t0,\n\t\t\t0,\n\t\t\t0,\n\t\t\tundefined,\n\t\t);\n\t}\n\n\tpublic tryMoveCursorToNode(\n\t\tdestination: Anchor,\n\t\tcursorToMove: ITreeSubscriptionCursor,\n\t): TreeNavigationResult {\n\t\tconst path = this.anchors.locate(destination);\n\t\tif (path === undefined) {\n\t\t\treturn TreeNavigationResult.NotFound;\n\t\t}\n\t\tthis.moveCursorToPath(path, cursorToMove);\n\t\treturn TreeNavigationResult.Ok;\n\t}\n\n\tpublic tryMoveCursorToField(\n\t\tdestination: FieldAnchor,\n\t\tcursorToMove: ITreeSubscriptionCursor,\n\t): TreeNavigationResult {\n\t\tassert(\n\t\t\tcursorToMove instanceof Cursor,\n\t\t\t0x53b /* ChunkedForest must only be given its own Cursor type */,\n\t\t);\n\t\tif (destination.parent === undefined) {\n\t\t\tcursorToMove.setToDetachedSequence(destination.fieldKey);\n\t\t\treturn TreeNavigationResult.Ok;\n\t\t}\n\t\tconst result = this.tryMoveCursorToNode(destination.parent, cursorToMove);\n\t\tif (result !== TreeNavigationResult.Ok) {\n\t\t\treturn result;\n\t\t}\n\n\t\tcursorToMove.enterField(destination.fieldKey);\n\t\treturn TreeNavigationResult.Ok;\n\t}\n\n\tpublic moveCursorToPath(destination: UpPath, cursorToMove: ITreeSubscriptionCursor): void {\n\t\tassert(\n\t\t\tcursorToMove instanceof Cursor,\n\t\t\t0x53c /* ChunkedForest must only be given its own Cursor type */,\n\t\t);\n\t\tassert(\n\t\t\tcursorToMove.forest === this,\n\t\t\t0x53d /* ChunkedForest must only be given its own Cursor */,\n\t\t);\n\n\t\tconst indexStack: number[] = [];\n\t\tconst keyStack: FieldKey[] = [];\n\n\t\tlet path: UpPath | undefined = destination;\n\t\twhile (path !== undefined) {\n\t\t\tindexStack.push(path.parentIndex);\n\t\t\tkeyStack.push(path.parentField);\n\t\t\tpath = path.parent;\n\t\t}\n\t\tcursorToMove.clear();\n\t\twhile (keyStack.length > 0) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\tconst key = keyStack.pop()!;\n\t\t\tif (cursorToMove.state === ITreeSubscriptionCursorState.Cleared) {\n\t\t\t\tcursorToMove.setToDetachedSequence(key);\n\t\t\t\tcursorToMove.state = ITreeSubscriptionCursorState.Current;\n\t\t\t} else {\n\t\t\t\tcursorToMove.enterField(key);\n\t\t\t}\n\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\tcursorToMove.enterNode(indexStack.pop()!);\n\t\t}\n\t}\n\n\tpublic getCursorAboveDetachedFields(): ITreeCursorSynchronous {\n\t\tconst rootCursor = this.roots.cursor();\n\t\trootCursor.enterNode(0);\n\t\treturn rootCursor;\n\t}\n}\n\nclass Cursor extends BasicChunkCursor implements ITreeSubscriptionCursor {\n\tpublic constructor(\n\t\tpublic readonly forest: ChunkedForest,\n\t\tpublic state: ITreeSubscriptionCursorState,\n\t\troot: readonly TreeChunk[],\n\t\tsiblingStack: SiblingsOrKey[],\n\t\tindexStack: number[],\n\t\tindexOfChunkStack: number[],\n\t\tindexWithinChunkStack: number[],\n\t\tsiblings: SiblingsOrKey,\n\t\tindex: number,\n\t\tindexOfChunk: number,\n\t\tindexWithinChunk: number,\n\t\tnestedCursor: ChunkedCursor | undefined,\n\t) {\n\t\tsuper(\n\t\t\troot,\n\t\t\tsiblingStack,\n\t\t\tindexStack,\n\t\t\tindexOfChunkStack,\n\t\t\tindexWithinChunkStack,\n\t\t\tsiblings,\n\t\t\tindex,\n\t\t\tindexOfChunk,\n\t\t\tindexWithinChunk,\n\t\t\tnestedCursor,\n\t\t);\n\t}\n\n\tpublic setToDetachedSequence(key: FieldKey): void {\n\t\tthis.root = (this.forest.roots.fields.get(key) ?? []) as BasicChunk[];\n\t\tthis.siblingStack.length = 0;\n\t\tthis.indexStack.length = 0;\n\t\tthis.indexOfChunkStack.length = 0;\n\t\tthis.indexWithinChunkStack.length = 0;\n\t\tthis.siblings = [key];\n\t\tthis.index = 0;\n\t\tthis.indexOfChunk = 0;\n\t\tthis.indexWithinChunk = 0;\n\t\tthis.nestedCursor = undefined;\n\t}\n\n\tpublic override fork(): Cursor {\n\t\t// Siblings arrays are not modified during navigation and do not need be be copied.\n\t\t// This allows this copy to be shallow, and `this.siblings` below to not be copied as all.\n\t\treturn new Cursor(\n\t\t\tthis.forest,\n\t\t\tthis.state,\n\t\t\tthis.root,\n\t\t\t[...this.siblingStack],\n\t\t\t[...this.indexStack],\n\t\t\t[...this.indexOfChunkStack],\n\t\t\t[...this.indexWithinChunkStack],\n\t\t\tthis.siblings,\n\t\t\tthis.index,\n\t\t\tthis.indexOfChunk,\n\t\t\tthis.indexWithinChunk,\n\t\t\tthis.nestedCursor?.fork(),\n\t\t);\n\t}\n\n\tpublic buildFieldAnchor(): FieldAnchor {\n\t\tconst path = this.getFieldPath();\n\t\tconst anchor =\n\t\t\tpath.parent === undefined ? undefined : this.forest.anchors.track(path.parent);\n\t\treturn { parent: anchor, fieldKey: path.field };\n\t}\n\n\tpublic free(): void {\n\t\tthis.state = ITreeSubscriptionCursorState.Freed;\n\t}\n\n\tpublic buildAnchor(): Anchor {\n\t\treturn this.forest.anchors.track(this.getPath());\n\t}\n\n\tpublic clear(): void {\n\t\tthis.state = ITreeSubscriptionCursorState.Cleared;\n\t\tthis.setToDetachedSequence(rootFieldKey);\n\t}\n}\n\n/**\n * Creates an implementation of {@link IEditableForest} with no data or schema.\n */\nexport function buildChunkedForest(\n\tchunker: IChunker,\n\tanchors?: AnchorSet,\n\tidCompressor?: IIdCompressor,\n): ChunkedForest {\n\treturn new ChunkedForest(makeRoot(), chunker.schema, chunker, anchors, idCompressor);\n}\n"]}
@@ -2,30 +2,35 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- import type { IIdCompressor, SessionId } from "@fluidframework/id-compressor";
5
+ import type { IIdCompressor, OpSpaceCompressedId, SessionSpaceCompressedId } from "@fluidframework/id-compressor";
6
6
  import type { Value, TreeChunk } from "../../../core/index.js";
7
7
  import { type ChunkDecoder, type StreamCursor } from "./chunkCodecUtilities.js";
8
8
  import { DecoderContext } from "./chunkDecodingGeneric.js";
9
9
  import type { IncrementalDecoder } from "./codecs.js";
10
10
  import { type EncodedChunkShape, type EncodedChunkShapeV2, type EncodedFieldBatchV1OrV2, type EncodedInlineArrayShape, type EncodedNestedArrayShape, type EncodedNodeShape, type EncodedSpecializedNodeShape, type EncodedValueShape, type ShapeIndex } from "./format/index.js";
11
+ /**
12
+ * Context for decoding identifiers.
13
+ * @remarks
14
+ * See {@link FieldBatchDecodingContext} for the production implementation of this.
15
+ *
16
+ * This intentionally avoids exposing anything which depends on the underlying id-compressor's session ID to avoid confusion with the session ID of the compressor which encoded the data.
17
+ * If the session ID of the encoder which encoded the data is known, that information is baked into `resolveEncodedId`.
18
+ */
11
19
  export interface IdDecodingContext {
12
- idCompressor: IIdCompressor;
13
- /**
14
- * The creator of any local Ids to be decoded.
15
- */
16
- originatorId: SessionId;
17
- /**
18
- * {@inheritdoc FieldBatchEncodingContext.isSummary}
19
- */
20
- isSummary: boolean;
21
20
  /**
22
- * See {@link FieldBatchEncodingContext.healUnresolvableIdentifiersOnDecode}.
21
+ * Compressor which can decompress session-space identifiers from {@link resolveEncodedId} as needed.
23
22
  */
24
- healUnresolvableIdentifiersOnDecode?: boolean;
23
+ readonly idCompressor: Pick<IIdCompressor, "decompress">;
25
24
  /**
26
- * See {@link FieldBatchEncodingContext.sharedObjectId}.
25
+ * Resolves an encoded op-space identifier to either a session-space ID
26
+ * (which {@link idCompressor} can decompress if needed)
27
+ * or a string (which passes through unchanged).
28
+ * @remarks
29
+ * In contexts where non-final identifiers can't be supported (where no originator session is available),
30
+ * if a non-final identifier is encountered, this may throw or perform a data healing workaround.
31
+ * See {@link FieldBatchDecodingContext.forOp} and {@link FieldBatchDecodingContext.forSummary} for details.
27
32
  */
28
- sharedObjectId?: string;
33
+ readonly resolveEncodedId: (id: OpSpaceCompressedId) => SessionSpaceCompressedId | string;
29
34
  }
30
35
  /**
31
36
  * Decode `chunk` into a TreeChunk.
@@ -1 +1 @@
1
- {"version":3,"file":"chunkDecoding.d.ts","sourceRoot":"","sources":["../../../../src/feature-libraries/chunked-forest/codec/chunkDecoding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chunkDecoding.d.ts","sourceRoot":"","sources":["../../../../src/feature-libraries/chunked-forest/codec/chunkDecoding.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,6 @@
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.NodeDecoder = exports.anyDecoder = exports.IncrementalChunkDecoder = exports.InlineArrayDecoder = exports.NestedArrayDecoder = exports.aggregateChunks = exports.deaggregateChunks = exports.readValue = exports.SpecializedNodeDecoder = exports.applySpecialization = exports.normalizeToNodeShape = exports.decode = void 0;
8
8
  const internal_1 = require("@fluidframework/core-utils/internal");
9
- const internal_2 = require("@fluidframework/id-compressor/internal");
10
- const uuid_1 = require("uuid");
11
9
  const index_js_1 = require("../../../codec/index.js");
12
10
  const index_js_2 = require("../../../util/index.js");
13
11
  const basicChunk_js_1 = require("../basicChunk.js");
@@ -16,11 +14,6 @@ const sequenceChunk_js_1 = require("../sequenceChunk.js");
16
14
  const chunkCodecUtilities_js_1 = require("./chunkCodecUtilities.js");
17
15
  const chunkDecodingGeneric_js_1 = require("./chunkDecodingGeneric.js");
18
16
  const index_js_3 = require("./format/index.js");
19
- /**
20
- * Random v4 UUID generated as a namespace for the "heal an unresolvable identifier into a stable UUID"
21
- * path in {@link readValue}. This scheme requires consensus across all clients to function.
22
- */
23
- const healingNamespace = "f8a89df3-6882-400f-b913-4c1f6f0157bd";
24
17
  /**
25
18
  * Decode `chunk` into a TreeChunk.
26
19
  */
@@ -169,31 +162,19 @@ function readValue(stream, shape, idDecodingContext) {
169
162
  // This case is a special case handling the decoding of identifier fields.
170
163
  const streamValue = (0, chunkCodecUtilities_js_1.readStream)(stream);
171
164
  (0, internal_1.assert)(typeof streamValue === "number" || typeof streamValue === "string", 0x997 /* identifier must be string or number. */);
172
- if (typeof streamValue === "string") {
173
- return streamValue;
174
- }
175
- const idCompressor = idDecodingContext.idCompressor;
176
- // OpSpaceCompressedIds are negative, and require a session-id to compute their value.
177
- // Due to a bug, we have some special casing for them (see below).
178
- if (idDecodingContext.isSummary === true &&
179
- !(0, internal_2.isFinalId)(streamValue)) {
180
- if (idDecodingContext.healUnresolvableIdentifiersOnDecode === true &&
181
- idDecodingContext.sharedObjectId !== undefined) {
182
- // Documents written before the encode-side fix for non-finalized identifier
183
- // values can persist negative op-space IDs that are no
184
- // longer resolvable once the originating session's local state has been stripped.
185
- // When loading such a summary with the heal-on-decode option on, synthesize a deterministic
186
- // stable UUID so all readers of the same blob agree on the resulting value.
187
- //
188
- // The heal path is intentionally restricted to summary loads — an
189
- // unresolvable ID encountered while applying an op should still surface as
190
- // an error, since it indicates a real bug rather than a recoverable state.
191
- return (0, uuid_1.v5)(`${idDecodingContext.sharedObjectId}|${streamValue}`, healingNamespace);
192
- }
193
- // See `SharedTreeOptionsBeta.healUnresolvableIdentifiersOnDecode` for details on this error.
194
- throw new Error("Summary could not be loaded due incorrectly encoded identifier. See SharedTreeOptionsBeta.healUnresolvableIdentifiersOnDecode for mitigation.");
195
- }
196
- return idCompressor.decompress(idCompressor.normalizeToSessionSpace(streamValue, idDecodingContext.originatorId));
165
+ // Strings (StableId UUIDs, heal-synthesized v5 UUIDs, or arbitrary user
166
+ // identifier strings) are already in the stored form and pass through.
167
+ // Op-space compressed ids are resolved by the caller-supplied
168
+ // `resolveEncodedId`, which encapsulates the originator lookup, finalized-id
169
+ // normalization, and (for the forest summarizer's heal path) UUIDv5 synthesis.
170
+ const sessionIdOrString = typeof streamValue === "string"
171
+ ? streamValue
172
+ : idDecodingContext.resolveEncodedId(streamValue);
173
+ // Performance:
174
+ // Currently, we just fully expand the identifier here rather than keeping it in the SessionSpaceCompressedId format.
175
+ // Avoiding this expansion, and keeping the in memory format using SessionSpaceCompressedId would be a good optimization for the future.
176
+ // Keeping this optimization possible is why `resolveEncodedId` doesn't simply return a string.
177
+ return (0, index_js_2.decompressIdentifierIfNeeded)(sessionIdOrString, idDecodingContext.idCompressor);
197
178
  }
198
179
  else {
199
180
  // EncodedCounter case: