@fluidframework/tree 2.74.0-370705 → 2.80.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 (1421) hide show
  1. package/.eslintrc.cjs +1 -16
  2. package/.vscode/settings.json +2 -0
  3. package/CHANGELOG.md +29 -0
  4. package/api-report/tree.alpha.api.md +39 -17
  5. package/assertTagging.config.mjs +1 -1
  6. package/dist/alpha.d.ts +7 -0
  7. package/dist/codec/codec.d.ts +63 -20
  8. package/dist/codec/codec.d.ts.map +1 -1
  9. package/dist/codec/codec.js +50 -24
  10. package/dist/codec/codec.js.map +1 -1
  11. package/dist/codec/index.d.ts +2 -2
  12. package/dist/codec/index.d.ts.map +1 -1
  13. package/dist/codec/index.js +2 -2
  14. package/dist/codec/index.js.map +1 -1
  15. package/dist/codec/versioned/codec.d.ts +80 -22
  16. package/dist/codec/versioned/codec.d.ts.map +1 -1
  17. package/dist/codec/versioned/codec.js +137 -15
  18. package/dist/codec/versioned/codec.js.map +1 -1
  19. package/dist/codec/versioned/index.d.ts +1 -1
  20. package/dist/codec/versioned/index.d.ts.map +1 -1
  21. package/dist/codec/versioned/index.js +2 -2
  22. package/dist/codec/versioned/index.js.map +1 -1
  23. package/dist/core/change-family/changeFamily.d.ts +1 -4
  24. package/dist/core/change-family/changeFamily.d.ts.map +1 -1
  25. package/dist/core/change-family/changeFamily.js.map +1 -1
  26. package/dist/core/change-family/index.d.ts +1 -1
  27. package/dist/core/change-family/index.d.ts.map +1 -1
  28. package/dist/core/change-family/index.js.map +1 -1
  29. package/dist/core/index.d.ts +3 -3
  30. package/dist/core/index.d.ts.map +1 -1
  31. package/dist/core/index.js +5 -8
  32. package/dist/core/index.js.map +1 -1
  33. package/dist/core/rebase/changeRebaser.d.ts +37 -8
  34. package/dist/core/rebase/changeRebaser.d.ts.map +1 -1
  35. package/dist/core/rebase/changeRebaser.js.map +1 -1
  36. package/dist/core/rebase/index.d.ts +2 -2
  37. package/dist/core/rebase/index.d.ts.map +1 -1
  38. package/dist/core/rebase/index.js +1 -3
  39. package/dist/core/rebase/index.js.map +1 -1
  40. package/dist/core/rebase/types.d.ts +27 -5
  41. package/dist/core/rebase/types.d.ts.map +1 -1
  42. package/dist/core/rebase/types.js +1 -16
  43. package/dist/core/rebase/types.js.map +1 -1
  44. package/dist/core/rebase/utils.d.ts.map +1 -1
  45. package/dist/core/rebase/utils.js +10 -28
  46. package/dist/core/rebase/utils.js.map +1 -1
  47. package/dist/core/schema-stored/schema.d.ts +4 -7
  48. package/dist/core/schema-stored/schema.d.ts.map +1 -1
  49. package/dist/core/schema-stored/schema.js +5 -5
  50. package/dist/core/schema-stored/schema.js.map +1 -1
  51. package/dist/core/tree/anchorSet.d.ts.map +1 -1
  52. package/dist/core/tree/anchorSet.js +3 -4
  53. package/dist/core/tree/anchorSet.js.map +1 -1
  54. package/dist/core/tree/detachedFieldIndex.d.ts +1 -8
  55. package/dist/core/tree/detachedFieldIndex.d.ts.map +1 -1
  56. package/dist/core/tree/detachedFieldIndex.js +12 -65
  57. package/dist/core/tree/detachedFieldIndex.js.map +1 -1
  58. package/dist/core/tree/detachedFieldIndexCodecCommon.d.ts +18 -10
  59. package/dist/core/tree/detachedFieldIndexCodecCommon.d.ts.map +1 -1
  60. package/dist/core/tree/detachedFieldIndexCodecCommon.js +6 -6
  61. package/dist/core/tree/detachedFieldIndexCodecCommon.js.map +1 -1
  62. package/dist/core/tree/detachedFieldIndexCodecV1.d.ts +2 -3
  63. package/dist/core/tree/detachedFieldIndexCodecV1.d.ts.map +1 -1
  64. package/dist/core/tree/detachedFieldIndexCodecV1.js +4 -5
  65. package/dist/core/tree/detachedFieldIndexCodecV1.js.map +1 -1
  66. package/dist/core/tree/detachedFieldIndexCodecV2.d.ts +2 -3
  67. package/dist/core/tree/detachedFieldIndexCodecV2.d.ts.map +1 -1
  68. package/dist/core/tree/detachedFieldIndexCodecV2.js +4 -6
  69. package/dist/core/tree/detachedFieldIndexCodecV2.js.map +1 -1
  70. package/dist/core/tree/detachedFieldIndexCodecs.d.ts +5 -6
  71. package/dist/core/tree/detachedFieldIndexCodecs.d.ts.map +1 -1
  72. package/dist/core/tree/detachedFieldIndexCodecs.js +11 -41
  73. package/dist/core/tree/detachedFieldIndexCodecs.js.map +1 -1
  74. package/dist/core/tree/detachedFieldIndexFormatCommon.d.ts +4 -4
  75. package/dist/core/tree/detachedFieldIndexFormatCommon.d.ts.map +1 -1
  76. package/dist/core/tree/detachedFieldIndexFormatCommon.js +2 -2
  77. package/dist/core/tree/detachedFieldIndexFormatCommon.js.map +1 -1
  78. package/dist/core/tree/index.d.ts +2 -2
  79. package/dist/core/tree/index.d.ts.map +1 -1
  80. package/dist/core/tree/index.js +4 -5
  81. package/dist/core/tree/index.js.map +1 -1
  82. package/dist/core/tree/mapTree.js +1 -1
  83. package/dist/core/tree/mapTree.js.map +1 -1
  84. package/dist/core/tree/pathTree.d.ts +3 -11
  85. package/dist/core/tree/pathTree.d.ts.map +1 -1
  86. package/dist/core/tree/pathTree.js +2 -14
  87. package/dist/core/tree/pathTree.js.map +1 -1
  88. package/dist/core/tree/sparseTree.d.ts.map +1 -1
  89. package/dist/core/tree/sparseTree.js +1 -0
  90. package/dist/core/tree/sparseTree.js.map +1 -1
  91. package/dist/core/tree/treeTextFormat.d.ts.map +1 -1
  92. package/dist/core/tree/treeTextFormat.js +5 -9
  93. package/dist/core/tree/treeTextFormat.js.map +1 -1
  94. package/dist/feature-libraries/changeAtomIdBTree.d.ts +10 -0
  95. package/dist/feature-libraries/changeAtomIdBTree.d.ts.map +1 -0
  96. package/dist/feature-libraries/changeAtomIdBTree.js +16 -0
  97. package/dist/feature-libraries/changeAtomIdBTree.js.map +1 -0
  98. package/dist/feature-libraries/chunked-forest/basicChunk.d.ts.map +1 -1
  99. package/dist/feature-libraries/chunked-forest/basicChunk.js +1 -8
  100. package/dist/feature-libraries/chunked-forest/basicChunk.js.map +1 -1
  101. package/dist/feature-libraries/chunked-forest/chunkTree.d.ts.map +1 -1
  102. package/dist/feature-libraries/chunked-forest/chunkTree.js +1 -4
  103. package/dist/feature-libraries/chunked-forest/chunkTree.js.map +1 -1
  104. package/dist/feature-libraries/chunked-forest/chunkedForest.js +6 -6
  105. package/dist/feature-libraries/chunked-forest/chunkedForest.js.map +1 -1
  106. package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts.map +1 -1
  107. package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.js +7 -4
  108. package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.js.map +1 -1
  109. package/dist/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -1
  110. package/dist/feature-libraries/chunked-forest/codec/codecs.js +19 -11
  111. package/dist/feature-libraries/chunked-forest/codec/codecs.js.map +1 -1
  112. package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js +3 -3
  113. package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -1
  114. package/dist/feature-libraries/chunked-forest/codec/format.d.ts +5 -5
  115. package/dist/feature-libraries/chunked-forest/codec/format.d.ts.map +1 -1
  116. package/dist/feature-libraries/chunked-forest/codec/format.js +4 -4
  117. package/dist/feature-libraries/chunked-forest/codec/format.js.map +1 -1
  118. package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncode.js +9 -5
  119. package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncode.js.map +1 -1
  120. package/dist/feature-libraries/chunked-forest/uniformChunk.js +1 -1
  121. package/dist/feature-libraries/chunked-forest/uniformChunk.js.map +1 -1
  122. package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts +54 -93
  123. package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
  124. package/dist/feature-libraries/default-schema/defaultEditBuilder.js +81 -245
  125. package/dist/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
  126. package/dist/feature-libraries/default-schema/defaultFieldKinds.d.ts +1 -1
  127. package/dist/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -1
  128. package/dist/feature-libraries/default-schema/defaultFieldKinds.js +6 -5
  129. package/dist/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -1
  130. package/dist/feature-libraries/default-schema/index.d.ts +1 -2
  131. package/dist/feature-libraries/default-schema/index.d.ts.map +1 -1
  132. package/dist/feature-libraries/default-schema/index.js +2 -5
  133. package/dist/feature-libraries/default-schema/index.js.map +1 -1
  134. package/dist/feature-libraries/default-schema/mappedEditBuilder.d.ts +8 -7
  135. package/dist/feature-libraries/default-schema/mappedEditBuilder.d.ts.map +1 -1
  136. package/dist/feature-libraries/default-schema/mappedEditBuilder.js +6 -15
  137. package/dist/feature-libraries/default-schema/mappedEditBuilder.js.map +1 -1
  138. package/dist/feature-libraries/deltaUtils.d.ts +0 -1
  139. package/dist/feature-libraries/deltaUtils.d.ts.map +1 -1
  140. package/dist/feature-libraries/deltaUtils.js +1 -6
  141. package/dist/feature-libraries/deltaUtils.js.map +1 -1
  142. package/dist/feature-libraries/flex-tree/context.d.ts +0 -9
  143. package/dist/feature-libraries/flex-tree/context.d.ts.map +1 -1
  144. package/dist/feature-libraries/flex-tree/context.js +0 -6
  145. package/dist/feature-libraries/flex-tree/context.js.map +1 -1
  146. package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts +6 -6
  147. package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -1
  148. package/dist/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -1
  149. package/dist/feature-libraries/flex-tree/lazyField.d.ts +7 -8
  150. package/dist/feature-libraries/flex-tree/lazyField.d.ts.map +1 -1
  151. package/dist/feature-libraries/flex-tree/lazyField.js +16 -47
  152. package/dist/feature-libraries/flex-tree/lazyField.js.map +1 -1
  153. package/dist/feature-libraries/forest-summary/codec.d.ts +8 -2
  154. package/dist/feature-libraries/forest-summary/codec.d.ts.map +1 -1
  155. package/dist/feature-libraries/forest-summary/codec.js +13 -11
  156. package/dist/feature-libraries/forest-summary/codec.js.map +1 -1
  157. package/dist/feature-libraries/forest-summary/forestSummarizer.d.ts +3 -2
  158. package/dist/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
  159. package/dist/feature-libraries/forest-summary/forestSummarizer.js +18 -9
  160. package/dist/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
  161. package/dist/feature-libraries/forest-summary/formatCommon.d.ts +61 -0
  162. package/dist/feature-libraries/forest-summary/formatCommon.d.ts.map +1 -0
  163. package/dist/feature-libraries/forest-summary/{format.js → formatCommon.js} +9 -6
  164. package/dist/feature-libraries/forest-summary/formatCommon.js.map +1 -0
  165. package/dist/feature-libraries/forest-summary/{format.d.ts → formatV1.d.ts} +6 -14
  166. package/dist/feature-libraries/forest-summary/formatV1.d.ts.map +1 -0
  167. package/dist/feature-libraries/forest-summary/formatV1.js +11 -0
  168. package/dist/feature-libraries/forest-summary/formatV1.js.map +1 -0
  169. package/dist/feature-libraries/forest-summary/formatV2.d.ts +51 -0
  170. package/dist/feature-libraries/forest-summary/formatV2.d.ts.map +1 -0
  171. package/dist/feature-libraries/forest-summary/formatV2.js +11 -0
  172. package/dist/feature-libraries/forest-summary/formatV2.js.map +1 -0
  173. package/dist/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts +7 -15
  174. package/dist/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts.map +1 -1
  175. package/dist/feature-libraries/forest-summary/incrementalSummaryBuilder.js +11 -20
  176. package/dist/feature-libraries/forest-summary/incrementalSummaryBuilder.js.map +1 -1
  177. package/dist/feature-libraries/forest-summary/index.d.ts +1 -2
  178. package/dist/feature-libraries/forest-summary/index.d.ts.map +1 -1
  179. package/dist/feature-libraries/forest-summary/index.js +3 -5
  180. package/dist/feature-libraries/forest-summary/index.js.map +1 -1
  181. package/dist/feature-libraries/forest-summary/summaryFormatCommon.d.ts +35 -0
  182. package/dist/feature-libraries/forest-summary/summaryFormatCommon.d.ts.map +1 -0
  183. package/dist/feature-libraries/forest-summary/summaryFormatCommon.js +43 -0
  184. package/dist/feature-libraries/forest-summary/summaryFormatCommon.js.map +1 -0
  185. package/dist/feature-libraries/forest-summary/summaryFormatV1ToV2.d.ts +11 -0
  186. package/dist/feature-libraries/forest-summary/summaryFormatV1ToV2.d.ts.map +1 -0
  187. package/dist/feature-libraries/forest-summary/summaryFormatV1ToV2.js +14 -0
  188. package/dist/feature-libraries/forest-summary/summaryFormatV1ToV2.js.map +1 -0
  189. package/dist/feature-libraries/forest-summary/summaryFormatV3.d.ts +18 -0
  190. package/dist/feature-libraries/forest-summary/summaryFormatV3.d.ts.map +1 -0
  191. package/dist/feature-libraries/forest-summary/summaryFormatV3.js +21 -0
  192. package/dist/feature-libraries/forest-summary/summaryFormatV3.js.map +1 -0
  193. package/dist/feature-libraries/forest-summary/summaryTypes.d.ts +7 -37
  194. package/dist/feature-libraries/forest-summary/summaryTypes.d.ts.map +1 -1
  195. package/dist/feature-libraries/forest-summary/summaryTypes.js +23 -45
  196. package/dist/feature-libraries/forest-summary/summaryTypes.js.map +1 -1
  197. package/dist/feature-libraries/index.d.ts +5 -4
  198. package/dist/feature-libraries/index.d.ts.map +1 -1
  199. package/dist/feature-libraries/index.js +10 -12
  200. package/dist/feature-libraries/index.js.map +1 -1
  201. package/dist/feature-libraries/indexing/anchorTreeIndex.js +6 -6
  202. package/dist/feature-libraries/indexing/anchorTreeIndex.js.map +1 -1
  203. package/dist/feature-libraries/mapTreeCursor.d.ts.map +1 -1
  204. package/dist/feature-libraries/mapTreeCursor.js +0 -1
  205. package/dist/feature-libraries/mapTreeCursor.js.map +1 -1
  206. package/dist/feature-libraries/mitigatedChangeFamily.d.ts.map +1 -1
  207. package/dist/feature-libraries/mitigatedChangeFamily.js +12 -3
  208. package/dist/feature-libraries/mitigatedChangeFamily.js.map +1 -1
  209. package/dist/feature-libraries/modular-schema/comparison.d.ts.map +1 -1
  210. package/dist/feature-libraries/modular-schema/comparison.js +13 -10
  211. package/dist/feature-libraries/modular-schema/comparison.js.map +1 -1
  212. package/dist/feature-libraries/modular-schema/crossFieldQueries.d.ts +21 -97
  213. package/dist/feature-libraries/modular-schema/crossFieldQueries.d.ts.map +1 -1
  214. package/dist/feature-libraries/modular-schema/crossFieldQueries.js +7 -4
  215. package/dist/feature-libraries/modular-schema/crossFieldQueries.js.map +1 -1
  216. package/dist/feature-libraries/modular-schema/defaultRevisionReplacer.d.ts +25 -0
  217. package/dist/feature-libraries/modular-schema/defaultRevisionReplacer.d.ts.map +1 -0
  218. package/dist/feature-libraries/modular-schema/defaultRevisionReplacer.js +59 -0
  219. package/dist/feature-libraries/modular-schema/defaultRevisionReplacer.js.map +1 -0
  220. package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts +52 -20
  221. package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -1
  222. package/dist/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -1
  223. package/dist/feature-libraries/modular-schema/genericFieldKind.d.ts.map +1 -1
  224. package/dist/feature-libraries/modular-schema/genericFieldKind.js +13 -7
  225. package/dist/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
  226. package/dist/feature-libraries/modular-schema/index.d.ts +7 -5
  227. package/dist/feature-libraries/modular-schema/index.d.ts.map +1 -1
  228. package/dist/feature-libraries/modular-schema/index.js +7 -7
  229. package/dist/feature-libraries/modular-schema/index.js.map +1 -1
  230. package/dist/feature-libraries/modular-schema/modularChangeCodecV1.d.ts +41 -9
  231. package/dist/feature-libraries/modular-schema/modularChangeCodecV1.d.ts.map +1 -1
  232. package/dist/feature-libraries/modular-schema/modularChangeCodecV1.js +263 -336
  233. package/dist/feature-libraries/modular-schema/modularChangeCodecV1.js.map +1 -1
  234. package/dist/feature-libraries/modular-schema/modularChangeCodecV2.d.ts +7 -9
  235. package/dist/feature-libraries/modular-schema/modularChangeCodecV2.d.ts.map +1 -1
  236. package/dist/feature-libraries/modular-schema/modularChangeCodecV2.js +8 -390
  237. package/dist/feature-libraries/modular-schema/modularChangeCodecV2.js.map +1 -1
  238. package/dist/feature-libraries/modular-schema/modularChangeCodecs.d.ts.map +1 -1
  239. package/dist/feature-libraries/modular-schema/modularChangeCodecs.js +24 -11
  240. package/dist/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -1
  241. package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts +27 -55
  242. package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
  243. package/dist/feature-libraries/modular-schema/modularChangeFamily.js +622 -1433
  244. package/dist/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
  245. package/dist/feature-libraries/modular-schema/modularChangeFormatV1.d.ts +3 -4
  246. package/dist/feature-libraries/modular-schema/modularChangeFormatV1.d.ts.map +1 -1
  247. package/dist/feature-libraries/modular-schema/modularChangeFormatV1.js +4 -4
  248. package/dist/feature-libraries/modular-schema/modularChangeFormatV1.js.map +1 -1
  249. package/dist/feature-libraries/modular-schema/modularChangeFormatV2.d.ts +14 -48
  250. package/dist/feature-libraries/modular-schema/modularChangeFormatV2.d.ts.map +1 -1
  251. package/dist/feature-libraries/modular-schema/modularChangeFormatV2.js +10 -21
  252. package/dist/feature-libraries/modular-schema/modularChangeFormatV2.js.map +1 -1
  253. package/dist/feature-libraries/modular-schema/modularChangeTypes.d.ts +18 -48
  254. package/dist/feature-libraries/modular-schema/modularChangeTypes.d.ts.map +1 -1
  255. package/dist/feature-libraries/modular-schema/modularChangeTypes.js +3 -24
  256. package/dist/feature-libraries/modular-schema/modularChangeTypes.js.map +1 -1
  257. package/dist/feature-libraries/node-identifier/mockNodeIdentifierManager.js +1 -1
  258. package/dist/feature-libraries/node-identifier/mockNodeIdentifierManager.js.map +1 -1
  259. package/dist/feature-libraries/object-forest/objectForest.js +4 -4
  260. package/dist/feature-libraries/object-forest/objectForest.js.map +1 -1
  261. package/dist/feature-libraries/optional-field/index.d.ts +2 -2
  262. package/dist/feature-libraries/optional-field/index.d.ts.map +1 -1
  263. package/dist/feature-libraries/optional-field/index.js +2 -1
  264. package/dist/feature-libraries/optional-field/index.js.map +1 -1
  265. package/dist/feature-libraries/optional-field/optionalField.d.ts +26 -5
  266. package/dist/feature-libraries/optional-field/optionalField.d.ts.map +1 -1
  267. package/dist/feature-libraries/optional-field/optionalField.js +447 -218
  268. package/dist/feature-libraries/optional-field/optionalField.js.map +1 -1
  269. package/dist/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts +33 -24
  270. package/dist/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts.map +1 -1
  271. package/dist/feature-libraries/optional-field/optionalFieldChangeTypes.js.map +1 -1
  272. package/dist/feature-libraries/optional-field/optionalFieldCodecV2.d.ts +1 -1
  273. package/dist/feature-libraries/optional-field/optionalFieldCodecV2.d.ts.map +1 -1
  274. package/dist/feature-libraries/optional-field/optionalFieldCodecV2.js +28 -57
  275. package/dist/feature-libraries/optional-field/optionalFieldCodecV2.js.map +1 -1
  276. package/dist/feature-libraries/optional-field/optionalFieldCodecs.d.ts.map +1 -1
  277. package/dist/feature-libraries/optional-field/optionalFieldCodecs.js +1 -5
  278. package/dist/feature-libraries/optional-field/optionalFieldCodecs.js.map +1 -1
  279. package/dist/feature-libraries/schema-edits/schemaChangeCodecs.d.ts.map +1 -1
  280. package/dist/feature-libraries/schema-edits/schemaChangeCodecs.js +15 -4
  281. package/dist/feature-libraries/schema-edits/schemaChangeCodecs.js.map +1 -1
  282. package/dist/feature-libraries/schema-index/codec.d.ts +7 -21
  283. package/dist/feature-libraries/schema-index/codec.d.ts.map +1 -1
  284. package/dist/feature-libraries/schema-index/codec.js +28 -70
  285. package/dist/feature-libraries/schema-index/codec.js.map +1 -1
  286. package/dist/feature-libraries/schema-index/formatV1.d.ts +1 -1
  287. package/dist/feature-libraries/schema-index/formatV2.d.ts +1 -1
  288. package/dist/feature-libraries/schema-index/index.d.ts +2 -2
  289. package/dist/feature-libraries/schema-index/index.d.ts.map +1 -1
  290. package/dist/feature-libraries/schema-index/index.js +2 -5
  291. package/dist/feature-libraries/schema-index/index.js.map +1 -1
  292. package/dist/feature-libraries/schema-index/schemaSummarizer.d.ts +1 -9
  293. package/dist/feature-libraries/schema-index/schemaSummarizer.d.ts.map +1 -1
  294. package/dist/feature-libraries/schema-index/schemaSummarizer.js +1 -12
  295. package/dist/feature-libraries/schema-index/schemaSummarizer.js.map +1 -1
  296. package/dist/feature-libraries/schemaChecker.d.ts.map +1 -1
  297. package/dist/feature-libraries/schemaChecker.js +11 -6
  298. package/dist/feature-libraries/schemaChecker.js.map +1 -1
  299. package/dist/feature-libraries/sequence-field/compose.d.ts +7 -6
  300. package/dist/feature-libraries/sequence-field/compose.d.ts.map +1 -1
  301. package/dist/feature-libraries/sequence-field/compose.js +264 -84
  302. package/dist/feature-libraries/sequence-field/compose.js.map +1 -1
  303. package/dist/feature-libraries/sequence-field/helperTypes.d.ts +10 -14
  304. package/dist/feature-libraries/sequence-field/helperTypes.d.ts.map +1 -1
  305. package/dist/feature-libraries/sequence-field/helperTypes.js.map +1 -1
  306. package/dist/feature-libraries/sequence-field/index.d.ts +3 -2
  307. package/dist/feature-libraries/sequence-field/index.d.ts.map +1 -1
  308. package/dist/feature-libraries/sequence-field/index.js +3 -1
  309. package/dist/feature-libraries/sequence-field/index.js.map +1 -1
  310. package/dist/feature-libraries/sequence-field/invert.d.ts +3 -3
  311. package/dist/feature-libraries/sequence-field/invert.d.ts.map +1 -1
  312. package/dist/feature-libraries/sequence-field/invert.js +169 -66
  313. package/dist/feature-libraries/sequence-field/invert.js.map +1 -1
  314. package/dist/feature-libraries/sequence-field/markQueue.d.ts +2 -2
  315. package/dist/feature-libraries/sequence-field/markQueue.d.ts.map +1 -1
  316. package/dist/feature-libraries/sequence-field/markQueue.js.map +1 -1
  317. package/dist/feature-libraries/sequence-field/moveEffectTable.d.ts +56 -4
  318. package/dist/feature-libraries/sequence-field/moveEffectTable.d.ts.map +1 -1
  319. package/dist/feature-libraries/sequence-field/moveEffectTable.js +93 -8
  320. package/dist/feature-libraries/sequence-field/moveEffectTable.js.map +1 -1
  321. package/dist/feature-libraries/sequence-field/rebase.d.ts +3 -3
  322. package/dist/feature-libraries/sequence-field/rebase.d.ts.map +1 -1
  323. package/dist/feature-libraries/sequence-field/rebase.js +127 -113
  324. package/dist/feature-libraries/sequence-field/rebase.js.map +1 -1
  325. package/dist/feature-libraries/sequence-field/relevantRemovedRoots.d.ts +9 -0
  326. package/dist/feature-libraries/sequence-field/relevantRemovedRoots.d.ts.map +1 -0
  327. package/dist/feature-libraries/sequence-field/relevantRemovedRoots.js +50 -0
  328. package/dist/feature-libraries/sequence-field/relevantRemovedRoots.js.map +1 -0
  329. package/dist/feature-libraries/sequence-field/replaceRevisions.d.ts +2 -2
  330. package/dist/feature-libraries/sequence-field/replaceRevisions.d.ts.map +1 -1
  331. package/dist/feature-libraries/sequence-field/replaceRevisions.js +49 -27
  332. package/dist/feature-libraries/sequence-field/replaceRevisions.js.map +1 -1
  333. package/dist/feature-libraries/sequence-field/sequenceFieldChangeHandler.d.ts.map +1 -1
  334. package/dist/feature-libraries/sequence-field/sequenceFieldChangeHandler.js +2 -0
  335. package/dist/feature-libraries/sequence-field/sequenceFieldChangeHandler.js.map +1 -1
  336. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts +4 -22
  337. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts.map +1 -1
  338. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.js +187 -358
  339. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.js.map +1 -1
  340. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV3.d.ts.map +1 -1
  341. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV3.js +62 -20
  342. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV3.js.map +1 -1
  343. package/dist/feature-libraries/sequence-field/sequenceFieldEditor.d.ts +2 -2
  344. package/dist/feature-libraries/sequence-field/sequenceFieldEditor.d.ts.map +1 -1
  345. package/dist/feature-libraries/sequence-field/sequenceFieldEditor.js +10 -10
  346. package/dist/feature-libraries/sequence-field/sequenceFieldEditor.js.map +1 -1
  347. package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts +2 -3
  348. package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts.map +1 -1
  349. package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.js +115 -17
  350. package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.js.map +1 -1
  351. package/dist/feature-libraries/sequence-field/types.d.ts +59 -30
  352. package/dist/feature-libraries/sequence-field/types.d.ts.map +1 -1
  353. package/dist/feature-libraries/sequence-field/types.js.map +1 -1
  354. package/dist/feature-libraries/sequence-field/utils.d.ts +24 -15
  355. package/dist/feature-libraries/sequence-field/utils.d.ts.map +1 -1
  356. package/dist/feature-libraries/sequence-field/utils.js +334 -127
  357. package/dist/feature-libraries/sequence-field/utils.js.map +1 -1
  358. package/dist/feature-libraries/treeCursorUtils.js +7 -7
  359. package/dist/feature-libraries/treeCursorUtils.js.map +1 -1
  360. package/dist/feature-libraries/treeTextCursor.js +2 -2
  361. package/dist/feature-libraries/treeTextCursor.js.map +1 -1
  362. package/dist/feature-libraries/valueUtilities.d.ts.map +1 -1
  363. package/dist/feature-libraries/valueUtilities.js +16 -8
  364. package/dist/feature-libraries/valueUtilities.js.map +1 -1
  365. package/dist/index.d.ts +3 -3
  366. package/dist/index.d.ts.map +1 -1
  367. package/dist/index.js +3 -1
  368. package/dist/index.js.map +1 -1
  369. package/dist/packageVersion.d.ts +1 -1
  370. package/dist/packageVersion.d.ts.map +1 -1
  371. package/dist/packageVersion.js +1 -1
  372. package/dist/packageVersion.js.map +1 -1
  373. package/dist/shared-tree/independentView.d.ts.map +1 -1
  374. package/dist/shared-tree/independentView.js +1 -1
  375. package/dist/shared-tree/independentView.js.map +1 -1
  376. package/dist/shared-tree/index.d.ts +1 -1
  377. package/dist/shared-tree/index.d.ts.map +1 -1
  378. package/dist/shared-tree/index.js.map +1 -1
  379. package/dist/shared-tree/schematizeTree.d.ts +4 -4
  380. package/dist/shared-tree/schematizeTree.d.ts.map +1 -1
  381. package/dist/shared-tree/schematizeTree.js +1 -2
  382. package/dist/shared-tree/schematizeTree.js.map +1 -1
  383. package/dist/shared-tree/schematizingTreeView.d.ts +9 -5
  384. package/dist/shared-tree/schematizingTreeView.d.ts.map +1 -1
  385. package/dist/shared-tree/schematizingTreeView.js +56 -41
  386. package/dist/shared-tree/schematizingTreeView.js.map +1 -1
  387. package/dist/shared-tree/sharedTree.d.ts +3 -9
  388. package/dist/shared-tree/sharedTree.d.ts.map +1 -1
  389. package/dist/shared-tree/sharedTree.js +57 -50
  390. package/dist/shared-tree/sharedTree.js.map +1 -1
  391. package/dist/shared-tree/sharedTreeChangeCodecs.d.ts +1 -1
  392. package/dist/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
  393. package/dist/shared-tree/sharedTreeChangeCodecs.js +11 -11
  394. package/dist/shared-tree/sharedTreeChangeCodecs.js.map +1 -1
  395. package/dist/shared-tree/sharedTreeChangeEnricher.d.ts.map +1 -1
  396. package/dist/shared-tree/sharedTreeChangeEnricher.js +5 -3
  397. package/dist/shared-tree/sharedTreeChangeEnricher.js.map +1 -1
  398. package/dist/shared-tree/sharedTreeChangeFamily.d.ts +7 -6
  399. package/dist/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -1
  400. package/dist/shared-tree/sharedTreeChangeFamily.js +23 -24
  401. package/dist/shared-tree/sharedTreeChangeFamily.js.map +1 -1
  402. package/dist/shared-tree/sharedTreeEditBuilder.d.ts +6 -16
  403. package/dist/shared-tree/sharedTreeEditBuilder.d.ts.map +1 -1
  404. package/dist/shared-tree/sharedTreeEditBuilder.js +7 -14
  405. package/dist/shared-tree/sharedTreeEditBuilder.js.map +1 -1
  406. package/dist/shared-tree/treeAlpha.d.ts +35 -29
  407. package/dist/shared-tree/treeAlpha.d.ts.map +1 -1
  408. package/dist/shared-tree/treeAlpha.js +21 -23
  409. package/dist/shared-tree/treeAlpha.js.map +1 -1
  410. package/dist/shared-tree/treeCheckout.d.ts +17 -12
  411. package/dist/shared-tree/treeCheckout.d.ts.map +1 -1
  412. package/dist/shared-tree/treeCheckout.js +85 -66
  413. package/dist/shared-tree/treeCheckout.js.map +1 -1
  414. package/dist/shared-tree-core/branch.d.ts +5 -4
  415. package/dist/shared-tree-core/branch.d.ts.map +1 -1
  416. package/dist/shared-tree-core/branch.js +7 -6
  417. package/dist/shared-tree-core/branch.js.map +1 -1
  418. package/dist/shared-tree-core/branchCommitEnricher.d.ts.map +1 -1
  419. package/dist/shared-tree-core/branchCommitEnricher.js +1 -1
  420. package/dist/shared-tree-core/branchCommitEnricher.js.map +1 -1
  421. package/dist/shared-tree-core/editManager.d.ts +2 -2
  422. package/dist/shared-tree-core/editManager.d.ts.map +1 -1
  423. package/dist/shared-tree-core/editManager.js +10 -10
  424. package/dist/shared-tree-core/editManager.js.map +1 -1
  425. package/dist/shared-tree-core/editManagerCodecs.d.ts +0 -4
  426. package/dist/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
  427. package/dist/shared-tree-core/editManagerCodecs.js +13 -16
  428. package/dist/shared-tree-core/editManagerCodecs.js.map +1 -1
  429. package/dist/shared-tree-core/editManagerCodecsVSharedBranches.js +1 -1
  430. package/dist/shared-tree-core/editManagerCodecsVSharedBranches.js.map +1 -1
  431. package/dist/shared-tree-core/editManagerFormatCommons.d.ts +9 -44
  432. package/dist/shared-tree-core/editManagerFormatCommons.d.ts.map +1 -1
  433. package/dist/shared-tree-core/editManagerFormatCommons.js +8 -8
  434. package/dist/shared-tree-core/editManagerFormatCommons.js.map +1 -1
  435. package/dist/shared-tree-core/editManagerFormatV1toV4.d.ts +2 -2
  436. package/dist/shared-tree-core/editManagerFormatV1toV4.d.ts.map +1 -1
  437. package/dist/shared-tree-core/editManagerFormatV1toV4.js +1 -1
  438. package/dist/shared-tree-core/editManagerFormatV1toV4.js.map +1 -1
  439. package/dist/shared-tree-core/editManagerFormatVSharedBranches.d.ts +1 -1
  440. package/dist/shared-tree-core/editManagerSummarizer.js +3 -3
  441. package/dist/shared-tree-core/editManagerSummarizer.js.map +1 -1
  442. package/dist/shared-tree-core/index.d.ts +3 -2
  443. package/dist/shared-tree-core/index.d.ts.map +1 -1
  444. package/dist/shared-tree-core/index.js +2 -3
  445. package/dist/shared-tree-core/index.js.map +1 -1
  446. package/dist/shared-tree-core/messageCodecV1ToV4.d.ts +1 -1
  447. package/dist/shared-tree-core/messageCodecV1ToV4.d.ts.map +1 -1
  448. package/dist/shared-tree-core/messageCodecV1ToV4.js.map +1 -1
  449. package/dist/shared-tree-core/messageCodecVSharedBranches.d.ts.map +1 -1
  450. package/dist/shared-tree-core/messageCodecVSharedBranches.js +2 -1
  451. package/dist/shared-tree-core/messageCodecVSharedBranches.js.map +1 -1
  452. package/dist/shared-tree-core/messageCodecs.d.ts +0 -4
  453. package/dist/shared-tree-core/messageCodecs.d.ts.map +1 -1
  454. package/dist/shared-tree-core/messageCodecs.js +15 -19
  455. package/dist/shared-tree-core/messageCodecs.js.map +1 -1
  456. package/dist/shared-tree-core/messageFormat.d.ts +10 -50
  457. package/dist/shared-tree-core/messageFormat.d.ts.map +1 -1
  458. package/dist/shared-tree-core/messageFormat.js +9 -8
  459. package/dist/shared-tree-core/messageFormat.js.map +1 -1
  460. package/dist/shared-tree-core/messageFormatV1ToV4.d.ts +2 -2
  461. package/dist/shared-tree-core/messageFormatV1ToV4.d.ts.map +1 -1
  462. package/dist/shared-tree-core/messageFormatV1ToV4.js +1 -1
  463. package/dist/shared-tree-core/messageFormatV1ToV4.js.map +1 -1
  464. package/dist/shared-tree-core/messageFormatVSharedBranches.d.ts +1 -1
  465. package/dist/shared-tree-core/sequenceIdUtils.d.ts.map +1 -1
  466. package/dist/shared-tree-core/sequenceIdUtils.js +4 -4
  467. package/dist/shared-tree-core/sequenceIdUtils.js.map +1 -1
  468. package/dist/shared-tree-core/sharedTreeCore.d.ts +0 -1
  469. package/dist/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
  470. package/dist/shared-tree-core/sharedTreeCore.js +13 -9
  471. package/dist/shared-tree-core/sharedTreeCore.js.map +1 -1
  472. package/dist/shared-tree-core/transaction.d.ts +25 -8
  473. package/dist/shared-tree-core/transaction.d.ts.map +1 -1
  474. package/dist/shared-tree-core/transaction.js +65 -30
  475. package/dist/shared-tree-core/transaction.js.map +1 -1
  476. package/dist/shared-tree-core/transactionEnricher.d.ts +2 -2
  477. package/dist/shared-tree-core/transactionEnricher.d.ts.map +1 -1
  478. package/dist/shared-tree-core/transactionEnricher.js +3 -3
  479. package/dist/shared-tree-core/transactionEnricher.js.map +1 -1
  480. package/dist/shared-tree-core/versionedSummarizer.d.ts +6 -1
  481. package/dist/shared-tree-core/versionedSummarizer.d.ts.map +1 -1
  482. package/dist/shared-tree-core/versionedSummarizer.js +4 -3
  483. package/dist/shared-tree-core/versionedSummarizer.js.map +1 -1
  484. package/dist/simple-tree/api/configuration.js +1 -1
  485. package/dist/simple-tree/api/configuration.js.map +1 -1
  486. package/dist/simple-tree/api/customTree.d.ts.map +1 -1
  487. package/dist/simple-tree/api/customTree.js +13 -9
  488. package/dist/simple-tree/api/customTree.js.map +1 -1
  489. package/dist/simple-tree/api/discrepancies.d.ts.map +1 -1
  490. package/dist/simple-tree/api/discrepancies.js +21 -17
  491. package/dist/simple-tree/api/discrepancies.js.map +1 -1
  492. package/dist/simple-tree/api/eraseSchemaDetails.d.ts +89 -0
  493. package/dist/simple-tree/api/eraseSchemaDetails.d.ts.map +1 -0
  494. package/dist/simple-tree/api/eraseSchemaDetails.js +97 -0
  495. package/dist/simple-tree/api/eraseSchemaDetails.js.map +1 -0
  496. package/dist/simple-tree/api/index.d.ts +2 -1
  497. package/dist/simple-tree/api/index.d.ts.map +1 -1
  498. package/dist/simple-tree/api/index.js +5 -1
  499. package/dist/simple-tree/api/index.js.map +1 -1
  500. package/dist/simple-tree/api/schemaFactory.d.ts.map +1 -1
  501. package/dist/simple-tree/api/schemaFactory.js +12 -8
  502. package/dist/simple-tree/api/schemaFactory.js.map +1 -1
  503. package/dist/simple-tree/api/schemaFromSimple.js +18 -9
  504. package/dist/simple-tree/api/schemaFromSimple.js.map +1 -1
  505. package/dist/simple-tree/api/simpleSchemaCodec.js +10 -5
  506. package/dist/simple-tree/api/simpleSchemaCodec.js.map +1 -1
  507. package/dist/simple-tree/api/simpleSchemaToJsonSchema.d.ts.map +1 -1
  508. package/dist/simple-tree/api/simpleSchemaToJsonSchema.js +15 -11
  509. package/dist/simple-tree/api/simpleSchemaToJsonSchema.js.map +1 -1
  510. package/dist/simple-tree/api/simpleTreeIndex.js +10 -10
  511. package/dist/simple-tree/api/simpleTreeIndex.js.map +1 -1
  512. package/dist/simple-tree/api/storedSchema.d.ts +1 -1
  513. package/dist/simple-tree/api/storedSchema.d.ts.map +1 -1
  514. package/dist/simple-tree/api/storedSchema.js +3 -5
  515. package/dist/simple-tree/api/storedSchema.js.map +1 -1
  516. package/dist/simple-tree/api/transactionTypes.d.ts +17 -4
  517. package/dist/simple-tree/api/transactionTypes.d.ts.map +1 -1
  518. package/dist/simple-tree/api/transactionTypes.js.map +1 -1
  519. package/dist/simple-tree/api/tree.d.ts +15 -2
  520. package/dist/simple-tree/api/tree.d.ts.map +1 -1
  521. package/dist/simple-tree/api/tree.js.map +1 -1
  522. package/dist/simple-tree/api/treeNodeApi.d.ts.map +1 -1
  523. package/dist/simple-tree/api/treeNodeApi.js +21 -13
  524. package/dist/simple-tree/api/treeNodeApi.js.map +1 -1
  525. package/dist/simple-tree/api/verboseTree.d.ts.map +1 -1
  526. package/dist/simple-tree/api/verboseTree.js +14 -9
  527. package/dist/simple-tree/api/verboseTree.js.map +1 -1
  528. package/dist/simple-tree/core/treeNode.d.ts.map +1 -1
  529. package/dist/simple-tree/core/treeNode.js +1 -0
  530. package/dist/simple-tree/core/treeNode.js.map +1 -1
  531. package/dist/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
  532. package/dist/simple-tree/core/treeNodeKernel.js +6 -3
  533. package/dist/simple-tree/core/treeNodeKernel.js.map +1 -1
  534. package/dist/simple-tree/core/unhydratedFlexTree.d.ts +15 -15
  535. package/dist/simple-tree/core/unhydratedFlexTree.d.ts.map +1 -1
  536. package/dist/simple-tree/core/unhydratedFlexTree.js +28 -74
  537. package/dist/simple-tree/core/unhydratedFlexTree.js.map +1 -1
  538. package/dist/simple-tree/createContext.d.ts.map +1 -1
  539. package/dist/simple-tree/createContext.js +1 -1
  540. package/dist/simple-tree/createContext.js.map +1 -1
  541. package/dist/simple-tree/fieldSchema.d.ts +4 -4
  542. package/dist/simple-tree/fieldSchema.d.ts.map +1 -1
  543. package/dist/simple-tree/fieldSchema.js.map +1 -1
  544. package/dist/simple-tree/getTreeNodeForField.d.ts.map +1 -1
  545. package/dist/simple-tree/getTreeNodeForField.js +2 -1
  546. package/dist/simple-tree/getTreeNodeForField.js.map +1 -1
  547. package/dist/simple-tree/index.d.ts +3 -3
  548. package/dist/simple-tree/index.d.ts.map +1 -1
  549. package/dist/simple-tree/index.js +5 -3
  550. package/dist/simple-tree/index.js.map +1 -1
  551. package/dist/simple-tree/leafNodeSchema.js +9 -6
  552. package/dist/simple-tree/leafNodeSchema.js.map +1 -1
  553. package/dist/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
  554. package/dist/simple-tree/node-kinds/array/arrayNode.js +18 -20
  555. package/dist/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
  556. package/dist/simple-tree/node-kinds/common.d.ts.map +1 -1
  557. package/dist/simple-tree/node-kinds/common.js +1 -1
  558. package/dist/simple-tree/node-kinds/common.js.map +1 -1
  559. package/dist/simple-tree/node-kinds/map/mapNode.js +2 -2
  560. package/dist/simple-tree/node-kinds/map/mapNode.js.map +1 -1
  561. package/dist/simple-tree/node-kinds/object/objectNode.d.ts.map +1 -1
  562. package/dist/simple-tree/node-kinds/object/objectNode.js +21 -22
  563. package/dist/simple-tree/node-kinds/object/objectNode.js.map +1 -1
  564. package/dist/simple-tree/node-kinds/record/recordNode.d.ts.map +1 -1
  565. package/dist/simple-tree/node-kinds/record/recordNode.js +4 -7
  566. package/dist/simple-tree/node-kinds/record/recordNode.js.map +1 -1
  567. package/dist/simple-tree/prepareForInsertion.d.ts +47 -54
  568. package/dist/simple-tree/prepareForInsertion.d.ts.map +1 -1
  569. package/dist/simple-tree/prepareForInsertion.js +125 -183
  570. package/dist/simple-tree/prepareForInsertion.js.map +1 -1
  571. package/dist/simple-tree/toStoredSchema.d.ts.map +1 -1
  572. package/dist/simple-tree/toStoredSchema.js +12 -8
  573. package/dist/simple-tree/toStoredSchema.js.map +1 -1
  574. package/dist/simple-tree/unhydratedFlexTreeFromInsertable.d.ts +4 -13
  575. package/dist/simple-tree/unhydratedFlexTreeFromInsertable.d.ts.map +1 -1
  576. package/dist/simple-tree/unhydratedFlexTreeFromInsertable.js +11 -29
  577. package/dist/simple-tree/unhydratedFlexTreeFromInsertable.js.map +1 -1
  578. package/dist/tableSchema.d.ts +3 -14
  579. package/dist/tableSchema.d.ts.map +1 -1
  580. package/dist/tableSchema.js +2 -2
  581. package/dist/tableSchema.js.map +1 -1
  582. package/dist/treeFactory.d.ts.map +1 -1
  583. package/dist/treeFactory.js +2 -12
  584. package/dist/treeFactory.js.map +1 -1
  585. package/dist/util/bTreeUtils.js +1 -1
  586. package/dist/util/bTreeUtils.js.map +1 -1
  587. package/dist/util/brand.d.ts +49 -0
  588. package/dist/util/brand.d.ts.map +1 -1
  589. package/dist/util/brand.js +47 -1
  590. package/dist/util/brand.js.map +1 -1
  591. package/dist/util/breakable.js +7 -9
  592. package/dist/util/breakable.js.map +1 -1
  593. package/dist/util/idAllocator.d.ts.map +1 -1
  594. package/dist/util/idAllocator.js +1 -2
  595. package/dist/util/idAllocator.js.map +1 -1
  596. package/dist/util/index.d.ts +2 -2
  597. package/dist/util/index.d.ts.map +1 -1
  598. package/dist/util/index.js +4 -3
  599. package/dist/util/index.js.map +1 -1
  600. package/dist/util/nestedMap.d.ts.map +1 -1
  601. package/dist/util/nestedMap.js +1 -1
  602. package/dist/util/nestedMap.js.map +1 -1
  603. package/dist/util/rangeMap.d.ts +12 -24
  604. package/dist/util/rangeMap.d.ts.map +1 -1
  605. package/dist/util/rangeMap.js +6 -46
  606. package/dist/util/rangeMap.js.map +1 -1
  607. package/dist/util/utils.d.ts.map +1 -1
  608. package/dist/util/utils.js +16 -15
  609. package/dist/util/utils.js.map +1 -1
  610. package/docs/main/sequence-field/move-composition.md +46 -0
  611. package/eslint.config.mts +83 -0
  612. package/lib/alpha.d.ts +7 -0
  613. package/lib/codec/codec.d.ts +63 -20
  614. package/lib/codec/codec.d.ts.map +1 -1
  615. package/lib/codec/codec.js +44 -18
  616. package/lib/codec/codec.js.map +1 -1
  617. package/lib/codec/index.d.ts +2 -2
  618. package/lib/codec/index.d.ts.map +1 -1
  619. package/lib/codec/index.js +1 -1
  620. package/lib/codec/index.js.map +1 -1
  621. package/lib/codec/versioned/codec.d.ts +80 -22
  622. package/lib/codec/versioned/codec.d.ts.map +1 -1
  623. package/lib/codec/versioned/codec.js +138 -15
  624. package/lib/codec/versioned/codec.js.map +1 -1
  625. package/lib/codec/versioned/index.d.ts +1 -1
  626. package/lib/codec/versioned/index.d.ts.map +1 -1
  627. package/lib/codec/versioned/index.js +1 -1
  628. package/lib/codec/versioned/index.js.map +1 -1
  629. package/lib/core/change-family/changeFamily.d.ts +1 -4
  630. package/lib/core/change-family/changeFamily.d.ts.map +1 -1
  631. package/lib/core/change-family/changeFamily.js.map +1 -1
  632. package/lib/core/change-family/index.d.ts +1 -1
  633. package/lib/core/change-family/index.d.ts.map +1 -1
  634. package/lib/core/change-family/index.js.map +1 -1
  635. package/lib/core/index.d.ts +3 -3
  636. package/lib/core/index.d.ts.map +1 -1
  637. package/lib/core/index.js +2 -2
  638. package/lib/core/index.js.map +1 -1
  639. package/lib/core/rebase/changeRebaser.d.ts +37 -8
  640. package/lib/core/rebase/changeRebaser.d.ts.map +1 -1
  641. package/lib/core/rebase/changeRebaser.js.map +1 -1
  642. package/lib/core/rebase/index.d.ts +2 -2
  643. package/lib/core/rebase/index.d.ts.map +1 -1
  644. package/lib/core/rebase/index.js +1 -1
  645. package/lib/core/rebase/index.js.map +1 -1
  646. package/lib/core/rebase/types.d.ts +27 -5
  647. package/lib/core/rebase/types.d.ts.map +1 -1
  648. package/lib/core/rebase/types.js +0 -13
  649. package/lib/core/rebase/types.js.map +1 -1
  650. package/lib/core/rebase/utils.d.ts.map +1 -1
  651. package/lib/core/rebase/utils.js +10 -28
  652. package/lib/core/rebase/utils.js.map +1 -1
  653. package/lib/core/schema-stored/schema.d.ts +4 -7
  654. package/lib/core/schema-stored/schema.d.ts.map +1 -1
  655. package/lib/core/schema-stored/schema.js +6 -6
  656. package/lib/core/schema-stored/schema.js.map +1 -1
  657. package/lib/core/tree/anchorSet.d.ts.map +1 -1
  658. package/lib/core/tree/anchorSet.js +3 -4
  659. package/lib/core/tree/anchorSet.js.map +1 -1
  660. package/lib/core/tree/detachedFieldIndex.d.ts +1 -8
  661. package/lib/core/tree/detachedFieldIndex.d.ts.map +1 -1
  662. package/lib/core/tree/detachedFieldIndex.js +14 -67
  663. package/lib/core/tree/detachedFieldIndex.js.map +1 -1
  664. package/lib/core/tree/detachedFieldIndexCodecCommon.d.ts +18 -10
  665. package/lib/core/tree/detachedFieldIndexCodecCommon.d.ts.map +1 -1
  666. package/lib/core/tree/detachedFieldIndexCodecCommon.js +4 -4
  667. package/lib/core/tree/detachedFieldIndexCodecCommon.js.map +1 -1
  668. package/lib/core/tree/detachedFieldIndexCodecV1.d.ts +2 -3
  669. package/lib/core/tree/detachedFieldIndexCodecV1.d.ts.map +1 -1
  670. package/lib/core/tree/detachedFieldIndexCodecV1.js +4 -5
  671. package/lib/core/tree/detachedFieldIndexCodecV1.js.map +1 -1
  672. package/lib/core/tree/detachedFieldIndexCodecV2.d.ts +2 -3
  673. package/lib/core/tree/detachedFieldIndexCodecV2.d.ts.map +1 -1
  674. package/lib/core/tree/detachedFieldIndexCodecV2.js +4 -6
  675. package/lib/core/tree/detachedFieldIndexCodecV2.js.map +1 -1
  676. package/lib/core/tree/detachedFieldIndexCodecs.d.ts +5 -6
  677. package/lib/core/tree/detachedFieldIndexCodecs.d.ts.map +1 -1
  678. package/lib/core/tree/detachedFieldIndexCodecs.js +12 -39
  679. package/lib/core/tree/detachedFieldIndexCodecs.js.map +1 -1
  680. package/lib/core/tree/detachedFieldIndexFormatCommon.d.ts +4 -4
  681. package/lib/core/tree/detachedFieldIndexFormatCommon.d.ts.map +1 -1
  682. package/lib/core/tree/detachedFieldIndexFormatCommon.js +3 -3
  683. package/lib/core/tree/detachedFieldIndexFormatCommon.js.map +1 -1
  684. package/lib/core/tree/index.d.ts +2 -2
  685. package/lib/core/tree/index.d.ts.map +1 -1
  686. package/lib/core/tree/index.js +2 -2
  687. package/lib/core/tree/index.js.map +1 -1
  688. package/lib/core/tree/mapTree.js +1 -1
  689. package/lib/core/tree/mapTree.js.map +1 -1
  690. package/lib/core/tree/pathTree.d.ts +3 -11
  691. package/lib/core/tree/pathTree.d.ts.map +1 -1
  692. package/lib/core/tree/pathTree.js +1 -12
  693. package/lib/core/tree/pathTree.js.map +1 -1
  694. package/lib/core/tree/sparseTree.d.ts.map +1 -1
  695. package/lib/core/tree/sparseTree.js +1 -0
  696. package/lib/core/tree/sparseTree.js.map +1 -1
  697. package/lib/core/tree/treeTextFormat.d.ts.map +1 -1
  698. package/lib/core/tree/treeTextFormat.js +5 -9
  699. package/lib/core/tree/treeTextFormat.js.map +1 -1
  700. package/lib/feature-libraries/changeAtomIdBTree.d.ts +10 -0
  701. package/lib/feature-libraries/changeAtomIdBTree.d.ts.map +1 -0
  702. package/lib/feature-libraries/changeAtomIdBTree.js +11 -0
  703. package/lib/feature-libraries/changeAtomIdBTree.js.map +1 -0
  704. package/lib/feature-libraries/chunked-forest/basicChunk.d.ts.map +1 -1
  705. package/lib/feature-libraries/chunked-forest/basicChunk.js +2 -9
  706. package/lib/feature-libraries/chunked-forest/basicChunk.js.map +1 -1
  707. package/lib/feature-libraries/chunked-forest/chunkTree.d.ts.map +1 -1
  708. package/lib/feature-libraries/chunked-forest/chunkTree.js +1 -4
  709. package/lib/feature-libraries/chunked-forest/chunkTree.js.map +1 -1
  710. package/lib/feature-libraries/chunked-forest/chunkedForest.js +6 -6
  711. package/lib/feature-libraries/chunked-forest/chunkedForest.js.map +1 -1
  712. package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts.map +1 -1
  713. package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.js +7 -4
  714. package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.js.map +1 -1
  715. package/lib/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -1
  716. package/lib/feature-libraries/chunked-forest/codec/codecs.js +20 -12
  717. package/lib/feature-libraries/chunked-forest/codec/codecs.js.map +1 -1
  718. package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js +3 -3
  719. package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -1
  720. package/lib/feature-libraries/chunked-forest/codec/format.d.ts +5 -5
  721. package/lib/feature-libraries/chunked-forest/codec/format.d.ts.map +1 -1
  722. package/lib/feature-libraries/chunked-forest/codec/format.js +5 -5
  723. package/lib/feature-libraries/chunked-forest/codec/format.js.map +1 -1
  724. package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncode.js +9 -5
  725. package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncode.js.map +1 -1
  726. package/lib/feature-libraries/chunked-forest/uniformChunk.js +1 -1
  727. package/lib/feature-libraries/chunked-forest/uniformChunk.js.map +1 -1
  728. package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts +54 -93
  729. package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
  730. package/lib/feature-libraries/default-schema/defaultEditBuilder.js +82 -243
  731. package/lib/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
  732. package/lib/feature-libraries/default-schema/defaultFieldKinds.d.ts +1 -1
  733. package/lib/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -1
  734. package/lib/feature-libraries/default-schema/defaultFieldKinds.js +6 -5
  735. package/lib/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -1
  736. package/lib/feature-libraries/default-schema/index.d.ts +1 -2
  737. package/lib/feature-libraries/default-schema/index.d.ts.map +1 -1
  738. package/lib/feature-libraries/default-schema/index.js +1 -2
  739. package/lib/feature-libraries/default-schema/index.js.map +1 -1
  740. package/lib/feature-libraries/default-schema/mappedEditBuilder.d.ts +8 -7
  741. package/lib/feature-libraries/default-schema/mappedEditBuilder.d.ts.map +1 -1
  742. package/lib/feature-libraries/default-schema/mappedEditBuilder.js +6 -15
  743. package/lib/feature-libraries/default-schema/mappedEditBuilder.js.map +1 -1
  744. package/lib/feature-libraries/deltaUtils.d.ts +0 -1
  745. package/lib/feature-libraries/deltaUtils.d.ts.map +1 -1
  746. package/lib/feature-libraries/deltaUtils.js +1 -5
  747. package/lib/feature-libraries/deltaUtils.js.map +1 -1
  748. package/lib/feature-libraries/flex-tree/context.d.ts +0 -9
  749. package/lib/feature-libraries/flex-tree/context.d.ts.map +1 -1
  750. package/lib/feature-libraries/flex-tree/context.js +0 -6
  751. package/lib/feature-libraries/flex-tree/context.js.map +1 -1
  752. package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts +6 -6
  753. package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -1
  754. package/lib/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -1
  755. package/lib/feature-libraries/flex-tree/lazyField.d.ts +7 -8
  756. package/lib/feature-libraries/flex-tree/lazyField.d.ts.map +1 -1
  757. package/lib/feature-libraries/flex-tree/lazyField.js +17 -48
  758. package/lib/feature-libraries/flex-tree/lazyField.js.map +1 -1
  759. package/lib/feature-libraries/forest-summary/codec.d.ts +8 -2
  760. package/lib/feature-libraries/forest-summary/codec.d.ts.map +1 -1
  761. package/lib/feature-libraries/forest-summary/codec.js +12 -11
  762. package/lib/feature-libraries/forest-summary/codec.js.map +1 -1
  763. package/lib/feature-libraries/forest-summary/forestSummarizer.d.ts +3 -2
  764. package/lib/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
  765. package/lib/feature-libraries/forest-summary/forestSummarizer.js +19 -10
  766. package/lib/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
  767. package/lib/feature-libraries/forest-summary/formatCommon.d.ts +61 -0
  768. package/lib/feature-libraries/forest-summary/formatCommon.d.ts.map +1 -0
  769. package/lib/feature-libraries/forest-summary/{format.js → formatCommon.js} +8 -6
  770. package/lib/feature-libraries/forest-summary/formatCommon.js.map +1 -0
  771. package/lib/feature-libraries/forest-summary/{format.d.ts → formatV1.d.ts} +6 -14
  772. package/lib/feature-libraries/forest-summary/formatV1.d.ts.map +1 -0
  773. package/lib/feature-libraries/forest-summary/formatV1.js +8 -0
  774. package/lib/feature-libraries/forest-summary/formatV1.js.map +1 -0
  775. package/lib/feature-libraries/forest-summary/formatV2.d.ts +51 -0
  776. package/lib/feature-libraries/forest-summary/formatV2.d.ts.map +1 -0
  777. package/lib/feature-libraries/forest-summary/formatV2.js +8 -0
  778. package/lib/feature-libraries/forest-summary/formatV2.js.map +1 -0
  779. package/lib/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts +7 -15
  780. package/lib/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts.map +1 -1
  781. package/lib/feature-libraries/forest-summary/incrementalSummaryBuilder.js +11 -20
  782. package/lib/feature-libraries/forest-summary/incrementalSummaryBuilder.js.map +1 -1
  783. package/lib/feature-libraries/forest-summary/index.d.ts +1 -2
  784. package/lib/feature-libraries/forest-summary/index.d.ts.map +1 -1
  785. package/lib/feature-libraries/forest-summary/index.js +1 -2
  786. package/lib/feature-libraries/forest-summary/index.js.map +1 -1
  787. package/lib/feature-libraries/forest-summary/summaryFormatCommon.d.ts +35 -0
  788. package/lib/feature-libraries/forest-summary/summaryFormatCommon.d.ts.map +1 -0
  789. package/lib/feature-libraries/forest-summary/summaryFormatCommon.js +40 -0
  790. package/lib/feature-libraries/forest-summary/summaryFormatCommon.js.map +1 -0
  791. package/lib/feature-libraries/forest-summary/summaryFormatV1ToV2.d.ts +11 -0
  792. package/lib/feature-libraries/forest-summary/summaryFormatV1ToV2.d.ts.map +1 -0
  793. package/lib/feature-libraries/forest-summary/summaryFormatV1ToV2.js +11 -0
  794. package/lib/feature-libraries/forest-summary/summaryFormatV1ToV2.js.map +1 -0
  795. package/lib/feature-libraries/forest-summary/summaryFormatV3.d.ts +18 -0
  796. package/lib/feature-libraries/forest-summary/summaryFormatV3.d.ts.map +1 -0
  797. package/lib/feature-libraries/forest-summary/summaryFormatV3.js +18 -0
  798. package/lib/feature-libraries/forest-summary/summaryFormatV3.js.map +1 -0
  799. package/lib/feature-libraries/forest-summary/summaryTypes.d.ts +7 -37
  800. package/lib/feature-libraries/forest-summary/summaryTypes.d.ts.map +1 -1
  801. package/lib/feature-libraries/forest-summary/summaryTypes.js +20 -43
  802. package/lib/feature-libraries/forest-summary/summaryTypes.js.map +1 -1
  803. package/lib/feature-libraries/index.d.ts +5 -4
  804. package/lib/feature-libraries/index.d.ts.map +1 -1
  805. package/lib/feature-libraries/index.js +5 -4
  806. package/lib/feature-libraries/index.js.map +1 -1
  807. package/lib/feature-libraries/indexing/anchorTreeIndex.js +6 -6
  808. package/lib/feature-libraries/indexing/anchorTreeIndex.js.map +1 -1
  809. package/lib/feature-libraries/mapTreeCursor.d.ts.map +1 -1
  810. package/lib/feature-libraries/mapTreeCursor.js +1 -2
  811. package/lib/feature-libraries/mapTreeCursor.js.map +1 -1
  812. package/lib/feature-libraries/mitigatedChangeFamily.d.ts.map +1 -1
  813. package/lib/feature-libraries/mitigatedChangeFamily.js +12 -3
  814. package/lib/feature-libraries/mitigatedChangeFamily.js.map +1 -1
  815. package/lib/feature-libraries/modular-schema/comparison.d.ts.map +1 -1
  816. package/lib/feature-libraries/modular-schema/comparison.js +13 -10
  817. package/lib/feature-libraries/modular-schema/comparison.js.map +1 -1
  818. package/lib/feature-libraries/modular-schema/crossFieldQueries.d.ts +21 -97
  819. package/lib/feature-libraries/modular-schema/crossFieldQueries.d.ts.map +1 -1
  820. package/lib/feature-libraries/modular-schema/crossFieldQueries.js +5 -3
  821. package/lib/feature-libraries/modular-schema/crossFieldQueries.js.map +1 -1
  822. package/lib/feature-libraries/modular-schema/defaultRevisionReplacer.d.ts +25 -0
  823. package/lib/feature-libraries/modular-schema/defaultRevisionReplacer.d.ts.map +1 -0
  824. package/lib/feature-libraries/modular-schema/defaultRevisionReplacer.js +55 -0
  825. package/lib/feature-libraries/modular-schema/defaultRevisionReplacer.js.map +1 -0
  826. package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts +52 -20
  827. package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -1
  828. package/lib/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -1
  829. package/lib/feature-libraries/modular-schema/genericFieldKind.d.ts.map +1 -1
  830. package/lib/feature-libraries/modular-schema/genericFieldKind.js +14 -8
  831. package/lib/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
  832. package/lib/feature-libraries/modular-schema/index.d.ts +7 -5
  833. package/lib/feature-libraries/modular-schema/index.d.ts.map +1 -1
  834. package/lib/feature-libraries/modular-schema/index.js +5 -4
  835. package/lib/feature-libraries/modular-schema/index.js.map +1 -1
  836. package/lib/feature-libraries/modular-schema/modularChangeCodecV1.d.ts +41 -9
  837. package/lib/feature-libraries/modular-schema/modularChangeCodecV1.d.ts.map +1 -1
  838. package/lib/feature-libraries/modular-schema/modularChangeCodecV1.js +248 -334
  839. package/lib/feature-libraries/modular-schema/modularChangeCodecV1.js.map +1 -1
  840. package/lib/feature-libraries/modular-schema/modularChangeCodecV2.d.ts +7 -9
  841. package/lib/feature-libraries/modular-schema/modularChangeCodecV2.d.ts.map +1 -1
  842. package/lib/feature-libraries/modular-schema/modularChangeCodecV2.js +10 -392
  843. package/lib/feature-libraries/modular-schema/modularChangeCodecV2.js.map +1 -1
  844. package/lib/feature-libraries/modular-schema/modularChangeCodecs.d.ts.map +1 -1
  845. package/lib/feature-libraries/modular-schema/modularChangeCodecs.js +24 -11
  846. package/lib/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -1
  847. package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts +27 -55
  848. package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
  849. package/lib/feature-libraries/modular-schema/modularChangeFamily.js +549 -1352
  850. package/lib/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
  851. package/lib/feature-libraries/modular-schema/modularChangeFormatV1.d.ts +3 -4
  852. package/lib/feature-libraries/modular-schema/modularChangeFormatV1.d.ts.map +1 -1
  853. package/lib/feature-libraries/modular-schema/modularChangeFormatV1.js +2 -2
  854. package/lib/feature-libraries/modular-schema/modularChangeFormatV1.js.map +1 -1
  855. package/lib/feature-libraries/modular-schema/modularChangeFormatV2.d.ts +14 -48
  856. package/lib/feature-libraries/modular-schema/modularChangeFormatV2.d.ts.map +1 -1
  857. package/lib/feature-libraries/modular-schema/modularChangeFormatV2.js +10 -21
  858. package/lib/feature-libraries/modular-schema/modularChangeFormatV2.js.map +1 -1
  859. package/lib/feature-libraries/modular-schema/modularChangeTypes.d.ts +18 -48
  860. package/lib/feature-libraries/modular-schema/modularChangeTypes.d.ts.map +1 -1
  861. package/lib/feature-libraries/modular-schema/modularChangeTypes.js +2 -20
  862. package/lib/feature-libraries/modular-schema/modularChangeTypes.js.map +1 -1
  863. package/lib/feature-libraries/node-identifier/mockNodeIdentifierManager.js +1 -1
  864. package/lib/feature-libraries/node-identifier/mockNodeIdentifierManager.js.map +1 -1
  865. package/lib/feature-libraries/object-forest/objectForest.js +4 -4
  866. package/lib/feature-libraries/object-forest/objectForest.js.map +1 -1
  867. package/lib/feature-libraries/optional-field/index.d.ts +2 -2
  868. package/lib/feature-libraries/optional-field/index.d.ts.map +1 -1
  869. package/lib/feature-libraries/optional-field/index.js +1 -1
  870. package/lib/feature-libraries/optional-field/index.js.map +1 -1
  871. package/lib/feature-libraries/optional-field/optionalField.d.ts +26 -5
  872. package/lib/feature-libraries/optional-field/optionalField.d.ts.map +1 -1
  873. package/lib/feature-libraries/optional-field/optionalField.js +445 -218
  874. package/lib/feature-libraries/optional-field/optionalField.js.map +1 -1
  875. package/lib/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts +33 -24
  876. package/lib/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts.map +1 -1
  877. package/lib/feature-libraries/optional-field/optionalFieldChangeTypes.js.map +1 -1
  878. package/lib/feature-libraries/optional-field/optionalFieldCodecV2.d.ts +1 -1
  879. package/lib/feature-libraries/optional-field/optionalFieldCodecV2.d.ts.map +1 -1
  880. package/lib/feature-libraries/optional-field/optionalFieldCodecV2.js +26 -55
  881. package/lib/feature-libraries/optional-field/optionalFieldCodecV2.js.map +1 -1
  882. package/lib/feature-libraries/optional-field/optionalFieldCodecs.d.ts.map +1 -1
  883. package/lib/feature-libraries/optional-field/optionalFieldCodecs.js +1 -5
  884. package/lib/feature-libraries/optional-field/optionalFieldCodecs.js.map +1 -1
  885. package/lib/feature-libraries/schema-edits/schemaChangeCodecs.d.ts.map +1 -1
  886. package/lib/feature-libraries/schema-edits/schemaChangeCodecs.js +16 -5
  887. package/lib/feature-libraries/schema-edits/schemaChangeCodecs.js.map +1 -1
  888. package/lib/feature-libraries/schema-index/codec.d.ts +7 -21
  889. package/lib/feature-libraries/schema-index/codec.d.ts.map +1 -1
  890. package/lib/feature-libraries/schema-index/codec.js +29 -67
  891. package/lib/feature-libraries/schema-index/codec.js.map +1 -1
  892. package/lib/feature-libraries/schema-index/formatV1.d.ts +1 -1
  893. package/lib/feature-libraries/schema-index/formatV2.d.ts +1 -1
  894. package/lib/feature-libraries/schema-index/index.d.ts +2 -2
  895. package/lib/feature-libraries/schema-index/index.d.ts.map +1 -1
  896. package/lib/feature-libraries/schema-index/index.js +2 -2
  897. package/lib/feature-libraries/schema-index/index.js.map +1 -1
  898. package/lib/feature-libraries/schema-index/schemaSummarizer.d.ts +1 -9
  899. package/lib/feature-libraries/schema-index/schemaSummarizer.d.ts.map +1 -1
  900. package/lib/feature-libraries/schema-index/schemaSummarizer.js +0 -10
  901. package/lib/feature-libraries/schema-index/schemaSummarizer.js.map +1 -1
  902. package/lib/feature-libraries/schemaChecker.d.ts.map +1 -1
  903. package/lib/feature-libraries/schemaChecker.js +11 -6
  904. package/lib/feature-libraries/schemaChecker.js.map +1 -1
  905. package/lib/feature-libraries/sequence-field/compose.d.ts +7 -6
  906. package/lib/feature-libraries/sequence-field/compose.d.ts.map +1 -1
  907. package/lib/feature-libraries/sequence-field/compose.js +266 -86
  908. package/lib/feature-libraries/sequence-field/compose.js.map +1 -1
  909. package/lib/feature-libraries/sequence-field/helperTypes.d.ts +10 -14
  910. package/lib/feature-libraries/sequence-field/helperTypes.d.ts.map +1 -1
  911. package/lib/feature-libraries/sequence-field/helperTypes.js.map +1 -1
  912. package/lib/feature-libraries/sequence-field/index.d.ts +3 -2
  913. package/lib/feature-libraries/sequence-field/index.d.ts.map +1 -1
  914. package/lib/feature-libraries/sequence-field/index.js +1 -0
  915. package/lib/feature-libraries/sequence-field/index.js.map +1 -1
  916. package/lib/feature-libraries/sequence-field/invert.d.ts +3 -3
  917. package/lib/feature-libraries/sequence-field/invert.d.ts.map +1 -1
  918. package/lib/feature-libraries/sequence-field/invert.js +171 -68
  919. package/lib/feature-libraries/sequence-field/invert.js.map +1 -1
  920. package/lib/feature-libraries/sequence-field/markQueue.d.ts +2 -2
  921. package/lib/feature-libraries/sequence-field/markQueue.d.ts.map +1 -1
  922. package/lib/feature-libraries/sequence-field/markQueue.js.map +1 -1
  923. package/lib/feature-libraries/sequence-field/moveEffectTable.d.ts +56 -4
  924. package/lib/feature-libraries/sequence-field/moveEffectTable.d.ts.map +1 -1
  925. package/lib/feature-libraries/sequence-field/moveEffectTable.js +87 -7
  926. package/lib/feature-libraries/sequence-field/moveEffectTable.js.map +1 -1
  927. package/lib/feature-libraries/sequence-field/rebase.d.ts +3 -3
  928. package/lib/feature-libraries/sequence-field/rebase.d.ts.map +1 -1
  929. package/lib/feature-libraries/sequence-field/rebase.js +129 -115
  930. package/lib/feature-libraries/sequence-field/rebase.js.map +1 -1
  931. package/lib/feature-libraries/sequence-field/relevantRemovedRoots.d.ts +9 -0
  932. package/lib/feature-libraries/sequence-field/relevantRemovedRoots.d.ts.map +1 -0
  933. package/lib/feature-libraries/sequence-field/relevantRemovedRoots.js +46 -0
  934. package/lib/feature-libraries/sequence-field/relevantRemovedRoots.js.map +1 -0
  935. package/lib/feature-libraries/sequence-field/replaceRevisions.d.ts +2 -2
  936. package/lib/feature-libraries/sequence-field/replaceRevisions.d.ts.map +1 -1
  937. package/lib/feature-libraries/sequence-field/replaceRevisions.js +50 -28
  938. package/lib/feature-libraries/sequence-field/replaceRevisions.js.map +1 -1
  939. package/lib/feature-libraries/sequence-field/sequenceFieldChangeHandler.d.ts.map +1 -1
  940. package/lib/feature-libraries/sequence-field/sequenceFieldChangeHandler.js +2 -0
  941. package/lib/feature-libraries/sequence-field/sequenceFieldChangeHandler.js.map +1 -1
  942. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts +4 -22
  943. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts.map +1 -1
  944. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.js +183 -350
  945. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.js.map +1 -1
  946. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.d.ts.map +1 -1
  947. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.js +63 -21
  948. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.js.map +1 -1
  949. package/lib/feature-libraries/sequence-field/sequenceFieldEditor.d.ts +2 -2
  950. package/lib/feature-libraries/sequence-field/sequenceFieldEditor.d.ts.map +1 -1
  951. package/lib/feature-libraries/sequence-field/sequenceFieldEditor.js +10 -10
  952. package/lib/feature-libraries/sequence-field/sequenceFieldEditor.js.map +1 -1
  953. package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts +2 -3
  954. package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts.map +1 -1
  955. package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.js +115 -17
  956. package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.js.map +1 -1
  957. package/lib/feature-libraries/sequence-field/types.d.ts +59 -30
  958. package/lib/feature-libraries/sequence-field/types.d.ts.map +1 -1
  959. package/lib/feature-libraries/sequence-field/types.js.map +1 -1
  960. package/lib/feature-libraries/sequence-field/utils.d.ts +24 -15
  961. package/lib/feature-libraries/sequence-field/utils.d.ts.map +1 -1
  962. package/lib/feature-libraries/sequence-field/utils.js +327 -123
  963. package/lib/feature-libraries/sequence-field/utils.js.map +1 -1
  964. package/lib/feature-libraries/treeCursorUtils.js +7 -7
  965. package/lib/feature-libraries/treeCursorUtils.js.map +1 -1
  966. package/lib/feature-libraries/treeTextCursor.js +2 -2
  967. package/lib/feature-libraries/treeTextCursor.js.map +1 -1
  968. package/lib/feature-libraries/valueUtilities.d.ts.map +1 -1
  969. package/lib/feature-libraries/valueUtilities.js +16 -8
  970. package/lib/feature-libraries/valueUtilities.js.map +1 -1
  971. package/lib/index.d.ts +3 -3
  972. package/lib/index.d.ts.map +1 -1
  973. package/lib/index.js +1 -1
  974. package/lib/index.js.map +1 -1
  975. package/lib/packageVersion.d.ts +1 -1
  976. package/lib/packageVersion.d.ts.map +1 -1
  977. package/lib/packageVersion.js +1 -1
  978. package/lib/packageVersion.js.map +1 -1
  979. package/lib/shared-tree/independentView.d.ts.map +1 -1
  980. package/lib/shared-tree/independentView.js +2 -2
  981. package/lib/shared-tree/independentView.js.map +1 -1
  982. package/lib/shared-tree/index.d.ts +1 -1
  983. package/lib/shared-tree/index.d.ts.map +1 -1
  984. package/lib/shared-tree/index.js.map +1 -1
  985. package/lib/shared-tree/schematizeTree.d.ts +4 -4
  986. package/lib/shared-tree/schematizeTree.d.ts.map +1 -1
  987. package/lib/shared-tree/schematizeTree.js +2 -3
  988. package/lib/shared-tree/schematizeTree.js.map +1 -1
  989. package/lib/shared-tree/schematizingTreeView.d.ts +9 -5
  990. package/lib/shared-tree/schematizingTreeView.d.ts.map +1 -1
  991. package/lib/shared-tree/schematizingTreeView.js +59 -44
  992. package/lib/shared-tree/schematizingTreeView.js.map +1 -1
  993. package/lib/shared-tree/sharedTree.d.ts +3 -9
  994. package/lib/shared-tree/sharedTree.d.ts.map +1 -1
  995. package/lib/shared-tree/sharedTree.js +26 -19
  996. package/lib/shared-tree/sharedTree.js.map +1 -1
  997. package/lib/shared-tree/sharedTreeChangeCodecs.d.ts +1 -1
  998. package/lib/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
  999. package/lib/shared-tree/sharedTreeChangeCodecs.js +11 -11
  1000. package/lib/shared-tree/sharedTreeChangeCodecs.js.map +1 -1
  1001. package/lib/shared-tree/sharedTreeChangeEnricher.d.ts.map +1 -1
  1002. package/lib/shared-tree/sharedTreeChangeEnricher.js +6 -4
  1003. package/lib/shared-tree/sharedTreeChangeEnricher.js.map +1 -1
  1004. package/lib/shared-tree/sharedTreeChangeFamily.d.ts +7 -6
  1005. package/lib/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -1
  1006. package/lib/shared-tree/sharedTreeChangeFamily.js +24 -25
  1007. package/lib/shared-tree/sharedTreeChangeFamily.js.map +1 -1
  1008. package/lib/shared-tree/sharedTreeEditBuilder.d.ts +6 -16
  1009. package/lib/shared-tree/sharedTreeEditBuilder.d.ts.map +1 -1
  1010. package/lib/shared-tree/sharedTreeEditBuilder.js +6 -12
  1011. package/lib/shared-tree/sharedTreeEditBuilder.js.map +1 -1
  1012. package/lib/shared-tree/treeAlpha.d.ts +35 -29
  1013. package/lib/shared-tree/treeAlpha.d.ts.map +1 -1
  1014. package/lib/shared-tree/treeAlpha.js +21 -23
  1015. package/lib/shared-tree/treeAlpha.js.map +1 -1
  1016. package/lib/shared-tree/treeCheckout.d.ts +17 -12
  1017. package/lib/shared-tree/treeCheckout.d.ts.map +1 -1
  1018. package/lib/shared-tree/treeCheckout.js +89 -70
  1019. package/lib/shared-tree/treeCheckout.js.map +1 -1
  1020. package/lib/shared-tree-core/branch.d.ts +5 -4
  1021. package/lib/shared-tree-core/branch.d.ts.map +1 -1
  1022. package/lib/shared-tree-core/branch.js +7 -6
  1023. package/lib/shared-tree-core/branch.js.map +1 -1
  1024. package/lib/shared-tree-core/branchCommitEnricher.d.ts.map +1 -1
  1025. package/lib/shared-tree-core/branchCommitEnricher.js +2 -2
  1026. package/lib/shared-tree-core/branchCommitEnricher.js.map +1 -1
  1027. package/lib/shared-tree-core/editManager.d.ts +2 -2
  1028. package/lib/shared-tree-core/editManager.d.ts.map +1 -1
  1029. package/lib/shared-tree-core/editManager.js +10 -10
  1030. package/lib/shared-tree-core/editManager.js.map +1 -1
  1031. package/lib/shared-tree-core/editManagerCodecs.d.ts +0 -4
  1032. package/lib/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
  1033. package/lib/shared-tree-core/editManagerCodecs.js +13 -15
  1034. package/lib/shared-tree-core/editManagerCodecs.js.map +1 -1
  1035. package/lib/shared-tree-core/editManagerCodecsVSharedBranches.js +1 -1
  1036. package/lib/shared-tree-core/editManagerCodecsVSharedBranches.js.map +1 -1
  1037. package/lib/shared-tree-core/editManagerFormatCommons.d.ts +9 -44
  1038. package/lib/shared-tree-core/editManagerFormatCommons.d.ts.map +1 -1
  1039. package/lib/shared-tree-core/editManagerFormatCommons.js +9 -9
  1040. package/lib/shared-tree-core/editManagerFormatCommons.js.map +1 -1
  1041. package/lib/shared-tree-core/editManagerFormatV1toV4.d.ts +2 -2
  1042. package/lib/shared-tree-core/editManagerFormatV1toV4.d.ts.map +1 -1
  1043. package/lib/shared-tree-core/editManagerFormatV1toV4.js +1 -1
  1044. package/lib/shared-tree-core/editManagerFormatV1toV4.js.map +1 -1
  1045. package/lib/shared-tree-core/editManagerFormatVSharedBranches.d.ts +1 -1
  1046. package/lib/shared-tree-core/editManagerSummarizer.js +3 -3
  1047. package/lib/shared-tree-core/editManagerSummarizer.js.map +1 -1
  1048. package/lib/shared-tree-core/index.d.ts +3 -2
  1049. package/lib/shared-tree-core/index.d.ts.map +1 -1
  1050. package/lib/shared-tree-core/index.js +2 -2
  1051. package/lib/shared-tree-core/index.js.map +1 -1
  1052. package/lib/shared-tree-core/messageCodecV1ToV4.d.ts +1 -1
  1053. package/lib/shared-tree-core/messageCodecV1ToV4.d.ts.map +1 -1
  1054. package/lib/shared-tree-core/messageCodecV1ToV4.js.map +1 -1
  1055. package/lib/shared-tree-core/messageCodecVSharedBranches.d.ts.map +1 -1
  1056. package/lib/shared-tree-core/messageCodecVSharedBranches.js +2 -1
  1057. package/lib/shared-tree-core/messageCodecVSharedBranches.js.map +1 -1
  1058. package/lib/shared-tree-core/messageCodecs.d.ts +0 -4
  1059. package/lib/shared-tree-core/messageCodecs.d.ts.map +1 -1
  1060. package/lib/shared-tree-core/messageCodecs.js +15 -18
  1061. package/lib/shared-tree-core/messageCodecs.js.map +1 -1
  1062. package/lib/shared-tree-core/messageFormat.d.ts +10 -50
  1063. package/lib/shared-tree-core/messageFormat.d.ts.map +1 -1
  1064. package/lib/shared-tree-core/messageFormat.js +9 -8
  1065. package/lib/shared-tree-core/messageFormat.js.map +1 -1
  1066. package/lib/shared-tree-core/messageFormatV1ToV4.d.ts +2 -2
  1067. package/lib/shared-tree-core/messageFormatV1ToV4.d.ts.map +1 -1
  1068. package/lib/shared-tree-core/messageFormatV1ToV4.js +1 -1
  1069. package/lib/shared-tree-core/messageFormatV1ToV4.js.map +1 -1
  1070. package/lib/shared-tree-core/messageFormatVSharedBranches.d.ts +1 -1
  1071. package/lib/shared-tree-core/sequenceIdUtils.d.ts.map +1 -1
  1072. package/lib/shared-tree-core/sequenceIdUtils.js +4 -4
  1073. package/lib/shared-tree-core/sequenceIdUtils.js.map +1 -1
  1074. package/lib/shared-tree-core/sharedTreeCore.d.ts +0 -1
  1075. package/lib/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
  1076. package/lib/shared-tree-core/sharedTreeCore.js +13 -9
  1077. package/lib/shared-tree-core/sharedTreeCore.js.map +1 -1
  1078. package/lib/shared-tree-core/transaction.d.ts +25 -8
  1079. package/lib/shared-tree-core/transaction.d.ts.map +1 -1
  1080. package/lib/shared-tree-core/transaction.js +67 -32
  1081. package/lib/shared-tree-core/transaction.js.map +1 -1
  1082. package/lib/shared-tree-core/transactionEnricher.d.ts +2 -2
  1083. package/lib/shared-tree-core/transactionEnricher.d.ts.map +1 -1
  1084. package/lib/shared-tree-core/transactionEnricher.js +3 -3
  1085. package/lib/shared-tree-core/transactionEnricher.js.map +1 -1
  1086. package/lib/shared-tree-core/versionedSummarizer.d.ts +6 -1
  1087. package/lib/shared-tree-core/versionedSummarizer.d.ts.map +1 -1
  1088. package/lib/shared-tree-core/versionedSummarizer.js +4 -3
  1089. package/lib/shared-tree-core/versionedSummarizer.js.map +1 -1
  1090. package/lib/simple-tree/api/configuration.js +1 -1
  1091. package/lib/simple-tree/api/configuration.js.map +1 -1
  1092. package/lib/simple-tree/api/customTree.d.ts.map +1 -1
  1093. package/lib/simple-tree/api/customTree.js +13 -9
  1094. package/lib/simple-tree/api/customTree.js.map +1 -1
  1095. package/lib/simple-tree/api/discrepancies.d.ts.map +1 -1
  1096. package/lib/simple-tree/api/discrepancies.js +21 -17
  1097. package/lib/simple-tree/api/discrepancies.js.map +1 -1
  1098. package/lib/simple-tree/api/eraseSchemaDetails.d.ts +89 -0
  1099. package/lib/simple-tree/api/eraseSchemaDetails.d.ts.map +1 -0
  1100. package/lib/simple-tree/api/eraseSchemaDetails.js +92 -0
  1101. package/lib/simple-tree/api/eraseSchemaDetails.js.map +1 -0
  1102. package/lib/simple-tree/api/index.d.ts +2 -1
  1103. package/lib/simple-tree/api/index.d.ts.map +1 -1
  1104. package/lib/simple-tree/api/index.js +1 -0
  1105. package/lib/simple-tree/api/index.js.map +1 -1
  1106. package/lib/simple-tree/api/schemaFactory.d.ts.map +1 -1
  1107. package/lib/simple-tree/api/schemaFactory.js +12 -8
  1108. package/lib/simple-tree/api/schemaFactory.js.map +1 -1
  1109. package/lib/simple-tree/api/schemaFromSimple.js +18 -9
  1110. package/lib/simple-tree/api/schemaFromSimple.js.map +1 -1
  1111. package/lib/simple-tree/api/simpleSchemaCodec.js +10 -5
  1112. package/lib/simple-tree/api/simpleSchemaCodec.js.map +1 -1
  1113. package/lib/simple-tree/api/simpleSchemaToJsonSchema.d.ts.map +1 -1
  1114. package/lib/simple-tree/api/simpleSchemaToJsonSchema.js +15 -11
  1115. package/lib/simple-tree/api/simpleSchemaToJsonSchema.js.map +1 -1
  1116. package/lib/simple-tree/api/simpleTreeIndex.js +10 -10
  1117. package/lib/simple-tree/api/simpleTreeIndex.js.map +1 -1
  1118. package/lib/simple-tree/api/storedSchema.d.ts +1 -1
  1119. package/lib/simple-tree/api/storedSchema.d.ts.map +1 -1
  1120. package/lib/simple-tree/api/storedSchema.js +5 -9
  1121. package/lib/simple-tree/api/storedSchema.js.map +1 -1
  1122. package/lib/simple-tree/api/transactionTypes.d.ts +17 -4
  1123. package/lib/simple-tree/api/transactionTypes.d.ts.map +1 -1
  1124. package/lib/simple-tree/api/transactionTypes.js.map +1 -1
  1125. package/lib/simple-tree/api/tree.d.ts +15 -2
  1126. package/lib/simple-tree/api/tree.d.ts.map +1 -1
  1127. package/lib/simple-tree/api/tree.js.map +1 -1
  1128. package/lib/simple-tree/api/treeNodeApi.d.ts.map +1 -1
  1129. package/lib/simple-tree/api/treeNodeApi.js +21 -13
  1130. package/lib/simple-tree/api/treeNodeApi.js.map +1 -1
  1131. package/lib/simple-tree/api/verboseTree.d.ts.map +1 -1
  1132. package/lib/simple-tree/api/verboseTree.js +14 -9
  1133. package/lib/simple-tree/api/verboseTree.js.map +1 -1
  1134. package/lib/simple-tree/core/treeNode.d.ts.map +1 -1
  1135. package/lib/simple-tree/core/treeNode.js +1 -0
  1136. package/lib/simple-tree/core/treeNode.js.map +1 -1
  1137. package/lib/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
  1138. package/lib/simple-tree/core/treeNodeKernel.js +6 -3
  1139. package/lib/simple-tree/core/treeNodeKernel.js.map +1 -1
  1140. package/lib/simple-tree/core/unhydratedFlexTree.d.ts +15 -15
  1141. package/lib/simple-tree/core/unhydratedFlexTree.d.ts.map +1 -1
  1142. package/lib/simple-tree/core/unhydratedFlexTree.js +28 -73
  1143. package/lib/simple-tree/core/unhydratedFlexTree.js.map +1 -1
  1144. package/lib/simple-tree/createContext.d.ts.map +1 -1
  1145. package/lib/simple-tree/createContext.js +1 -1
  1146. package/lib/simple-tree/createContext.js.map +1 -1
  1147. package/lib/simple-tree/fieldSchema.d.ts +4 -4
  1148. package/lib/simple-tree/fieldSchema.d.ts.map +1 -1
  1149. package/lib/simple-tree/fieldSchema.js.map +1 -1
  1150. package/lib/simple-tree/getTreeNodeForField.d.ts.map +1 -1
  1151. package/lib/simple-tree/getTreeNodeForField.js +2 -1
  1152. package/lib/simple-tree/getTreeNodeForField.js.map +1 -1
  1153. package/lib/simple-tree/index.d.ts +3 -3
  1154. package/lib/simple-tree/index.d.ts.map +1 -1
  1155. package/lib/simple-tree/index.js +2 -2
  1156. package/lib/simple-tree/index.js.map +1 -1
  1157. package/lib/simple-tree/leafNodeSchema.js +9 -6
  1158. package/lib/simple-tree/leafNodeSchema.js.map +1 -1
  1159. package/lib/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
  1160. package/lib/simple-tree/node-kinds/array/arrayNode.js +19 -21
  1161. package/lib/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
  1162. package/lib/simple-tree/node-kinds/common.d.ts.map +1 -1
  1163. package/lib/simple-tree/node-kinds/common.js +2 -2
  1164. package/lib/simple-tree/node-kinds/common.js.map +1 -1
  1165. package/lib/simple-tree/node-kinds/map/mapNode.js +2 -2
  1166. package/lib/simple-tree/node-kinds/map/mapNode.js.map +1 -1
  1167. package/lib/simple-tree/node-kinds/object/objectNode.d.ts.map +1 -1
  1168. package/lib/simple-tree/node-kinds/object/objectNode.js +22 -23
  1169. package/lib/simple-tree/node-kinds/object/objectNode.js.map +1 -1
  1170. package/lib/simple-tree/node-kinds/record/recordNode.d.ts.map +1 -1
  1171. package/lib/simple-tree/node-kinds/record/recordNode.js +4 -7
  1172. package/lib/simple-tree/node-kinds/record/recordNode.js.map +1 -1
  1173. package/lib/simple-tree/prepareForInsertion.d.ts +47 -54
  1174. package/lib/simple-tree/prepareForInsertion.d.ts.map +1 -1
  1175. package/lib/simple-tree/prepareForInsertion.js +124 -183
  1176. package/lib/simple-tree/prepareForInsertion.js.map +1 -1
  1177. package/lib/simple-tree/toStoredSchema.d.ts.map +1 -1
  1178. package/lib/simple-tree/toStoredSchema.js +12 -8
  1179. package/lib/simple-tree/toStoredSchema.js.map +1 -1
  1180. package/lib/simple-tree/unhydratedFlexTreeFromInsertable.d.ts +4 -13
  1181. package/lib/simple-tree/unhydratedFlexTreeFromInsertable.d.ts.map +1 -1
  1182. package/lib/simple-tree/unhydratedFlexTreeFromInsertable.js +9 -26
  1183. package/lib/simple-tree/unhydratedFlexTreeFromInsertable.js.map +1 -1
  1184. package/lib/tableSchema.d.ts +3 -14
  1185. package/lib/tableSchema.d.ts.map +1 -1
  1186. package/lib/tableSchema.js +3 -3
  1187. package/lib/tableSchema.js.map +1 -1
  1188. package/lib/treeFactory.d.ts.map +1 -1
  1189. package/lib/treeFactory.js +3 -13
  1190. package/lib/treeFactory.js.map +1 -1
  1191. package/lib/util/bTreeUtils.js +1 -1
  1192. package/lib/util/bTreeUtils.js.map +1 -1
  1193. package/lib/util/brand.d.ts +49 -0
  1194. package/lib/util/brand.d.ts.map +1 -1
  1195. package/lib/util/brand.js +44 -0
  1196. package/lib/util/brand.js.map +1 -1
  1197. package/lib/util/breakable.js +7 -9
  1198. package/lib/util/breakable.js.map +1 -1
  1199. package/lib/util/idAllocator.d.ts.map +1 -1
  1200. package/lib/util/idAllocator.js +1 -2
  1201. package/lib/util/idAllocator.js.map +1 -1
  1202. package/lib/util/index.d.ts +2 -2
  1203. package/lib/util/index.d.ts.map +1 -1
  1204. package/lib/util/index.js +2 -2
  1205. package/lib/util/index.js.map +1 -1
  1206. package/lib/util/nestedMap.d.ts.map +1 -1
  1207. package/lib/util/nestedMap.js +1 -1
  1208. package/lib/util/nestedMap.js.map +1 -1
  1209. package/lib/util/rangeMap.d.ts +12 -24
  1210. package/lib/util/rangeMap.d.ts.map +1 -1
  1211. package/lib/util/rangeMap.js +5 -44
  1212. package/lib/util/rangeMap.js.map +1 -1
  1213. package/lib/util/utils.d.ts.map +1 -1
  1214. package/lib/util/utils.js +16 -15
  1215. package/lib/util/utils.js.map +1 -1
  1216. package/package.json +33 -32
  1217. package/src/codec/codec.ts +82 -26
  1218. package/src/codec/index.ts +4 -1
  1219. package/src/codec/versioned/codec.ts +340 -22
  1220. package/src/codec/versioned/index.ts +3 -1
  1221. package/src/core/change-family/changeFamily.ts +0 -5
  1222. package/src/core/change-family/index.ts +0 -1
  1223. package/src/core/index.ts +4 -6
  1224. package/src/core/rebase/changeRebaser.ts +41 -12
  1225. package/src/core/rebase/index.ts +2 -2
  1226. package/src/core/rebase/types.ts +32 -26
  1227. package/src/core/rebase/utils.ts +10 -34
  1228. package/src/core/schema-stored/schema.ts +8 -10
  1229. package/src/core/tree/anchorSet.ts +3 -4
  1230. package/src/core/tree/detachedFieldIndex.ts +14 -91
  1231. package/src/core/tree/detachedFieldIndexCodecCommon.ts +4 -8
  1232. package/src/core/tree/detachedFieldIndexCodecV1.ts +3 -7
  1233. package/src/core/tree/detachedFieldIndexCodecV2.ts +5 -9
  1234. package/src/core/tree/detachedFieldIndexCodecs.ts +21 -64
  1235. package/src/core/tree/detachedFieldIndexFormatCommon.ts +4 -7
  1236. package/src/core/tree/index.ts +2 -3
  1237. package/src/core/tree/mapTree.ts +1 -1
  1238. package/src/core/tree/pathTree.ts +4 -16
  1239. package/src/core/tree/sparseTree.ts +1 -0
  1240. package/src/core/tree/treeTextFormat.ts +5 -9
  1241. package/src/feature-libraries/changeAtomIdBTree.ts +24 -0
  1242. package/src/feature-libraries/chunked-forest/basicChunk.ts +2 -8
  1243. package/src/feature-libraries/chunked-forest/chunkTree.ts +1 -6
  1244. package/src/feature-libraries/chunked-forest/chunkedForest.ts +5 -5
  1245. package/src/feature-libraries/chunked-forest/codec/chunkDecoding.ts +7 -4
  1246. package/src/feature-libraries/chunked-forest/codec/codecs.ts +20 -11
  1247. package/src/feature-libraries/chunked-forest/codec/compressedEncode.ts +3 -3
  1248. package/src/feature-libraries/chunked-forest/codec/format.ts +6 -9
  1249. package/src/feature-libraries/chunked-forest/codec/schemaBasedEncode.ts +9 -5
  1250. package/src/feature-libraries/chunked-forest/uniformChunk.ts +1 -1
  1251. package/src/feature-libraries/default-schema/defaultEditBuilder.ts +163 -403
  1252. package/src/feature-libraries/default-schema/defaultFieldKinds.ts +9 -7
  1253. package/src/feature-libraries/default-schema/index.ts +5 -17
  1254. package/src/feature-libraries/default-schema/mappedEditBuilder.ts +15 -35
  1255. package/src/feature-libraries/deltaUtils.ts +1 -6
  1256. package/src/feature-libraries/flex-tree/context.ts +0 -17
  1257. package/src/feature-libraries/flex-tree/flexTreeTypes.ts +8 -7
  1258. package/src/feature-libraries/flex-tree/lazyField.ts +31 -74
  1259. package/src/feature-libraries/forest-summary/codec.ts +25 -13
  1260. package/src/feature-libraries/forest-summary/forestSummarizer.ts +37 -12
  1261. package/src/feature-libraries/forest-summary/{format.ts → formatCommon.ts} +10 -11
  1262. package/src/feature-libraries/forest-summary/formatV1.ts +12 -0
  1263. package/src/feature-libraries/forest-summary/formatV2.ts +12 -0
  1264. package/src/feature-libraries/forest-summary/incrementalSummaryBuilder.ts +18 -21
  1265. package/src/feature-libraries/forest-summary/index.ts +1 -2
  1266. package/src/feature-libraries/forest-summary/summaryFormatCommon.ts +41 -0
  1267. package/src/feature-libraries/forest-summary/summaryFormatV1ToV2.ts +11 -0
  1268. package/src/feature-libraries/forest-summary/summaryFormatV3.ts +18 -0
  1269. package/src/feature-libraries/forest-summary/summaryTypes.ts +26 -46
  1270. package/src/feature-libraries/index.ts +18 -27
  1271. package/src/feature-libraries/indexing/anchorTreeIndex.ts +5 -5
  1272. package/src/feature-libraries/mapTreeCursor.ts +1 -2
  1273. package/src/feature-libraries/mitigatedChangeFamily.ts +12 -9
  1274. package/src/feature-libraries/modular-schema/comparison.ts +14 -10
  1275. package/src/feature-libraries/modular-schema/crossFieldQueries.ts +44 -142
  1276. package/src/feature-libraries/modular-schema/defaultRevisionReplacer.ts +70 -0
  1277. package/src/feature-libraries/modular-schema/fieldChangeHandler.ts +58 -40
  1278. package/src/feature-libraries/modular-schema/genericFieldKind.ts +23 -13
  1279. package/src/feature-libraries/modular-schema/index.ts +18 -21
  1280. package/src/feature-libraries/modular-schema/modularChangeCodecV1.ts +543 -572
  1281. package/src/feature-libraries/modular-schema/modularChangeCodecV2.ts +44 -745
  1282. package/src/feature-libraries/modular-schema/modularChangeCodecs.ts +37 -51
  1283. package/src/feature-libraries/modular-schema/modularChangeFamily.ts +862 -2636
  1284. package/src/feature-libraries/modular-schema/modularChangeFormatV1.ts +3 -4
  1285. package/src/feature-libraries/modular-schema/modularChangeFormatV2.ts +17 -45
  1286. package/src/feature-libraries/modular-schema/modularChangeTypes.ts +18 -97
  1287. package/src/feature-libraries/node-identifier/mockNodeIdentifierManager.ts +1 -1
  1288. package/src/feature-libraries/object-forest/objectForest.ts +4 -4
  1289. package/src/feature-libraries/optional-field/index.ts +3 -1
  1290. package/src/feature-libraries/optional-field/optionalField.ts +566 -321
  1291. package/src/feature-libraries/optional-field/optionalFieldChangeTypes.ts +38 -24
  1292. package/src/feature-libraries/optional-field/optionalFieldCodecV2.ts +35 -89
  1293. package/src/feature-libraries/optional-field/optionalFieldCodecs.ts +1 -5
  1294. package/src/feature-libraries/schema-edits/schemaChangeCodecs.ts +19 -5
  1295. package/src/feature-libraries/schema-index/codec.ts +30 -92
  1296. package/src/feature-libraries/schema-index/index.ts +2 -4
  1297. package/src/feature-libraries/schema-index/schemaSummarizer.ts +0 -17
  1298. package/src/feature-libraries/schemaChecker.ts +11 -6
  1299. package/src/feature-libraries/sequence-field/compose.ts +527 -138
  1300. package/src/feature-libraries/sequence-field/helperTypes.ts +19 -34
  1301. package/src/feature-libraries/sequence-field/index.ts +9 -0
  1302. package/src/feature-libraries/sequence-field/invert.ts +229 -103
  1303. package/src/feature-libraries/sequence-field/markQueue.ts +2 -2
  1304. package/src/feature-libraries/sequence-field/moveEffectTable.ts +198 -9
  1305. package/src/feature-libraries/sequence-field/rebase.ts +218 -175
  1306. package/src/feature-libraries/sequence-field/relevantRemovedRoots.ts +57 -0
  1307. package/src/feature-libraries/sequence-field/replaceRevisions.ts +76 -59
  1308. package/src/feature-libraries/sequence-field/sequenceFieldChangeHandler.ts +2 -0
  1309. package/src/feature-libraries/sequence-field/sequenceFieldCodecV2.ts +228 -643
  1310. package/src/feature-libraries/sequence-field/sequenceFieldCodecV3.ts +70 -56
  1311. package/src/feature-libraries/sequence-field/sequenceFieldEditor.ts +27 -25
  1312. package/src/feature-libraries/sequence-field/sequenceFieldToDelta.ts +135 -22
  1313. package/src/feature-libraries/sequence-field/types.ts +64 -34
  1314. package/src/feature-libraries/sequence-field/utils.ts +382 -150
  1315. package/src/feature-libraries/treeCursorUtils.ts +7 -7
  1316. package/src/feature-libraries/treeTextCursor.ts +2 -2
  1317. package/src/feature-libraries/valueUtilities.ts +16 -8
  1318. package/src/index.ts +7 -0
  1319. package/src/packageVersion.ts +1 -1
  1320. package/src/shared-tree/independentView.ts +1 -2
  1321. package/src/shared-tree/index.ts +2 -3
  1322. package/src/shared-tree/schematizeTree.ts +8 -21
  1323. package/src/shared-tree/schematizingTreeView.ts +96 -63
  1324. package/src/shared-tree/sharedTree.ts +29 -29
  1325. package/src/shared-tree/sharedTreeChangeCodecs.ts +12 -15
  1326. package/src/shared-tree/sharedTreeChangeEnricher.ts +4 -4
  1327. package/src/shared-tree/sharedTreeChangeFamily.ts +34 -34
  1328. package/src/shared-tree/sharedTreeEditBuilder.ts +9 -39
  1329. package/src/shared-tree/treeAlpha.ts +60 -51
  1330. package/src/shared-tree/treeCheckout.ts +158 -132
  1331. package/src/shared-tree-core/branch.ts +10 -11
  1332. package/src/shared-tree-core/branchCommitEnricher.ts +3 -8
  1333. package/src/shared-tree-core/editManager.ts +3 -17
  1334. package/src/shared-tree-core/editManagerCodecs.ts +13 -18
  1335. package/src/shared-tree-core/editManagerCodecsVSharedBranches.ts +1 -1
  1336. package/src/shared-tree-core/editManagerFormatCommons.ts +12 -15
  1337. package/src/shared-tree-core/editManagerFormatV1toV4.ts +2 -2
  1338. package/src/shared-tree-core/editManagerSummarizer.ts +3 -3
  1339. package/src/shared-tree-core/index.ts +3 -2
  1340. package/src/shared-tree-core/messageCodecV1ToV4.ts +1 -1
  1341. package/src/shared-tree-core/messageCodecVSharedBranches.ts +2 -1
  1342. package/src/shared-tree-core/messageCodecs.ts +15 -21
  1343. package/src/shared-tree-core/messageFormat.ts +12 -15
  1344. package/src/shared-tree-core/messageFormatV1ToV4.ts +2 -2
  1345. package/src/shared-tree-core/sequenceIdUtils.ts +4 -4
  1346. package/src/shared-tree-core/sharedTreeCore.ts +12 -11
  1347. package/src/shared-tree-core/transaction.ts +115 -56
  1348. package/src/shared-tree-core/transactionEnricher.ts +5 -6
  1349. package/src/shared-tree-core/versionedSummarizer.ts +10 -3
  1350. package/src/simple-tree/api/configuration.ts +1 -1
  1351. package/src/simple-tree/api/customTree.ts +14 -10
  1352. package/src/simple-tree/api/discrepancies.ts +23 -17
  1353. package/src/simple-tree/api/eraseSchemaDetails.ts +123 -0
  1354. package/src/simple-tree/api/index.ts +6 -0
  1355. package/src/simple-tree/api/schemaFactory.ts +11 -7
  1356. package/src/simple-tree/api/schemaFromSimple.ts +18 -9
  1357. package/src/simple-tree/api/simpleSchemaCodec.ts +10 -5
  1358. package/src/simple-tree/api/simpleSchemaToJsonSchema.ts +17 -13
  1359. package/src/simple-tree/api/simpleTreeIndex.ts +8 -8
  1360. package/src/simple-tree/api/storedSchema.ts +12 -9
  1361. package/src/simple-tree/api/transactionTypes.ts +19 -4
  1362. package/src/simple-tree/api/tree.ts +16 -1
  1363. package/src/simple-tree/api/treeNodeApi.ts +21 -13
  1364. package/src/simple-tree/api/verboseTree.ts +14 -9
  1365. package/src/simple-tree/core/treeNode.ts +1 -0
  1366. package/src/simple-tree/core/treeNodeKernel.ts +6 -3
  1367. package/src/simple-tree/core/unhydratedFlexTree.ts +58 -104
  1368. package/src/simple-tree/createContext.ts +4 -1
  1369. package/src/simple-tree/fieldSchema.ts +4 -6
  1370. package/src/simple-tree/getTreeNodeForField.ts +2 -1
  1371. package/src/simple-tree/index.ts +5 -2
  1372. package/src/simple-tree/leafNodeSchema.ts +8 -5
  1373. package/src/simple-tree/node-kinds/array/arrayNode.ts +28 -30
  1374. package/src/simple-tree/node-kinds/common.ts +5 -2
  1375. package/src/simple-tree/node-kinds/map/mapNode.ts +4 -4
  1376. package/src/simple-tree/node-kinds/object/objectNode.ts +28 -29
  1377. package/src/simple-tree/node-kinds/record/recordNode.ts +11 -13
  1378. package/src/simple-tree/prepareForInsertion.ts +200 -343
  1379. package/src/simple-tree/toStoredSchema.ts +12 -8
  1380. package/src/simple-tree/unhydratedFlexTreeFromInsertable.ts +14 -42
  1381. package/src/tableSchema.ts +13 -18
  1382. package/src/treeFactory.ts +5 -14
  1383. package/src/util/bTreeUtils.ts +1 -1
  1384. package/src/util/brand.ts +61 -0
  1385. package/src/util/breakable.ts +9 -9
  1386. package/src/util/idAllocator.ts +1 -2
  1387. package/src/util/index.ts +3 -3
  1388. package/src/util/nestedMap.ts +1 -3
  1389. package/src/util/rangeMap.ts +18 -72
  1390. package/src/util/utils.ts +14 -13
  1391. package/dist/feature-libraries/default-schema/locationBasedEditBuilder.d.ts +0 -36
  1392. package/dist/feature-libraries/default-schema/locationBasedEditBuilder.d.ts.map +0 -1
  1393. package/dist/feature-libraries/default-schema/locationBasedEditBuilder.js +0 -126
  1394. package/dist/feature-libraries/default-schema/locationBasedEditBuilder.js.map +0 -1
  1395. package/dist/feature-libraries/forest-summary/format.d.ts.map +0 -1
  1396. package/dist/feature-libraries/forest-summary/format.js.map +0 -1
  1397. package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV3.d.ts +0 -23
  1398. package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV3.d.ts.map +0 -1
  1399. package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV3.js +0 -31
  1400. package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV3.js.map +0 -1
  1401. package/dist/feature-libraries/optional-field/optionalFieldCodecV3.d.ts +0 -12
  1402. package/dist/feature-libraries/optional-field/optionalFieldCodecV3.d.ts.map +0 -1
  1403. package/dist/feature-libraries/optional-field/optionalFieldCodecV3.js +0 -57
  1404. package/dist/feature-libraries/optional-field/optionalFieldCodecV3.js.map +0 -1
  1405. package/lib/feature-libraries/default-schema/locationBasedEditBuilder.d.ts +0 -36
  1406. package/lib/feature-libraries/default-schema/locationBasedEditBuilder.d.ts.map +0 -1
  1407. package/lib/feature-libraries/default-schema/locationBasedEditBuilder.js +0 -122
  1408. package/lib/feature-libraries/default-schema/locationBasedEditBuilder.js.map +0 -1
  1409. package/lib/feature-libraries/forest-summary/format.d.ts.map +0 -1
  1410. package/lib/feature-libraries/forest-summary/format.js.map +0 -1
  1411. package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV3.d.ts +0 -23
  1412. package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV3.d.ts.map +0 -1
  1413. package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV3.js +0 -27
  1414. package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV3.js.map +0 -1
  1415. package/lib/feature-libraries/optional-field/optionalFieldCodecV3.d.ts +0 -12
  1416. package/lib/feature-libraries/optional-field/optionalFieldCodecV3.d.ts.map +0 -1
  1417. package/lib/feature-libraries/optional-field/optionalFieldCodecV3.js +0 -53
  1418. package/lib/feature-libraries/optional-field/optionalFieldCodecV3.js.map +0 -1
  1419. package/src/feature-libraries/default-schema/locationBasedEditBuilder.ts +0 -180
  1420. package/src/feature-libraries/optional-field/optionalFieldChangeFormatV3.ts +0 -45
  1421. package/src/feature-libraries/optional-field/optionalFieldCodecV3.ts +0 -94
@@ -1 +1 @@
1
- {"version":3,"file":"defaultFieldKinds.d.ts","sourceRoot":"","sources":["../../../src/feature-libraries/default-schema/defaultFieldKinds.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defaultFieldKinds.d.ts","sourceRoot":"","sources":["../../../src/feature-libraries/default-schema/defaultFieldKinds.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,8 @@ exports.noChangeHandler = {
24
24
  }),
25
25
  codecsFactory: () => noChangeCodecs_js_1.noChangeCodecFamily,
26
26
  editor: { buildChildChanges: () => (0, internal_1.fail)(0xb0d /* Child changes not supported */) },
27
- intoDelta: (change, deltaFromChild) => [],
27
+ intoDelta: (change, deltaFromChild) => ({}),
28
+ relevantRemovedRoots: (change) => [],
28
29
  isEmpty: (change) => true,
29
30
  getNestedChanges: (change) => [],
30
31
  createEmpty: () => 0,
@@ -138,11 +139,11 @@ exports.fieldKindConfigurations = new Map([
138
139
  ]),
139
140
  ],
140
141
  [
141
- (0, index_js_5.brand)(101), // Detached roots
142
+ (0, index_js_5.brand)(5),
142
143
  new Map([
143
144
  [exports.required.identifier, { kind: exports.required, formatVersion: 2 }],
144
- [exports.optional.identifier, { kind: exports.optional, formatVersion: 3 }],
145
- [exports.sequence.identifier, { kind: exports.sequence, formatVersion: 2 }],
145
+ [exports.optional.identifier, { kind: exports.optional, formatVersion: 2 }],
146
+ [exports.sequence.identifier, { kind: exports.sequence, formatVersion: 3 }],
146
147
  [exports.forbidden.identifier, { kind: exports.forbidden, formatVersion: 1 }],
147
148
  [exports.identifier.identifier, { kind: exports.identifier, formatVersion: 1 }],
148
149
  ]),
@@ -150,7 +151,7 @@ exports.fieldKindConfigurations = new Map([
150
151
  ]);
151
152
  function getCodecTreeForModularChangeFormat(version) {
152
153
  const dependencies = exports.fieldKindConfigurations.get(version) ?? (0, internal_1.fail)(0xc7c /* Unknown modular change format */);
153
- const children = Array.from(dependencies.entries()).map(([key, { formatVersion }]) => ({
154
+ const children = [...dependencies.entries()].map(([key, { formatVersion }]) => ({
154
155
  name: `FieldKind:${key}`,
155
156
  version: formatVersion,
156
157
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"defaultFieldKinds.js","sourceRoot":"","sources":["../../../src/feature-libraries/default-schema/defaultFieldKinds.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 { fail } from \"@fluidframework/core-utils/internal\";\n\nimport {\n\ttype ChangeAtomId,\n\ttype DeltaFieldChanges,\n\ttype FieldKindIdentifier,\n\tforbiddenFieldKindIdentifier,\n\tMultiplicity,\n} from \"../../core/index.js\";\nimport {\n\ttype FieldChangeHandler,\n\ttype FieldEditor,\n\ttype FieldKindConfiguration,\n\ttype FieldKindConfigurationEntry,\n\tFlexFieldKind,\n\ttype FullSchemaPolicy,\n\ttype ToDelta,\n\treferenceFreeFieldChangeRebaser,\n} from \"../modular-schema/index.js\";\nimport {\n\ttype OptionalChangeset,\n\ttype OptionalFieldEditor,\n\toptionalChangeHandler,\n\toptionalFieldEditor,\n} from \"../optional-field/index.js\";\nimport {\n\tsequenceFieldChangeHandler,\n\ttype SequenceFieldEditor,\n} from \"../sequence-field/index.js\";\n\nimport { noChangeCodecFamily } from \"./noChangeCodecs.js\";\nimport type { CodecTree } from \"../../codec/index.js\";\nimport { brand, brandConst, type Brand } from \"../../util/index.js\";\n\n/**\n * ChangeHandler that only handles no-op / identity changes.\n */\nexport const noChangeHandler: FieldChangeHandler<0> = {\n\trebaser: referenceFreeFieldChangeRebaser({\n\t\tcompose: (change1: 0, change2: 0) => 0,\n\t\tinvert: (changes: 0) => 0,\n\t\trebase: (change: 0, over: 0) => 0,\n\t\tmute: (changes: 0) => 0,\n\t}),\n\tcodecsFactory: () => noChangeCodecFamily,\n\teditor: { buildChildChanges: () => fail(0xb0d /* Child changes not supported */) },\n\tintoDelta: (change, deltaFromChild: ToDelta): DeltaFieldChanges => [],\n\tisEmpty: (change: 0) => true,\n\tgetNestedChanges: (change: 0) => [],\n\tcreateEmpty: () => 0,\n\tgetCrossFieldKeys: () => [],\n};\n\n/**\n * {@link FieldEditor} for required fields (always contain exactly 1 child).\n * @remarks\n * This shares code with optional fields, since they are the same edit wise except setting to empty is not allowed,\n * and the content is always assumed to not be empty.\n * This means the actual edits implemented for optional fields are sufficient to support required fields\n * which is why this is defined and implemented in terms of optional fields.\n */\nexport interface RequiredFieldEditor extends FieldEditor<OptionalChangeset> {\n\t/**\n\t * Creates a change which replaces the current value of the field with `newValue`.\n\t * @param ids - The ids for the fill and detach fields.\n\t */\n\tset(ids: { fill: ChangeAtomId; detach: ChangeAtomId }): OptionalChangeset;\n}\n\nconst optionalIdentifier = brandConst(\"Optional\")<FieldKindIdentifier>();\nconst requiredIdentifier = brandConst(\"Value\")<FieldKindIdentifier>();\nconst sequenceIdentifier = brandConst(\"Sequence\")<FieldKindIdentifier>();\nconst identifierFieldIdentifier = brandConst(\"Identifier\")<FieldKindIdentifier>();\n\n/**\n * 0 or 1 items.\n */\nexport const optional = new FlexFieldKind(optionalIdentifier, Multiplicity.Optional, {\n\tchangeHandler: optionalChangeHandler,\n\tallowMonotonicUpgradeFrom: new Set([\n\t\tidentifierFieldIdentifier,\n\t\trequiredIdentifier,\n\t\tforbiddenFieldKindIdentifier,\n\t]),\n});\n\nexport const requiredFieldEditor: RequiredFieldEditor = {\n\t...optionalFieldEditor,\n\tset: (ids: {\n\t\tfill: ChangeAtomId;\n\t\tdetach: ChangeAtomId;\n\t}): OptionalChangeset => optionalFieldEditor.set(false, ids),\n};\n\nexport const requiredFieldChangeHandler: FieldChangeHandler<\n\tOptionalChangeset,\n\tRequiredFieldEditor\n> = {\n\t...optionalChangeHandler,\n\teditor: requiredFieldEditor,\n};\n\n/**\n * Exactly one item.\n */\nexport const required = new FlexFieldKind(requiredIdentifier, Multiplicity.Single, {\n\tchangeHandler: requiredFieldChangeHandler,\n\tallowMonotonicUpgradeFrom: new Set([identifierFieldIdentifier]),\n});\n\n/**\n * 0 or more items.\n */\nexport const sequence = new FlexFieldKind(sequenceIdentifier, Multiplicity.Sequence, {\n\tchangeHandler: sequenceFieldChangeHandler,\n\tallowMonotonicUpgradeFrom: new Set([\n\t\trequired.identifier,\n\t\toptional.identifier,\n\t\tidentifierFieldIdentifier,\n\t\tforbiddenFieldKindIdentifier,\n\t]),\n});\n\n/**\n * Exactly one identifier.\n */\nexport const identifier = new FlexFieldKind(identifierFieldIdentifier, Multiplicity.Single, {\n\tchangeHandler: noChangeHandler,\n\t// By omitting required here,\n\t// this is making a policy choice that a schema upgrade cannot be done from required to identifier.\n\t// Since an identifier can be upgraded into a required field,\n\t// preventing the inverse helps ensure that schema upgrades are monotonic.\n\t// Which direction is allowed is a subjective policy choice.\n\tallowMonotonicUpgradeFrom: new Set([]),\n});\n\n/**\n * Exactly 0 items.\n *\n * Using Forbidden makes what types are listed for allowed in a field irrelevant\n * since the field will never have values in it.\n *\n * Using Forbidden is equivalent to picking a kind that permits empty (like sequence or optional)\n * and having no allowed types (or only never types).\n * Because of this, its possible to express everything constraint wise without Forbidden,\n * but using Forbidden can be more semantically clear than optional with no allowed types.\n *\n * For view schema, this can be useful if you need to:\n * - run a specific out of schema handler when a field is present,\n * but otherwise are ignoring or tolerating (ex: via extra fields) unmentioned fields.\n * - prevent a specific field from being used as an extra field\n * (perhaps for some past of future compatibility reason)\n * - keep a field in a schema for metadata purposes\n * (ex: for improved error messaging, error handling or documentation)\n * that is not used in this specific version of the schema (ex: to document what it was or will be used for).\n *\n * For stored schema, this can be useful if you need to:\n * - have a field which can have its schema updated to Optional or Sequence of any type.\n * - to exclude a field from extra fields\n * - for the schema system to use as a default for fields which aren't declared\n * (ex: when updating a field that did not exist into one that does)\n *\n * See {@link emptyField} for a constant, reusable field using Forbidden.\n */\nexport const forbidden = new FlexFieldKind(\n\tforbiddenFieldKindIdentifier,\n\tMultiplicity.Forbidden,\n\t{\n\t\tchangeHandler: noChangeHandler,\n\t\tallowMonotonicUpgradeFrom: new Set(),\n\t},\n);\n\nexport const fieldKindConfigurations: ReadonlyMap<\n\tModularChangeFormatVersion,\n\tFieldKindConfiguration\n> = new Map([\n\t[\n\t\tbrand(3),\n\t\tnew Map<FieldKindIdentifier, FieldKindConfigurationEntry>([\n\t\t\t[required.identifier, { kind: required, formatVersion: 2 }],\n\t\t\t[optional.identifier, { kind: optional, formatVersion: 2 }],\n\t\t\t[sequence.identifier, { kind: sequence, formatVersion: 2 }],\n\t\t\t[forbidden.identifier, { kind: forbidden, formatVersion: 1 }],\n\t\t\t[identifier.identifier, { kind: identifier, formatVersion: 1 }],\n\t\t]),\n\t],\n\t[\n\t\tbrand(4),\n\t\tnew Map<FieldKindIdentifier, FieldKindConfigurationEntry>([\n\t\t\t[required.identifier, { kind: required, formatVersion: 2 }],\n\t\t\t[optional.identifier, { kind: optional, formatVersion: 2 }],\n\t\t\t[sequence.identifier, { kind: sequence, formatVersion: 3 }],\n\t\t\t[forbidden.identifier, { kind: forbidden, formatVersion: 1 }],\n\t\t\t[identifier.identifier, { kind: identifier, formatVersion: 1 }],\n\t\t]),\n\t],\n\t[\n\t\tbrand(101), // Detached roots\n\t\tnew Map<FieldKindIdentifier, FieldKindConfigurationEntry>([\n\t\t\t[required.identifier, { kind: required, formatVersion: 2 }],\n\t\t\t[optional.identifier, { kind: optional, formatVersion: 3 }],\n\t\t\t[sequence.identifier, { kind: sequence, formatVersion: 2 }],\n\t\t\t[forbidden.identifier, { kind: forbidden, formatVersion: 1 }],\n\t\t\t[identifier.identifier, { kind: identifier, formatVersion: 1 }],\n\t\t]),\n\t],\n]);\n\nexport type ModularChangeFormatVersion = Brand<3 | 4 | 101, \"ModularChangeFormatVersion\">;\nexport function getCodecTreeForModularChangeFormat(\n\tversion: ModularChangeFormatVersion,\n): CodecTree {\n\tconst dependencies =\n\t\tfieldKindConfigurations.get(version) ?? fail(0xc7c /* Unknown modular change format */);\n\tconst children: CodecTree[] = Array.from(dependencies.entries()).map(\n\t\t([key, { formatVersion }]) => ({\n\t\t\tname: `FieldKind:${key}`,\n\t\t\tversion: formatVersion,\n\t\t}),\n\t);\n\treturn {\n\t\tname: \"ModularChange\",\n\t\tversion,\n\t\tchildren,\n\t};\n}\n\n/**\n * All supported field kinds.\n *\n * @privateRemarks\n * Before making a SharedTree format change which impacts which set of field kinds are allowed,\n * code which uses this should be audited for compatibility considerations.\n */\nexport const fieldKinds: ReadonlyMap<FieldKindIdentifier, FlexFieldKind> = new Map(\n\t[required, optional, sequence, identifier, forbidden].map((s) => [s.identifier, s]),\n);\n\n// Create named Aliases for nicer intellisense.\n\n// TODO: Find a way to make docs like {@inheritDoc required} work in vscode.\n// TODO: ensure thy work in generated docs.\n// TODO: add these comments to the rest of the cases below.\nexport interface Required\n\textends FlexFieldKind<RequiredFieldEditor, typeof requiredIdentifier, Multiplicity.Single> {}\nexport interface Optional\n\textends FlexFieldKind<\n\t\tOptionalFieldEditor,\n\t\ttypeof optionalIdentifier,\n\t\tMultiplicity.Optional\n\t> {}\nexport interface Sequence\n\textends FlexFieldKind<\n\t\tSequenceFieldEditor,\n\t\ttypeof sequenceIdentifier,\n\t\tMultiplicity.Sequence\n\t> {}\nexport interface Identifier\n\textends FlexFieldKind<\n\t\tFieldEditor<0>,\n\t\ttypeof identifierFieldIdentifier,\n\t\tMultiplicity.Single\n\t> {}\nexport interface Forbidden\n\textends FlexFieldKind<\n\t\tFieldEditor<0>,\n\t\ttypeof forbiddenFieldKindIdentifier,\n\t\tMultiplicity.Forbidden\n\t> {}\n\n/**\n * Default FieldKinds with their editor types erased.\n */\nexport const FieldKinds: {\n\t// TODO: inheritDoc for these somehow\n\treadonly required: Required;\n\treadonly optional: Optional;\n\treadonly sequence: Sequence;\n\treadonly identifier: Identifier;\n\treadonly forbidden: Forbidden;\n} = { required, optional, sequence, identifier, forbidden };\n\n/**\n * FullSchemaPolicy with the default field kinds.\n */\nexport const defaultSchemaPolicy: FullSchemaPolicy = {\n\tfieldKinds,\n};\n"]}
1
+ {"version":3,"file":"defaultFieldKinds.js","sourceRoot":"","sources":["../../../src/feature-libraries/default-schema/defaultFieldKinds.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 { fail } from \"@fluidframework/core-utils/internal\";\n\nimport {\n\ttype ChangeAtomId,\n\ttype DeltaDetachedNodeId,\n\ttype FieldKindIdentifier,\n\tforbiddenFieldKindIdentifier,\n\tMultiplicity,\n} from \"../../core/index.js\";\nimport {\n\ttype FieldChangeDelta,\n\ttype FieldChangeHandler,\n\ttype FieldEditor,\n\ttype FieldKindConfiguration,\n\ttype FieldKindConfigurationEntry,\n\tFlexFieldKind,\n\ttype FullSchemaPolicy,\n\ttype ToDelta,\n\treferenceFreeFieldChangeRebaser,\n} from \"../modular-schema/index.js\";\nimport {\n\ttype OptionalChangeset,\n\ttype OptionalFieldEditor,\n\toptionalChangeHandler,\n\toptionalFieldEditor,\n} from \"../optional-field/index.js\";\nimport {\n\tsequenceFieldChangeHandler,\n\ttype SequenceFieldEditor,\n} from \"../sequence-field/index.js\";\n\nimport { noChangeCodecFamily } from \"./noChangeCodecs.js\";\nimport type { CodecTree } from \"../../codec/index.js\";\nimport { brand, brandConst, type Brand } from \"../../util/index.js\";\n\n/**\n * ChangeHandler that only handles no-op / identity changes.\n */\nexport const noChangeHandler: FieldChangeHandler<0> = {\n\trebaser: referenceFreeFieldChangeRebaser({\n\t\tcompose: (change1: 0, change2: 0) => 0,\n\t\tinvert: (changes: 0) => 0,\n\t\trebase: (change: 0, over: 0) => 0,\n\t\tmute: (changes: 0) => 0,\n\t}),\n\tcodecsFactory: () => noChangeCodecFamily,\n\teditor: { buildChildChanges: () => fail(0xb0d /* Child changes not supported */) },\n\tintoDelta: (change, deltaFromChild: ToDelta): FieldChangeDelta => ({}),\n\trelevantRemovedRoots: (change): Iterable<DeltaDetachedNodeId> => [],\n\tisEmpty: (change: 0) => true,\n\tgetNestedChanges: (change: 0) => [],\n\tcreateEmpty: () => 0,\n\tgetCrossFieldKeys: () => [],\n};\n\n/**\n * {@link FieldEditor} for required fields (always contain exactly 1 child).\n * @remarks\n * This shares code with optional fields, since they are the same edit wise except setting to empty is not allowed,\n * and the content is always assumed to not be empty.\n * This means the actual edits implemented for optional fields are sufficient to support required fields\n * which is why this is defined and implemented in terms of optional fields.\n */\nexport interface RequiredFieldEditor extends FieldEditor<OptionalChangeset> {\n\t/**\n\t * Creates a change which replaces the current value of the field with `newValue`.\n\t * @param ids - The ids for the fill and detach fields.\n\t */\n\tset(ids: { fill: ChangeAtomId; detach: ChangeAtomId }): OptionalChangeset;\n}\n\nconst optionalIdentifier = brandConst(\"Optional\")<FieldKindIdentifier>();\nconst requiredIdentifier = brandConst(\"Value\")<FieldKindIdentifier>();\nconst sequenceIdentifier = brandConst(\"Sequence\")<FieldKindIdentifier>();\nconst identifierFieldIdentifier = brandConst(\"Identifier\")<FieldKindIdentifier>();\n\n/**\n * 0 or 1 items.\n */\nexport const optional = new FlexFieldKind(optionalIdentifier, Multiplicity.Optional, {\n\tchangeHandler: optionalChangeHandler,\n\tallowMonotonicUpgradeFrom: new Set([\n\t\tidentifierFieldIdentifier,\n\t\trequiredIdentifier,\n\t\tforbiddenFieldKindIdentifier,\n\t]),\n});\n\nexport const requiredFieldEditor: RequiredFieldEditor = {\n\t...optionalFieldEditor,\n\tset: (ids: {\n\t\tfill: ChangeAtomId;\n\t\tdetach: ChangeAtomId;\n\t}): OptionalChangeset => optionalFieldEditor.set(false, ids),\n};\n\nexport const requiredFieldChangeHandler: FieldChangeHandler<\n\tOptionalChangeset,\n\tRequiredFieldEditor\n> = {\n\t...optionalChangeHandler,\n\teditor: requiredFieldEditor,\n};\n\n/**\n * Exactly one item.\n */\nexport const required = new FlexFieldKind(requiredIdentifier, Multiplicity.Single, {\n\tchangeHandler: requiredFieldChangeHandler,\n\tallowMonotonicUpgradeFrom: new Set([identifierFieldIdentifier]),\n});\n\n/**\n * 0 or more items.\n */\nexport const sequence = new FlexFieldKind(sequenceIdentifier, Multiplicity.Sequence, {\n\tchangeHandler: sequenceFieldChangeHandler,\n\tallowMonotonicUpgradeFrom: new Set([\n\t\trequired.identifier,\n\t\toptional.identifier,\n\t\tidentifierFieldIdentifier,\n\t\tforbiddenFieldKindIdentifier,\n\t]),\n});\n\n/**\n * Exactly one identifier.\n */\nexport const identifier = new FlexFieldKind(identifierFieldIdentifier, Multiplicity.Single, {\n\tchangeHandler: noChangeHandler,\n\t// By omitting required here,\n\t// this is making a policy choice that a schema upgrade cannot be done from required to identifier.\n\t// Since an identifier can be upgraded into a required field,\n\t// preventing the inverse helps ensure that schema upgrades are monotonic.\n\t// Which direction is allowed is a subjective policy choice.\n\tallowMonotonicUpgradeFrom: new Set([]),\n});\n\n/**\n * Exactly 0 items.\n *\n * Using Forbidden makes what types are listed for allowed in a field irrelevant\n * since the field will never have values in it.\n *\n * Using Forbidden is equivalent to picking a kind that permits empty (like sequence or optional)\n * and having no allowed types (or only never types).\n * Because of this, its possible to express everything constraint wise without Forbidden,\n * but using Forbidden can be more semantically clear than optional with no allowed types.\n *\n * For view schema, this can be useful if you need to:\n * - run a specific out of schema handler when a field is present,\n * but otherwise are ignoring or tolerating (ex: via extra fields) unmentioned fields.\n * - prevent a specific field from being used as an extra field\n * (perhaps for some past of future compatibility reason)\n * - keep a field in a schema for metadata purposes\n * (ex: for improved error messaging, error handling or documentation)\n * that is not used in this specific version of the schema (ex: to document what it was or will be used for).\n *\n * For stored schema, this can be useful if you need to:\n * - have a field which can have its schema updated to Optional or Sequence of any type.\n * - to exclude a field from extra fields\n * - for the schema system to use as a default for fields which aren't declared\n * (ex: when updating a field that did not exist into one that does)\n *\n * See {@link emptyField} for a constant, reusable field using Forbidden.\n */\nexport const forbidden = new FlexFieldKind(\n\tforbiddenFieldKindIdentifier,\n\tMultiplicity.Forbidden,\n\t{\n\t\tchangeHandler: noChangeHandler,\n\t\tallowMonotonicUpgradeFrom: new Set(),\n\t},\n);\n\nexport const fieldKindConfigurations: ReadonlyMap<\n\tModularChangeFormatVersion,\n\tFieldKindConfiguration\n> = new Map([\n\t[\n\t\tbrand(3),\n\t\tnew Map<FieldKindIdentifier, FieldKindConfigurationEntry>([\n\t\t\t[required.identifier, { kind: required, formatVersion: 2 }],\n\t\t\t[optional.identifier, { kind: optional, formatVersion: 2 }],\n\t\t\t[sequence.identifier, { kind: sequence, formatVersion: 2 }],\n\t\t\t[forbidden.identifier, { kind: forbidden, formatVersion: 1 }],\n\t\t\t[identifier.identifier, { kind: identifier, formatVersion: 1 }],\n\t\t]),\n\t],\n\t[\n\t\tbrand(4),\n\t\tnew Map<FieldKindIdentifier, FieldKindConfigurationEntry>([\n\t\t\t[required.identifier, { kind: required, formatVersion: 2 }],\n\t\t\t[optional.identifier, { kind: optional, formatVersion: 2 }],\n\t\t\t[sequence.identifier, { kind: sequence, formatVersion: 3 }],\n\t\t\t[forbidden.identifier, { kind: forbidden, formatVersion: 1 }],\n\t\t\t[identifier.identifier, { kind: identifier, formatVersion: 1 }],\n\t\t]),\n\t],\n\t[\n\t\tbrand(5),\n\t\tnew Map<FieldKindIdentifier, FieldKindConfigurationEntry>([\n\t\t\t[required.identifier, { kind: required, formatVersion: 2 }],\n\t\t\t[optional.identifier, { kind: optional, formatVersion: 2 }],\n\t\t\t[sequence.identifier, { kind: sequence, formatVersion: 3 }],\n\t\t\t[forbidden.identifier, { kind: forbidden, formatVersion: 1 }],\n\t\t\t[identifier.identifier, { kind: identifier, formatVersion: 1 }],\n\t\t]),\n\t],\n]);\n\nexport type ModularChangeFormatVersion = Brand<3 | 4 | 5, \"ModularChangeFormatVersion\">;\nexport function getCodecTreeForModularChangeFormat(\n\tversion: ModularChangeFormatVersion,\n): CodecTree {\n\tconst dependencies =\n\t\tfieldKindConfigurations.get(version) ?? fail(0xc7c /* Unknown modular change format */);\n\tconst children: CodecTree[] = [...dependencies.entries()].map(\n\t\t([key, { formatVersion }]) => ({\n\t\t\tname: `FieldKind:${key}`,\n\t\t\tversion: formatVersion,\n\t\t}),\n\t);\n\treturn {\n\t\tname: \"ModularChange\",\n\t\tversion,\n\t\tchildren,\n\t};\n}\n\n/**\n * All supported field kinds.\n *\n * @privateRemarks\n * Before making a SharedTree format change which impacts which set of field kinds are allowed,\n * code which uses this should be audited for compatibility considerations.\n */\nexport const fieldKinds: ReadonlyMap<FieldKindIdentifier, FlexFieldKind> = new Map(\n\t[required, optional, sequence, identifier, forbidden].map((s) => [s.identifier, s]),\n);\n\n// Create named Aliases for nicer intellisense.\n\n// TODO: Find a way to make docs like {@inheritDoc required} work in vscode.\n// TODO: ensure thy work in generated docs.\n// TODO: add these comments to the rest of the cases below.\nexport interface Required\n\textends FlexFieldKind<RequiredFieldEditor, typeof requiredIdentifier, Multiplicity.Single> {}\nexport interface Optional\n\textends FlexFieldKind<\n\t\tOptionalFieldEditor,\n\t\ttypeof optionalIdentifier,\n\t\tMultiplicity.Optional\n\t> {}\nexport interface Sequence\n\textends FlexFieldKind<\n\t\tSequenceFieldEditor,\n\t\ttypeof sequenceIdentifier,\n\t\tMultiplicity.Sequence\n\t> {}\nexport interface Identifier\n\textends FlexFieldKind<\n\t\tFieldEditor<0>,\n\t\ttypeof identifierFieldIdentifier,\n\t\tMultiplicity.Single\n\t> {}\nexport interface Forbidden\n\textends FlexFieldKind<\n\t\tFieldEditor<0>,\n\t\ttypeof forbiddenFieldKindIdentifier,\n\t\tMultiplicity.Forbidden\n\t> {}\n\n/**\n * Default FieldKinds with their editor types erased.\n */\nexport const FieldKinds: {\n\t// TODO: inheritDoc for these somehow\n\treadonly required: Required;\n\treadonly optional: Optional;\n\treadonly sequence: Sequence;\n\treadonly identifier: Identifier;\n\treadonly forbidden: Forbidden;\n} = { required, optional, sequence, identifier, forbidden };\n\n/**\n * FullSchemaPolicy with the default field kinds.\n */\nexport const defaultSchemaPolicy: FullSchemaPolicy = {\n\tfieldKinds,\n};\n"]}
@@ -3,7 +3,6 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
  export { FieldKinds, type Required, type Optional, type Sequence, type Identifier, type Forbidden, fieldKinds, fieldKindConfigurations, getCodecTreeForModularChangeFormat, type ModularChangeFormatVersion, defaultSchemaPolicy, } from "./defaultFieldKinds.js";
6
- export { type DefaultChangeset, type DetachedRootIds, type DetachedRootIdRange, DefaultChangeFamily, type IdBasedChangeFamilyDataEditor, DefaultIdBasedDataEditor, type DataEditor, type RequiredFieldEditor, type OptionalFieldEditor, type SequenceFieldEditor, intoDelta, getBuildsIds, relevantRemovedRoots, } from "./defaultEditBuilder.js";
7
- export { type DetachedRootLocation, type DetachedRootsLocation, type Locator, LocationBasedDataEditor, type ILocationBasedDataEditor, } from "./locationBasedEditBuilder.js";
6
+ export { type DefaultChangeset, DefaultChangeFamily, DefaultEditBuilder, type IDefaultEditBuilder, type ValueFieldEditBuilder, type OptionalFieldEditBuilder, type SequenceFieldEditBuilder, intoDelta, relevantRemovedRoots, } from "./defaultEditBuilder.js";
8
7
  export { MappedEditBuilder } from "./mappedEditBuilder.js";
9
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/feature-libraries/default-schema/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACN,UAAU,EACV,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,SAAS,EACd,UAAU,EACV,uBAAuB,EACvB,kCAAkC,EAClC,KAAK,0BAA0B,EAC/B,mBAAmB,GACnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACN,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,mBAAmB,EACnB,KAAK,6BAA6B,EAClC,wBAAwB,EACxB,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,SAAS,EACT,YAAY,EACZ,oBAAoB,GACpB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACN,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,OAAO,EACZ,uBAAuB,EACvB,KAAK,wBAAwB,GAC7B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/feature-libraries/default-schema/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACN,UAAU,EACV,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,SAAS,EACd,UAAU,EACV,uBAAuB,EACvB,kCAAkC,EAClC,KAAK,0BAA0B,EAC/B,mBAAmB,GACnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACN,KAAK,gBAAgB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,SAAS,EACT,oBAAoB,GACpB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * Licensed under the MIT License.
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.MappedEditBuilder = exports.LocationBasedDataEditor = exports.relevantRemovedRoots = exports.getBuildsIds = exports.intoDelta = exports.DefaultIdBasedDataEditor = exports.DefaultChangeFamily = exports.defaultSchemaPolicy = exports.getCodecTreeForModularChangeFormat = exports.fieldKindConfigurations = exports.fieldKinds = exports.FieldKinds = void 0;
7
+ exports.MappedEditBuilder = exports.relevantRemovedRoots = exports.intoDelta = exports.DefaultEditBuilder = exports.DefaultChangeFamily = exports.defaultSchemaPolicy = exports.getCodecTreeForModularChangeFormat = exports.fieldKindConfigurations = exports.fieldKinds = exports.FieldKinds = void 0;
8
8
  var defaultFieldKinds_js_1 = require("./defaultFieldKinds.js");
9
9
  Object.defineProperty(exports, "FieldKinds", { enumerable: true, get: function () { return defaultFieldKinds_js_1.FieldKinds; } });
10
10
  Object.defineProperty(exports, "fieldKinds", { enumerable: true, get: function () { return defaultFieldKinds_js_1.fieldKinds; } });
@@ -13,12 +13,9 @@ Object.defineProperty(exports, "getCodecTreeForModularChangeFormat", { enumerabl
13
13
  Object.defineProperty(exports, "defaultSchemaPolicy", { enumerable: true, get: function () { return defaultFieldKinds_js_1.defaultSchemaPolicy; } });
14
14
  var defaultEditBuilder_js_1 = require("./defaultEditBuilder.js");
15
15
  Object.defineProperty(exports, "DefaultChangeFamily", { enumerable: true, get: function () { return defaultEditBuilder_js_1.DefaultChangeFamily; } });
16
- Object.defineProperty(exports, "DefaultIdBasedDataEditor", { enumerable: true, get: function () { return defaultEditBuilder_js_1.DefaultIdBasedDataEditor; } });
16
+ Object.defineProperty(exports, "DefaultEditBuilder", { enumerable: true, get: function () { return defaultEditBuilder_js_1.DefaultEditBuilder; } });
17
17
  Object.defineProperty(exports, "intoDelta", { enumerable: true, get: function () { return defaultEditBuilder_js_1.intoDelta; } });
18
- Object.defineProperty(exports, "getBuildsIds", { enumerable: true, get: function () { return defaultEditBuilder_js_1.getBuildsIds; } });
19
18
  Object.defineProperty(exports, "relevantRemovedRoots", { enumerable: true, get: function () { return defaultEditBuilder_js_1.relevantRemovedRoots; } });
20
- var locationBasedEditBuilder_js_1 = require("./locationBasedEditBuilder.js");
21
- Object.defineProperty(exports, "LocationBasedDataEditor", { enumerable: true, get: function () { return locationBasedEditBuilder_js_1.LocationBasedDataEditor; } });
22
19
  var mappedEditBuilder_js_1 = require("./mappedEditBuilder.js");
23
20
  Object.defineProperty(exports, "MappedEditBuilder", { enumerable: true, get: function () { return mappedEditBuilder_js_1.MappedEditBuilder; } });
24
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/feature-libraries/default-schema/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,+DAYgC;AAX/B,kHAAA,UAAU,OAAA;AAMV,kHAAA,UAAU,OAAA;AACV,+HAAA,uBAAuB,OAAA;AACvB,0IAAA,kCAAkC,OAAA;AAElC,2HAAA,mBAAmB,OAAA;AAGpB,iEAciC;AAVhC,4HAAA,mBAAmB,OAAA;AAEnB,iIAAA,wBAAwB,OAAA;AAKxB,kHAAA,SAAS,OAAA;AACT,qHAAA,YAAY,OAAA;AACZ,6HAAA,oBAAoB,OAAA;AAGrB,6EAMuC;AAFtC,sIAAA,uBAAuB,OAAA;AAIxB,+DAA2D;AAAlD,yHAAA,iBAAiB,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport {\n\tFieldKinds,\n\ttype Required,\n\ttype Optional,\n\ttype Sequence,\n\ttype Identifier,\n\ttype Forbidden,\n\tfieldKinds,\n\tfieldKindConfigurations,\n\tgetCodecTreeForModularChangeFormat,\n\ttype ModularChangeFormatVersion,\n\tdefaultSchemaPolicy,\n} from \"./defaultFieldKinds.js\";\n\nexport {\n\ttype DefaultChangeset,\n\ttype DetachedRootIds,\n\ttype DetachedRootIdRange,\n\tDefaultChangeFamily,\n\ttype IdBasedChangeFamilyDataEditor,\n\tDefaultIdBasedDataEditor,\n\ttype DataEditor,\n\ttype RequiredFieldEditor,\n\ttype OptionalFieldEditor,\n\ttype SequenceFieldEditor,\n\tintoDelta,\n\tgetBuildsIds,\n\trelevantRemovedRoots,\n} from \"./defaultEditBuilder.js\";\n\nexport {\n\ttype DetachedRootLocation,\n\ttype DetachedRootsLocation,\n\ttype Locator,\n\tLocationBasedDataEditor,\n\ttype ILocationBasedDataEditor,\n} from \"./locationBasedEditBuilder.js\";\n\nexport { MappedEditBuilder } from \"./mappedEditBuilder.js\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/feature-libraries/default-schema/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,+DAYgC;AAX/B,kHAAA,UAAU,OAAA;AAMV,kHAAA,UAAU,OAAA;AACV,+HAAA,uBAAuB,OAAA;AACvB,0IAAA,kCAAkC,OAAA;AAElC,2HAAA,mBAAmB,OAAA;AAGpB,iEAUiC;AARhC,4HAAA,mBAAmB,OAAA;AACnB,2HAAA,kBAAkB,OAAA;AAKlB,kHAAA,SAAS,OAAA;AACT,6HAAA,oBAAoB,OAAA;AAGrB,+DAA2D;AAAlD,yHAAA,iBAAiB,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport {\n\tFieldKinds,\n\ttype Required,\n\ttype Optional,\n\ttype Sequence,\n\ttype Identifier,\n\ttype Forbidden,\n\tfieldKinds,\n\tfieldKindConfigurations,\n\tgetCodecTreeForModularChangeFormat,\n\ttype ModularChangeFormatVersion,\n\tdefaultSchemaPolicy,\n} from \"./defaultFieldKinds.js\";\n\nexport {\n\ttype DefaultChangeset,\n\tDefaultChangeFamily,\n\tDefaultEditBuilder,\n\ttype IDefaultEditBuilder,\n\ttype ValueFieldEditBuilder,\n\ttype OptionalFieldEditBuilder,\n\ttype SequenceFieldEditBuilder,\n\tintoDelta,\n\trelevantRemovedRoots,\n} from \"./defaultEditBuilder.js\";\n\nexport { MappedEditBuilder } from \"./mappedEditBuilder.js\";\n"]}
@@ -3,20 +3,21 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
  import type { NormalizedFieldUpPath, NormalizedUpPath } from "../../core/index.js";
6
- import type { DataEditor, OptionalFieldEditor, SequenceFieldEditor, RequiredFieldEditor } from "./defaultEditBuilder.js";
6
+ import type { IDefaultEditBuilder, OptionalFieldEditBuilder, SequenceFieldEditBuilder, ValueFieldEditBuilder } from "./defaultEditBuilder.js";
7
7
  /**
8
8
  * An IDefaultEditBuilder implementation based on another IDefaultEditBuilder that uses a different content type for insertions.
9
9
  */
10
- export declare class MappedEditBuilder<TBase, TAdapted, TDetachedRoot, TDetachedRoots> implements DataEditor<TAdapted, TDetachedRoot, TDetachedRoots> {
10
+ export declare class MappedEditBuilder<TBase, TAdapted> implements IDefaultEditBuilder<TAdapted> {
11
11
  private readonly baseBuilder;
12
12
  private readonly mapDelegate;
13
- constructor(baseBuilder: DataEditor<TBase, TDetachedRoot, TDetachedRoots>, mapDelegate: (input: TAdapted) => TBase);
14
- buildRoots(content: TAdapted): TDetachedRoots;
15
- valueField(field: NormalizedFieldUpPath): RequiredFieldEditor<TAdapted, TDetachedRoot>;
16
- optionalField(field: NormalizedFieldUpPath): OptionalFieldEditor<TAdapted, TDetachedRoot>;
17
- sequenceField(field: NormalizedFieldUpPath): SequenceFieldEditor<TAdapted, TDetachedRoots>;
13
+ constructor(baseBuilder: IDefaultEditBuilder<TBase>, mapDelegate: (input: TAdapted) => TBase);
14
+ valueField(field: NormalizedFieldUpPath): ValueFieldEditBuilder<TAdapted>;
15
+ optionalField(field: NormalizedFieldUpPath): OptionalFieldEditBuilder<TAdapted>;
16
+ sequenceField(field: NormalizedFieldUpPath): SequenceFieldEditBuilder<TAdapted>;
18
17
  move(sourceField: NormalizedFieldUpPath, sourceIndex: number, count: number, destinationField: NormalizedFieldUpPath, destinationIndex: number): void;
19
18
  addNodeExistsConstraint(path: NormalizedUpPath): void;
20
19
  addNodeExistsConstraintOnRevert(path: NormalizedUpPath): void;
20
+ addNoChangeConstraint(): void;
21
+ addNoChangeConstraintOnRevert(): void;
21
22
  }
22
23
  //# sourceMappingURL=mappedEditBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mappedEditBuilder.d.ts","sourceRoot":"","sources":["../../../src/feature-libraries/default-schema/mappedEditBuilder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEnF,OAAO,KAAK,EACX,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,MAAM,yBAAyB,CAAC;AAEjC;;GAEG;AACH,qBAAa,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,CAC5E,YAAW,UAAU,CAAC,QAAQ,EAAE,aAAa,EAAE,cAAc,CAAC;IAG7D,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,WAAW;gBADX,WAAW,EAAE,UAAU,CAAC,KAAK,EAAE,aAAa,EAAE,cAAc,CAAC,EAC7D,WAAW,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,KAAK;IAGlD,UAAU,CAAC,OAAO,EAAE,QAAQ,GAAG,cAAc;IAI7C,UAAU,CAChB,KAAK,EAAE,qBAAqB,GAC1B,mBAAmB,CAAC,QAAQ,EAAE,aAAa,CAAC;IAaxC,aAAa,CACnB,KAAK,EAAE,qBAAqB,GAC1B,mBAAmB,CAAC,QAAQ,EAAE,aAAa,CAAC;IAgBxC,aAAa,CACnB,KAAK,EAAE,qBAAqB,GAC1B,mBAAmB,CAAC,QAAQ,EAAE,cAAc,CAAC;IAezC,IAAI,CACV,WAAW,EAAE,qBAAqB,EAClC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,qBAAqB,EACvC,gBAAgB,EAAE,MAAM,GACtB,IAAI;IAGA,uBAAuB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAGrD,+BAA+B,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;CAGpE"}
1
+ {"version":3,"file":"mappedEditBuilder.d.ts","sourceRoot":"","sources":["../../../src/feature-libraries/default-schema/mappedEditBuilder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEnF,OAAO,KAAK,EACX,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,EACrB,MAAM,yBAAyB,CAAC;AAEjC;;GAEG;AACH,qBAAa,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAE,YAAW,mBAAmB,CAAC,QAAQ,CAAC;IAEtF,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,WAAW;gBADX,WAAW,EAAE,mBAAmB,CAAC,KAAK,CAAC,EACvC,WAAW,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,KAAK;IAElD,UAAU,CAAC,KAAK,EAAE,qBAAqB,GAAG,qBAAqB,CAAC,QAAQ,CAAC;IASzE,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,wBAAwB,CAAC,QAAQ,CAAC;IAU/E,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,wBAAwB,CAAC,QAAQ,CAAC;IAY/E,IAAI,CACV,WAAW,EAAE,qBAAqB,EAClC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,qBAAqB,EACvC,gBAAgB,EAAE,MAAM,GACtB,IAAI;IAGA,uBAAuB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAGrD,+BAA+B,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAG7D,qBAAqB,IAAI,IAAI;IAG7B,6BAA6B,IAAI,IAAI;CAG5C"}
@@ -13,9 +13,6 @@ class MappedEditBuilder {
13
13
  this.baseBuilder = baseBuilder;
14
14
  this.mapDelegate = mapDelegate;
15
15
  }
16
- buildRoots(content) {
17
- return this.baseBuilder.buildRoots(this.mapDelegate(content));
18
- }
19
16
  valueField(field) {
20
17
  const baseField = this.baseBuilder.valueField(field);
21
18
  return {
@@ -23,9 +20,6 @@ class MappedEditBuilder {
23
20
  const mappedContent = this.mapDelegate(newContent);
24
21
  baseField.set(mappedContent);
25
22
  },
26
- attach: (content) => {
27
- baseField.attach(content);
28
- },
29
23
  };
30
24
  }
31
25
  optionalField(field) {
@@ -35,12 +29,6 @@ class MappedEditBuilder {
35
29
  const mappedContent = newContent === undefined ? undefined : this.mapDelegate(newContent);
36
30
  baseField.set(mappedContent, wasEmpty);
37
31
  },
38
- attach: (content, wasEmpty) => {
39
- baseField.attach(content, wasEmpty);
40
- },
41
- clear(wasEmpty) {
42
- baseField.clear(wasEmpty);
43
- },
44
32
  };
45
33
  }
46
34
  sequenceField(field) {
@@ -53,9 +41,6 @@ class MappedEditBuilder {
53
41
  remove: (index, count) => {
54
42
  baseField.remove(index, count);
55
43
  },
56
- attach: (index, detachedContent) => {
57
- baseField.attach(index, detachedContent);
58
- },
59
44
  };
60
45
  }
61
46
  move(sourceField, sourceIndex, count, destinationField, destinationIndex) {
@@ -67,6 +52,12 @@ class MappedEditBuilder {
67
52
  addNodeExistsConstraintOnRevert(path) {
68
53
  this.baseBuilder.addNodeExistsConstraintOnRevert(path);
69
54
  }
55
+ addNoChangeConstraint() {
56
+ this.baseBuilder.addNoChangeConstraint();
57
+ }
58
+ addNoChangeConstraintOnRevert() {
59
+ this.baseBuilder.addNoChangeConstraintOnRevert();
60
+ }
70
61
  }
71
62
  exports.MappedEditBuilder = MappedEditBuilder;
72
63
  //# sourceMappingURL=mappedEditBuilder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mappedEditBuilder.js","sourceRoot":"","sources":["../../../src/feature-libraries/default-schema/mappedEditBuilder.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAWH;;GAEG;AACH,MAAa,iBAAiB;IAG7B,YACkB,WAA6D,EAC7D,WAAuC;QADvC,gBAAW,GAAX,WAAW,CAAkD;QAC7D,gBAAW,GAAX,WAAW,CAA4B;IACtD,CAAC;IAEG,UAAU,CAAC,OAAiB;QAClC,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,CAAC;IAEM,UAAU,CAChB,KAA4B;QAE5B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACrD,OAAO;YACN,GAAG,EAAE,CAAC,UAAoB,EAAQ,EAAE;gBACnC,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBACnD,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC9B,CAAC;YACD,MAAM,EAAE,CAAC,OAAsB,EAAQ,EAAE;gBACxC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;SACD,CAAC;IACH,CAAC;IAEM,aAAa,CACnB,KAA4B;QAE5B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACxD,OAAO;YACN,GAAG,EAAE,CAAC,UAAgC,EAAE,QAAiB,EAAQ,EAAE;gBAClE,MAAM,aAAa,GAClB,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBACrE,SAAS,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YACxC,CAAC;YACD,MAAM,EAAE,CAAC,OAAO,EAAE,QAAiB,EAAQ,EAAE;gBAC5C,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACrC,CAAC;YACD,KAAK,CAAC,QAAiB;gBACtB,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC3B,CAAC;SACD,CAAC;IACH,CAAC;IACM,aAAa,CACnB,KAA4B;QAE5B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACxD,OAAO;YACN,MAAM,EAAE,CAAC,KAAa,EAAE,OAAiB,EAAQ,EAAE;gBAClD,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAChD,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YACxC,CAAC;YACD,MAAM,EAAE,CAAC,KAAa,EAAE,KAAa,EAAQ,EAAE;gBAC9C,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAChC,CAAC;YACD,MAAM,EAAE,CAAC,KAAa,EAAE,eAA+B,EAAQ,EAAE;gBAChE,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;YAC1C,CAAC;SACD,CAAC;IACH,CAAC;IACM,IAAI,CACV,WAAkC,EAClC,WAAmB,EACnB,KAAa,EACb,gBAAuC,EACvC,gBAAwB;QAExB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IAC5F,CAAC;IACM,uBAAuB,CAAC,IAAsB;QACpD,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IACM,+BAA+B,CAAC,IAAsB;QAC5D,IAAI,CAAC,WAAW,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;CACD;AA7ED,8CA6EC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { NormalizedFieldUpPath, NormalizedUpPath } from \"../../core/index.js\";\n\nimport type {\n\tDataEditor,\n\tOptionalFieldEditor,\n\tSequenceFieldEditor,\n\tRequiredFieldEditor,\n} from \"./defaultEditBuilder.js\";\n\n/**\n * An IDefaultEditBuilder implementation based on another IDefaultEditBuilder that uses a different content type for insertions.\n */\nexport class MappedEditBuilder<TBase, TAdapted, TDetachedRoot, TDetachedRoots>\n\timplements DataEditor<TAdapted, TDetachedRoot, TDetachedRoots>\n{\n\tpublic constructor(\n\t\tprivate readonly baseBuilder: DataEditor<TBase, TDetachedRoot, TDetachedRoots>,\n\t\tprivate readonly mapDelegate: (input: TAdapted) => TBase,\n\t) {}\n\n\tpublic buildRoots(content: TAdapted): TDetachedRoots {\n\t\treturn this.baseBuilder.buildRoots(this.mapDelegate(content));\n\t}\n\n\tpublic valueField(\n\t\tfield: NormalizedFieldUpPath,\n\t): RequiredFieldEditor<TAdapted, TDetachedRoot> {\n\t\tconst baseField = this.baseBuilder.valueField(field);\n\t\treturn {\n\t\t\tset: (newContent: TAdapted): void => {\n\t\t\t\tconst mappedContent = this.mapDelegate(newContent);\n\t\t\t\tbaseField.set(mappedContent);\n\t\t\t},\n\t\t\tattach: (content: TDetachedRoot): void => {\n\t\t\t\tbaseField.attach(content);\n\t\t\t},\n\t\t};\n\t}\n\n\tpublic optionalField(\n\t\tfield: NormalizedFieldUpPath,\n\t): OptionalFieldEditor<TAdapted, TDetachedRoot> {\n\t\tconst baseField = this.baseBuilder.optionalField(field);\n\t\treturn {\n\t\t\tset: (newContent: TAdapted | undefined, wasEmpty: boolean): void => {\n\t\t\t\tconst mappedContent =\n\t\t\t\t\tnewContent === undefined ? undefined : this.mapDelegate(newContent);\n\t\t\t\tbaseField.set(mappedContent, wasEmpty);\n\t\t\t},\n\t\t\tattach: (content, wasEmpty: boolean): void => {\n\t\t\t\tbaseField.attach(content, wasEmpty);\n\t\t\t},\n\t\t\tclear(wasEmpty: boolean): void {\n\t\t\t\tbaseField.clear(wasEmpty);\n\t\t\t},\n\t\t};\n\t}\n\tpublic sequenceField(\n\t\tfield: NormalizedFieldUpPath,\n\t): SequenceFieldEditor<TAdapted, TDetachedRoots> {\n\t\tconst baseField = this.baseBuilder.sequenceField(field);\n\t\treturn {\n\t\t\tinsert: (index: number, content: TAdapted): void => {\n\t\t\t\tconst mappedContent = this.mapDelegate(content);\n\t\t\t\tbaseField.insert(index, mappedContent);\n\t\t\t},\n\t\t\tremove: (index: number, count: number): void => {\n\t\t\t\tbaseField.remove(index, count);\n\t\t\t},\n\t\t\tattach: (index: number, detachedContent: TDetachedRoots): void => {\n\t\t\t\tbaseField.attach(index, detachedContent);\n\t\t\t},\n\t\t};\n\t}\n\tpublic move(\n\t\tsourceField: NormalizedFieldUpPath,\n\t\tsourceIndex: number,\n\t\tcount: number,\n\t\tdestinationField: NormalizedFieldUpPath,\n\t\tdestinationIndex: number,\n\t): void {\n\t\tthis.baseBuilder.move(sourceField, sourceIndex, count, destinationField, destinationIndex);\n\t}\n\tpublic addNodeExistsConstraint(path: NormalizedUpPath): void {\n\t\tthis.baseBuilder.addNodeExistsConstraint(path);\n\t}\n\tpublic addNodeExistsConstraintOnRevert(path: NormalizedUpPath): void {\n\t\tthis.baseBuilder.addNodeExistsConstraintOnRevert(path);\n\t}\n}\n"]}
1
+ {"version":3,"file":"mappedEditBuilder.js","sourceRoot":"","sources":["../../../src/feature-libraries/default-schema/mappedEditBuilder.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAWH;;GAEG;AACH,MAAa,iBAAiB;IAC7B,YACkB,WAAuC,EACvC,WAAuC;QADvC,gBAAW,GAAX,WAAW,CAA4B;QACvC,gBAAW,GAAX,WAAW,CAA4B;IACtD,CAAC;IACG,UAAU,CAAC,KAA4B;QAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACrD,OAAO;YACN,GAAG,EAAE,CAAC,UAAoB,EAAQ,EAAE;gBACnC,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBACnD,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC9B,CAAC;SACD,CAAC;IACH,CAAC;IACM,aAAa,CAAC,KAA4B;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACxD,OAAO;YACN,GAAG,EAAE,CAAC,UAAgC,EAAE,QAAiB,EAAQ,EAAE;gBAClE,MAAM,aAAa,GAClB,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBACrE,SAAS,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YACxC,CAAC;SACD,CAAC;IACH,CAAC;IACM,aAAa,CAAC,KAA4B;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACxD,OAAO;YACN,MAAM,EAAE,CAAC,KAAa,EAAE,OAAiB,EAAQ,EAAE;gBAClD,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAChD,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YACxC,CAAC;YACD,MAAM,EAAE,CAAC,KAAa,EAAE,KAAa,EAAQ,EAAE;gBAC9C,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAChC,CAAC;SACD,CAAC;IACH,CAAC;IACM,IAAI,CACV,WAAkC,EAClC,WAAmB,EACnB,KAAa,EACb,gBAAuC,EACvC,gBAAwB;QAExB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IAC5F,CAAC;IACM,uBAAuB,CAAC,IAAsB;QACpD,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IACM,+BAA+B,CAAC,IAAsB;QAC5D,IAAI,CAAC,WAAW,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IACM,qBAAqB;QAC3B,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,CAAC;IAC1C,CAAC;IACM,6BAA6B;QACnC,IAAI,CAAC,WAAW,CAAC,6BAA6B,EAAE,CAAC;IAClD,CAAC;CACD;AAzDD,8CAyDC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { NormalizedFieldUpPath, NormalizedUpPath } from \"../../core/index.js\";\n\nimport type {\n\tIDefaultEditBuilder,\n\tOptionalFieldEditBuilder,\n\tSequenceFieldEditBuilder,\n\tValueFieldEditBuilder,\n} from \"./defaultEditBuilder.js\";\n\n/**\n * An IDefaultEditBuilder implementation based on another IDefaultEditBuilder that uses a different content type for insertions.\n */\nexport class MappedEditBuilder<TBase, TAdapted> implements IDefaultEditBuilder<TAdapted> {\n\tpublic constructor(\n\t\tprivate readonly baseBuilder: IDefaultEditBuilder<TBase>,\n\t\tprivate readonly mapDelegate: (input: TAdapted) => TBase,\n\t) {}\n\tpublic valueField(field: NormalizedFieldUpPath): ValueFieldEditBuilder<TAdapted> {\n\t\tconst baseField = this.baseBuilder.valueField(field);\n\t\treturn {\n\t\t\tset: (newContent: TAdapted): void => {\n\t\t\t\tconst mappedContent = this.mapDelegate(newContent);\n\t\t\t\tbaseField.set(mappedContent);\n\t\t\t},\n\t\t};\n\t}\n\tpublic optionalField(field: NormalizedFieldUpPath): OptionalFieldEditBuilder<TAdapted> {\n\t\tconst baseField = this.baseBuilder.optionalField(field);\n\t\treturn {\n\t\t\tset: (newContent: TAdapted | undefined, wasEmpty: boolean): void => {\n\t\t\t\tconst mappedContent =\n\t\t\t\t\tnewContent === undefined ? undefined : this.mapDelegate(newContent);\n\t\t\t\tbaseField.set(mappedContent, wasEmpty);\n\t\t\t},\n\t\t};\n\t}\n\tpublic sequenceField(field: NormalizedFieldUpPath): SequenceFieldEditBuilder<TAdapted> {\n\t\tconst baseField = this.baseBuilder.sequenceField(field);\n\t\treturn {\n\t\t\tinsert: (index: number, content: TAdapted): void => {\n\t\t\t\tconst mappedContent = this.mapDelegate(content);\n\t\t\t\tbaseField.insert(index, mappedContent);\n\t\t\t},\n\t\t\tremove: (index: number, count: number): void => {\n\t\t\t\tbaseField.remove(index, count);\n\t\t\t},\n\t\t};\n\t}\n\tpublic move(\n\t\tsourceField: NormalizedFieldUpPath,\n\t\tsourceIndex: number,\n\t\tcount: number,\n\t\tdestinationField: NormalizedFieldUpPath,\n\t\tdestinationIndex: number,\n\t): void {\n\t\tthis.baseBuilder.move(sourceField, sourceIndex, count, destinationField, destinationIndex);\n\t}\n\tpublic addNodeExistsConstraint(path: NormalizedUpPath): void {\n\t\tthis.baseBuilder.addNodeExistsConstraint(path);\n\t}\n\tpublic addNodeExistsConstraintOnRevert(path: NormalizedUpPath): void {\n\t\tthis.baseBuilder.addNodeExistsConstraintOnRevert(path);\n\t}\n\tpublic addNoChangeConstraint(): void {\n\t\tthis.baseBuilder.addNoChangeConstraint();\n\t}\n\tpublic addNoChangeConstraintOnRevert(): void {\n\t\tthis.baseBuilder.addNoChangeConstraintOnRevert();\n\t}\n}\n"]}
@@ -4,7 +4,6 @@
4
4
  */
5
5
  import { type ChangeAtomId, type DeltaDetachedNodeId, type DeltaRoot } from "../core/index.js";
6
6
  export declare function nodeIdFromChangeAtom(changeAtom: ChangeAtomId): DeltaDetachedNodeId;
7
- export declare function changeAtomFromDetachedNodeId(changeAtom: DeltaDetachedNodeId): ChangeAtomId;
8
7
  /**
9
8
  * Converts a `Delta.Root` whose tree content is represented with by `TIn` instances
10
9
  * into a `Delta.Root`whose tree content is represented with by `TOut` instances.
@@ -1 +1 @@
1
- {"version":3,"file":"deltaUtils.d.ts","sourceRoot":"","sources":["../../src/feature-libraries/deltaUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,SAAS,EAGd,MAAM,kBAAkB,CAAC;AAG1B,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,YAAY,GAAG,mBAAmB,CAElF;AAED,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,mBAAmB,GAAG,YAAY,CAE1F;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,IAAI,EACvC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EACpB,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GACvB,SAAS,CAAC,IAAI,CAAC,CAyBjB"}
1
+ {"version":3,"file":"deltaUtils.d.ts","sourceRoot":"","sources":["../../src/feature-libraries/deltaUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,SAAS,EAEd,MAAM,kBAAkB,CAAC;AAG1B,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,YAAY,GAAG,mBAAmB,CAElF;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,IAAI,EACvC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EACpB,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GACvB,SAAS,CAAC,IAAI,CAAC,CAyBjB"}
@@ -4,17 +4,12 @@
4
4
  * Licensed under the MIT License.
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.mapRootChanges = exports.changeAtomFromDetachedNodeId = exports.nodeIdFromChangeAtom = void 0;
7
+ exports.mapRootChanges = exports.nodeIdFromChangeAtom = void 0;
8
8
  const index_js_1 = require("../core/index.js");
9
- const index_js_2 = require("../util/index.js");
10
9
  function nodeIdFromChangeAtom(changeAtom) {
11
10
  return (0, index_js_1.makeDetachedNodeId)(changeAtom.revision, changeAtom.localId);
12
11
  }
13
12
  exports.nodeIdFromChangeAtom = nodeIdFromChangeAtom;
14
- function changeAtomFromDetachedNodeId(changeAtom) {
15
- return (0, index_js_1.makeChangeAtomId)((0, index_js_2.brand)(changeAtom.minor), changeAtom.major);
16
- }
17
- exports.changeAtomFromDetachedNodeId = changeAtomFromDetachedNodeId;
18
13
  /**
19
14
  * Converts a `Delta.Root` whose tree content is represented with by `TIn` instances
20
15
  * into a `Delta.Root`whose tree content is represented with by `TOut` instances.
@@ -1 +1 @@
1
- {"version":3,"file":"deltaUtils.js","sourceRoot":"","sources":["../../src/feature-libraries/deltaUtils.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,+CAM0B;AAC1B,+CAAuD;AAEvD,SAAgB,oBAAoB,CAAC,UAAwB;IAC5D,OAAO,IAAA,6BAAkB,EAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;AACpE,CAAC;AAFD,oDAEC;AAED,SAAgB,4BAA4B,CAAC,UAA+B;IAC3E,OAAO,IAAA,2BAAgB,EAAC,IAAA,gBAAK,EAAC,UAAU,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC;AAFD,oEAEC;AAED;;;;;;;;;GASG;AACH,SAAgB,cAAc,CAC7B,IAAoB,EACpB,IAAyB;IAEzB,MAAM,GAAG,GAA6B,EAAE,CAAC;IACzC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC1B,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9B,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;YAC9C,EAAE;YACF,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC;SAClB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;YACjD,EAAE;YACF,MAAM;SACN,CAAC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1D,KAAK;YACL,KAAK;YACL,KAAK;SACL,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AA5BD,wCA4BC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n\ttype ChangeAtomId,\n\ttype DeltaDetachedNodeId,\n\ttype DeltaRoot,\n\tmakeChangeAtomId,\n\tmakeDetachedNodeId,\n} from \"../core/index.js\";\nimport { brand, type Mutable } from \"../util/index.js\";\n\nexport function nodeIdFromChangeAtom(changeAtom: ChangeAtomId): DeltaDetachedNodeId {\n\treturn makeDetachedNodeId(changeAtom.revision, changeAtom.localId);\n}\n\nexport function changeAtomFromDetachedNodeId(changeAtom: DeltaDetachedNodeId): ChangeAtomId {\n\treturn makeChangeAtomId(brand(changeAtom.minor), changeAtom.major);\n}\n\n/**\n * Converts a `Delta.Root` whose tree content is represented with by `TIn` instances\n * into a `Delta.Root`whose tree content is represented with by `TOut` instances.\n *\n * This function is useful for converting `Delta`s that represent tree content with cursors\n * into `Delta`s that represent tree content with a deep-comparable representation of the content.\n * See {@link assertDeltaEqual}.\n * @param root - The delta to convert. Not mutated.\n * @param func - The functions used to map tree content.\n */\nexport function mapRootChanges<TIn, TOut>(\n\troot: DeltaRoot<TIn>,\n\tfunc: (tree: TIn) => TOut,\n): DeltaRoot<TOut> {\n\tconst out: Mutable<DeltaRoot<TOut>> = {};\n\tif (root.fields !== undefined) {\n\t\tout.fields = root.fields;\n\t}\n\tif (root.build !== undefined) {\n\t\tout.build = root.build.map(({ id, trees }) => ({\n\t\t\tid,\n\t\t\ttrees: func(trees),\n\t\t}));\n\t}\n\tif (root.global !== undefined) {\n\t\tout.global = root.global.map(({ id, fields }) => ({\n\t\t\tid,\n\t\t\tfields,\n\t\t}));\n\t}\n\tif (root.rename !== undefined) {\n\t\tout.rename = root.rename.map(({ count, oldId, newId }) => ({\n\t\t\tcount,\n\t\t\toldId,\n\t\t\tnewId,\n\t\t}));\n\t}\n\treturn out;\n}\n"]}
1
+ {"version":3,"file":"deltaUtils.js","sourceRoot":"","sources":["../../src/feature-libraries/deltaUtils.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,+CAK0B;AAG1B,SAAgB,oBAAoB,CAAC,UAAwB;IAC5D,OAAO,IAAA,6BAAkB,EAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;AACpE,CAAC;AAFD,oDAEC;AAED;;;;;;;;;GASG;AACH,SAAgB,cAAc,CAC7B,IAAoB,EACpB,IAAyB;IAEzB,MAAM,GAAG,GAA6B,EAAE,CAAC;IACzC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC1B,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9B,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;YAC9C,EAAE;YACF,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC;SAClB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;YACjD,EAAE;YACF,MAAM;SACN,CAAC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1D,KAAK;YACL,KAAK;YACL,KAAK;SACL,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AA5BD,wCA4BC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n\ttype ChangeAtomId,\n\ttype DeltaDetachedNodeId,\n\ttype DeltaRoot,\n\tmakeDetachedNodeId,\n} from \"../core/index.js\";\nimport type { Mutable } from \"../util/index.js\";\n\nexport function nodeIdFromChangeAtom(changeAtom: ChangeAtomId): DeltaDetachedNodeId {\n\treturn makeDetachedNodeId(changeAtom.revision, changeAtom.localId);\n}\n\n/**\n * Converts a `Delta.Root` whose tree content is represented with by `TIn` instances\n * into a `Delta.Root`whose tree content is represented with by `TOut` instances.\n *\n * This function is useful for converting `Delta`s that represent tree content with cursors\n * into `Delta`s that represent tree content with a deep-comparable representation of the content.\n * See {@link assertDeltaEqual}.\n * @param root - The delta to convert. Not mutated.\n * @param func - The functions used to map tree content.\n */\nexport function mapRootChanges<TIn, TOut>(\n\troot: DeltaRoot<TIn>,\n\tfunc: (tree: TIn) => TOut,\n): DeltaRoot<TOut> {\n\tconst out: Mutable<DeltaRoot<TOut>> = {};\n\tif (root.fields !== undefined) {\n\t\tout.fields = root.fields;\n\t}\n\tif (root.build !== undefined) {\n\t\tout.build = root.build.map(({ id, trees }) => ({\n\t\t\tid,\n\t\t\ttrees: func(trees),\n\t\t}));\n\t}\n\tif (root.global !== undefined) {\n\t\tout.global = root.global.map(({ id, fields }) => ({\n\t\t\tid,\n\t\t\tfields,\n\t\t}));\n\t}\n\tif (root.rename !== undefined) {\n\t\tout.rename = root.rename.map(({ count, oldId, newId }) => ({\n\t\t\tcount,\n\t\t\toldId,\n\t\t\tnewId,\n\t\t}));\n\t}\n\treturn out;\n}\n"]}
@@ -33,7 +33,6 @@ export interface FlexTreeContext {
33
33
  * If true, none of the nodes in this context can be used.
34
34
  */
35
35
  isDisposed(): boolean;
36
- runInTransaction(fn: () => void): void;
37
36
  }
38
37
  /**
39
38
  * Subset of a hydrated context which can be used in more cases (like before the root and events are set up).
@@ -47,13 +46,6 @@ export interface FlexTreeHydratedContextMinimal {
47
46
  * The checkout object associated with this context.
48
47
  */
49
48
  readonly checkout: ITreeCheckout;
50
- /**
51
- * Returns a new {@link FlexTreeField} that will live as long as the caller allows up to the next call to {@link clear} or disposal of the context.
52
- * @remarks
53
- * Due to limited support for detached fields, not all operations are supported.
54
- * Additionally if the detached field's content is deleted, the field will become out of schema if it is required: it must not be used after that point.
55
- */
56
- detachedField?(key: DetachedField, schema: FieldKindIdentifier): FlexTreeField;
57
49
  }
58
50
  /**
59
51
  * A common context of a "forest" of FlexTrees.
@@ -112,7 +104,6 @@ export declare class Context implements FlexTreeHydratedContext, IDisposable {
112
104
  isHydrated(): this is FlexTreeHydratedContext;
113
105
  isDisposed(): boolean;
114
106
  get schema(): TreeStoredSchema;
115
- runInTransaction(fn: () => void): void;
116
107
  /**
117
108
  * Called before editing.
118
109
  * Clears all cursors so editing can proceed.
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/feature-libraries/flex-tree/context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAGlE,OAAO,EACN,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EAIrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,KAAK,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAElC;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IAEpC;;;;;OAKG;IACH,UAAU,IAAI,IAAI,IAAI,uBAAuB,CAAC;IAE9C;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC;IAEtB,gBAAgB,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC9C;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAC;IAE/C;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IAEjC;;;;;OAKG;IACH,aAAa,CAAC,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,mBAAmB,GAAG,aAAa,CAAC;CAC/E;AAED;;;GAGG;AACH,MAAM,WAAW,uBAChB,SAAQ,eAAe,EACtB,8BAA8B;IAC/B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IAC1C;;OAEG;IACH,IAAI,IAAI,IAAI,aAAa,CAAC;CAC1B;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,mDAAwB,CAAC;AAEjD;;;;;;;;;GASG;AACH,qBAAa,OAAQ,YAAW,uBAAuB,EAAE,WAAW;aAqBlD,YAAY,EAAE,YAAY;aAC1B,QAAQ,EAAE,aAAa;IACvC;;OAEG;aACa,cAAc,EAAE,qBAAqB;IAzBtD,SAAgB,WAAW,EAAE,GAAG,CAAC,UAAU,CAAC,CAAa;IACzD,SAAgB,WAAW,EAAE,GAAG,CAAC,UAAU,CAAC,CAAa;IAEzD;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAS;IAEzB;;;;;OAKG;IACH,OAAO,CAAC,aAAa,CAA4B;gBAGhC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,aAAa;IACvC;;OAEG;IACa,cAAc,EAAE,qBAAqB;IAe/C,UAAU,IAAI,IAAI,IAAI,uBAAuB;IAK7C,UAAU,IAAI,OAAO;IAI5B,IAAW,MAAM,IAAI,gBAAgB,CAEpC;IAEM,gBAAgB,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;IAO7C;;;OAGG;IACH,OAAO,CAAC,cAAc;IAQf,CAAC,aAAa,CAAC,IAAI,IAAI;IAa9B;;;;;;OAMG;IACI,KAAK,IAAI,IAAI;IASpB;;;;;OAKG;IACH,IAAW,IAAI,IAAI,aAAa,CAK/B;IAED;;;;;OAKG;IACI,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,mBAAmB,GAAG,aAAa;IAUpF,IAAW,MAAM,IAAI,UAAU,CAAC,YAAY,CAAC,CAE5C;CACD"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/feature-libraries/flex-tree/context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAGlE,OAAO,EACN,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EAIrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,KAAK,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAElC;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IAEpC;;;;;OAKG;IACH,UAAU,IAAI,IAAI,IAAI,uBAAuB,CAAC;IAE9C;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC9C;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAC;IAE/C;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,uBAChB,SAAQ,eAAe,EACtB,8BAA8B;IAC/B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IAC1C;;OAEG;IACH,IAAI,IAAI,IAAI,aAAa,CAAC;CAC1B;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,mDAAwB,CAAC;AAEjD;;;;;;;;;GASG;AACH,qBAAa,OAAQ,YAAW,uBAAuB,EAAE,WAAW;aAqBlD,YAAY,EAAE,YAAY;aAC1B,QAAQ,EAAE,aAAa;IACvC;;OAEG;aACa,cAAc,EAAE,qBAAqB;IAzBtD,SAAgB,WAAW,EAAE,GAAG,CAAC,UAAU,CAAC,CAAa;IACzD,SAAgB,WAAW,EAAE,GAAG,CAAC,UAAU,CAAC,CAAa;IAEzD;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAS;IAEzB;;;;;OAKG;IACH,OAAO,CAAC,aAAa,CAA4B;gBAGhC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,aAAa;IACvC;;OAEG;IACa,cAAc,EAAE,qBAAqB;IAe/C,UAAU,IAAI,IAAI,IAAI,uBAAuB;IAK7C,UAAU,IAAI,OAAO;IAI5B,IAAW,MAAM,IAAI,gBAAgB,CAEpC;IAED;;;OAGG;IACH,OAAO,CAAC,cAAc;IAQf,CAAC,aAAa,CAAC,IAAI,IAAI;IAa9B;;;;;;OAMG;IACI,KAAK,IAAI,IAAI;IASpB;;;;;OAKG;IACH,IAAW,IAAI,IAAI,aAAa,CAK/B;IAED;;;;;OAKG;IACI,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,mBAAmB,GAAG,aAAa;IAUpF,IAAW,MAAM,IAAI,UAAU,CAAC,YAAY,CAAC,CAE5C;CACD"}
@@ -54,12 +54,6 @@ class Context {
54
54
  get schema() {
55
55
  return this.checkout.storedSchema;
56
56
  }
57
- runInTransaction(fn) {
58
- (0, internal_1.debugAssert)(() => !this.disposed || "Disposed");
59
- this.checkout.transaction.start();
60
- fn();
61
- this.checkout.transaction.commit();
62
- }
63
57
  /**
64
58
  * Called before editing.
65
59
  * Clears all cursors so editing can proceed.
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/feature-libraries/flex-tree/context.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { Listenable } from \"@fluidframework/core-interfaces\";\nimport { assert, debugAssert } from \"@fluidframework/core-utils/internal\";\n\nimport {\n\ttype DetachedField,\n\ttype FieldKindIdentifier,\n\ttype ForestEvents,\n\ttype SchemaPolicy,\n\ttype TreeStoredSchema,\n\tanchorSlot,\n\tmoveToDetachedField,\n\trootField,\n} from \"../../core/index.js\";\nimport type { ITreeCheckout } from \"../../shared-tree/index.js\";\nimport { type IDisposable, disposeSymbol } from \"../../util/index.js\";\nimport type { NodeIdentifierManager } from \"../node-identifier/index.js\";\n\nimport type { FlexTreeField } from \"./flexTreeTypes.js\";\nimport type { LazyEntity } from \"./lazyEntity.js\";\nimport { makeField } from \"./lazyField.js\";\n\n/**\n * Context for FlexTrees.\n */\nexport interface FlexTreeContext {\n\t/**\n\t * Schema used within this context.\n\t * All data must conform to these schema.\n\t */\n\treadonly schema: TreeStoredSchema;\n\n\t/**\n\t * SchemaPolicy used within this context.\n\t */\n\treadonly schemaPolicy: SchemaPolicy;\n\n\t/**\n\t * If true, this context is the canonical context instance for a given view,\n\t * and its schema include all schema from the document.\n\t *\n\t * If false, this context was created for use in a unhydrated tree, and the full document schema is unknown.\n\t */\n\tisHydrated(): this is FlexTreeHydratedContext;\n\n\t/**\n\t * If true, none of the nodes in this context can be used.\n\t */\n\tisDisposed(): boolean;\n\n\trunInTransaction(fn: () => void): void;\n}\n\n/**\n * Subset of a hydrated context which can be used in more cases (like before the root and events are set up).\n */\nexport interface FlexTreeHydratedContextMinimal {\n\t/**\n\t * The {@link NodeIdentifierManager} responsible for allocating and compressing identifiers for nodes in this context.\n\t */\n\treadonly nodeKeyManager: NodeIdentifierManager;\n\n\t/**\n\t * The checkout object associated with this context.\n\t */\n\treadonly checkout: ITreeCheckout;\n\n\t/**\n\t * Returns a new {@link FlexTreeField} that will live as long as the caller allows up to the next call to {@link clear} or disposal of the context.\n\t * @remarks\n\t * Due to limited support for detached fields, not all operations are supported.\n\t * Additionally if the detached field's content is deleted, the field will become out of schema if it is required: it must not be used after that point.\n\t */\n\tdetachedField?(key: DetachedField, schema: FieldKindIdentifier): FlexTreeField;\n}\n\n/**\n * A common context of a \"forest\" of FlexTrees.\n * It handles group operations like transforming cursors into anchors for edits.\n */\nexport interface FlexTreeHydratedContext\n\textends FlexTreeContext,\n\t\tFlexTreeHydratedContextMinimal {\n\treadonly events: Listenable<ForestEvents>;\n\t/**\n\t * Gets the root field of the tree.\n\t */\n\tget root(): FlexTreeField;\n}\n\n/**\n * Creating multiple flex tree contexts for the same branch, and thus with the same underlying AnchorSet does not work due to how TreeNode caching works.\n * This slot is used to detect if one already exists and error if creating a second.\n */\nexport const ContextSlot = anchorSlot<Context>();\n\n/**\n * Implementation of `FlexTreeHydratedContext`.\n *\n * @remarks An editor is required to edit the FlexTree.\n *\n * A {@link FlexTreeContext} which is used to manage the cursors and anchors within the FlexTrees:\n * This is necessary for supporting using this tree across edits to the forest, and not leaking memory.\n *\n * This context and the trees it produces observe the kinds of fields from the schema\n */\nexport class Context implements FlexTreeHydratedContext, IDisposable {\n\tpublic readonly withCursors: Set<LazyEntity> = new Set();\n\tpublic readonly withAnchors: Set<LazyEntity> = new Set();\n\n\t/**\n\t * Callbacks to run when disposing.\n\t *\n\t * Mainly event un-registration.\n\t */\n\tprivate readonly onDispose: (() => void)[];\n\tprivate disposed = false;\n\n\t/**\n\t * Stores the last accessed version of the root.\n\t * @remarks\n\t * Anything which can delete this field must clear it.\n\t * Currently \"clear\" is the only case.\n\t */\n\tprivate lazyRootCache: FlexTreeField | undefined;\n\n\tpublic constructor(\n\t\tpublic readonly schemaPolicy: SchemaPolicy,\n\t\tpublic readonly checkout: ITreeCheckout,\n\t\t/**\n\t\t * An object which handles node key generation and conversion\n\t\t */\n\t\tpublic readonly nodeKeyManager: NodeIdentifierManager,\n\t) {\n\t\tthis.onDispose = [\n\t\t\tthis.checkout.forest.events.on(\"beforeChange\", () => {\n\t\t\t\tthis.prepareForEdit();\n\t\t\t}),\n\t\t];\n\n\t\tassert(\n\t\t\t!this.checkout.forest.anchors.slots.has(ContextSlot),\n\t\t\t0x92b /* Cannot create second flex-tree from checkout */,\n\t\t);\n\t\tthis.checkout.forest.anchors.slots.set(ContextSlot, this);\n\t}\n\n\tpublic isHydrated(): this is FlexTreeHydratedContext {\n\t\tdebugAssert(() => !this.disposed || \"Disposed\");\n\t\treturn true;\n\t}\n\n\tpublic isDisposed(): boolean {\n\t\treturn this.disposed;\n\t}\n\n\tpublic get schema(): TreeStoredSchema {\n\t\treturn this.checkout.storedSchema;\n\t}\n\n\tpublic runInTransaction(fn: () => void): void {\n\t\tdebugAssert(() => !this.disposed || \"Disposed\");\n\t\tthis.checkout.transaction.start();\n\t\tfn();\n\t\tthis.checkout.transaction.commit();\n\t}\n\n\t/**\n\t * Called before editing.\n\t * Clears all cursors so editing can proceed.\n\t */\n\tprivate prepareForEdit(): void {\n\t\tassert(this.disposed === false, 0x802 /* use after dispose */);\n\t\tfor (const target of this.withCursors) {\n\t\t\ttarget.prepareForEdit();\n\t\t}\n\t\tassert(this.withCursors.size === 0, 0x773 /* prepareForEdit should remove all cursors */);\n\t}\n\n\tpublic [disposeSymbol](): void {\n\t\tassert(this.disposed === false, 0x803 /* double dispose */);\n\t\tthis.disposed = true;\n\t\tthis.clear();\n\t\tfor (const unregister of this.onDispose) {\n\t\t\tunregister();\n\t\t}\n\t\tthis.onDispose.length = 0;\n\n\t\tconst deleted = this.checkout.forest.anchors.slots.delete(ContextSlot);\n\t\tassert(deleted, 0x8c4 /* unexpected dispose */);\n\t}\n\n\t/**\n\t * Release any cursors and anchors held by tree entities created in this context.\n\t * @remarks\n\t * Ensures the cashed references to those entities on the Anchors are also cleared.\n\t * The tree entities are invalid to use after this, but the context may still be used\n\t * to create new trees starting from the root.\n\t */\n\tpublic clear(): void {\n\t\tfor (const target of this.withAnchors) {\n\t\t\ttarget[disposeSymbol]();\n\t\t}\n\t\tthis.lazyRootCache = undefined;\n\t\tassert(this.withCursors.size === 0, 0x774 /* free should remove all cursors */);\n\t\tassert(this.withAnchors.size === 0, 0x775 /* free should remove all anchors */);\n\t}\n\n\t/**\n\t * Gets the root field of the tree.\n\t * @remarks\n\t * This is a cached value: it should not be disposed by the accessor.\n\t * Like all other fields from this context, it will become invalid to use after {@link clear} is called or the {@link disposeSymbol} method is called.\n\t */\n\tpublic get root(): FlexTreeField {\n\t\tassert(this.disposed === false, 0x804 /* use after dispose */);\n\n\t\tthis.lazyRootCache ??= this.detachedField(rootField, this.schema.rootFieldSchema.kind);\n\t\treturn this.lazyRootCache;\n\t}\n\n\t/**\n\t * Returns a new {@link FlexTreeField} that will live as long as the caller allows up to the next call to {@link clear} or disposal of the context.\n\t * @remarks\n\t * Due to limited support for detached fields, not all operations are supported.\n\t * Additionally if the detached field's content is deleted, the field will become out of schema if it is required: it must not be used after that point.\n\t */\n\tpublic detachedField(key: DetachedField, schema: FieldKindIdentifier): FlexTreeField {\n\t\tassert(this.disposed === false, 0xb9c /* use after dispose */);\n\n\t\tconst cursor = this.checkout.forest.allocateCursor(\"root\");\n\t\tmoveToDetachedField(this.checkout.forest, cursor, key);\n\t\tconst field = makeField(this, schema, cursor);\n\t\tcursor.free();\n\t\treturn field;\n\t}\n\n\tpublic get events(): Listenable<ForestEvents> {\n\t\treturn this.checkout.forest.events;\n\t}\n}\n"]}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/feature-libraries/flex-tree/context.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { Listenable } from \"@fluidframework/core-interfaces\";\nimport { assert, debugAssert } from \"@fluidframework/core-utils/internal\";\n\nimport {\n\ttype DetachedField,\n\ttype FieldKindIdentifier,\n\ttype ForestEvents,\n\ttype SchemaPolicy,\n\ttype TreeStoredSchema,\n\tanchorSlot,\n\tmoveToDetachedField,\n\trootField,\n} from \"../../core/index.js\";\nimport type { ITreeCheckout } from \"../../shared-tree/index.js\";\nimport { type IDisposable, disposeSymbol } from \"../../util/index.js\";\nimport type { NodeIdentifierManager } from \"../node-identifier/index.js\";\n\nimport type { FlexTreeField } from \"./flexTreeTypes.js\";\nimport type { LazyEntity } from \"./lazyEntity.js\";\nimport { makeField } from \"./lazyField.js\";\n\n/**\n * Context for FlexTrees.\n */\nexport interface FlexTreeContext {\n\t/**\n\t * Schema used within this context.\n\t * All data must conform to these schema.\n\t */\n\treadonly schema: TreeStoredSchema;\n\n\t/**\n\t * SchemaPolicy used within this context.\n\t */\n\treadonly schemaPolicy: SchemaPolicy;\n\n\t/**\n\t * If true, this context is the canonical context instance for a given view,\n\t * and its schema include all schema from the document.\n\t *\n\t * If false, this context was created for use in a unhydrated tree, and the full document schema is unknown.\n\t */\n\tisHydrated(): this is FlexTreeHydratedContext;\n\n\t/**\n\t * If true, none of the nodes in this context can be used.\n\t */\n\tisDisposed(): boolean;\n}\n\n/**\n * Subset of a hydrated context which can be used in more cases (like before the root and events are set up).\n */\nexport interface FlexTreeHydratedContextMinimal {\n\t/**\n\t * The {@link NodeIdentifierManager} responsible for allocating and compressing identifiers for nodes in this context.\n\t */\n\treadonly nodeKeyManager: NodeIdentifierManager;\n\n\t/**\n\t * The checkout object associated with this context.\n\t */\n\treadonly checkout: ITreeCheckout;\n}\n\n/**\n * A common context of a \"forest\" of FlexTrees.\n * It handles group operations like transforming cursors into anchors for edits.\n */\nexport interface FlexTreeHydratedContext\n\textends FlexTreeContext,\n\t\tFlexTreeHydratedContextMinimal {\n\treadonly events: Listenable<ForestEvents>;\n\t/**\n\t * Gets the root field of the tree.\n\t */\n\tget root(): FlexTreeField;\n}\n\n/**\n * Creating multiple flex tree contexts for the same branch, and thus with the same underlying AnchorSet does not work due to how TreeNode caching works.\n * This slot is used to detect if one already exists and error if creating a second.\n */\nexport const ContextSlot = anchorSlot<Context>();\n\n/**\n * Implementation of `FlexTreeHydratedContext`.\n *\n * @remarks An editor is required to edit the FlexTree.\n *\n * A {@link FlexTreeContext} which is used to manage the cursors and anchors within the FlexTrees:\n * This is necessary for supporting using this tree across edits to the forest, and not leaking memory.\n *\n * This context and the trees it produces observe the kinds of fields from the schema\n */\nexport class Context implements FlexTreeHydratedContext, IDisposable {\n\tpublic readonly withCursors: Set<LazyEntity> = new Set();\n\tpublic readonly withAnchors: Set<LazyEntity> = new Set();\n\n\t/**\n\t * Callbacks to run when disposing.\n\t *\n\t * Mainly event un-registration.\n\t */\n\tprivate readonly onDispose: (() => void)[];\n\tprivate disposed = false;\n\n\t/**\n\t * Stores the last accessed version of the root.\n\t * @remarks\n\t * Anything which can delete this field must clear it.\n\t * Currently \"clear\" is the only case.\n\t */\n\tprivate lazyRootCache: FlexTreeField | undefined;\n\n\tpublic constructor(\n\t\tpublic readonly schemaPolicy: SchemaPolicy,\n\t\tpublic readonly checkout: ITreeCheckout,\n\t\t/**\n\t\t * An object which handles node key generation and conversion\n\t\t */\n\t\tpublic readonly nodeKeyManager: NodeIdentifierManager,\n\t) {\n\t\tthis.onDispose = [\n\t\t\tthis.checkout.forest.events.on(\"beforeChange\", () => {\n\t\t\t\tthis.prepareForEdit();\n\t\t\t}),\n\t\t];\n\n\t\tassert(\n\t\t\t!this.checkout.forest.anchors.slots.has(ContextSlot),\n\t\t\t0x92b /* Cannot create second flex-tree from checkout */,\n\t\t);\n\t\tthis.checkout.forest.anchors.slots.set(ContextSlot, this);\n\t}\n\n\tpublic isHydrated(): this is FlexTreeHydratedContext {\n\t\tdebugAssert(() => !this.disposed || \"Disposed\");\n\t\treturn true;\n\t}\n\n\tpublic isDisposed(): boolean {\n\t\treturn this.disposed;\n\t}\n\n\tpublic get schema(): TreeStoredSchema {\n\t\treturn this.checkout.storedSchema;\n\t}\n\n\t/**\n\t * Called before editing.\n\t * Clears all cursors so editing can proceed.\n\t */\n\tprivate prepareForEdit(): void {\n\t\tassert(this.disposed === false, 0x802 /* use after dispose */);\n\t\tfor (const target of this.withCursors) {\n\t\t\ttarget.prepareForEdit();\n\t\t}\n\t\tassert(this.withCursors.size === 0, 0x773 /* prepareForEdit should remove all cursors */);\n\t}\n\n\tpublic [disposeSymbol](): void {\n\t\tassert(this.disposed === false, 0x803 /* double dispose */);\n\t\tthis.disposed = true;\n\t\tthis.clear();\n\t\tfor (const unregister of this.onDispose) {\n\t\t\tunregister();\n\t\t}\n\t\tthis.onDispose.length = 0;\n\n\t\tconst deleted = this.checkout.forest.anchors.slots.delete(ContextSlot);\n\t\tassert(deleted, 0x8c4 /* unexpected dispose */);\n\t}\n\n\t/**\n\t * Release any cursors and anchors held by tree entities created in this context.\n\t * @remarks\n\t * Ensures the cashed references to those entities on the Anchors are also cleared.\n\t * The tree entities are invalid to use after this, but the context may still be used\n\t * to create new trees starting from the root.\n\t */\n\tpublic clear(): void {\n\t\tfor (const target of this.withAnchors) {\n\t\t\ttarget[disposeSymbol]();\n\t\t}\n\t\tthis.lazyRootCache = undefined;\n\t\tassert(this.withCursors.size === 0, 0x774 /* free should remove all cursors */);\n\t\tassert(this.withAnchors.size === 0, 0x775 /* free should remove all anchors */);\n\t}\n\n\t/**\n\t * Gets the root field of the tree.\n\t * @remarks\n\t * This is a cached value: it should not be disposed by the accessor.\n\t * Like all other fields from this context, it will become invalid to use after {@link clear} is called or the {@link disposeSymbol} method is called.\n\t */\n\tpublic get root(): FlexTreeField {\n\t\tassert(this.disposed === false, 0x804 /* use after dispose */);\n\n\t\tthis.lazyRootCache ??= this.detachedField(rootField, this.schema.rootFieldSchema.kind);\n\t\treturn this.lazyRootCache;\n\t}\n\n\t/**\n\t * Returns a new {@link FlexTreeField} that will live as long as the caller allows up to the next call to {@link clear} or disposal of the context.\n\t * @remarks\n\t * Due to limited support for detached fields, not all operations are supported.\n\t * Additionally if the detached field's content is deleted, the field will become out of schema if it is required: it must not be used after that point.\n\t */\n\tpublic detachedField(key: DetachedField, schema: FieldKindIdentifier): FlexTreeField {\n\t\tassert(this.disposed === false, 0xb9c /* use after dispose */);\n\n\t\tconst cursor = this.checkout.forest.allocateCursor(\"root\");\n\t\tmoveToDetachedField(this.checkout.forest, cursor, key);\n\t\tconst field = makeField(this, schema, cursor);\n\t\tcursor.free();\n\t\treturn field;\n\t}\n\n\tpublic get events(): Listenable<ForestEvents> {\n\t\treturn this.checkout.forest.events;\n\t}\n}\n"]}
@@ -3,8 +3,8 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
  import { type AnchorNode, type FieldKey, type FieldKindIdentifier, type ITreeCursorSynchronous, type NormalizedFieldUpPath, type TreeValue } from "../../core/index.js";
6
- import type { FieldKinds, SequenceFieldEditor, RequiredFieldEditor, OptionalFieldEditor } from "../default-schema/index.js";
7
- import type { MapTreeFieldViewGeneric, MapTreeNodeViewGeneric, MinimalFieldMap } from "../mapTreeCursor.js";
6
+ import type { FieldKinds, SequenceFieldEditBuilder, ValueFieldEditBuilder, OptionalFieldEditBuilder } from "../default-schema/index.js";
7
+ import type { MapTreeFieldViewGeneric, MapTreeNodeViewGeneric, MinimalFieldMap, MinimalMapTreeNodeView } from "../mapTreeCursor.js";
8
8
  import type { FlexFieldKind } from "../modular-schema/index.js";
9
9
  import type { FlexTreeContext, FlexTreeHydratedContext } from "./context.js";
10
10
  /**
@@ -250,7 +250,7 @@ export type FlexibleFieldContent = readonly FlexibleNodeContent[];
250
250
  /**
251
251
  * Tree for inserting as a node.
252
252
  */
253
- export type FlexibleNodeContent = FlexTreeNode;
253
+ export type FlexibleNodeContent = MinimalMapTreeNodeView;
254
254
  /**
255
255
  * {@link FlexTreeField} that stores a sequence of children.
256
256
  *
@@ -291,7 +291,7 @@ export interface FlexTreeSequenceField extends FlexTreeField {
291
291
  /**
292
292
  * Get an editor for this sequence.
293
293
  */
294
- readonly editor: SequenceFieldEditor<FlexibleFieldContent, readonly FlexTreeNode[]>;
294
+ readonly editor: SequenceFieldEditBuilder<FlexibleFieldContent>;
295
295
  }
296
296
  /**
297
297
  * Field that stores exactly one child.
@@ -301,7 +301,7 @@ export interface FlexTreeSequenceField extends FlexTreeField {
301
301
  */
302
302
  export interface FlexTreeRequiredField extends FlexTreeField {
303
303
  get content(): FlexTreeUnknownUnboxed;
304
- readonly editor: RequiredFieldEditor<FlexibleNodeContent, FlexTreeNode>;
304
+ readonly editor: ValueFieldEditBuilder<FlexibleNodeContent>;
305
305
  }
306
306
  /**
307
307
  * Field that stores zero or one child.
@@ -318,7 +318,7 @@ export interface FlexTreeRequiredField extends FlexTreeField {
318
318
  */
319
319
  export interface FlexTreeOptionalField extends FlexTreeField {
320
320
  get content(): FlexTreeUnknownUnboxed | undefined;
321
- readonly editor: OptionalFieldEditor<FlexibleNodeContent, FlexTreeNode>;
321
+ readonly editor: OptionalFieldEditBuilder<FlexibleNodeContent>;
322
322
  }
323
323
  /**
324
324
  * Schema aware specialization of {@link FlexTreeField}.
@@ -1 +1 @@
1
- {"version":3,"file":"flexTreeTypes.d.ts","sourceRoot":"","sources":["../../../src/feature-libraries/flex-tree/flexTreeTypes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACN,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,SAAS,EAEd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACX,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACX,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,EACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAE7E;;;GAGG;AACH,eAAO,MAAM,YAAY,gEAAqC,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,cAAc,eAA2B,CAAC;AAMvD,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAE5D;AAED,oBAAY,kBAAkB;IAC7B,IAAI,IAAA;IACJ,KAAK,IAAA;CACL;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,cAAc;IAC9B;;;OAGG;IACH,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,kBAAkB,CAAC;IAE9C;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAElC;;;;;OAKG;IACH,YAAY,IAAI,sBAAsB,CAAC;CACvC;AAED;;;GAGG;AACH,oBAAY,UAAU;IACrB;;OAEG;IACH,UAAU,IAAI;IAEd;;OAEG;IACH,OAAO,IAAI;IAEX;;;;;;;;;;;;;;OAcG;IACH,OAAO,IAAI;IAEX;;;;;;;;;;;;;;;;;OAiBG;IACH,GAAG,IAAI;CACP;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,YAAa,SAAQ,cAAc,EAAE,sBAAsB,CAAC,YAAY,CAAC;IACzF,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC;IAEnD;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,QAAQ,GAAG,SAAS,GAAG,aAAa,CAAC;IAEtD;;;;;;;;OAQG;IACH,QAAQ,CAAC,GAAG,EAAE,QAAQ,GAAG,aAAa,CAAC;IAEvC;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,EAAE;QACrB,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC,CAAC;QAClE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACvB,CAAC;IAEF;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC;IAEhD;;OAEG;IACH,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAErD;;;;;;;OAOG;IACH,IAAI,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAEnC;;;;OAIG;IACH,UAAU,IAAI,IAAI,IAAI,oBAAoB,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACzD;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC;IAE1C;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,aAAc,SAAQ,cAAc,EAAE,uBAAuB,CAAC,YAAY,CAAC;IAC3F,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC;IAEpD;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IAEvB;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAE/B;;OAEG;IACH,EAAE,CAAC,KAAK,SAAS,aAAa,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAEhF;;;;;;;;;OASG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAAC;IAEjD;;OAEG;IACH,YAAY,IAAI,qBAAqB,CAAC;IAEtC;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;CACrC;AAID;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,SAAS,mBAAmB,EAAE,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAAC;AAE/C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IAC3D;;;;;;;;;OASG;IACH,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS,CAAC;IAEtD;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAAC;IAEjD;;;OAGG;IACH,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;IAE7E;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC,oBAAoB,EAAE,SAAS,YAAY,EAAE,CAAC,CAAC;CACpF;AAED;;;;;GAKG;AACH,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IAC3D,IAAI,OAAO,IAAI,sBAAsB,CAAC;IAEtC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;CACxE;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IAC3D,IAAI,OAAO,IAAI,sBAAsB,GAAG,SAAS,CAAC;IAElD,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;CACxE;AAMD;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAAC,IAAI,SAAS,aAAa,IACxD,IAAI,SAAS,OAAO,UAAU,CAAC,QAAQ,GACpC,qBAAqB,GACrB,IAAI,SAAS,OAAO,UAAU,CAAC,QAAQ,GAAG,OAAO,UAAU,CAAC,UAAU,GACrE,qBAAqB,GACrB,IAAI,SAAS,OAAO,UAAU,CAAC,QAAQ,GACtC,qBAAqB,GACrB,aAAa,CAAC;AAIpB;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,YAAY,CAAC"}
1
+ {"version":3,"file":"flexTreeTypes.d.ts","sourceRoot":"","sources":["../../../src/feature-libraries/flex-tree/flexTreeTypes.ts"],"names":[],"mappings":"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"}