@fluidframework/tree 2.1.0-281041 → 2.2.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 (1510) hide show
  1. package/.mocharc.customBenchmarks.cjs +33 -0
  2. package/.vscode/Tree.code-workspace +2 -1
  3. package/CHANGELOG.md +335 -0
  4. package/README.md +40 -10
  5. package/api-extractor.json +17 -0
  6. package/api-report/tree.alpha.api.md +120 -26
  7. package/api-report/tree.beta.api.md +52 -26
  8. package/api-report/tree.public.api.md +52 -26
  9. package/dist/beta.d.ts +3 -1
  10. package/dist/codec/discriminatedUnions.d.ts +11 -5
  11. package/dist/codec/discriminatedUnions.d.ts.map +1 -1
  12. package/dist/codec/discriminatedUnions.js.map +1 -1
  13. package/dist/codec/index.d.ts +1 -1
  14. package/dist/codec/index.d.ts.map +1 -1
  15. package/dist/codec/index.js.map +1 -1
  16. package/dist/core/forest/editableForest.d.ts +1 -5
  17. package/dist/core/forest/editableForest.d.ts.map +1 -1
  18. package/dist/core/forest/editableForest.js +4 -2
  19. package/dist/core/forest/editableForest.js.map +1 -1
  20. package/dist/core/forest/forest.d.ts +0 -6
  21. package/dist/core/forest/forest.d.ts.map +1 -1
  22. package/dist/core/forest/forest.js +0 -2
  23. package/dist/core/forest/forest.js.map +1 -1
  24. package/dist/core/index.d.ts +2 -2
  25. package/dist/core/index.d.ts.map +1 -1
  26. package/dist/core/index.js +3 -4
  27. package/dist/core/index.js.map +1 -1
  28. package/dist/core/rebase/changeRebaser.d.ts +0 -4
  29. package/dist/core/rebase/changeRebaser.d.ts.map +1 -1
  30. package/dist/core/rebase/changeRebaser.js.map +1 -1
  31. package/dist/core/rebase/index.d.ts +1 -1
  32. package/dist/core/rebase/index.d.ts.map +1 -1
  33. package/dist/core/rebase/index.js +1 -3
  34. package/dist/core/rebase/index.js.map +1 -1
  35. package/dist/core/rebase/types.d.ts +1 -8
  36. package/dist/core/rebase/types.d.ts.map +1 -1
  37. package/dist/core/rebase/types.js +1 -9
  38. package/dist/core/rebase/types.js.map +1 -1
  39. package/dist/core/rebase/utils.d.ts +0 -1
  40. package/dist/core/rebase/utils.d.ts.map +1 -1
  41. package/dist/core/rebase/utils.js +12 -7
  42. package/dist/core/rebase/utils.js.map +1 -1
  43. package/dist/core/schema-stored/multiplicity.d.ts +0 -1
  44. package/dist/core/schema-stored/multiplicity.d.ts.map +1 -1
  45. package/dist/core/schema-stored/multiplicity.js +0 -1
  46. package/dist/core/schema-stored/multiplicity.js.map +1 -1
  47. package/dist/core/schema-stored/schema.d.ts +0 -7
  48. package/dist/core/schema-stored/schema.d.ts.map +1 -1
  49. package/dist/core/schema-stored/schema.js +0 -4
  50. package/dist/core/schema-stored/schema.js.map +1 -1
  51. package/dist/core/schema-stored/storedSchemaRepository.d.ts +0 -3
  52. package/dist/core/schema-stored/storedSchemaRepository.d.ts.map +1 -1
  53. package/dist/core/schema-stored/storedSchemaRepository.js.map +1 -1
  54. package/dist/core/schema-view/view.d.ts +0 -3
  55. package/dist/core/schema-view/view.d.ts.map +1 -1
  56. package/dist/core/schema-view/view.js +0 -1
  57. package/dist/core/schema-view/view.js.map +1 -1
  58. package/dist/core/tree/anchorSet.d.ts +1 -10
  59. package/dist/core/tree/anchorSet.d.ts.map +1 -1
  60. package/dist/core/tree/anchorSet.js +14 -4
  61. package/dist/core/tree/anchorSet.js.map +1 -1
  62. package/dist/core/tree/cursor.d.ts +1 -6
  63. package/dist/core/tree/cursor.d.ts.map +1 -1
  64. package/dist/core/tree/cursor.js +0 -2
  65. package/dist/core/tree/cursor.js.map +1 -1
  66. package/dist/core/tree/delta.d.ts +0 -11
  67. package/dist/core/tree/delta.d.ts.map +1 -1
  68. package/dist/core/tree/delta.js.map +1 -1
  69. package/dist/core/tree/detachedFieldIndex.d.ts +48 -11
  70. package/dist/core/tree/detachedFieldIndex.d.ts.map +1 -1
  71. package/dist/core/tree/detachedFieldIndex.js +144 -20
  72. package/dist/core/tree/detachedFieldIndex.js.map +1 -1
  73. package/dist/core/tree/detachedFieldIndexCodec.d.ts.map +1 -1
  74. package/dist/core/tree/detachedFieldIndexCodec.js +16 -6
  75. package/dist/core/tree/detachedFieldIndexCodec.js.map +1 -1
  76. package/dist/core/tree/detachedFieldIndexFormat.d.ts +1 -1
  77. package/dist/core/tree/detachedFieldIndexFormat.d.ts.map +1 -1
  78. package/dist/core/tree/detachedFieldIndexFormat.js.map +1 -1
  79. package/dist/core/tree/detachedFieldIndexTypes.d.ts +38 -4
  80. package/dist/core/tree/detachedFieldIndexTypes.d.ts.map +1 -1
  81. package/dist/core/tree/detachedFieldIndexTypes.js.map +1 -1
  82. package/dist/core/tree/index.d.ts +3 -2
  83. package/dist/core/tree/index.d.ts.map +1 -1
  84. package/dist/core/tree/index.js +3 -1
  85. package/dist/core/tree/index.js.map +1 -1
  86. package/dist/core/tree/mapTree.d.ts +20 -4
  87. package/dist/core/tree/mapTree.d.ts.map +1 -1
  88. package/dist/core/tree/mapTree.js +29 -0
  89. package/dist/core/tree/mapTree.js.map +1 -1
  90. package/dist/core/tree/pathTree.d.ts +0 -11
  91. package/dist/core/tree/pathTree.d.ts.map +1 -1
  92. package/dist/core/tree/pathTree.js.map +1 -1
  93. package/dist/core/tree/treeTextFormat.d.ts.map +1 -1
  94. package/dist/core/tree/treeTextFormat.js +3 -2
  95. package/dist/core/tree/treeTextFormat.js.map +1 -1
  96. package/dist/core/tree/types.d.ts +0 -11
  97. package/dist/core/tree/types.d.ts.map +1 -1
  98. package/dist/core/tree/types.js +0 -4
  99. package/dist/core/tree/types.js.map +1 -1
  100. package/dist/core/tree/visitDelta.d.ts +3 -2
  101. package/dist/core/tree/visitDelta.d.ts.map +1 -1
  102. package/dist/core/tree/visitDelta.js +33 -17
  103. package/dist/core/tree/visitDelta.js.map +1 -1
  104. package/dist/core/tree/visitPath.d.ts +0 -2
  105. package/dist/core/tree/visitPath.d.ts.map +1 -1
  106. package/dist/core/tree/visitPath.js.map +1 -1
  107. package/dist/core/tree/visitorUtils.d.ts +3 -4
  108. package/dist/core/tree/visitorUtils.d.ts.map +1 -1
  109. package/dist/core/tree/visitorUtils.js +4 -4
  110. package/dist/core/tree/visitorUtils.js.map +1 -1
  111. package/dist/domains/index.d.ts +1 -1
  112. package/dist/domains/index.d.ts.map +1 -1
  113. package/dist/domains/index.js +2 -1
  114. package/dist/domains/index.js.map +1 -1
  115. package/dist/domains/json/index.d.ts +1 -1
  116. package/dist/domains/json/index.d.ts.map +1 -1
  117. package/dist/domains/json/index.js +2 -1
  118. package/dist/domains/json/index.js.map +1 -1
  119. package/dist/domains/json/jsonCursor.d.ts +36 -2
  120. package/dist/domains/json/jsonCursor.d.ts.map +1 -1
  121. package/dist/domains/json/jsonCursor.js +76 -5
  122. package/dist/domains/json/jsonCursor.js.map +1 -1
  123. package/dist/domains/json/jsonDomainSchema.d.ts +13 -3
  124. package/dist/domains/json/jsonDomainSchema.d.ts.map +1 -1
  125. package/dist/domains/json/jsonDomainSchema.js +12 -4
  126. package/dist/domains/json/jsonDomainSchema.js.map +1 -1
  127. package/dist/domains/leafDomain.d.ts +0 -1
  128. package/dist/domains/leafDomain.d.ts.map +1 -1
  129. package/dist/domains/leafDomain.js +0 -1
  130. package/dist/domains/leafDomain.js.map +1 -1
  131. package/dist/domains/schemaBuilder.d.ts +1 -7
  132. package/dist/domains/schemaBuilder.d.ts.map +1 -1
  133. package/dist/domains/schemaBuilder.js +0 -10
  134. package/dist/domains/schemaBuilder.js.map +1 -1
  135. package/dist/events/events.d.ts +0 -4
  136. package/dist/events/events.d.ts.map +1 -1
  137. package/dist/events/events.js +0 -1
  138. package/dist/events/events.js.map +1 -1
  139. package/dist/feature-libraries/chunked-forest/basicChunk.d.ts.map +1 -1
  140. package/dist/feature-libraries/chunked-forest/basicChunk.js +8 -3
  141. package/dist/feature-libraries/chunked-forest/basicChunk.js.map +1 -1
  142. package/dist/feature-libraries/chunked-forest/chunk.d.ts +1 -1
  143. package/dist/feature-libraries/chunked-forest/chunk.d.ts.map +1 -1
  144. package/dist/feature-libraries/chunked-forest/chunk.js.map +1 -1
  145. package/dist/feature-libraries/chunked-forest/chunkTree.js +3 -3
  146. package/dist/feature-libraries/chunked-forest/chunkTree.js.map +1 -1
  147. package/dist/feature-libraries/chunked-forest/chunkedForest.d.ts.map +1 -1
  148. package/dist/feature-libraries/chunked-forest/chunkedForest.js +7 -5
  149. package/dist/feature-libraries/chunked-forest/chunkedForest.js.map +1 -1
  150. package/dist/feature-libraries/chunked-forest/codec/chunkCodecUtilities.js +1 -1
  151. package/dist/feature-libraries/chunked-forest/codec/chunkCodecUtilities.js.map +1 -1
  152. package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts.map +1 -1
  153. package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.js +8 -5
  154. package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.js.map +1 -1
  155. package/dist/feature-libraries/chunked-forest/uniformChunk.d.ts.map +1 -1
  156. package/dist/feature-libraries/chunked-forest/uniformChunk.js +5 -3
  157. package/dist/feature-libraries/chunked-forest/uniformChunk.js.map +1 -1
  158. package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts +12 -24
  159. package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
  160. package/dist/feature-libraries/default-schema/defaultEditBuilder.js +9 -19
  161. package/dist/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
  162. package/dist/feature-libraries/default-schema/defaultFieldKinds.d.ts +0 -6
  163. package/dist/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -1
  164. package/dist/feature-libraries/default-schema/defaultFieldKinds.js +11 -1
  165. package/dist/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -1
  166. package/dist/feature-libraries/default-schema/defaultSchema.d.ts +0 -1
  167. package/dist/feature-libraries/default-schema/defaultSchema.d.ts.map +1 -1
  168. package/dist/feature-libraries/default-schema/defaultSchema.js +0 -1
  169. package/dist/feature-libraries/default-schema/defaultSchema.js.map +1 -1
  170. package/dist/feature-libraries/default-schema/index.d.ts +1 -1
  171. package/dist/feature-libraries/default-schema/index.d.ts.map +1 -1
  172. package/dist/feature-libraries/default-schema/index.js +2 -1
  173. package/dist/feature-libraries/default-schema/index.js.map +1 -1
  174. package/dist/feature-libraries/default-schema/schemaChecker.d.ts +6 -0
  175. package/dist/feature-libraries/default-schema/schemaChecker.d.ts.map +1 -1
  176. package/dist/feature-libraries/default-schema/schemaChecker.js +6 -0
  177. package/dist/feature-libraries/default-schema/schemaChecker.js.map +1 -1
  178. package/dist/feature-libraries/editableTreeBinder.d.ts +0 -67
  179. package/dist/feature-libraries/editableTreeBinder.d.ts.map +1 -1
  180. package/dist/feature-libraries/editableTreeBinder.js +6 -25
  181. package/dist/feature-libraries/editableTreeBinder.js.map +1 -1
  182. package/dist/feature-libraries/fieldGenerator.d.ts +0 -3
  183. package/dist/feature-libraries/fieldGenerator.d.ts.map +1 -1
  184. package/dist/feature-libraries/fieldGenerator.js +0 -1
  185. package/dist/feature-libraries/fieldGenerator.js.map +1 -1
  186. package/dist/feature-libraries/flex-map-tree/index.d.ts +1 -1
  187. package/dist/feature-libraries/flex-map-tree/index.d.ts.map +1 -1
  188. package/dist/feature-libraries/flex-map-tree/index.js +2 -2
  189. package/dist/feature-libraries/flex-map-tree/index.js.map +1 -1
  190. package/dist/feature-libraries/flex-map-tree/mapTreeNode.d.ts +57 -56
  191. package/dist/feature-libraries/flex-map-tree/mapTreeNode.d.ts.map +1 -1
  192. package/dist/feature-libraries/flex-map-tree/mapTreeNode.js +168 -217
  193. package/dist/feature-libraries/flex-map-tree/mapTreeNode.js.map +1 -1
  194. package/dist/feature-libraries/flex-tree/context.d.ts +0 -1
  195. package/dist/feature-libraries/flex-tree/context.d.ts.map +1 -1
  196. package/dist/feature-libraries/flex-tree/context.js.map +1 -1
  197. package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts +18 -295
  198. package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -1
  199. package/dist/feature-libraries/flex-tree/flexTreeTypes.js +0 -6
  200. package/dist/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -1
  201. package/dist/feature-libraries/flex-tree/index.d.ts +3 -2
  202. package/dist/feature-libraries/flex-tree/index.d.ts.map +1 -1
  203. package/dist/feature-libraries/flex-tree/index.js +5 -1
  204. package/dist/feature-libraries/flex-tree/index.js.map +1 -1
  205. package/dist/feature-libraries/flex-tree/lazyEntity.d.ts +1 -2
  206. package/dist/feature-libraries/flex-tree/lazyEntity.d.ts.map +1 -1
  207. package/dist/feature-libraries/flex-tree/lazyEntity.js.map +1 -1
  208. package/dist/feature-libraries/flex-tree/lazyField.d.ts +9 -27
  209. package/dist/feature-libraries/flex-tree/lazyField.d.ts.map +1 -1
  210. package/dist/feature-libraries/flex-tree/lazyField.js +36 -117
  211. package/dist/feature-libraries/flex-tree/lazyField.js.map +1 -1
  212. package/dist/feature-libraries/flex-tree/lazyNode.d.ts +2 -13
  213. package/dist/feature-libraries/flex-tree/lazyNode.d.ts.map +1 -1
  214. package/dist/feature-libraries/flex-tree/lazyNode.js +3 -69
  215. package/dist/feature-libraries/flex-tree/lazyNode.js.map +1 -1
  216. package/dist/feature-libraries/flex-tree/treeEvents.d.ts +0 -2
  217. package/dist/feature-libraries/flex-tree/treeEvents.d.ts.map +1 -1
  218. package/dist/feature-libraries/flex-tree/treeEvents.js.map +1 -1
  219. package/dist/feature-libraries/flex-tree/utilities.d.ts +2 -1
  220. package/dist/feature-libraries/flex-tree/utilities.d.ts.map +1 -1
  221. package/dist/feature-libraries/flex-tree/utilities.js +4 -0
  222. package/dist/feature-libraries/flex-tree/utilities.js.map +1 -1
  223. package/dist/feature-libraries/forest-summary/codec.js +2 -2
  224. package/dist/feature-libraries/forest-summary/codec.js.map +1 -1
  225. package/dist/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
  226. package/dist/feature-libraries/forest-summary/forestSummarizer.js +1 -1
  227. package/dist/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
  228. package/dist/feature-libraries/index.d.ts +6 -8
  229. package/dist/feature-libraries/index.d.ts.map +1 -1
  230. package/dist/feature-libraries/index.js +10 -18
  231. package/dist/feature-libraries/index.js.map +1 -1
  232. package/dist/feature-libraries/mapTreeCursor.d.ts +6 -2
  233. package/dist/feature-libraries/mapTreeCursor.d.ts.map +1 -1
  234. package/dist/feature-libraries/mapTreeCursor.js +9 -1
  235. package/dist/feature-libraries/mapTreeCursor.js.map +1 -1
  236. package/dist/feature-libraries/memoizedIdRangeAllocator.d.ts +0 -4
  237. package/dist/feature-libraries/memoizedIdRangeAllocator.d.ts.map +1 -1
  238. package/dist/feature-libraries/memoizedIdRangeAllocator.js +0 -1
  239. package/dist/feature-libraries/memoizedIdRangeAllocator.js.map +1 -1
  240. package/dist/feature-libraries/modular-schema/crossFieldQueries.d.ts +0 -2
  241. package/dist/feature-libraries/modular-schema/crossFieldQueries.d.ts.map +1 -1
  242. package/dist/feature-libraries/modular-schema/crossFieldQueries.js +0 -1
  243. package/dist/feature-libraries/modular-schema/crossFieldQueries.js.map +1 -1
  244. package/dist/feature-libraries/modular-schema/discrepancies.d.ts +18 -0
  245. package/dist/feature-libraries/modular-schema/discrepancies.d.ts.map +1 -1
  246. package/dist/feature-libraries/modular-schema/discrepancies.js +108 -5
  247. package/dist/feature-libraries/modular-schema/discrepancies.js.map +1 -1
  248. package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts +0 -8
  249. package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -1
  250. package/dist/feature-libraries/modular-schema/fieldChangeHandler.js +0 -1
  251. package/dist/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -1
  252. package/dist/feature-libraries/modular-schema/fieldKind.d.ts +1 -3
  253. package/dist/feature-libraries/modular-schema/fieldKind.d.ts.map +1 -1
  254. package/dist/feature-libraries/modular-schema/fieldKind.js +1 -2
  255. package/dist/feature-libraries/modular-schema/fieldKind.js.map +1 -1
  256. package/dist/feature-libraries/modular-schema/genericFieldKind.d.ts +1 -2
  257. package/dist/feature-libraries/modular-schema/genericFieldKind.d.ts.map +1 -1
  258. package/dist/feature-libraries/modular-schema/genericFieldKind.js +57 -85
  259. package/dist/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
  260. package/dist/feature-libraries/modular-schema/genericFieldKindCodecs.d.ts +1 -1
  261. package/dist/feature-libraries/modular-schema/genericFieldKindCodecs.d.ts.map +1 -1
  262. package/dist/feature-libraries/modular-schema/genericFieldKindCodecs.js +5 -8
  263. package/dist/feature-libraries/modular-schema/genericFieldKindCodecs.js.map +1 -1
  264. package/dist/feature-libraries/modular-schema/genericFieldKindTypes.d.ts +3 -14
  265. package/dist/feature-libraries/modular-schema/genericFieldKindTypes.d.ts.map +1 -1
  266. package/dist/feature-libraries/modular-schema/genericFieldKindTypes.js +6 -0
  267. package/dist/feature-libraries/modular-schema/genericFieldKindTypes.js.map +1 -1
  268. package/dist/feature-libraries/modular-schema/index.d.ts +2 -2
  269. package/dist/feature-libraries/modular-schema/index.d.ts.map +1 -1
  270. package/dist/feature-libraries/modular-schema/index.js +2 -1
  271. package/dist/feature-libraries/modular-schema/index.js.map +1 -1
  272. package/dist/feature-libraries/modular-schema/modularChangeCodecs.d.ts.map +1 -1
  273. package/dist/feature-libraries/modular-schema/modularChangeCodecs.js +40 -23
  274. package/dist/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -1
  275. package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts +9 -8
  276. package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
  277. package/dist/feature-libraries/modular-schema/modularChangeFamily.js +205 -244
  278. package/dist/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
  279. package/dist/feature-libraries/modular-schema/modularChangeTypes.d.ts +8 -14
  280. package/dist/feature-libraries/modular-schema/modularChangeTypes.d.ts.map +1 -1
  281. package/dist/feature-libraries/modular-schema/modularChangeTypes.js.map +1 -1
  282. package/dist/feature-libraries/node-key/nodeKey.d.ts +0 -4
  283. package/dist/feature-libraries/node-key/nodeKey.d.ts.map +1 -1
  284. package/dist/feature-libraries/node-key/nodeKey.js +0 -2
  285. package/dist/feature-libraries/node-key/nodeKey.js.map +1 -1
  286. package/dist/feature-libraries/node-key/nodeKeyManager.d.ts +0 -1
  287. package/dist/feature-libraries/node-key/nodeKeyManager.d.ts.map +1 -1
  288. package/dist/feature-libraries/node-key/nodeKeyManager.js.map +1 -1
  289. package/dist/feature-libraries/object-forest/objectForest.d.ts +3 -2
  290. package/dist/feature-libraries/object-forest/objectForest.d.ts.map +1 -1
  291. package/dist/feature-libraries/object-forest/objectForest.js +6 -14
  292. package/dist/feature-libraries/object-forest/objectForest.js.map +1 -1
  293. package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV1.d.ts +6 -6
  294. package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV1.d.ts.map +1 -1
  295. package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV2.d.ts +7 -7
  296. package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV2.d.ts.map +1 -1
  297. package/dist/feature-libraries/schemaBuilderBase.d.ts +2 -28
  298. package/dist/feature-libraries/schemaBuilderBase.d.ts.map +1 -1
  299. package/dist/feature-libraries/schemaBuilderBase.js +1 -27
  300. package/dist/feature-libraries/schemaBuilderBase.js.map +1 -1
  301. package/dist/feature-libraries/sequence-field/compose.d.ts.map +1 -1
  302. package/dist/feature-libraries/sequence-field/compose.js +24 -21
  303. package/dist/feature-libraries/sequence-field/compose.js.map +1 -1
  304. package/dist/feature-libraries/sequence-field/formatV2.d.ts +3 -3
  305. package/dist/feature-libraries/sequence-field/formatV2.d.ts.map +1 -1
  306. package/dist/feature-libraries/sequence-field/formatV2.js +7 -6
  307. package/dist/feature-libraries/sequence-field/formatV2.js.map +1 -1
  308. package/dist/feature-libraries/sequence-field/formatV3.d.ts +195 -0
  309. package/dist/feature-libraries/sequence-field/formatV3.d.ts.map +1 -0
  310. package/dist/feature-libraries/sequence-field/formatV3.js +23 -0
  311. package/dist/feature-libraries/sequence-field/formatV3.js.map +1 -0
  312. package/dist/feature-libraries/sequence-field/helperTypes.d.ts +11 -0
  313. package/dist/feature-libraries/sequence-field/helperTypes.d.ts.map +1 -1
  314. package/dist/feature-libraries/sequence-field/helperTypes.js.map +1 -1
  315. package/dist/feature-libraries/sequence-field/index.d.ts +1 -1
  316. package/dist/feature-libraries/sequence-field/index.d.ts.map +1 -1
  317. package/dist/feature-libraries/sequence-field/index.js.map +1 -1
  318. package/dist/feature-libraries/sequence-field/invert.d.ts.map +1 -1
  319. package/dist/feature-libraries/sequence-field/invert.js +21 -13
  320. package/dist/feature-libraries/sequence-field/invert.js.map +1 -1
  321. package/dist/feature-libraries/sequence-field/markQueue.js +1 -1
  322. package/dist/feature-libraries/sequence-field/markQueue.js.map +1 -1
  323. package/dist/feature-libraries/sequence-field/moveEffectTable.d.ts +2 -2
  324. package/dist/feature-libraries/sequence-field/moveEffectTable.d.ts.map +1 -1
  325. package/dist/feature-libraries/sequence-field/moveEffectTable.js.map +1 -1
  326. package/dist/feature-libraries/sequence-field/rebase.d.ts.map +1 -1
  327. package/dist/feature-libraries/sequence-field/rebase.js +24 -6
  328. package/dist/feature-libraries/sequence-field/rebase.js.map +1 -1
  329. package/dist/feature-libraries/sequence-field/replaceRevisions.d.ts.map +1 -1
  330. package/dist/feature-libraries/sequence-field/replaceRevisions.js +16 -3
  331. package/dist/feature-libraries/sequence-field/replaceRevisions.js.map +1 -1
  332. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV1.d.ts.map +1 -1
  333. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV1.js +38 -4
  334. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV1.js.map +1 -1
  335. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts +4 -1
  336. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts.map +1 -1
  337. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.js +54 -9
  338. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.js.map +1 -1
  339. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV3.d.ts +11 -0
  340. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV3.d.ts.map +1 -0
  341. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV3.js +85 -0
  342. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV3.js.map +1 -0
  343. package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts.map +1 -1
  344. package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.js +2 -0
  345. package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.js.map +1 -1
  346. package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts.map +1 -1
  347. package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.js +4 -1
  348. package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.js.map +1 -1
  349. package/dist/feature-libraries/sequence-field/types.d.ts +23 -4
  350. package/dist/feature-libraries/sequence-field/types.d.ts.map +1 -1
  351. package/dist/feature-libraries/sequence-field/types.js.map +1 -1
  352. package/dist/feature-libraries/sequence-field/utils.d.ts +5 -4
  353. package/dist/feature-libraries/sequence-field/utils.d.ts.map +1 -1
  354. package/dist/feature-libraries/sequence-field/utils.js +70 -42
  355. package/dist/feature-libraries/sequence-field/utils.js.map +1 -1
  356. package/dist/feature-libraries/storedToViewSchema.d.ts +0 -1
  357. package/dist/feature-libraries/storedToViewSchema.d.ts.map +1 -1
  358. package/dist/feature-libraries/storedToViewSchema.js +0 -1
  359. package/dist/feature-libraries/storedToViewSchema.js.map +1 -1
  360. package/dist/feature-libraries/treeCursorUtils.d.ts +0 -6
  361. package/dist/feature-libraries/treeCursorUtils.d.ts.map +1 -1
  362. package/dist/feature-libraries/treeCursorUtils.js +8 -6
  363. package/dist/feature-libraries/treeCursorUtils.js.map +1 -1
  364. package/dist/feature-libraries/treeTextCursor.d.ts +0 -2
  365. package/dist/feature-libraries/treeTextCursor.d.ts.map +1 -1
  366. package/dist/feature-libraries/treeTextCursor.js +0 -2
  367. package/dist/feature-libraries/treeTextCursor.js.map +1 -1
  368. package/dist/feature-libraries/typed-schema/flexList.d.ts +0 -3
  369. package/dist/feature-libraries/typed-schema/flexList.d.ts.map +1 -1
  370. package/dist/feature-libraries/typed-schema/flexList.js.map +1 -1
  371. package/dist/feature-libraries/typed-schema/index.d.ts +1 -1
  372. package/dist/feature-libraries/typed-schema/index.d.ts.map +1 -1
  373. package/dist/feature-libraries/typed-schema/index.js +1 -3
  374. package/dist/feature-libraries/typed-schema/index.js.map +1 -1
  375. package/dist/feature-libraries/typed-schema/schemaCollection.d.ts.map +1 -1
  376. package/dist/feature-libraries/typed-schema/schemaCollection.js +0 -4
  377. package/dist/feature-libraries/typed-schema/schemaCollection.js.map +1 -1
  378. package/dist/feature-libraries/typed-schema/typedTreeSchema.d.ts +2 -41
  379. package/dist/feature-libraries/typed-schema/typedTreeSchema.d.ts.map +1 -1
  380. package/dist/feature-libraries/typed-schema/typedTreeSchema.js +1 -40
  381. package/dist/feature-libraries/typed-schema/typedTreeSchema.js.map +1 -1
  382. package/dist/feature-libraries/typed-schema/view.d.ts +0 -1
  383. package/dist/feature-libraries/typed-schema/view.d.ts.map +1 -1
  384. package/dist/feature-libraries/typed-schema/view.js.map +1 -1
  385. package/dist/index.d.ts +8 -9
  386. package/dist/index.d.ts.map +1 -1
  387. package/dist/index.js +31 -90
  388. package/dist/index.js.map +1 -1
  389. package/dist/internalTypes.d.ts +1 -1
  390. package/dist/internalTypes.d.ts.map +1 -1
  391. package/dist/internalTypes.js.map +1 -1
  392. package/dist/packageVersion.d.ts +1 -1
  393. package/dist/packageVersion.d.ts.map +1 -1
  394. package/dist/packageVersion.js +1 -1
  395. package/dist/packageVersion.js.map +1 -1
  396. package/dist/public.d.ts +3 -1
  397. package/dist/shared-tree/schematizeTree.d.ts +2 -11
  398. package/dist/shared-tree/schematizeTree.d.ts.map +1 -1
  399. package/dist/shared-tree/schematizeTree.js +13 -2
  400. package/dist/shared-tree/schematizeTree.js.map +1 -1
  401. package/dist/shared-tree/schematizingTreeView.d.ts +4 -4
  402. package/dist/shared-tree/schematizingTreeView.d.ts.map +1 -1
  403. package/dist/shared-tree/schematizingTreeView.js +2 -2
  404. package/dist/shared-tree/schematizingTreeView.js.map +1 -1
  405. package/dist/shared-tree/sharedTree.d.ts +9 -18
  406. package/dist/shared-tree/sharedTree.d.ts.map +1 -1
  407. package/dist/shared-tree/sharedTree.js +12 -9
  408. package/dist/shared-tree/sharedTree.js.map +1 -1
  409. package/dist/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
  410. package/dist/shared-tree/sharedTreeChangeCodecs.js +4 -0
  411. package/dist/shared-tree/sharedTreeChangeCodecs.js.map +1 -1
  412. package/dist/shared-tree/sharedTreeChangeEnricher.js +1 -1
  413. package/dist/shared-tree/sharedTreeChangeEnricher.js.map +1 -1
  414. package/dist/shared-tree/sharedTreeChangeFamily.js +2 -2
  415. package/dist/shared-tree/sharedTreeChangeFamily.js.map +1 -1
  416. package/dist/shared-tree/sharedTreeEditBuilder.d.ts +0 -2
  417. package/dist/shared-tree/sharedTreeEditBuilder.d.ts.map +1 -1
  418. package/dist/shared-tree/sharedTreeEditBuilder.js.map +1 -1
  419. package/dist/shared-tree/treeApi.js +3 -3
  420. package/dist/shared-tree/treeApi.js.map +1 -1
  421. package/dist/shared-tree/treeCheckout.d.ts +10 -6
  422. package/dist/shared-tree/treeCheckout.d.ts.map +1 -1
  423. package/dist/shared-tree/treeCheckout.js +51 -6
  424. package/dist/shared-tree/treeCheckout.js.map +1 -1
  425. package/dist/shared-tree/treeView.d.ts +3 -6
  426. package/dist/shared-tree/treeView.d.ts.map +1 -1
  427. package/dist/shared-tree/treeView.js +7 -3
  428. package/dist/shared-tree/treeView.js.map +1 -1
  429. package/dist/shared-tree-core/branch.d.ts +6 -0
  430. package/dist/shared-tree-core/branch.d.ts.map +1 -1
  431. package/dist/shared-tree-core/branch.js +13 -6
  432. package/dist/shared-tree-core/branch.js.map +1 -1
  433. package/dist/shared-tree-core/defaultResubmitMachine.js +3 -3
  434. package/dist/shared-tree-core/defaultResubmitMachine.js.map +1 -1
  435. package/dist/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
  436. package/dist/shared-tree-core/editManagerCodecs.js +1 -0
  437. package/dist/shared-tree-core/editManagerCodecs.js.map +1 -1
  438. package/dist/shared-tree-core/editManagerFormat.d.ts +2 -2
  439. package/dist/shared-tree-core/editManagerFormat.d.ts.map +1 -1
  440. package/dist/shared-tree-core/editManagerFormat.js +6 -1
  441. package/dist/shared-tree-core/editManagerFormat.js.map +1 -1
  442. package/dist/shared-tree-core/messageCodecs.d.ts.map +1 -1
  443. package/dist/shared-tree-core/messageCodecs.js +1 -0
  444. package/dist/shared-tree-core/messageCodecs.js.map +1 -1
  445. package/dist/shared-tree-core/sharedTreeCore.d.ts +4 -0
  446. package/dist/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
  447. package/dist/shared-tree-core/sharedTreeCore.js +9 -1
  448. package/dist/shared-tree-core/sharedTreeCore.js.map +1 -1
  449. package/dist/simple-tree/api/create.d.ts +54 -0
  450. package/dist/simple-tree/api/create.d.ts.map +1 -0
  451. package/dist/simple-tree/api/create.js +99 -0
  452. package/dist/simple-tree/api/create.js.map +1 -0
  453. package/dist/simple-tree/api/index.d.ts +12 -0
  454. package/dist/simple-tree/api/index.d.ts.map +1 -0
  455. package/dist/simple-tree/api/index.js +28 -0
  456. package/dist/simple-tree/api/index.js.map +1 -0
  457. package/{lib/simple-tree → dist/simple-tree/api}/schemaCreationUtilities.d.ts +7 -4
  458. package/dist/simple-tree/api/schemaCreationUtilities.d.ts.map +1 -0
  459. package/dist/simple-tree/{schemaCreationUtilities.js → api/schemaCreationUtilities.js} +1 -1
  460. package/dist/simple-tree/api/schemaCreationUtilities.js.map +1 -0
  461. package/dist/simple-tree/{schemaFactory.d.ts → api/schemaFactory.d.ts} +15 -14
  462. package/dist/simple-tree/api/schemaFactory.d.ts.map +1 -0
  463. package/dist/simple-tree/{schemaFactory.js → api/schemaFactory.js} +10 -9
  464. package/dist/simple-tree/api/schemaFactory.js.map +1 -0
  465. package/{lib/simple-tree → dist/simple-tree/api}/schemaFactoryRecursive.d.ts +40 -7
  466. package/dist/simple-tree/api/schemaFactoryRecursive.d.ts.map +1 -0
  467. package/dist/simple-tree/{schemaFactoryRecursive.js → api/schemaFactoryRecursive.js} +1 -1
  468. package/dist/simple-tree/api/schemaFactoryRecursive.js.map +1 -0
  469. package/dist/simple-tree/api/testRecursiveDomain.d.ts +62 -0
  470. package/dist/simple-tree/api/testRecursiveDomain.d.ts.map +1 -0
  471. package/dist/simple-tree/api/testRecursiveDomain.js.map +1 -0
  472. package/{lib/simple-tree → dist/simple-tree/api}/tree.d.ts +111 -20
  473. package/dist/simple-tree/api/tree.d.ts.map +1 -0
  474. package/dist/simple-tree/api/tree.js +173 -0
  475. package/dist/simple-tree/api/tree.js.map +1 -0
  476. package/dist/simple-tree/api/treeNodeApi.d.ts +87 -0
  477. package/dist/simple-tree/api/treeNodeApi.d.ts.map +1 -0
  478. package/dist/simple-tree/{treeNodeApi.js → api/treeNodeApi.js} +33 -33
  479. package/dist/simple-tree/api/treeNodeApi.js.map +1 -0
  480. package/dist/simple-tree/api/verboseTree.d.ts +136 -0
  481. package/dist/simple-tree/api/verboseTree.d.ts.map +1 -0
  482. package/dist/simple-tree/api/verboseTree.js +220 -0
  483. package/dist/simple-tree/api/verboseTree.js.map +1 -0
  484. package/dist/simple-tree/arrayNode.d.ts +3 -3
  485. package/dist/simple-tree/arrayNode.d.ts.map +1 -1
  486. package/dist/simple-tree/arrayNode.js +70 -69
  487. package/dist/simple-tree/arrayNode.js.map +1 -1
  488. package/dist/simple-tree/core/index.d.ts +10 -0
  489. package/dist/simple-tree/core/index.d.ts.map +1 -0
  490. package/dist/simple-tree/core/index.js +27 -0
  491. package/dist/simple-tree/core/index.js.map +1 -0
  492. package/{lib/simple-tree → dist/simple-tree/core}/schemaCaching.d.ts +2 -9
  493. package/dist/simple-tree/core/schemaCaching.d.ts.map +1 -0
  494. package/dist/simple-tree/{schemaCaching.js → core/schemaCaching.js} +2 -23
  495. package/dist/simple-tree/core/schemaCaching.js.map +1 -0
  496. package/dist/simple-tree/core/treeNodeKernel.d.ts +57 -0
  497. package/dist/simple-tree/core/treeNodeKernel.d.ts.map +1 -0
  498. package/dist/simple-tree/core/treeNodeKernel.js +128 -0
  499. package/dist/simple-tree/core/treeNodeKernel.js.map +1 -0
  500. package/dist/simple-tree/core/treeNodeSchema.d.ts +149 -0
  501. package/dist/simple-tree/core/treeNodeSchema.d.ts.map +1 -0
  502. package/dist/simple-tree/core/treeNodeSchema.js +35 -0
  503. package/dist/simple-tree/core/treeNodeSchema.js.map +1 -0
  504. package/dist/simple-tree/core/types.d.ts +178 -0
  505. package/dist/simple-tree/core/types.d.ts.map +1 -0
  506. package/dist/simple-tree/core/types.js +117 -0
  507. package/dist/simple-tree/core/types.js.map +1 -0
  508. package/dist/simple-tree/core/withType.d.ts +82 -0
  509. package/dist/simple-tree/core/withType.d.ts.map +1 -0
  510. package/dist/simple-tree/core/withType.js +39 -0
  511. package/dist/simple-tree/core/withType.js.map +1 -0
  512. package/dist/simple-tree/getJsonSchema.d.ts +55 -0
  513. package/dist/simple-tree/getJsonSchema.d.ts.map +1 -0
  514. package/dist/simple-tree/getJsonSchema.js +69 -0
  515. package/dist/simple-tree/getJsonSchema.js.map +1 -0
  516. package/dist/simple-tree/getSimpleFieldSchema.d.ts +14 -0
  517. package/dist/simple-tree/getSimpleFieldSchema.d.ts.map +1 -0
  518. package/dist/simple-tree/getSimpleFieldSchema.js +29 -0
  519. package/dist/simple-tree/getSimpleFieldSchema.js.map +1 -0
  520. package/dist/simple-tree/getSimpleSchema.d.ts +58 -0
  521. package/dist/simple-tree/getSimpleSchema.d.ts.map +1 -0
  522. package/dist/simple-tree/getSimpleSchema.js +68 -0
  523. package/dist/simple-tree/getSimpleSchema.js.map +1 -0
  524. package/dist/simple-tree/index.d.ts +12 -13
  525. package/dist/simple-tree/index.d.ts.map +1 -1
  526. package/dist/simple-tree/index.js +27 -23
  527. package/dist/simple-tree/index.js.map +1 -1
  528. package/dist/simple-tree/jsonSchema.d.ts +206 -0
  529. package/dist/simple-tree/jsonSchema.d.ts.map +1 -0
  530. package/dist/{feature-libraries/schema-aware/index.js → simple-tree/jsonSchema.js} +1 -1
  531. package/dist/simple-tree/jsonSchema.js.map +1 -0
  532. package/dist/simple-tree/leafNodeSchema.d.ts +1 -1
  533. package/dist/simple-tree/leafNodeSchema.d.ts.map +1 -1
  534. package/dist/simple-tree/leafNodeSchema.js +3 -4
  535. package/dist/simple-tree/leafNodeSchema.js.map +1 -1
  536. package/dist/simple-tree/mapNode.d.ts +9 -3
  537. package/dist/simple-tree/mapNode.d.ts.map +1 -1
  538. package/dist/simple-tree/mapNode.js +33 -35
  539. package/dist/simple-tree/mapNode.js.map +1 -1
  540. package/dist/simple-tree/objectNode.d.ts +18 -16
  541. package/dist/simple-tree/objectNode.d.ts.map +1 -1
  542. package/dist/simple-tree/objectNode.js +43 -44
  543. package/dist/simple-tree/objectNode.js.map +1 -1
  544. package/dist/simple-tree/objectNodeTypes.d.ts +38 -0
  545. package/dist/simple-tree/objectNodeTypes.d.ts.map +1 -0
  546. package/dist/simple-tree/objectNodeTypes.js +19 -0
  547. package/dist/simple-tree/objectNodeTypes.js.map +1 -0
  548. package/dist/simple-tree/proxies.d.ts +6 -25
  549. package/dist/simple-tree/proxies.d.ts.map +1 -1
  550. package/dist/simple-tree/proxies.js +54 -81
  551. package/dist/simple-tree/proxies.js.map +1 -1
  552. package/dist/simple-tree/proxyBinding.d.ts +46 -19
  553. package/dist/simple-tree/proxyBinding.d.ts.map +1 -1
  554. package/dist/simple-tree/proxyBinding.js +101 -44
  555. package/dist/simple-tree/proxyBinding.js.map +1 -1
  556. package/dist/simple-tree/schemaTypes.d.ts +10 -159
  557. package/dist/simple-tree/schemaTypes.d.ts.map +1 -1
  558. package/dist/simple-tree/schemaTypes.js +11 -42
  559. package/dist/simple-tree/schemaTypes.js.map +1 -1
  560. package/dist/simple-tree/simpleSchema.d.ts +124 -0
  561. package/dist/simple-tree/simpleSchema.d.ts.map +1 -0
  562. package/dist/{feature-libraries/schema-aware/schemaAware.js → simple-tree/simpleSchema.js} +1 -1
  563. package/dist/simple-tree/simpleSchema.js.map +1 -0
  564. package/dist/simple-tree/simpleSchemaToJsonSchema.d.ts +12 -0
  565. package/dist/simple-tree/simpleSchemaToJsonSchema.d.ts.map +1 -0
  566. package/dist/simple-tree/simpleSchemaToJsonSchema.js +146 -0
  567. package/dist/simple-tree/simpleSchemaToJsonSchema.js.map +1 -0
  568. package/dist/simple-tree/toFlexSchema.d.ts +4 -12
  569. package/dist/simple-tree/toFlexSchema.d.ts.map +1 -1
  570. package/dist/simple-tree/toFlexSchema.js +42 -52
  571. package/dist/simple-tree/toFlexSchema.js.map +1 -1
  572. package/dist/simple-tree/toMapTree.d.ts +39 -39
  573. package/dist/simple-tree/toMapTree.d.ts.map +1 -1
  574. package/dist/simple-tree/toMapTree.js +227 -171
  575. package/dist/simple-tree/toMapTree.js.map +1 -1
  576. package/dist/simple-tree/{types.d.ts → treeNodeValid.d.ts} +2 -80
  577. package/dist/simple-tree/treeNodeValid.d.ts.map +1 -0
  578. package/dist/simple-tree/{types.js → treeNodeValid.js} +102 -107
  579. package/dist/simple-tree/treeNodeValid.js.map +1 -0
  580. package/dist/simple-tree/typesUnsafe.d.ts +35 -4
  581. package/dist/simple-tree/typesUnsafe.d.ts.map +1 -1
  582. package/dist/simple-tree/typesUnsafe.js.map +1 -1
  583. package/dist/simple-tree/viewSchemaToSimpleSchema.d.ts +11 -0
  584. package/dist/simple-tree/viewSchemaToSimpleSchema.d.ts.map +1 -0
  585. package/dist/simple-tree/viewSchemaToSimpleSchema.js +171 -0
  586. package/dist/simple-tree/viewSchemaToSimpleSchema.js.map +1 -0
  587. package/dist/util/brand.d.ts +0 -3
  588. package/dist/util/brand.d.ts.map +1 -1
  589. package/dist/util/brand.js +1 -2
  590. package/dist/util/brand.js.map +1 -1
  591. package/dist/util/brandedMap.d.ts +0 -5
  592. package/dist/util/brandedMap.d.ts.map +1 -1
  593. package/dist/util/brandedMap.js +0 -1
  594. package/dist/util/brandedMap.js.map +1 -1
  595. package/dist/util/breakable.js +1 -1
  596. package/dist/util/breakable.js.map +1 -1
  597. package/dist/util/idAllocator.d.ts +0 -2
  598. package/dist/util/idAllocator.d.ts.map +1 -1
  599. package/dist/util/idAllocator.js +0 -1
  600. package/dist/util/idAllocator.js.map +1 -1
  601. package/dist/util/index.d.ts +2 -2
  602. package/dist/util/index.d.ts.map +1 -1
  603. package/dist/util/index.js +4 -2
  604. package/dist/util/index.js.map +1 -1
  605. package/dist/util/nestedMap.d.ts +5 -19
  606. package/dist/util/nestedMap.d.ts.map +1 -1
  607. package/dist/util/nestedMap.js +17 -17
  608. package/dist/util/nestedMap.js.map +1 -1
  609. package/dist/util/opaque.d.ts +0 -4
  610. package/dist/util/opaque.d.ts.map +1 -1
  611. package/dist/util/opaque.js +0 -2
  612. package/dist/util/opaque.js.map +1 -1
  613. package/dist/util/rangeMap.d.ts +0 -2
  614. package/dist/util/rangeMap.d.ts.map +1 -1
  615. package/dist/util/rangeMap.js +4 -3
  616. package/dist/util/rangeMap.js.map +1 -1
  617. package/dist/util/transactionResult.d.ts +0 -1
  618. package/dist/util/transactionResult.d.ts.map +1 -1
  619. package/dist/util/transactionResult.js +0 -1
  620. package/dist/util/transactionResult.js.map +1 -1
  621. package/dist/util/typeCheck.d.ts +2 -20
  622. package/dist/util/typeCheck.d.ts.map +1 -1
  623. package/dist/util/typeCheck.js.map +1 -1
  624. package/dist/util/typeCheckTests.d.ts +4 -4
  625. package/dist/util/typeCheckTests.d.ts.map +1 -1
  626. package/dist/util/typeCheckTests.js.map +1 -1
  627. package/dist/util/typeUtils.d.ts +0 -7
  628. package/dist/util/typeUtils.d.ts.map +1 -1
  629. package/dist/util/typeUtils.js.map +1 -1
  630. package/dist/util/utils.d.ts +6 -8
  631. package/dist/util/utils.d.ts.map +1 -1
  632. package/dist/util/utils.js +14 -5
  633. package/dist/util/utils.js.map +1 -1
  634. package/lib/beta.d.ts +3 -1
  635. package/lib/codec/discriminatedUnions.d.ts +11 -5
  636. package/lib/codec/discriminatedUnions.d.ts.map +1 -1
  637. package/lib/codec/discriminatedUnions.js.map +1 -1
  638. package/lib/codec/index.d.ts +1 -1
  639. package/lib/codec/index.d.ts.map +1 -1
  640. package/lib/codec/index.js +1 -1
  641. package/lib/codec/index.js.map +1 -1
  642. package/lib/core/forest/editableForest.d.ts +1 -5
  643. package/lib/core/forest/editableForest.d.ts.map +1 -1
  644. package/lib/core/forest/editableForest.js +4 -2
  645. package/lib/core/forest/editableForest.js.map +1 -1
  646. package/lib/core/forest/forest.d.ts +0 -6
  647. package/lib/core/forest/forest.d.ts.map +1 -1
  648. package/lib/core/forest/forest.js +0 -2
  649. package/lib/core/forest/forest.js.map +1 -1
  650. package/lib/core/index.d.ts +2 -2
  651. package/lib/core/index.d.ts.map +1 -1
  652. package/lib/core/index.js +2 -2
  653. package/lib/core/index.js.map +1 -1
  654. package/lib/core/rebase/changeRebaser.d.ts +0 -4
  655. package/lib/core/rebase/changeRebaser.d.ts.map +1 -1
  656. package/lib/core/rebase/changeRebaser.js.map +1 -1
  657. package/lib/core/rebase/index.d.ts +1 -1
  658. package/lib/core/rebase/index.d.ts.map +1 -1
  659. package/lib/core/rebase/index.js +1 -1
  660. package/lib/core/rebase/index.js.map +1 -1
  661. package/lib/core/rebase/types.d.ts +1 -8
  662. package/lib/core/rebase/types.d.ts.map +1 -1
  663. package/lib/core/rebase/types.js +1 -7
  664. package/lib/core/rebase/types.js.map +1 -1
  665. package/lib/core/rebase/utils.d.ts +0 -1
  666. package/lib/core/rebase/utils.d.ts.map +1 -1
  667. package/lib/core/rebase/utils.js +13 -8
  668. package/lib/core/rebase/utils.js.map +1 -1
  669. package/lib/core/schema-stored/multiplicity.d.ts +0 -1
  670. package/lib/core/schema-stored/multiplicity.d.ts.map +1 -1
  671. package/lib/core/schema-stored/multiplicity.js +0 -1
  672. package/lib/core/schema-stored/multiplicity.js.map +1 -1
  673. package/lib/core/schema-stored/schema.d.ts +0 -7
  674. package/lib/core/schema-stored/schema.d.ts.map +1 -1
  675. package/lib/core/schema-stored/schema.js +0 -4
  676. package/lib/core/schema-stored/schema.js.map +1 -1
  677. package/lib/core/schema-stored/storedSchemaRepository.d.ts +0 -3
  678. package/lib/core/schema-stored/storedSchemaRepository.d.ts.map +1 -1
  679. package/lib/core/schema-stored/storedSchemaRepository.js.map +1 -1
  680. package/lib/core/schema-view/view.d.ts +0 -3
  681. package/lib/core/schema-view/view.d.ts.map +1 -1
  682. package/lib/core/schema-view/view.js +0 -1
  683. package/lib/core/schema-view/view.js.map +1 -1
  684. package/lib/core/tree/anchorSet.d.ts +1 -10
  685. package/lib/core/tree/anchorSet.d.ts.map +1 -1
  686. package/lib/core/tree/anchorSet.js +14 -4
  687. package/lib/core/tree/anchorSet.js.map +1 -1
  688. package/lib/core/tree/cursor.d.ts +1 -6
  689. package/lib/core/tree/cursor.d.ts.map +1 -1
  690. package/lib/core/tree/cursor.js +0 -2
  691. package/lib/core/tree/cursor.js.map +1 -1
  692. package/lib/core/tree/delta.d.ts +0 -11
  693. package/lib/core/tree/delta.d.ts.map +1 -1
  694. package/lib/core/tree/delta.js.map +1 -1
  695. package/lib/core/tree/detachedFieldIndex.d.ts +48 -11
  696. package/lib/core/tree/detachedFieldIndex.d.ts.map +1 -1
  697. package/lib/core/tree/detachedFieldIndex.js +145 -21
  698. package/lib/core/tree/detachedFieldIndex.js.map +1 -1
  699. package/lib/core/tree/detachedFieldIndexCodec.d.ts.map +1 -1
  700. package/lib/core/tree/detachedFieldIndexCodec.js +17 -7
  701. package/lib/core/tree/detachedFieldIndexCodec.js.map +1 -1
  702. package/lib/core/tree/detachedFieldIndexFormat.d.ts +1 -1
  703. package/lib/core/tree/detachedFieldIndexFormat.d.ts.map +1 -1
  704. package/lib/core/tree/detachedFieldIndexFormat.js.map +1 -1
  705. package/lib/core/tree/detachedFieldIndexTypes.d.ts +38 -4
  706. package/lib/core/tree/detachedFieldIndexTypes.d.ts.map +1 -1
  707. package/lib/core/tree/detachedFieldIndexTypes.js.map +1 -1
  708. package/lib/core/tree/index.d.ts +3 -2
  709. package/lib/core/tree/index.d.ts.map +1 -1
  710. package/lib/core/tree/index.js +1 -0
  711. package/lib/core/tree/index.js.map +1 -1
  712. package/lib/core/tree/mapTree.d.ts +20 -4
  713. package/lib/core/tree/mapTree.d.ts.map +1 -1
  714. package/lib/core/tree/mapTree.js +27 -1
  715. package/lib/core/tree/mapTree.js.map +1 -1
  716. package/lib/core/tree/pathTree.d.ts +0 -11
  717. package/lib/core/tree/pathTree.d.ts.map +1 -1
  718. package/lib/core/tree/pathTree.js.map +1 -1
  719. package/lib/core/tree/treeTextFormat.d.ts.map +1 -1
  720. package/lib/core/tree/treeTextFormat.js +3 -2
  721. package/lib/core/tree/treeTextFormat.js.map +1 -1
  722. package/lib/core/tree/types.d.ts +0 -11
  723. package/lib/core/tree/types.d.ts.map +1 -1
  724. package/lib/core/tree/types.js +0 -4
  725. package/lib/core/tree/types.js.map +1 -1
  726. package/lib/core/tree/visitDelta.d.ts +3 -2
  727. package/lib/core/tree/visitDelta.d.ts.map +1 -1
  728. package/lib/core/tree/visitDelta.js +33 -17
  729. package/lib/core/tree/visitDelta.js.map +1 -1
  730. package/lib/core/tree/visitPath.d.ts +0 -2
  731. package/lib/core/tree/visitPath.d.ts.map +1 -1
  732. package/lib/core/tree/visitPath.js.map +1 -1
  733. package/lib/core/tree/visitorUtils.d.ts +3 -4
  734. package/lib/core/tree/visitorUtils.d.ts.map +1 -1
  735. package/lib/core/tree/visitorUtils.js +4 -4
  736. package/lib/core/tree/visitorUtils.js.map +1 -1
  737. package/lib/domains/index.d.ts +1 -1
  738. package/lib/domains/index.d.ts.map +1 -1
  739. package/lib/domains/index.js +1 -1
  740. package/lib/domains/index.js.map +1 -1
  741. package/lib/domains/json/index.d.ts +1 -1
  742. package/lib/domains/json/index.d.ts.map +1 -1
  743. package/lib/domains/json/index.js +1 -1
  744. package/lib/domains/json/index.js.map +1 -1
  745. package/lib/domains/json/jsonCursor.d.ts +36 -2
  746. package/lib/domains/json/jsonCursor.d.ts.map +1 -1
  747. package/lib/domains/json/jsonCursor.js +76 -5
  748. package/lib/domains/json/jsonCursor.js.map +1 -1
  749. package/lib/domains/json/jsonDomainSchema.d.ts +13 -3
  750. package/lib/domains/json/jsonDomainSchema.d.ts.map +1 -1
  751. package/lib/domains/json/jsonDomainSchema.js +9 -1
  752. package/lib/domains/json/jsonDomainSchema.js.map +1 -1
  753. package/lib/domains/leafDomain.d.ts +0 -1
  754. package/lib/domains/leafDomain.d.ts.map +1 -1
  755. package/lib/domains/leafDomain.js +0 -1
  756. package/lib/domains/leafDomain.js.map +1 -1
  757. package/lib/domains/schemaBuilder.d.ts +1 -7
  758. package/lib/domains/schemaBuilder.d.ts.map +1 -1
  759. package/lib/domains/schemaBuilder.js +1 -11
  760. package/lib/domains/schemaBuilder.js.map +1 -1
  761. package/lib/events/events.d.ts +0 -4
  762. package/lib/events/events.d.ts.map +1 -1
  763. package/lib/events/events.js +0 -1
  764. package/lib/events/events.js.map +1 -1
  765. package/lib/feature-libraries/chunked-forest/basicChunk.d.ts.map +1 -1
  766. package/lib/feature-libraries/chunked-forest/basicChunk.js +9 -4
  767. package/lib/feature-libraries/chunked-forest/basicChunk.js.map +1 -1
  768. package/lib/feature-libraries/chunked-forest/chunk.d.ts +1 -1
  769. package/lib/feature-libraries/chunked-forest/chunk.d.ts.map +1 -1
  770. package/lib/feature-libraries/chunked-forest/chunk.js.map +1 -1
  771. package/lib/feature-libraries/chunked-forest/chunkTree.js +4 -4
  772. package/lib/feature-libraries/chunked-forest/chunkTree.js.map +1 -1
  773. package/lib/feature-libraries/chunked-forest/chunkedForest.d.ts.map +1 -1
  774. package/lib/feature-libraries/chunked-forest/chunkedForest.js +8 -6
  775. package/lib/feature-libraries/chunked-forest/chunkedForest.js.map +1 -1
  776. package/lib/feature-libraries/chunked-forest/codec/chunkCodecUtilities.js +2 -2
  777. package/lib/feature-libraries/chunked-forest/codec/chunkCodecUtilities.js.map +1 -1
  778. package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts.map +1 -1
  779. package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.js +9 -6
  780. package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.js.map +1 -1
  781. package/lib/feature-libraries/chunked-forest/uniformChunk.d.ts.map +1 -1
  782. package/lib/feature-libraries/chunked-forest/uniformChunk.js +6 -4
  783. package/lib/feature-libraries/chunked-forest/uniformChunk.js.map +1 -1
  784. package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts +12 -24
  785. package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
  786. package/lib/feature-libraries/default-schema/defaultEditBuilder.js +6 -16
  787. package/lib/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
  788. package/lib/feature-libraries/default-schema/defaultFieldKinds.d.ts +0 -6
  789. package/lib/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -1
  790. package/lib/feature-libraries/default-schema/defaultFieldKinds.js +11 -1
  791. package/lib/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -1
  792. package/lib/feature-libraries/default-schema/defaultSchema.d.ts +0 -1
  793. package/lib/feature-libraries/default-schema/defaultSchema.d.ts.map +1 -1
  794. package/lib/feature-libraries/default-schema/defaultSchema.js +0 -1
  795. package/lib/feature-libraries/default-schema/defaultSchema.js.map +1 -1
  796. package/lib/feature-libraries/default-schema/index.d.ts +1 -1
  797. package/lib/feature-libraries/default-schema/index.d.ts.map +1 -1
  798. package/lib/feature-libraries/default-schema/index.js +1 -1
  799. package/lib/feature-libraries/default-schema/index.js.map +1 -1
  800. package/lib/feature-libraries/default-schema/schemaChecker.d.ts +6 -0
  801. package/lib/feature-libraries/default-schema/schemaChecker.d.ts.map +1 -1
  802. package/lib/feature-libraries/default-schema/schemaChecker.js +6 -0
  803. package/lib/feature-libraries/default-schema/schemaChecker.js.map +1 -1
  804. package/lib/feature-libraries/editableTreeBinder.d.ts +0 -67
  805. package/lib/feature-libraries/editableTreeBinder.d.ts.map +1 -1
  806. package/lib/feature-libraries/editableTreeBinder.js +7 -26
  807. package/lib/feature-libraries/editableTreeBinder.js.map +1 -1
  808. package/lib/feature-libraries/fieldGenerator.d.ts +0 -3
  809. package/lib/feature-libraries/fieldGenerator.d.ts.map +1 -1
  810. package/lib/feature-libraries/fieldGenerator.js +0 -1
  811. package/lib/feature-libraries/fieldGenerator.js.map +1 -1
  812. package/lib/feature-libraries/flex-map-tree/index.d.ts +1 -1
  813. package/lib/feature-libraries/flex-map-tree/index.d.ts.map +1 -1
  814. package/lib/feature-libraries/flex-map-tree/index.js +1 -1
  815. package/lib/feature-libraries/flex-map-tree/index.js.map +1 -1
  816. package/lib/feature-libraries/flex-map-tree/mapTreeNode.d.ts +57 -56
  817. package/lib/feature-libraries/flex-map-tree/mapTreeNode.d.ts.map +1 -1
  818. package/lib/feature-libraries/flex-map-tree/mapTreeNode.js +169 -217
  819. package/lib/feature-libraries/flex-map-tree/mapTreeNode.js.map +1 -1
  820. package/lib/feature-libraries/flex-tree/context.d.ts +0 -1
  821. package/lib/feature-libraries/flex-tree/context.d.ts.map +1 -1
  822. package/lib/feature-libraries/flex-tree/context.js.map +1 -1
  823. package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts +18 -295
  824. package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -1
  825. package/lib/feature-libraries/flex-tree/flexTreeTypes.js +0 -6
  826. package/lib/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -1
  827. package/lib/feature-libraries/flex-tree/index.d.ts +3 -2
  828. package/lib/feature-libraries/flex-tree/index.d.ts.map +1 -1
  829. package/lib/feature-libraries/flex-tree/index.js +2 -1
  830. package/lib/feature-libraries/flex-tree/index.js.map +1 -1
  831. package/lib/feature-libraries/flex-tree/lazyEntity.d.ts +1 -2
  832. package/lib/feature-libraries/flex-tree/lazyEntity.d.ts.map +1 -1
  833. package/lib/feature-libraries/flex-tree/lazyEntity.js.map +1 -1
  834. package/lib/feature-libraries/flex-tree/lazyField.d.ts +9 -27
  835. package/lib/feature-libraries/flex-tree/lazyField.d.ts.map +1 -1
  836. package/lib/feature-libraries/flex-tree/lazyField.js +39 -120
  837. package/lib/feature-libraries/flex-tree/lazyField.js.map +1 -1
  838. package/lib/feature-libraries/flex-tree/lazyNode.d.ts +2 -13
  839. package/lib/feature-libraries/flex-tree/lazyNode.d.ts.map +1 -1
  840. package/lib/feature-libraries/flex-tree/lazyNode.js +7 -72
  841. package/lib/feature-libraries/flex-tree/lazyNode.js.map +1 -1
  842. package/lib/feature-libraries/flex-tree/treeEvents.d.ts +0 -2
  843. package/lib/feature-libraries/flex-tree/treeEvents.d.ts.map +1 -1
  844. package/lib/feature-libraries/flex-tree/treeEvents.js.map +1 -1
  845. package/lib/feature-libraries/flex-tree/utilities.d.ts +2 -1
  846. package/lib/feature-libraries/flex-tree/utilities.d.ts.map +1 -1
  847. package/lib/feature-libraries/flex-tree/utilities.js +4 -0
  848. package/lib/feature-libraries/flex-tree/utilities.js.map +1 -1
  849. package/lib/feature-libraries/forest-summary/codec.js +3 -3
  850. package/lib/feature-libraries/forest-summary/codec.js.map +1 -1
  851. package/lib/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
  852. package/lib/feature-libraries/forest-summary/forestSummarizer.js +1 -1
  853. package/lib/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
  854. package/lib/feature-libraries/index.d.ts +6 -8
  855. package/lib/feature-libraries/index.d.ts.map +1 -1
  856. package/lib/feature-libraries/index.js +6 -7
  857. package/lib/feature-libraries/index.js.map +1 -1
  858. package/lib/feature-libraries/mapTreeCursor.d.ts +6 -2
  859. package/lib/feature-libraries/mapTreeCursor.d.ts.map +1 -1
  860. package/lib/feature-libraries/mapTreeCursor.js +7 -0
  861. package/lib/feature-libraries/mapTreeCursor.js.map +1 -1
  862. package/lib/feature-libraries/memoizedIdRangeAllocator.d.ts +0 -4
  863. package/lib/feature-libraries/memoizedIdRangeAllocator.d.ts.map +1 -1
  864. package/lib/feature-libraries/memoizedIdRangeAllocator.js +0 -1
  865. package/lib/feature-libraries/memoizedIdRangeAllocator.js.map +1 -1
  866. package/lib/feature-libraries/modular-schema/crossFieldQueries.d.ts +0 -2
  867. package/lib/feature-libraries/modular-schema/crossFieldQueries.d.ts.map +1 -1
  868. package/lib/feature-libraries/modular-schema/crossFieldQueries.js +0 -1
  869. package/lib/feature-libraries/modular-schema/crossFieldQueries.js.map +1 -1
  870. package/lib/feature-libraries/modular-schema/discrepancies.d.ts +18 -0
  871. package/lib/feature-libraries/modular-schema/discrepancies.d.ts.map +1 -1
  872. package/lib/feature-libraries/modular-schema/discrepancies.js +106 -4
  873. package/lib/feature-libraries/modular-schema/discrepancies.js.map +1 -1
  874. package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts +0 -8
  875. package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -1
  876. package/lib/feature-libraries/modular-schema/fieldChangeHandler.js +0 -1
  877. package/lib/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -1
  878. package/lib/feature-libraries/modular-schema/fieldKind.d.ts +1 -3
  879. package/lib/feature-libraries/modular-schema/fieldKind.d.ts.map +1 -1
  880. package/lib/feature-libraries/modular-schema/fieldKind.js +1 -2
  881. package/lib/feature-libraries/modular-schema/fieldKind.js.map +1 -1
  882. package/lib/feature-libraries/modular-schema/genericFieldKind.d.ts +1 -2
  883. package/lib/feature-libraries/modular-schema/genericFieldKind.d.ts.map +1 -1
  884. package/lib/feature-libraries/modular-schema/genericFieldKind.js +56 -83
  885. package/lib/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
  886. package/lib/feature-libraries/modular-schema/genericFieldKindCodecs.d.ts +1 -1
  887. package/lib/feature-libraries/modular-schema/genericFieldKindCodecs.d.ts.map +1 -1
  888. package/lib/feature-libraries/modular-schema/genericFieldKindCodecs.js +6 -9
  889. package/lib/feature-libraries/modular-schema/genericFieldKindCodecs.js.map +1 -1
  890. package/lib/feature-libraries/modular-schema/genericFieldKindTypes.d.ts +3 -14
  891. package/lib/feature-libraries/modular-schema/genericFieldKindTypes.d.ts.map +1 -1
  892. package/lib/feature-libraries/modular-schema/genericFieldKindTypes.js +4 -1
  893. package/lib/feature-libraries/modular-schema/genericFieldKindTypes.js.map +1 -1
  894. package/lib/feature-libraries/modular-schema/index.d.ts +2 -2
  895. package/lib/feature-libraries/modular-schema/index.d.ts.map +1 -1
  896. package/lib/feature-libraries/modular-schema/index.js +1 -1
  897. package/lib/feature-libraries/modular-schema/index.js.map +1 -1
  898. package/lib/feature-libraries/modular-schema/modularChangeCodecs.d.ts.map +1 -1
  899. package/lib/feature-libraries/modular-schema/modularChangeCodecs.js +43 -26
  900. package/lib/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -1
  901. package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts +9 -8
  902. package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
  903. package/lib/feature-libraries/modular-schema/modularChangeFamily.js +182 -222
  904. package/lib/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
  905. package/lib/feature-libraries/modular-schema/modularChangeTypes.d.ts +8 -14
  906. package/lib/feature-libraries/modular-schema/modularChangeTypes.d.ts.map +1 -1
  907. package/lib/feature-libraries/modular-schema/modularChangeTypes.js.map +1 -1
  908. package/lib/feature-libraries/node-key/nodeKey.d.ts +0 -4
  909. package/lib/feature-libraries/node-key/nodeKey.d.ts.map +1 -1
  910. package/lib/feature-libraries/node-key/nodeKey.js +0 -2
  911. package/lib/feature-libraries/node-key/nodeKey.js.map +1 -1
  912. package/lib/feature-libraries/node-key/nodeKeyManager.d.ts +0 -1
  913. package/lib/feature-libraries/node-key/nodeKeyManager.d.ts.map +1 -1
  914. package/lib/feature-libraries/node-key/nodeKeyManager.js.map +1 -1
  915. package/lib/feature-libraries/object-forest/objectForest.d.ts +3 -2
  916. package/lib/feature-libraries/object-forest/objectForest.d.ts.map +1 -1
  917. package/lib/feature-libraries/object-forest/objectForest.js +7 -15
  918. package/lib/feature-libraries/object-forest/objectForest.js.map +1 -1
  919. package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV1.d.ts +6 -6
  920. package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV1.d.ts.map +1 -1
  921. package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV2.d.ts +7 -7
  922. package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV2.d.ts.map +1 -1
  923. package/lib/feature-libraries/schemaBuilderBase.d.ts +2 -28
  924. package/lib/feature-libraries/schemaBuilderBase.d.ts.map +1 -1
  925. package/lib/feature-libraries/schemaBuilderBase.js +2 -28
  926. package/lib/feature-libraries/schemaBuilderBase.js.map +1 -1
  927. package/lib/feature-libraries/sequence-field/compose.d.ts.map +1 -1
  928. package/lib/feature-libraries/sequence-field/compose.js +25 -22
  929. package/lib/feature-libraries/sequence-field/compose.js.map +1 -1
  930. package/lib/feature-libraries/sequence-field/formatV2.d.ts +3 -3
  931. package/lib/feature-libraries/sequence-field/formatV2.d.ts.map +1 -1
  932. package/lib/feature-libraries/sequence-field/formatV2.js +3 -3
  933. package/lib/feature-libraries/sequence-field/formatV2.js.map +1 -1
  934. package/lib/feature-libraries/sequence-field/formatV3.d.ts +195 -0
  935. package/lib/feature-libraries/sequence-field/formatV3.d.ts.map +1 -0
  936. package/lib/feature-libraries/sequence-field/formatV3.js +19 -0
  937. package/lib/feature-libraries/sequence-field/formatV3.js.map +1 -0
  938. package/lib/feature-libraries/sequence-field/helperTypes.d.ts +11 -0
  939. package/lib/feature-libraries/sequence-field/helperTypes.d.ts.map +1 -1
  940. package/lib/feature-libraries/sequence-field/helperTypes.js.map +1 -1
  941. package/lib/feature-libraries/sequence-field/index.d.ts +1 -1
  942. package/lib/feature-libraries/sequence-field/index.d.ts.map +1 -1
  943. package/lib/feature-libraries/sequence-field/index.js.map +1 -1
  944. package/lib/feature-libraries/sequence-field/invert.d.ts.map +1 -1
  945. package/lib/feature-libraries/sequence-field/invert.js +22 -14
  946. package/lib/feature-libraries/sequence-field/invert.js.map +1 -1
  947. package/lib/feature-libraries/sequence-field/markQueue.js +2 -2
  948. package/lib/feature-libraries/sequence-field/markQueue.js.map +1 -1
  949. package/lib/feature-libraries/sequence-field/moveEffectTable.d.ts +2 -2
  950. package/lib/feature-libraries/sequence-field/moveEffectTable.d.ts.map +1 -1
  951. package/lib/feature-libraries/sequence-field/moveEffectTable.js.map +1 -1
  952. package/lib/feature-libraries/sequence-field/rebase.d.ts.map +1 -1
  953. package/lib/feature-libraries/sequence-field/rebase.js +25 -7
  954. package/lib/feature-libraries/sequence-field/rebase.js.map +1 -1
  955. package/lib/feature-libraries/sequence-field/replaceRevisions.d.ts.map +1 -1
  956. package/lib/feature-libraries/sequence-field/replaceRevisions.js +16 -3
  957. package/lib/feature-libraries/sequence-field/replaceRevisions.js.map +1 -1
  958. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV1.d.ts.map +1 -1
  959. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV1.js +40 -6
  960. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV1.js.map +1 -1
  961. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts +4 -1
  962. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts.map +1 -1
  963. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.js +55 -11
  964. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.js.map +1 -1
  965. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.d.ts +11 -0
  966. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.d.ts.map +1 -0
  967. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.js +81 -0
  968. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.js.map +1 -0
  969. package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts.map +1 -1
  970. package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.js +2 -0
  971. package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.js.map +1 -1
  972. package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts.map +1 -1
  973. package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.js +5 -2
  974. package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.js.map +1 -1
  975. package/lib/feature-libraries/sequence-field/types.d.ts +23 -4
  976. package/lib/feature-libraries/sequence-field/types.d.ts.map +1 -1
  977. package/lib/feature-libraries/sequence-field/types.js.map +1 -1
  978. package/lib/feature-libraries/sequence-field/utils.d.ts +5 -4
  979. package/lib/feature-libraries/sequence-field/utils.d.ts.map +1 -1
  980. package/lib/feature-libraries/sequence-field/utils.js +67 -41
  981. package/lib/feature-libraries/sequence-field/utils.js.map +1 -1
  982. package/lib/feature-libraries/storedToViewSchema.d.ts +0 -1
  983. package/lib/feature-libraries/storedToViewSchema.d.ts.map +1 -1
  984. package/lib/feature-libraries/storedToViewSchema.js +0 -1
  985. package/lib/feature-libraries/storedToViewSchema.js.map +1 -1
  986. package/lib/feature-libraries/treeCursorUtils.d.ts +0 -6
  987. package/lib/feature-libraries/treeCursorUtils.d.ts.map +1 -1
  988. package/lib/feature-libraries/treeCursorUtils.js +9 -7
  989. package/lib/feature-libraries/treeCursorUtils.js.map +1 -1
  990. package/lib/feature-libraries/treeTextCursor.d.ts +0 -2
  991. package/lib/feature-libraries/treeTextCursor.d.ts.map +1 -1
  992. package/lib/feature-libraries/treeTextCursor.js +0 -2
  993. package/lib/feature-libraries/treeTextCursor.js.map +1 -1
  994. package/lib/feature-libraries/typed-schema/flexList.d.ts +0 -3
  995. package/lib/feature-libraries/typed-schema/flexList.d.ts.map +1 -1
  996. package/lib/feature-libraries/typed-schema/flexList.js.map +1 -1
  997. package/lib/feature-libraries/typed-schema/index.d.ts +1 -1
  998. package/lib/feature-libraries/typed-schema/index.d.ts.map +1 -1
  999. package/lib/feature-libraries/typed-schema/index.js +1 -1
  1000. package/lib/feature-libraries/typed-schema/index.js.map +1 -1
  1001. package/lib/feature-libraries/typed-schema/schemaCollection.d.ts.map +1 -1
  1002. package/lib/feature-libraries/typed-schema/schemaCollection.js +1 -5
  1003. package/lib/feature-libraries/typed-schema/schemaCollection.js.map +1 -1
  1004. package/lib/feature-libraries/typed-schema/typedTreeSchema.d.ts +2 -41
  1005. package/lib/feature-libraries/typed-schema/typedTreeSchema.d.ts.map +1 -1
  1006. package/lib/feature-libraries/typed-schema/typedTreeSchema.js +1 -38
  1007. package/lib/feature-libraries/typed-schema/typedTreeSchema.js.map +1 -1
  1008. package/lib/feature-libraries/typed-schema/view.d.ts +0 -1
  1009. package/lib/feature-libraries/typed-schema/view.d.ts.map +1 -1
  1010. package/lib/feature-libraries/typed-schema/view.js.map +1 -1
  1011. package/lib/index.d.ts +8 -9
  1012. package/lib/index.d.ts.map +1 -1
  1013. package/lib/index.js +4 -9
  1014. package/lib/index.js.map +1 -1
  1015. package/lib/internalTypes.d.ts +1 -1
  1016. package/lib/internalTypes.d.ts.map +1 -1
  1017. package/lib/internalTypes.js.map +1 -1
  1018. package/lib/packageVersion.d.ts +1 -1
  1019. package/lib/packageVersion.d.ts.map +1 -1
  1020. package/lib/packageVersion.js +1 -1
  1021. package/lib/packageVersion.js.map +1 -1
  1022. package/lib/public.d.ts +3 -1
  1023. package/lib/shared-tree/schematizeTree.d.ts +2 -11
  1024. package/lib/shared-tree/schematizeTree.d.ts.map +1 -1
  1025. package/lib/shared-tree/schematizeTree.js +15 -4
  1026. package/lib/shared-tree/schematizeTree.js.map +1 -1
  1027. package/lib/shared-tree/schematizingTreeView.d.ts +4 -4
  1028. package/lib/shared-tree/schematizingTreeView.d.ts.map +1 -1
  1029. package/lib/shared-tree/schematizingTreeView.js +3 -3
  1030. package/lib/shared-tree/schematizingTreeView.js.map +1 -1
  1031. package/lib/shared-tree/sharedTree.d.ts +9 -18
  1032. package/lib/shared-tree/sharedTree.d.ts.map +1 -1
  1033. package/lib/shared-tree/sharedTree.js +14 -11
  1034. package/lib/shared-tree/sharedTree.js.map +1 -1
  1035. package/lib/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
  1036. package/lib/shared-tree/sharedTreeChangeCodecs.js +4 -0
  1037. package/lib/shared-tree/sharedTreeChangeCodecs.js.map +1 -1
  1038. package/lib/shared-tree/sharedTreeChangeEnricher.js +1 -1
  1039. package/lib/shared-tree/sharedTreeChangeEnricher.js.map +1 -1
  1040. package/lib/shared-tree/sharedTreeChangeFamily.js +3 -3
  1041. package/lib/shared-tree/sharedTreeChangeFamily.js.map +1 -1
  1042. package/lib/shared-tree/sharedTreeEditBuilder.d.ts +0 -2
  1043. package/lib/shared-tree/sharedTreeEditBuilder.d.ts.map +1 -1
  1044. package/lib/shared-tree/sharedTreeEditBuilder.js.map +1 -1
  1045. package/lib/shared-tree/treeApi.js +4 -4
  1046. package/lib/shared-tree/treeApi.js.map +1 -1
  1047. package/lib/shared-tree/treeCheckout.d.ts +10 -6
  1048. package/lib/shared-tree/treeCheckout.d.ts.map +1 -1
  1049. package/lib/shared-tree/treeCheckout.js +52 -7
  1050. package/lib/shared-tree/treeCheckout.js.map +1 -1
  1051. package/lib/shared-tree/treeView.d.ts +3 -6
  1052. package/lib/shared-tree/treeView.d.ts.map +1 -1
  1053. package/lib/shared-tree/treeView.js +4 -0
  1054. package/lib/shared-tree/treeView.js.map +1 -1
  1055. package/lib/shared-tree-core/branch.d.ts +6 -0
  1056. package/lib/shared-tree-core/branch.d.ts.map +1 -1
  1057. package/lib/shared-tree-core/branch.js +14 -7
  1058. package/lib/shared-tree-core/branch.js.map +1 -1
  1059. package/lib/shared-tree-core/defaultResubmitMachine.js +4 -4
  1060. package/lib/shared-tree-core/defaultResubmitMachine.js.map +1 -1
  1061. package/lib/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
  1062. package/lib/shared-tree-core/editManagerCodecs.js +1 -0
  1063. package/lib/shared-tree-core/editManagerCodecs.js.map +1 -1
  1064. package/lib/shared-tree-core/editManagerFormat.d.ts +2 -2
  1065. package/lib/shared-tree-core/editManagerFormat.d.ts.map +1 -1
  1066. package/lib/shared-tree-core/editManagerFormat.js +6 -1
  1067. package/lib/shared-tree-core/editManagerFormat.js.map +1 -1
  1068. package/lib/shared-tree-core/messageCodecs.d.ts.map +1 -1
  1069. package/lib/shared-tree-core/messageCodecs.js +1 -0
  1070. package/lib/shared-tree-core/messageCodecs.js.map +1 -1
  1071. package/lib/shared-tree-core/sharedTreeCore.d.ts +4 -0
  1072. package/lib/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
  1073. package/lib/shared-tree-core/sharedTreeCore.js +10 -2
  1074. package/lib/shared-tree-core/sharedTreeCore.js.map +1 -1
  1075. package/lib/simple-tree/api/create.d.ts +54 -0
  1076. package/lib/simple-tree/api/create.d.ts.map +1 -0
  1077. package/lib/simple-tree/api/create.js +92 -0
  1078. package/lib/simple-tree/api/create.js.map +1 -0
  1079. package/lib/simple-tree/api/index.d.ts +12 -0
  1080. package/lib/simple-tree/api/index.d.ts.map +1 -0
  1081. package/lib/simple-tree/api/index.js +13 -0
  1082. package/lib/simple-tree/api/index.js.map +1 -0
  1083. package/{dist/simple-tree → lib/simple-tree/api}/schemaCreationUtilities.d.ts +7 -4
  1084. package/lib/simple-tree/api/schemaCreationUtilities.d.ts.map +1 -0
  1085. package/lib/simple-tree/{schemaCreationUtilities.js → api/schemaCreationUtilities.js} +1 -1
  1086. package/lib/simple-tree/api/schemaCreationUtilities.js.map +1 -0
  1087. package/lib/simple-tree/{schemaFactory.d.ts → api/schemaFactory.d.ts} +15 -14
  1088. package/lib/simple-tree/api/schemaFactory.d.ts.map +1 -0
  1089. package/lib/simple-tree/{schemaFactory.js → api/schemaFactory.js} +9 -8
  1090. package/lib/simple-tree/api/schemaFactory.js.map +1 -0
  1091. package/{dist/simple-tree → lib/simple-tree/api}/schemaFactoryRecursive.d.ts +40 -7
  1092. package/lib/simple-tree/api/schemaFactoryRecursive.d.ts.map +1 -0
  1093. package/lib/simple-tree/{schemaFactoryRecursive.js → api/schemaFactoryRecursive.js} +1 -1
  1094. package/lib/simple-tree/api/schemaFactoryRecursive.js.map +1 -0
  1095. package/lib/simple-tree/api/testRecursiveDomain.d.ts +62 -0
  1096. package/lib/simple-tree/api/testRecursiveDomain.d.ts.map +1 -0
  1097. package/lib/simple-tree/api/testRecursiveDomain.js.map +1 -0
  1098. package/{dist/simple-tree → lib/simple-tree/api}/tree.d.ts +111 -20
  1099. package/lib/simple-tree/api/tree.d.ts.map +1 -0
  1100. package/lib/simple-tree/api/tree.js +165 -0
  1101. package/lib/simple-tree/api/tree.js.map +1 -0
  1102. package/lib/simple-tree/api/treeNodeApi.d.ts +87 -0
  1103. package/lib/simple-tree/api/treeNodeApi.d.ts.map +1 -0
  1104. package/lib/simple-tree/{treeNodeApi.js → api/treeNodeApi.js} +32 -32
  1105. package/lib/simple-tree/api/treeNodeApi.js.map +1 -0
  1106. package/lib/simple-tree/api/verboseTree.d.ts +136 -0
  1107. package/lib/simple-tree/api/verboseTree.d.ts.map +1 -0
  1108. package/lib/simple-tree/api/verboseTree.js +213 -0
  1109. package/lib/simple-tree/api/verboseTree.js.map +1 -0
  1110. package/lib/simple-tree/arrayNode.d.ts +3 -3
  1111. package/lib/simple-tree/arrayNode.d.ts.map +1 -1
  1112. package/lib/simple-tree/arrayNode.js +57 -54
  1113. package/lib/simple-tree/arrayNode.js.map +1 -1
  1114. package/lib/simple-tree/core/index.d.ts +10 -0
  1115. package/lib/simple-tree/core/index.d.ts.map +1 -0
  1116. package/lib/simple-tree/core/index.js +10 -0
  1117. package/lib/simple-tree/core/index.js.map +1 -0
  1118. package/{dist/simple-tree → lib/simple-tree/core}/schemaCaching.d.ts +2 -9
  1119. package/lib/simple-tree/core/schemaCaching.d.ts.map +1 -0
  1120. package/lib/simple-tree/{schemaCaching.js → core/schemaCaching.js} +1 -21
  1121. package/lib/simple-tree/core/schemaCaching.js.map +1 -0
  1122. package/lib/simple-tree/core/treeNodeKernel.d.ts +57 -0
  1123. package/lib/simple-tree/core/treeNodeKernel.d.ts.map +1 -0
  1124. package/lib/simple-tree/core/treeNodeKernel.js +121 -0
  1125. package/lib/simple-tree/core/treeNodeKernel.js.map +1 -0
  1126. package/lib/simple-tree/core/treeNodeSchema.d.ts +149 -0
  1127. package/lib/simple-tree/core/treeNodeSchema.d.ts.map +1 -0
  1128. package/lib/simple-tree/core/treeNodeSchema.js +32 -0
  1129. package/lib/simple-tree/core/treeNodeSchema.js.map +1 -0
  1130. package/lib/simple-tree/core/types.d.ts +178 -0
  1131. package/lib/simple-tree/core/types.d.ts.map +1 -0
  1132. package/lib/simple-tree/core/types.js +111 -0
  1133. package/lib/simple-tree/core/types.js.map +1 -0
  1134. package/lib/simple-tree/core/withType.d.ts +82 -0
  1135. package/lib/simple-tree/core/withType.d.ts.map +1 -0
  1136. package/lib/simple-tree/core/withType.js +36 -0
  1137. package/lib/simple-tree/core/withType.js.map +1 -0
  1138. package/lib/simple-tree/getJsonSchema.d.ts +55 -0
  1139. package/lib/simple-tree/getJsonSchema.d.ts.map +1 -0
  1140. package/lib/simple-tree/getJsonSchema.js +65 -0
  1141. package/lib/simple-tree/getJsonSchema.js.map +1 -0
  1142. package/lib/simple-tree/getSimpleFieldSchema.d.ts +14 -0
  1143. package/lib/simple-tree/getSimpleFieldSchema.d.ts.map +1 -0
  1144. package/lib/simple-tree/getSimpleFieldSchema.js +25 -0
  1145. package/lib/simple-tree/getSimpleFieldSchema.js.map +1 -0
  1146. package/lib/simple-tree/getSimpleSchema.d.ts +58 -0
  1147. package/lib/simple-tree/getSimpleSchema.d.ts.map +1 -0
  1148. package/lib/simple-tree/getSimpleSchema.js +64 -0
  1149. package/lib/simple-tree/getSimpleSchema.js.map +1 -0
  1150. package/lib/simple-tree/index.d.ts +12 -13
  1151. package/lib/simple-tree/index.d.ts.map +1 -1
  1152. package/lib/simple-tree/index.js +8 -11
  1153. package/lib/simple-tree/index.js.map +1 -1
  1154. package/lib/simple-tree/jsonSchema.d.ts +206 -0
  1155. package/lib/simple-tree/jsonSchema.d.ts.map +1 -0
  1156. package/lib/simple-tree/{nodeKeys.js → jsonSchema.js} +1 -1
  1157. package/lib/simple-tree/jsonSchema.js.map +1 -0
  1158. package/lib/simple-tree/leafNodeSchema.d.ts +1 -1
  1159. package/lib/simple-tree/leafNodeSchema.d.ts.map +1 -1
  1160. package/lib/simple-tree/leafNodeSchema.js +1 -2
  1161. package/lib/simple-tree/leafNodeSchema.js.map +1 -1
  1162. package/lib/simple-tree/mapNode.d.ts +9 -3
  1163. package/lib/simple-tree/mapNode.d.ts.map +1 -1
  1164. package/lib/simple-tree/mapNode.js +36 -36
  1165. package/lib/simple-tree/mapNode.js.map +1 -1
  1166. package/lib/simple-tree/objectNode.d.ts +18 -16
  1167. package/lib/simple-tree/objectNode.d.ts.map +1 -1
  1168. package/lib/simple-tree/objectNode.js +36 -34
  1169. package/lib/simple-tree/objectNode.js.map +1 -1
  1170. package/lib/simple-tree/objectNodeTypes.d.ts +38 -0
  1171. package/lib/simple-tree/objectNodeTypes.d.ts.map +1 -0
  1172. package/lib/simple-tree/objectNodeTypes.js +15 -0
  1173. package/lib/simple-tree/objectNodeTypes.js.map +1 -0
  1174. package/lib/simple-tree/proxies.d.ts +6 -25
  1175. package/lib/simple-tree/proxies.d.ts.map +1 -1
  1176. package/lib/simple-tree/proxies.js +50 -75
  1177. package/lib/simple-tree/proxies.js.map +1 -1
  1178. package/lib/simple-tree/proxyBinding.d.ts +46 -19
  1179. package/lib/simple-tree/proxyBinding.d.ts.map +1 -1
  1180. package/lib/simple-tree/proxyBinding.js +95 -39
  1181. package/lib/simple-tree/proxyBinding.js.map +1 -1
  1182. package/lib/simple-tree/schemaTypes.d.ts +10 -159
  1183. package/lib/simple-tree/schemaTypes.d.ts.map +1 -1
  1184. package/lib/simple-tree/schemaTypes.js +9 -41
  1185. package/lib/simple-tree/schemaTypes.js.map +1 -1
  1186. package/lib/simple-tree/simpleSchema.d.ts +124 -0
  1187. package/lib/simple-tree/simpleSchema.d.ts.map +1 -0
  1188. package/lib/{feature-libraries/schema-aware/schemaAware.js → simple-tree/simpleSchema.js} +1 -1
  1189. package/lib/simple-tree/simpleSchema.js.map +1 -0
  1190. package/lib/simple-tree/simpleSchemaToJsonSchema.d.ts +12 -0
  1191. package/lib/simple-tree/simpleSchemaToJsonSchema.d.ts.map +1 -0
  1192. package/lib/simple-tree/simpleSchemaToJsonSchema.js +142 -0
  1193. package/lib/simple-tree/simpleSchemaToJsonSchema.js.map +1 -0
  1194. package/lib/simple-tree/toFlexSchema.d.ts +4 -12
  1195. package/lib/simple-tree/toFlexSchema.d.ts.map +1 -1
  1196. package/lib/simple-tree/toFlexSchema.js +9 -18
  1197. package/lib/simple-tree/toFlexSchema.js.map +1 -1
  1198. package/lib/simple-tree/toMapTree.d.ts +39 -39
  1199. package/lib/simple-tree/toMapTree.d.ts.map +1 -1
  1200. package/lib/simple-tree/toMapTree.js +214 -158
  1201. package/lib/simple-tree/toMapTree.js.map +1 -1
  1202. package/lib/simple-tree/{types.d.ts → treeNodeValid.d.ts} +2 -80
  1203. package/lib/simple-tree/treeNodeValid.d.ts.map +1 -0
  1204. package/lib/simple-tree/{types.js → treeNodeValid.js} +94 -96
  1205. package/lib/simple-tree/treeNodeValid.js.map +1 -0
  1206. package/lib/simple-tree/typesUnsafe.d.ts +35 -4
  1207. package/lib/simple-tree/typesUnsafe.d.ts.map +1 -1
  1208. package/lib/simple-tree/typesUnsafe.js.map +1 -1
  1209. package/lib/simple-tree/viewSchemaToSimpleSchema.d.ts +11 -0
  1210. package/lib/simple-tree/viewSchemaToSimpleSchema.d.ts.map +1 -0
  1211. package/lib/simple-tree/viewSchemaToSimpleSchema.js +167 -0
  1212. package/lib/simple-tree/viewSchemaToSimpleSchema.js.map +1 -0
  1213. package/lib/util/brand.d.ts +0 -3
  1214. package/lib/util/brand.d.ts.map +1 -1
  1215. package/lib/util/brand.js +1 -2
  1216. package/lib/util/brand.js.map +1 -1
  1217. package/lib/util/brandedMap.d.ts +0 -5
  1218. package/lib/util/brandedMap.d.ts.map +1 -1
  1219. package/lib/util/brandedMap.js +0 -1
  1220. package/lib/util/brandedMap.js.map +1 -1
  1221. package/lib/util/breakable.js +1 -1
  1222. package/lib/util/breakable.js.map +1 -1
  1223. package/lib/util/idAllocator.d.ts +0 -2
  1224. package/lib/util/idAllocator.d.ts.map +1 -1
  1225. package/lib/util/idAllocator.js +0 -1
  1226. package/lib/util/idAllocator.js.map +1 -1
  1227. package/lib/util/index.d.ts +2 -2
  1228. package/lib/util/index.d.ts.map +1 -1
  1229. package/lib/util/index.js +2 -2
  1230. package/lib/util/index.js.map +1 -1
  1231. package/lib/util/nestedMap.d.ts +5 -19
  1232. package/lib/util/nestedMap.d.ts.map +1 -1
  1233. package/lib/util/nestedMap.js +15 -16
  1234. package/lib/util/nestedMap.js.map +1 -1
  1235. package/lib/util/opaque.d.ts +0 -4
  1236. package/lib/util/opaque.d.ts.map +1 -1
  1237. package/lib/util/opaque.js +0 -2
  1238. package/lib/util/opaque.js.map +1 -1
  1239. package/lib/util/rangeMap.d.ts +0 -2
  1240. package/lib/util/rangeMap.d.ts.map +1 -1
  1241. package/lib/util/rangeMap.js +4 -3
  1242. package/lib/util/rangeMap.js.map +1 -1
  1243. package/lib/util/transactionResult.d.ts +0 -1
  1244. package/lib/util/transactionResult.d.ts.map +1 -1
  1245. package/lib/util/transactionResult.js +0 -1
  1246. package/lib/util/transactionResult.js.map +1 -1
  1247. package/lib/util/typeCheck.d.ts +2 -20
  1248. package/lib/util/typeCheck.d.ts.map +1 -1
  1249. package/lib/util/typeCheck.js.map +1 -1
  1250. package/lib/util/typeCheckTests.d.ts +4 -4
  1251. package/lib/util/typeCheckTests.d.ts.map +1 -1
  1252. package/lib/util/typeCheckTests.js.map +1 -1
  1253. package/lib/util/typeUtils.d.ts +0 -7
  1254. package/lib/util/typeUtils.d.ts.map +1 -1
  1255. package/lib/util/typeUtils.js.map +1 -1
  1256. package/lib/util/utils.d.ts +6 -8
  1257. package/lib/util/utils.d.ts.map +1 -1
  1258. package/lib/util/utils.js +12 -4
  1259. package/lib/util/utils.js.map +1 -1
  1260. package/package.json +36 -25
  1261. package/src/codec/discriminatedUnions.ts +20 -10
  1262. package/src/codec/index.ts +5 -1
  1263. package/src/core/forest/README.md +4 -2
  1264. package/src/core/forest/editableForest.ts +10 -7
  1265. package/src/core/forest/forest.ts +0 -6
  1266. package/src/core/index.ts +2 -2
  1267. package/src/core/rebase/changeRebaser.ts +0 -4
  1268. package/src/core/rebase/index.ts +0 -2
  1269. package/src/core/rebase/types.ts +1 -23
  1270. package/src/core/rebase/utils.ts +13 -11
  1271. package/src/core/schema-stored/multiplicity.ts +0 -1
  1272. package/src/core/schema-stored/schema.ts +0 -7
  1273. package/src/core/schema-stored/storedSchemaRepository.ts +0 -3
  1274. package/src/core/schema-view/view.ts +0 -3
  1275. package/src/core/tree/anchorSet.ts +21 -17
  1276. package/src/core/tree/cursor.ts +1 -6
  1277. package/src/core/tree/delta.ts +0 -11
  1278. package/src/core/tree/detachedFieldIndex.ts +217 -35
  1279. package/src/core/tree/detachedFieldIndexCodec.ts +21 -11
  1280. package/src/core/tree/detachedFieldIndexFormat.ts +1 -1
  1281. package/src/core/tree/detachedFieldIndexTypes.ts +40 -5
  1282. package/src/core/tree/index.ts +3 -2
  1283. package/src/core/tree/mapTree.ts +45 -4
  1284. package/src/core/tree/pathTree.ts +0 -11
  1285. package/src/core/tree/treeTextFormat.ts +3 -2
  1286. package/src/core/tree/types.ts +0 -11
  1287. package/src/core/tree/visitDelta.ts +59 -19
  1288. package/src/core/tree/visitPath.ts +0 -2
  1289. package/src/core/tree/visitorUtils.ts +7 -5
  1290. package/src/domains/index.ts +3 -0
  1291. package/src/domains/json/index.ts +7 -1
  1292. package/src/domains/json/jsonCursor.ts +113 -6
  1293. package/src/domains/json/jsonDomainSchema.ts +4 -5
  1294. package/src/domains/leafDomain.ts +0 -1
  1295. package/src/domains/schemaBuilder.ts +0 -22
  1296. package/src/events/events.ts +0 -4
  1297. package/src/feature-libraries/chunked-forest/README.md +9 -1
  1298. package/src/feature-libraries/chunked-forest/basicChunk.ts +14 -9
  1299. package/src/feature-libraries/chunked-forest/chunk.ts +1 -1
  1300. package/src/feature-libraries/chunked-forest/chunkTree.ts +4 -4
  1301. package/src/feature-libraries/chunked-forest/chunkedForest.ts +8 -6
  1302. package/src/feature-libraries/chunked-forest/codec/chunkCodecUtilities.ts +2 -2
  1303. package/src/feature-libraries/chunked-forest/codec/chunkDecoding.ts +9 -6
  1304. package/src/feature-libraries/chunked-forest/uniformChunk.ts +6 -4
  1305. package/src/feature-libraries/default-schema/defaultEditBuilder.ts +18 -46
  1306. package/src/feature-libraries/default-schema/defaultFieldKinds.ts +11 -6
  1307. package/src/feature-libraries/default-schema/defaultSchema.ts +0 -1
  1308. package/src/feature-libraries/default-schema/index.ts +1 -1
  1309. package/src/feature-libraries/default-schema/schemaChecker.ts +6 -0
  1310. package/src/feature-libraries/editableTreeBinder.ts +7 -79
  1311. package/src/feature-libraries/fieldGenerator.ts +0 -3
  1312. package/src/feature-libraries/flex-map-tree/index.ts +2 -1
  1313. package/src/feature-libraries/flex-map-tree/mapTreeNode.ts +235 -328
  1314. package/src/feature-libraries/flex-tree/context.ts +0 -1
  1315. package/src/feature-libraries/flex-tree/flexTreeTypes.ts +27 -376
  1316. package/src/feature-libraries/flex-tree/index.ts +7 -2
  1317. package/src/feature-libraries/flex-tree/lazyEntity.ts +0 -3
  1318. package/src/feature-libraries/flex-tree/lazyField.ts +52 -234
  1319. package/src/feature-libraries/flex-tree/lazyNode.ts +6 -108
  1320. package/src/feature-libraries/flex-tree/treeEvents.ts +0 -2
  1321. package/src/feature-libraries/flex-tree/utilities.ts +6 -1
  1322. package/src/feature-libraries/forest-summary/codec.ts +3 -3
  1323. package/src/feature-libraries/forest-summary/forestSummarizer.ts +1 -0
  1324. package/src/feature-libraries/index.ts +8 -35
  1325. package/src/feature-libraries/mapTreeCursor.ts +13 -4
  1326. package/src/feature-libraries/memoizedIdRangeAllocator.ts +0 -4
  1327. package/src/feature-libraries/modular-schema/crossFieldQueries.ts +0 -2
  1328. package/src/feature-libraries/modular-schema/discrepancies.ts +120 -4
  1329. package/src/feature-libraries/modular-schema/fieldChangeHandler.ts +0 -8
  1330. package/src/feature-libraries/modular-schema/fieldKind.ts +1 -3
  1331. package/src/feature-libraries/modular-schema/genericFieldKind.ts +69 -92
  1332. package/src/feature-libraries/modular-schema/genericFieldKindCodecs.ts +7 -14
  1333. package/src/feature-libraries/modular-schema/genericFieldKindTypes.ts +6 -15
  1334. package/src/feature-libraries/modular-schema/index.ts +2 -2
  1335. package/src/feature-libraries/modular-schema/modularChangeCodecs.ts +69 -35
  1336. package/src/feature-libraries/modular-schema/modularChangeFamily.ts +350 -354
  1337. package/src/feature-libraries/modular-schema/modularChangeTypes.ts +7 -14
  1338. package/src/feature-libraries/node-key/nodeKey.ts +0 -4
  1339. package/src/feature-libraries/node-key/nodeKeyManager.ts +0 -1
  1340. package/src/feature-libraries/object-forest/objectForest.ts +8 -16
  1341. package/src/feature-libraries/schemaBuilderBase.ts +1 -49
  1342. package/src/feature-libraries/sequence-field/compose.ts +41 -20
  1343. package/src/feature-libraries/sequence-field/formatV2.ts +3 -3
  1344. package/src/feature-libraries/sequence-field/formatV3.ts +65 -0
  1345. package/src/feature-libraries/sequence-field/helperTypes.ts +33 -0
  1346. package/src/feature-libraries/sequence-field/index.ts +1 -0
  1347. package/src/feature-libraries/sequence-field/invert.ts +28 -18
  1348. package/src/feature-libraries/sequence-field/markQueue.ts +2 -2
  1349. package/src/feature-libraries/sequence-field/moveEffectTable.ts +2 -2
  1350. package/src/feature-libraries/sequence-field/rebase.ts +30 -13
  1351. package/src/feature-libraries/sequence-field/replaceRevisions.ts +27 -3
  1352. package/src/feature-libraries/sequence-field/sequenceFieldCodecV1.ts +52 -7
  1353. package/src/feature-libraries/sequence-field/sequenceFieldCodecV2.ts +92 -19
  1354. package/src/feature-libraries/sequence-field/sequenceFieldCodecV3.ts +134 -0
  1355. package/src/feature-libraries/sequence-field/sequenceFieldCodecs.ts +2 -0
  1356. package/src/feature-libraries/sequence-field/sequenceFieldToDelta.ts +8 -2
  1357. package/src/feature-libraries/sequence-field/types.ts +24 -4
  1358. package/src/feature-libraries/sequence-field/utils.ts +78 -50
  1359. package/src/feature-libraries/storedToViewSchema.ts +0 -1
  1360. package/src/feature-libraries/treeCursorUtils.ts +11 -11
  1361. package/src/feature-libraries/treeTextCursor.ts +0 -2
  1362. package/src/feature-libraries/typed-schema/flexList.ts +0 -3
  1363. package/src/feature-libraries/typed-schema/index.ts +0 -2
  1364. package/src/feature-libraries/typed-schema/schemaCollection.ts +0 -5
  1365. package/src/feature-libraries/typed-schema/typedTreeSchema.ts +2 -68
  1366. package/src/feature-libraries/typed-schema/view.ts +0 -1
  1367. package/src/index.ts +27 -245
  1368. package/src/internalTypes.ts +1 -0
  1369. package/src/packageVersion.ts +1 -1
  1370. package/src/shared-tree/schematizeTree.ts +25 -21
  1371. package/src/shared-tree/schematizingTreeView.ts +6 -6
  1372. package/src/shared-tree/sharedTree.ts +16 -40
  1373. package/src/shared-tree/sharedTreeChangeCodecs.ts +8 -0
  1374. package/src/shared-tree/sharedTreeChangeEnricher.ts +1 -1
  1375. package/src/shared-tree/sharedTreeChangeFamily.ts +3 -3
  1376. package/src/shared-tree/sharedTreeEditBuilder.ts +0 -2
  1377. package/src/shared-tree/treeApi.ts +4 -4
  1378. package/src/shared-tree/treeCheckout.ts +61 -12
  1379. package/src/shared-tree/treeView.ts +8 -6
  1380. package/src/shared-tree-core/branch.ts +29 -8
  1381. package/src/shared-tree-core/defaultResubmitMachine.ts +4 -4
  1382. package/src/shared-tree-core/editManagerCodecs.ts +1 -0
  1383. package/src/shared-tree-core/editManagerFormat.ts +7 -2
  1384. package/src/shared-tree-core/messageCodecs.ts +2 -1
  1385. package/src/shared-tree-core/sharedTreeCore.ts +12 -3
  1386. package/src/simple-tree/ProxyBinding.md +2 -0
  1387. package/src/simple-tree/api/README.md +7 -0
  1388. package/src/simple-tree/api/create.ts +179 -0
  1389. package/src/simple-tree/api/index.ts +36 -0
  1390. package/src/simple-tree/{schemaCreationUtilities.ts → api/schemaCreationUtilities.ts} +13 -5
  1391. package/src/simple-tree/{schemaFactory.ts → api/schemaFactory.ts} +36 -34
  1392. package/src/simple-tree/{schemaFactoryRecursive.ts → api/schemaFactoryRecursive.ts} +47 -10
  1393. package/src/simple-tree/{testRecursiveDomain.ts → api/testRecursiveDomain.ts} +3 -1
  1394. package/src/simple-tree/{tree.ts → api/tree.ts} +250 -35
  1395. package/src/simple-tree/{treeNodeApi.ts → api/treeNodeApi.ts} +57 -128
  1396. package/src/simple-tree/api/verboseTree.ts +415 -0
  1397. package/src/simple-tree/arrayNode.ts +101 -99
  1398. package/src/simple-tree/core/README.md +11 -0
  1399. package/src/simple-tree/core/index.ts +33 -0
  1400. package/src/simple-tree/{schemaCaching.ts → core/schemaCaching.ts} +3 -37
  1401. package/src/simple-tree/core/treeNodeKernel.ts +141 -0
  1402. package/src/simple-tree/core/treeNodeSchema.ts +184 -0
  1403. package/src/simple-tree/core/types.ts +255 -0
  1404. package/src/simple-tree/core/withType.ts +89 -0
  1405. package/src/simple-tree/getJsonSchema.ts +70 -0
  1406. package/src/simple-tree/getSimpleFieldSchema.ts +36 -0
  1407. package/src/simple-tree/getSimpleSchema.ts +69 -0
  1408. package/src/simple-tree/index.ts +58 -33
  1409. package/src/simple-tree/jsonSchema.ts +230 -0
  1410. package/src/simple-tree/leafNodeSchema.ts +6 -3
  1411. package/src/simple-tree/mapNode.ts +56 -55
  1412. package/src/simple-tree/objectNode.ts +66 -90
  1413. package/src/simple-tree/objectNodeTypes.ts +68 -0
  1414. package/src/simple-tree/proxies.ts +56 -93
  1415. package/src/simple-tree/proxyBinding.ts +134 -56
  1416. package/src/simple-tree/schemaTypes.ts +29 -194
  1417. package/src/simple-tree/simpleSchema.ts +138 -0
  1418. package/src/simple-tree/simpleSchemaToJsonSchema.ts +178 -0
  1419. package/src/simple-tree/toFlexSchema.ts +9 -42
  1420. package/src/simple-tree/toMapTree.ts +270 -296
  1421. package/src/simple-tree/{types.ts → treeNodeValid.ts} +166 -151
  1422. package/src/simple-tree/typesUnsafe.ts +51 -5
  1423. package/src/simple-tree/viewSchemaToSimpleSchema.ts +209 -0
  1424. package/src/util/brand.ts +1 -4
  1425. package/src/util/brandedMap.ts +0 -5
  1426. package/src/util/breakable.ts +1 -1
  1427. package/src/util/idAllocator.ts +0 -2
  1428. package/src/util/index.ts +3 -0
  1429. package/src/util/nestedMap.ts +23 -20
  1430. package/src/util/opaque.ts +0 -4
  1431. package/src/util/rangeMap.ts +5 -5
  1432. package/src/util/transactionResult.ts +0 -1
  1433. package/src/util/typeCheck.ts +2 -20
  1434. package/src/util/typeCheckTests.ts +4 -4
  1435. package/src/util/typeUtils.ts +0 -7
  1436. package/src/util/utils.ts +13 -8
  1437. package/tsconfig.json +0 -1
  1438. package/dist/feature-libraries/contextuallyTyped.d.ts +0 -209
  1439. package/dist/feature-libraries/contextuallyTyped.d.ts.map +0 -1
  1440. package/dist/feature-libraries/contextuallyTyped.js +0 -328
  1441. package/dist/feature-libraries/contextuallyTyped.js.map +0 -1
  1442. package/dist/feature-libraries/schema-aware/index.d.ts +0 -6
  1443. package/dist/feature-libraries/schema-aware/index.d.ts.map +0 -1
  1444. package/dist/feature-libraries/schema-aware/index.js.map +0 -1
  1445. package/dist/feature-libraries/schema-aware/schemaAware.d.ts +0 -76
  1446. package/dist/feature-libraries/schema-aware/schemaAware.d.ts.map +0 -1
  1447. package/dist/feature-libraries/schema-aware/schemaAware.js.map +0 -1
  1448. package/dist/simple-tree/nodeKeys.d.ts +0 -41
  1449. package/dist/simple-tree/nodeKeys.d.ts.map +0 -1
  1450. package/dist/simple-tree/nodeKeys.js +0 -7
  1451. package/dist/simple-tree/nodeKeys.js.map +0 -1
  1452. package/dist/simple-tree/schemaCaching.d.ts.map +0 -1
  1453. package/dist/simple-tree/schemaCaching.js.map +0 -1
  1454. package/dist/simple-tree/schemaCreationUtilities.d.ts.map +0 -1
  1455. package/dist/simple-tree/schemaCreationUtilities.js.map +0 -1
  1456. package/dist/simple-tree/schemaFactory.d.ts.map +0 -1
  1457. package/dist/simple-tree/schemaFactory.js.map +0 -1
  1458. package/dist/simple-tree/schemaFactoryRecursive.d.ts.map +0 -1
  1459. package/dist/simple-tree/schemaFactoryRecursive.js.map +0 -1
  1460. package/dist/simple-tree/testRecursiveDomain.d.ts +0 -61
  1461. package/dist/simple-tree/testRecursiveDomain.d.ts.map +0 -1
  1462. package/dist/simple-tree/testRecursiveDomain.js.map +0 -1
  1463. package/dist/simple-tree/tree.d.ts.map +0 -1
  1464. package/dist/simple-tree/tree.js +0 -73
  1465. package/dist/simple-tree/tree.js.map +0 -1
  1466. package/dist/simple-tree/treeNodeApi.d.ts +0 -159
  1467. package/dist/simple-tree/treeNodeApi.d.ts.map +0 -1
  1468. package/dist/simple-tree/treeNodeApi.js.map +0 -1
  1469. package/dist/simple-tree/types.d.ts.map +0 -1
  1470. package/dist/simple-tree/types.js.map +0 -1
  1471. package/lib/feature-libraries/contextuallyTyped.d.ts +0 -209
  1472. package/lib/feature-libraries/contextuallyTyped.d.ts.map +0 -1
  1473. package/lib/feature-libraries/contextuallyTyped.js +0 -311
  1474. package/lib/feature-libraries/contextuallyTyped.js.map +0 -1
  1475. package/lib/feature-libraries/schema-aware/index.d.ts +0 -6
  1476. package/lib/feature-libraries/schema-aware/index.d.ts.map +0 -1
  1477. package/lib/feature-libraries/schema-aware/index.js +0 -6
  1478. package/lib/feature-libraries/schema-aware/index.js.map +0 -1
  1479. package/lib/feature-libraries/schema-aware/schemaAware.d.ts +0 -76
  1480. package/lib/feature-libraries/schema-aware/schemaAware.d.ts.map +0 -1
  1481. package/lib/feature-libraries/schema-aware/schemaAware.js.map +0 -1
  1482. package/lib/simple-tree/nodeKeys.d.ts +0 -41
  1483. package/lib/simple-tree/nodeKeys.d.ts.map +0 -1
  1484. package/lib/simple-tree/nodeKeys.js.map +0 -1
  1485. package/lib/simple-tree/schemaCaching.d.ts.map +0 -1
  1486. package/lib/simple-tree/schemaCaching.js.map +0 -1
  1487. package/lib/simple-tree/schemaCreationUtilities.d.ts.map +0 -1
  1488. package/lib/simple-tree/schemaCreationUtilities.js.map +0 -1
  1489. package/lib/simple-tree/schemaFactory.d.ts.map +0 -1
  1490. package/lib/simple-tree/schemaFactory.js.map +0 -1
  1491. package/lib/simple-tree/schemaFactoryRecursive.d.ts.map +0 -1
  1492. package/lib/simple-tree/schemaFactoryRecursive.js.map +0 -1
  1493. package/lib/simple-tree/testRecursiveDomain.d.ts +0 -61
  1494. package/lib/simple-tree/testRecursiveDomain.d.ts.map +0 -1
  1495. package/lib/simple-tree/testRecursiveDomain.js.map +0 -1
  1496. package/lib/simple-tree/tree.d.ts.map +0 -1
  1497. package/lib/simple-tree/tree.js +0 -66
  1498. package/lib/simple-tree/tree.js.map +0 -1
  1499. package/lib/simple-tree/treeNodeApi.d.ts +0 -159
  1500. package/lib/simple-tree/treeNodeApi.d.ts.map +0 -1
  1501. package/lib/simple-tree/treeNodeApi.js.map +0 -1
  1502. package/lib/simple-tree/types.d.ts.map +0 -1
  1503. package/lib/simple-tree/types.js.map +0 -1
  1504. package/src/feature-libraries/contextuallyTyped.ts +0 -582
  1505. package/src/feature-libraries/schema-aware/README.md +0 -19
  1506. package/src/feature-libraries/schema-aware/index.ts +0 -16
  1507. package/src/feature-libraries/schema-aware/schemaAware.ts +0 -135
  1508. package/src/simple-tree/nodeKeys.ts +0 -42
  1509. /package/dist/simple-tree/{testRecursiveDomain.js → api/testRecursiveDomain.js} +0 -0
  1510. /package/lib/simple-tree/{testRecursiveDomain.js → api/testRecursiveDomain.js} +0 -0
@@ -3,22 +3,22 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
  import { type Static, type TSchema } from "@sinclair/typebox";
6
- export declare const EncodedRegisterId: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<import("../../index.js").ChangesetLocalId>, import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"root">, import("@sinclair/typebox").TUnsafe<import("../../index.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>]>, import("@sinclair/typebox").TUnsafe<import("../../index.js").ChangesetLocalId>]>, import("@sinclair/typebox").TNull]>;
6
+ export declare const EncodedRegisterId: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<import("../../core/index.js").ChangesetLocalId>, import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"root">, import("@sinclair/typebox").TUnsafe<import("../../index.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>]>, import("@sinclair/typebox").TUnsafe<import("../../core/index.js").ChangesetLocalId>]>, import("@sinclair/typebox").TNull]>;
7
7
  export type EncodedRegisterId = Static<typeof EncodedRegisterId>;
8
8
  export declare const EncodedOptionalChangeset: <Schema extends TSchema>(tNodeChange: Schema) => import("@sinclair/typebox").TObject<{
9
- m: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<import("../../index.js").ChangesetLocalId>, import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"root">, import("@sinclair/typebox").TUnsafe<import("../../index.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>]>, import("@sinclair/typebox").TUnsafe<import("../../index.js").ChangesetLocalId>]>, import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<import("../../index.js").ChangesetLocalId>, import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"root">, import("@sinclair/typebox").TUnsafe<import("../../index.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>]>, import("@sinclair/typebox").TUnsafe<import("../../index.js").ChangesetLocalId>]>]>>>;
10
- c: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<import("../../index.js").ChangesetLocalId>, import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"root">, import("@sinclair/typebox").TUnsafe<import("../../index.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>]>, import("@sinclair/typebox").TUnsafe<import("../../index.js").ChangesetLocalId>]>, import("@sinclair/typebox").TNull]>, Schema]>>>;
9
+ m: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<import("../../core/index.js").ChangesetLocalId>, import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"root">, import("@sinclair/typebox").TUnsafe<import("../../index.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>]>, import("@sinclair/typebox").TUnsafe<import("../../core/index.js").ChangesetLocalId>]>, import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<import("../../core/index.js").ChangesetLocalId>, import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"root">, import("@sinclair/typebox").TUnsafe<import("../../index.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>]>, import("@sinclair/typebox").TUnsafe<import("../../core/index.js").ChangesetLocalId>]>]>>>;
10
+ c: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<import("../../core/index.js").ChangesetLocalId>, import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"root">, import("@sinclair/typebox").TUnsafe<import("../../index.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>]>, import("@sinclair/typebox").TUnsafe<import("../../core/index.js").ChangesetLocalId>]>, import("@sinclair/typebox").TNull]>, Schema]>>>;
11
11
  r: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
12
12
  e: import("@sinclair/typebox").TBoolean;
13
- s: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<import("../../index.js").ChangesetLocalId>, import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"root">, import("@sinclair/typebox").TUnsafe<import("../../index.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>]>, import("@sinclair/typebox").TUnsafe<import("../../index.js").ChangesetLocalId>]>, import("@sinclair/typebox").TNull]>>;
14
- d: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<import("../../index.js").ChangesetLocalId>, import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"root">, import("@sinclair/typebox").TUnsafe<import("../../index.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>]>, import("@sinclair/typebox").TUnsafe<import("../../index.js").ChangesetLocalId>]>;
13
+ s: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<import("../../core/index.js").ChangesetLocalId>, import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"root">, import("@sinclair/typebox").TUnsafe<import("../../index.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>]>, import("@sinclair/typebox").TUnsafe<import("../../core/index.js").ChangesetLocalId>]>, import("@sinclair/typebox").TNull]>>;
14
+ d: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<import("../../core/index.js").ChangesetLocalId>, import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"root">, import("@sinclair/typebox").TUnsafe<import("../../index.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>]>, import("@sinclair/typebox").TUnsafe<import("../../core/index.js").ChangesetLocalId>]>;
15
15
  }>>;
16
16
  }>;
17
17
  export type EncodedOptionalChangeset<Schema extends TSchema> = Static<ReturnType<typeof EncodedOptionalChangeset<Schema>>>;
18
18
  declare const EncodedReplace: import("@sinclair/typebox").TObject<{
19
19
  e: import("@sinclair/typebox").TBoolean;
20
- s: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<import("../../index.js").ChangesetLocalId>, import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"root">, import("@sinclair/typebox").TUnsafe<import("../../index.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>]>, import("@sinclair/typebox").TUnsafe<import("../../index.js").ChangesetLocalId>]>, import("@sinclair/typebox").TNull]>>;
21
- d: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<import("../../index.js").ChangesetLocalId>, import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"root">, import("@sinclair/typebox").TUnsafe<import("../../index.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>]>, import("@sinclair/typebox").TUnsafe<import("../../index.js").ChangesetLocalId>]>;
20
+ s: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<import("../../core/index.js").ChangesetLocalId>, import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"root">, import("@sinclair/typebox").TUnsafe<import("../../index.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>]>, import("@sinclair/typebox").TUnsafe<import("../../core/index.js").ChangesetLocalId>]>, import("@sinclair/typebox").TNull]>>;
21
+ d: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<import("../../core/index.js").ChangesetLocalId>, import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"root">, import("@sinclair/typebox").TUnsafe<import("../../index.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>]>, import("@sinclair/typebox").TUnsafe<import("../../core/index.js").ChangesetLocalId>]>;
22
22
  }>;
23
23
  export type EncodedReplace = Static<typeof EncodedReplace>;
24
24
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"optionalFieldChangeFormatV2.d.ts","sourceRoot":"","sources":["../../../src/feature-libraries/optional-field/optionalFieldChangeFormatV2.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAsB,KAAK,MAAM,EAAE,KAAK,OAAO,EAAQ,MAAM,mBAAmB,CAAC;AAQxF,eAAO,MAAM,iBAAiB,iiBAAiD,CAAC;AAChF,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAIjE,eAAO,MAAM,wBAAwB,wCAAyC,MAAM;;;;;;;;EAalF,CAAC;AAEH,MAAM,MAAM,wBAAwB,CAAC,MAAM,SAAS,OAAO,IAAI,MAAM,CACpE,UAAU,CAAC,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAC,CACnD,CAAC;AAgBF,QAAA,MAAM,cAAc;;;;EAWnB,CAAC;AACF,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,cAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"optionalFieldChangeFormatV2.d.ts","sourceRoot":"","sources":["../../../src/feature-libraries/optional-field/optionalFieldChangeFormatV2.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAsB,KAAK,MAAM,EAAE,KAAK,OAAO,EAAQ,MAAM,mBAAmB,CAAC;AAQxF,eAAO,MAAM,iBAAiB,2iBAAiD,CAAC;AAChF,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAIjE,eAAO,MAAM,wBAAwB,wCAAyC,MAAM;;;;;;;;EAalF,CAAC;AAEH,MAAM,MAAM,wBAAwB,CAAC,MAAM,SAAS,OAAO,IAAI,MAAM,CACpE,UAAU,CAAC,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAC,CACnD,CAAC;AAgBF,QAAA,MAAM,cAAc;;;;EAWnB,CAAC;AACF,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,cAAc,CAAC,CAAC"}
@@ -5,10 +5,9 @@
5
5
  import type { TreeNodeSchemaIdentifier } from "../core/index.js";
6
6
  import { type Assume, type RestrictiveReadonlyRecord } from "../util/index.js";
7
7
  import type { FlexFieldKind } from "./modular-schema/index.js";
8
- import { Any, type FlexAllowedTypes, FlexFieldNodeSchema, FlexFieldSchema, type FlexList, type FlexMapFieldSchema, FlexMapNodeSchema, FlexObjectNodeSchema, type FlexTreeNodeSchema, type FlexTreeSchema, type SchemaCollection, type SchemaLibraryData, type SchemaLintConfiguration, type Unenforced } from "./typed-schema/index.js";
8
+ import { Any, type FlexAllowedTypes, FlexFieldSchema, type FlexList, type FlexMapFieldSchema, FlexMapNodeSchema, FlexObjectNodeSchema, type FlexTreeNodeSchema, type FlexTreeSchema, type SchemaCollection, type SchemaLibraryData, type SchemaLintConfiguration, type Unenforced } from "./typed-schema/index.js";
9
9
  /**
10
10
  * Configuration for a SchemaBuilder.
11
- * @internal
12
11
  */
13
12
  export interface SchemaBuilderOptions<TScope extends string = string> {
14
13
  /**
@@ -42,8 +41,7 @@ export interface SchemaBuilderOptions<TScope extends string = string> {
42
41
  }
43
42
  /**
44
43
  * Builds schema libraries, and the schema within them.
45
- * @internal
46
- *
44
+ * *
47
45
  * @privateRemarks
48
46
  * This class does not directly depend on any specific field kinds,
49
47
  * or bake in any defaults that might have compatibility implications.
@@ -125,25 +123,6 @@ export declare class SchemaBuilderBase<TScope extends string, TDefaultKind exten
125
123
  * TODO: Make this work with ImplicitFieldSchema.
126
124
  */
127
125
  mapRecursive<Name extends TName, const T extends Unenforced<FlexMapFieldSchema>>(name: Name, t: T): FlexMapNodeSchema<`${TScope}.${Name}`, T>;
128
- /**
129
- * Define (and add to this library) a {@link FlexFieldNodeSchema}.
130
- *
131
- * The name must be unique among all TreeNodeSchema in the the document schema.
132
- *
133
- * @privateRemarks
134
- * TODO: Write and link document outlining field vs node data model and the separation of concerns related to that.
135
- * TODO: Maybe find a better name for this.
136
- */
137
- fieldNode<Name extends TName, const T extends FlexImplicitFieldSchema>(name: Name, fieldSchema: T): FlexFieldNodeSchema<`${TScope}.${Name}`, NormalizeField<T, TDefaultKind>>;
138
- /**
139
- * Same as `fieldNode` but with less type safety and works for recursive objects.
140
- * Reduced type safety is a side effect of a workaround for a TypeScript limitation.
141
- *
142
- * See {@link Unenforced} for details.
143
- *
144
- * TODO: Make this work with ImplicitFieldSchema.
145
- */
146
- fieldNodeRecursive<Name extends TName, const T extends Unenforced<FlexImplicitFieldSchema>>(name: Name, t: T): FlexFieldNodeSchema<`${TScope}.${Name}`, T>;
147
126
  /**
148
127
  * Define a {@link FlexFieldSchema}.
149
128
  *
@@ -178,7 +157,6 @@ export declare class SchemaBuilderBase<TScope extends string, TDefaultKind exten
178
157
  /**
179
158
  * Schema information collected by a SchemaBuilder, including referenced libraries.
180
159
  * Can be aggregated into other libraries by adding to their builders.
181
- * @internal
182
160
  */
183
161
  export interface SchemaLibrary extends SchemaCollection {
184
162
  /**
@@ -188,12 +166,10 @@ export interface SchemaLibrary extends SchemaCollection {
188
166
  }
189
167
  /**
190
168
  * Generalized version of AllowedTypes allowing for more concise expressions in some cases.
191
- * @internal
192
169
  */
193
170
  export type FlexImplicitAllowedTypes = FlexAllowedTypes | FlexTreeNodeSchema | Any;
194
171
  /**
195
172
  * Normalizes an {@link FlexImplicitAllowedTypes} into {@link FlexAllowedTypes}.
196
- * @internal
197
173
  */
198
174
  export type NormalizeAllowedTypes<TSchema extends FlexImplicitAllowedTypes> = TSchema extends FlexTreeNodeSchema ? readonly [TSchema] : TSchema extends Any ? readonly [Any] : TSchema;
199
175
  /**
@@ -202,7 +178,6 @@ export type NormalizeAllowedTypes<TSchema extends FlexImplicitAllowedTypes> = TS
202
178
  export declare function normalizeAllowedTypes<TSchema extends FlexImplicitAllowedTypes>(schema: TSchema): NormalizeAllowedTypes<TSchema>;
203
179
  /**
204
180
  * Normalizes an {@link FlexImplicitFieldSchema} into a {@link FlexFieldSchema}.
205
- * @internal
206
181
  */
207
182
  export type NormalizeField<TSchema extends FlexImplicitFieldSchema, TDefault extends FlexFieldKind> = TSchema extends FlexFieldSchema ? TSchema : FlexFieldSchema<TDefault, NormalizeAllowedTypes<Assume<TSchema, FlexImplicitAllowedTypes>>>;
208
183
  /**
@@ -211,7 +186,6 @@ export type NormalizeField<TSchema extends FlexImplicitFieldSchema, TDefault ext
211
186
  export declare function normalizeField<TSchema extends FlexImplicitFieldSchema, TDefault extends FlexFieldKind>(schema: TSchema, defaultKind: TDefault): NormalizeField<TSchema, TDefault>;
212
187
  /**
213
188
  * Type that when combined with a default {@link FlexFieldKind} can be normalized into a {@link FlexFieldSchema}.
214
- * @internal
215
189
  */
216
190
  export type FlexImplicitFieldSchema = FlexFieldSchema | FlexImplicitAllowedTypes;
217
191
  //# sourceMappingURL=schemaBuilderBase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemaBuilderBase.d.ts","sourceRoot":"","sources":["../../src/feature-libraries/schemaBuilderBase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemaBuilderBase.d.ts","sourceRoot":"","sources":["../../src/feature-libraries/schemaBuilderBase.ts"],"names":[],"mappings":"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"}
@@ -5,11 +5,10 @@
5
5
  import { assert } from "@fluidframework/core-utils/internal";
6
6
  import { transformObjectMap, } from "../util/index.js";
7
7
  import { defaultSchemaPolicy } from "./default-schema/index.js";
8
- import { Any, FlexFieldNodeSchema, FlexFieldSchema, FlexMapNodeSchema, FlexObjectNodeSchema, TreeNodeSchemaBase, aggregateSchemaLibraries, schemaLintDefault, } from "./typed-schema/index.js";
8
+ import { Any, FlexFieldSchema, FlexMapNodeSchema, FlexObjectNodeSchema, TreeNodeSchemaBase, aggregateSchemaLibraries, schemaLintDefault, } from "./typed-schema/index.js";
9
9
  /**
10
10
  * Builds schema libraries, and the schema within them.
11
- * @internal
12
- *
11
+ * *
13
12
  * @privateRemarks
14
13
  * This class does not directly depend on any specific field kinds,
15
14
  * or bake in any defaults that might have compatibility implications.
@@ -133,31 +132,6 @@ export class SchemaBuilderBase {
133
132
  mapRecursive(name, t) {
134
133
  return this.map(name, t);
135
134
  }
136
- /**
137
- * Define (and add to this library) a {@link FlexFieldNodeSchema}.
138
- *
139
- * The name must be unique among all TreeNodeSchema in the the document schema.
140
- *
141
- * @privateRemarks
142
- * TODO: Write and link document outlining field vs node data model and the separation of concerns related to that.
143
- * TODO: Maybe find a better name for this.
144
- */
145
- fieldNode(name, fieldSchema) {
146
- const schema = FlexFieldNodeSchema.create(this, this.scoped(name), this.normalizeField(fieldSchema));
147
- this.addNodeSchema(schema);
148
- return schema;
149
- }
150
- /**
151
- * Same as `fieldNode` but with less type safety and works for recursive objects.
152
- * Reduced type safety is a side effect of a workaround for a TypeScript limitation.
153
- *
154
- * See {@link Unenforced} for details.
155
- *
156
- * TODO: Make this work with ImplicitFieldSchema.
157
- */
158
- fieldNodeRecursive(name, t) {
159
- return this.fieldNode(name, t);
160
- }
161
135
  /**
162
136
  * Define a {@link FlexFieldSchema}.
163
137
  *
@@ -1 +1 @@
1
- {"version":3,"file":"schemaBuilderBase.js","sourceRoot":"","sources":["../../src/feature-libraries/schemaBuilderBase.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { assert } from \"@fluidframework/core-utils/internal\";\n\nimport type { Adapters, TreeNodeSchemaIdentifier } from \"../core/index.js\";\nimport {\n\ttype Assume,\n\ttype RestrictiveReadonlyRecord,\n\ttransformObjectMap,\n} from \"../util/index.js\";\n\nimport { defaultSchemaPolicy } from \"./default-schema/index.js\";\nimport type { FlexFieldKind } from \"./modular-schema/index.js\";\nimport {\n\tAny,\n\ttype FlexAllowedTypes,\n\tFlexFieldNodeSchema,\n\tFlexFieldSchema,\n\ttype FlexList,\n\ttype FlexMapFieldSchema,\n\tFlexMapNodeSchema,\n\tFlexObjectNodeSchema,\n\ttype FlexTreeNodeSchema,\n\ttype FlexTreeSchema,\n\ttype SchemaCollection,\n\ttype SchemaLibraryData,\n\ttype SchemaLintConfiguration,\n\tTreeNodeSchemaBase,\n\ttype Unenforced,\n\taggregateSchemaLibraries,\n\tschemaLintDefault,\n} from \"./typed-schema/index.js\";\n\n/**\n * Configuration for a SchemaBuilder.\n * @internal\n */\nexport interface SchemaBuilderOptions<TScope extends string = string> {\n\t/**\n\t * Prefix appended to the identifiers of all {@link FlexTreeNodeSchema} produced by this builder.\n\t * Use of [Reverse domain name notation](https://en.wikipedia.org/wiki/Reverse_domain_name_notation) or a UUIDv4 is recommended to avoid collisions.\n\t */\n\tscope: TScope;\n\n\t/**\n\t * Name used to refer to this builder in error messages.\n\t * Has no impact on the actual generated schema.\n\t * Defaults to scope.\n\t */\n\tname?: string;\n\n\t/**\n\t * Optional configuration for \"linting\".\n\t * See {@link SchemaLintConfiguration}. Currently defaults to enabling all lints.\n\t */\n\tlint?: Partial<SchemaLintConfiguration>;\n\n\t/**\n\t * Libraries to include in this one.\n\t *\n\t * @remarks\n\t * Unlike adding of individual schema, adding of libraries is idempotent.\n\t * If a single library is added multiple times (even indirectly via libraries it was added into),\n\t * only a single copy will be included, so they will not conflict.\n\t * This allows adding any library this one depends on without risk of conflicts for users of this library.\n\t * Contents within the added libraries can still conflict however.\n\t * Such errors will be reported when finalizing this builder into a library or document schema.\n\t */\n\tlibraries?: SchemaLibrary[];\n}\n\n/**\n * Builds schema libraries, and the schema within them.\n * @internal\n *\n * @privateRemarks\n * This class does not directly depend on any specific field kinds,\n * or bake in any defaults that might have compatibility implications.\n * All use of such implicit defaults is done by subclasses, which thus get versioning implications.\n */\nexport class SchemaBuilderBase<\n\tTScope extends string,\n\tTDefaultKind extends FlexFieldKind,\n\tTName extends number | string = string,\n> {\n\tprivate readonly lintConfiguration: SchemaLintConfiguration;\n\tprivate readonly libraries: Set<SchemaLibraryData>;\n\tprivate finalized: boolean = false;\n\tprivate readonly treeNodeSchema: Map<TreeNodeSchemaIdentifier, FlexTreeNodeSchema> =\n\t\tnew Map();\n\tprivate readonly adapters: Adapters = {};\n\t/**\n\t * Prefix appended to the identifiers of all {@link FlexTreeNodeSchema} produced by this builder.\n\t */\n\tpublic readonly scope: TScope;\n\n\t/**\n\t * Used in error messages to identify content produced by this builder.\n\t */\n\tpublic readonly name: string;\n\n\t/**\n\t * @param defaultKind - The default field kind to use when inferring a {@link FlexFieldSchema} from {@link FlexImplicitAllowedTypes}.\n\t */\n\tpublic constructor(\n\t\tprivate readonly defaultKind: TDefaultKind,\n\t\toptions: SchemaBuilderOptions<TScope>,\n\t) {\n\t\tthis.name = options.name ?? options.scope;\n\t\tthis.lintConfiguration = { ...schemaLintDefault, ...options.lint };\n\t\tthis.libraries = new Set();\n\t\tthis.addLibraries(...(options.libraries ?? []));\n\t\tthis.scope = options.scope;\n\t}\n\n\tprotected scoped<Name extends TName>(\n\t\tname: Name,\n\t): TreeNodeSchemaIdentifier<`${TScope}.${Name}`> {\n\t\treturn `${this.scope}.${name}` as TreeNodeSchemaIdentifier<`${TScope}.${Name}`>;\n\t}\n\n\t/**\n\t * Adds more libraries to this one.\n\t *\n\t * Unlike adding of individual schema, adding of libraries is idempotent.\n\t * If a single library is added multiple times (even indirectly via libraries it was added into),\n\t * only a single copy will be included, so they will not conflict.\n\t * This allows adding any library this one depends on without risk of conflicts for users of this library.\n\t * Contents within the added libraries can still conflict however.\n\t * Such errors will be reported when finalizing this builder into a library of document schema.\n\t */\n\tprivate addLibraries(...libraries: SchemaLibrary[]): void {\n\t\tfor (const libs of libraries) {\n\t\t\tfor (const lib of libs.libraries) {\n\t\t\t\tthis.libraries.add(lib);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected addNodeSchema<T extends FlexTreeNodeSchema>(schema: T): void {\n\t\tassert(\n\t\t\t!this.treeNodeSchema.has(schema.name),\n\t\t\t0x799 /* Conflicting TreeNodeSchema names */,\n\t\t);\n\t\tthis.treeNodeSchema.set(schema.name, schema);\n\t}\n\n\tprivate finalizeCommon(field?: FlexFieldSchema): SchemaLibraryData {\n\t\tassert(!this.finalized, 0x79a /* SchemaBuilder can only be finalized once. */);\n\t\tthis.finalized = true;\n\t\tthis.libraries.add({\n\t\t\tname: this.name,\n\t\t\tnodeSchema: this.treeNodeSchema,\n\t\t\tadapters: this.adapters,\n\t\t});\n\n\t\t// Check for errors and aggregate data\n\t\treturn aggregateSchemaLibraries(this.name, this.lintConfiguration, this.libraries, field);\n\t}\n\n\t/**\n\t * Produce SchemaLibraries which capture the content added to this builder, as well as any additional SchemaLibraries that were added to it.\n\t * May only be called once after adding content to builder is complete.\n\t */\n\tpublic intoLibrary(): SchemaLibrary {\n\t\tconst aggregated = this.finalizeCommon();\n\n\t\t// Full library set (instead of just aggregated) is kept since it is required to handle deduplication of libraries included through different paths.\n\t\treturn { nodeSchema: aggregated.nodeSchema, libraries: this.libraries };\n\t}\n\n\t/**\n\t * Produce a TreeSchema which captures the content added to this builder, any additional SchemaLibraries that were added to it and a root field.\n\t * Can be used with schematize to provide schema aware access to document content.\n\t *\n\t * @remarks\n\t * May only be called once after adding content to builder is complete.\n\t */\n\tpublic intoSchema<const TSchema extends FlexImplicitFieldSchema>(\n\t\troot: TSchema,\n\t): FlexTreeSchema<NormalizeField<TSchema, TDefaultKind>> {\n\t\t// return this.toDocumentSchemaInternal(normalizeField(root, DefaultFieldKind));\n\t\tconst field: NormalizeField<TSchema, TDefaultKind> = this.normalizeField(root);\n\t\tconst library = this.finalizeCommon(field);\n\n\t\tconst typed: FlexTreeSchema<NormalizeField<TSchema, TDefaultKind>> = {\n\t\t\tnodeSchema: library.nodeSchema,\n\t\t\tadapters: library.adapters,\n\t\t\trootFieldSchema: field,\n\t\t\tpolicy: defaultSchemaPolicy,\n\t\t};\n\t\treturn typed;\n\t}\n\n\t/**\n\t * Define (and add to this library) a {@link FlexObjectNodeSchema}.\n\t *\n\t * The name must be unique among all TreeNodeSchema in the the document schema.\n\t */\n\tpublic object<\n\t\tconst Name extends TName,\n\t\tconst T extends RestrictiveReadonlyRecord<string, FlexImplicitFieldSchema>,\n\t>(\n\t\tname: Name,\n\t\tt: T,\n\t): FlexObjectNodeSchema<\n\t\t`${TScope}.${Name}`,\n\t\t{ [key in keyof T]: NormalizeField<T[key], TDefaultKind> }\n\t> {\n\t\tconst schema = FlexObjectNodeSchema.create(\n\t\t\tthis,\n\t\t\tthis.scoped(name),\n\t\t\ttransformObjectMap(t, (field): FlexFieldSchema => this.normalizeField(field)) as {\n\t\t\t\t[key in keyof T]: NormalizeField<T[key], TDefaultKind>;\n\t\t\t},\n\t\t);\n\t\tthis.addNodeSchema(schema);\n\t\treturn schema;\n\t}\n\n\t/**\n\t * Same as `object` but with less type safety and works for recursive objects.\n\t * Reduced type safety is a side effect of a workaround for a TypeScript limitation.\n\t *\n\t * See {@link Unenforced} for details.\n\t *\n\t * TODO: Make this work with ImplicitFieldSchema.\n\t */\n\tpublic objectRecursive<\n\t\tconst Name extends TName,\n\t\tconst T extends Unenforced<RestrictiveReadonlyRecord<string, FlexImplicitFieldSchema>>,\n\t>(name: Name, t: T): FlexObjectNodeSchema<`${TScope}.${Name}`, T> {\n\t\treturn this.object(\n\t\t\tname,\n\t\t\tt as unknown as RestrictiveReadonlyRecord<string, FlexImplicitFieldSchema>,\n\t\t) as unknown as FlexObjectNodeSchema<`${TScope}.${Name}`, T>;\n\t}\n\n\t/**\n\t * Define (and add to this library) a {@link FlexMapNodeSchema}.\n\t */\n\tpublic map<Name extends TName, const T extends FlexMapFieldSchema>(\n\t\tname: Name,\n\t\tfieldSchema: T,\n\t): FlexMapNodeSchema<`${TScope}.${Name}`, T> {\n\t\tconst schema = FlexMapNodeSchema.create(this, this.scoped(name), fieldSchema);\n\t\tthis.addNodeSchema(schema);\n\t\treturn schema;\n\t}\n\n\t/**\n\t * Same as `map` but with less type safety and works for recursive objects.\n\t * Reduced type safety is a side effect of a workaround for a TypeScript limitation.\n\t *\n\t * See {@link Unenforced} for details.\n\t *\n\t * TODO: Make this work with ImplicitFieldSchema.\n\t */\n\tpublic mapRecursive<Name extends TName, const T extends Unenforced<FlexMapFieldSchema>>(\n\t\tname: Name,\n\t\tt: T,\n\t): FlexMapNodeSchema<`${TScope}.${Name}`, T> {\n\t\treturn this.map(name, t as FlexMapFieldSchema) as FlexMapNodeSchema<\n\t\t\t`${TScope}.${Name}`,\n\t\t\tT\n\t\t>;\n\t}\n\n\t/**\n\t * Define (and add to this library) a {@link FlexFieldNodeSchema}.\n\t *\n\t * The name must be unique among all TreeNodeSchema in the the document schema.\n\t *\n\t * @privateRemarks\n\t * TODO: Write and link document outlining field vs node data model and the separation of concerns related to that.\n\t * TODO: Maybe find a better name for this.\n\t */\n\tpublic fieldNode<Name extends TName, const T extends FlexImplicitFieldSchema>(\n\t\tname: Name,\n\t\tfieldSchema: T,\n\t): FlexFieldNodeSchema<`${TScope}.${Name}`, NormalizeField<T, TDefaultKind>> {\n\t\tconst schema = FlexFieldNodeSchema.create(\n\t\t\tthis,\n\t\t\tthis.scoped(name),\n\t\t\tthis.normalizeField(fieldSchema),\n\t\t);\n\t\tthis.addNodeSchema(schema);\n\t\treturn schema;\n\t}\n\n\t/**\n\t * Same as `fieldNode` but with less type safety and works for recursive objects.\n\t * Reduced type safety is a side effect of a workaround for a TypeScript limitation.\n\t *\n\t * See {@link Unenforced} for details.\n\t *\n\t * TODO: Make this work with ImplicitFieldSchema.\n\t */\n\tpublic fieldNodeRecursive<\n\t\tName extends TName,\n\t\tconst T extends Unenforced<FlexImplicitFieldSchema>,\n\t>(name: Name, t: T): FlexFieldNodeSchema<`${TScope}.${Name}`, T> {\n\t\treturn this.fieldNode(name, t as FlexImplicitFieldSchema) as FlexFieldNodeSchema<\n\t\t\t`${TScope}.${Name}`,\n\t\t\tT\n\t\t>;\n\t}\n\n\t/**\n\t * Define a {@link FlexFieldSchema}.\n\t *\n\t * @param kind - The [kind](https://en.wikipedia.org/wiki/Kind_(type_theory)) of this field.\n\t * Determine the multiplicity, viewing and editing APIs as well as the merge resolution policy.\n\t * @param allowedTypes - What types of children are allowed in this field.\n\t * @returns a {@link FlexFieldSchema} which can be used as a object field (see {@link SchemaBuilderBase.object}),\n\t * a map field (see {@link SchemaBuilderBase.map}), a field node (see {@link SchemaBuilderBase.fieldNode}) or the root field (see {@link SchemaBuilderBase.intoSchema}).\n\t *\n\t * @privateRemarks\n\t * TODO:\n\t * If a solution to TreeFieldSchema not being able to have extends clauses gets found,\n\t * consider just having users do `new TreeFieldSchema` instead?\n\t */\n\tpublic static field<Kind extends FlexFieldKind, T extends FlexImplicitAllowedTypes>(\n\t\tkind: Kind,\n\t\tallowedTypes: T,\n\t): FlexFieldSchema<Kind, NormalizeAllowedTypes<T>> {\n\t\treturn FlexFieldSchema.create(kind, normalizeAllowedTypes(allowedTypes));\n\t}\n\n\t/**\n\t * Define a schema for a field.\n\t * Same as {@link SchemaBuilderBase.field} but is less type safe and supports recursive types.\n\t * This API is less safe to work around a [limitation of TypeScript](https://github.com/microsoft/TypeScript/issues/55758).\n\t *\n\t * T must extends `AllowedTypes`: This cannot be enforced via TypeScript since such an \"extends\" clauses cause recursive types to error with:\n\t * \"'theSchema' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer.\"\n\t *\n\t * TODO: Try and find a way to provide a more specific type without triggering the above error.\n\t */\n\tpublic static fieldRecursive<\n\t\tKind extends FlexFieldKind,\n\t\t// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-arguments\n\t\tT extends FlexList<Unenforced<FlexTreeNodeSchema>>,\n\t>(kind: Kind, ...allowedTypes: T): FlexFieldSchema<Kind, T> {\n\t\treturn FlexFieldSchema.createUnsafe(kind, allowedTypes);\n\t}\n\n\t/**\n\t * Normalizes an {@link FlexImplicitFieldSchema} into a {@link FlexFieldSchema} using this schema builder's `defaultKind`.\n\t */\n\tprotected normalizeField<TSchema extends FlexImplicitFieldSchema>(\n\t\tschema: TSchema,\n\t): NormalizeField<TSchema, TDefaultKind> {\n\t\treturn normalizeField(schema, this.defaultKind);\n\t}\n}\n\n/**\n * Schema information collected by a SchemaBuilder, including referenced libraries.\n * Can be aggregated into other libraries by adding to their builders.\n * @internal\n */\nexport interface SchemaLibrary extends SchemaCollection {\n\t/**\n\t * Schema data aggregated from a collection of libraries by a SchemaBuilder.\n\t */\n\treadonly libraries: ReadonlySet<SchemaLibraryData>;\n}\n\n/**\n * Generalized version of AllowedTypes allowing for more concise expressions in some cases.\n * @internal\n */\nexport type FlexImplicitAllowedTypes = FlexAllowedTypes | FlexTreeNodeSchema | Any;\n\n/**\n * Normalizes an {@link FlexImplicitAllowedTypes} into {@link FlexAllowedTypes}.\n * @internal\n */\nexport type NormalizeAllowedTypes<TSchema extends FlexImplicitAllowedTypes> =\n\tTSchema extends FlexTreeNodeSchema\n\t\t? readonly [TSchema]\n\t\t: TSchema extends Any\n\t\t\t? readonly [Any]\n\t\t\t: TSchema;\n\n/**\n * Normalizes an {@link FlexImplicitAllowedTypes} into {@link FlexAllowedTypes}.\n */\nexport function normalizeAllowedTypes<TSchema extends FlexImplicitAllowedTypes>(\n\tschema: TSchema,\n): NormalizeAllowedTypes<TSchema> {\n\tif (schema === Any) {\n\t\treturn [Any] as unknown as NormalizeAllowedTypes<TSchema>;\n\t}\n\tif (schema instanceof TreeNodeSchemaBase) {\n\t\treturn [schema] as unknown as NormalizeAllowedTypes<TSchema>;\n\t}\n\tassert(Array.isArray(schema), 0x7c6 /* invalid ImplicitAllowedTypes */);\n\treturn schema as unknown as NormalizeAllowedTypes<TSchema>;\n}\n\n/**\n * Normalizes an {@link FlexImplicitFieldSchema} into a {@link FlexFieldSchema}.\n * @internal\n */\nexport type NormalizeField<\n\tTSchema extends FlexImplicitFieldSchema,\n\tTDefault extends FlexFieldKind,\n> = TSchema extends FlexFieldSchema\n\t? TSchema\n\t: FlexFieldSchema<\n\t\t\tTDefault,\n\t\t\tNormalizeAllowedTypes<Assume<TSchema, FlexImplicitAllowedTypes>>\n\t\t>;\n\n/**\n * Normalizes an {@link FlexImplicitFieldSchema} into a {@link FlexFieldSchema}.\n */\nexport function normalizeField<\n\tTSchema extends FlexImplicitFieldSchema,\n\tTDefault extends FlexFieldKind,\n>(schema: TSchema, defaultKind: TDefault): NormalizeField<TSchema, TDefault> {\n\tif (schema instanceof FlexFieldSchema) {\n\t\treturn schema as NormalizeField<TSchema, TDefault>;\n\t}\n\tconst allowedTypes = normalizeAllowedTypes(schema);\n\treturn FlexFieldSchema.create(defaultKind, allowedTypes) as unknown as NormalizeField<\n\t\tTSchema,\n\t\tTDefault\n\t>;\n}\n\n/**\n * Type that when combined with a default {@link FlexFieldKind} can be normalized into a {@link FlexFieldSchema}.\n * @internal\n */\nexport type FlexImplicitFieldSchema = FlexFieldSchema | FlexImplicitAllowedTypes;\n"]}
1
+ {"version":3,"file":"schemaBuilderBase.js","sourceRoot":"","sources":["../../src/feature-libraries/schemaBuilderBase.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { assert } from \"@fluidframework/core-utils/internal\";\n\nimport type { Adapters, TreeNodeSchemaIdentifier } from \"../core/index.js\";\nimport {\n\ttype Assume,\n\ttype RestrictiveReadonlyRecord,\n\ttransformObjectMap,\n} from \"../util/index.js\";\n\nimport { defaultSchemaPolicy } from \"./default-schema/index.js\";\nimport type { FlexFieldKind } from \"./modular-schema/index.js\";\nimport {\n\tAny,\n\ttype FlexAllowedTypes,\n\tFlexFieldSchema,\n\ttype FlexList,\n\ttype FlexMapFieldSchema,\n\tFlexMapNodeSchema,\n\tFlexObjectNodeSchema,\n\ttype FlexTreeNodeSchema,\n\ttype FlexTreeSchema,\n\ttype SchemaCollection,\n\ttype SchemaLibraryData,\n\ttype SchemaLintConfiguration,\n\tTreeNodeSchemaBase,\n\ttype Unenforced,\n\taggregateSchemaLibraries,\n\tschemaLintDefault,\n} from \"./typed-schema/index.js\";\n\n/**\n * Configuration for a SchemaBuilder.\n */\nexport interface SchemaBuilderOptions<TScope extends string = string> {\n\t/**\n\t * Prefix appended to the identifiers of all {@link FlexTreeNodeSchema} produced by this builder.\n\t * Use of [Reverse domain name notation](https://en.wikipedia.org/wiki/Reverse_domain_name_notation) or a UUIDv4 is recommended to avoid collisions.\n\t */\n\tscope: TScope;\n\n\t/**\n\t * Name used to refer to this builder in error messages.\n\t * Has no impact on the actual generated schema.\n\t * Defaults to scope.\n\t */\n\tname?: string;\n\n\t/**\n\t * Optional configuration for \"linting\".\n\t * See {@link SchemaLintConfiguration}. Currently defaults to enabling all lints.\n\t */\n\tlint?: Partial<SchemaLintConfiguration>;\n\n\t/**\n\t * Libraries to include in this one.\n\t *\n\t * @remarks\n\t * Unlike adding of individual schema, adding of libraries is idempotent.\n\t * If a single library is added multiple times (even indirectly via libraries it was added into),\n\t * only a single copy will be included, so they will not conflict.\n\t * This allows adding any library this one depends on without risk of conflicts for users of this library.\n\t * Contents within the added libraries can still conflict however.\n\t * Such errors will be reported when finalizing this builder into a library or document schema.\n\t */\n\tlibraries?: SchemaLibrary[];\n}\n\n/**\n * Builds schema libraries, and the schema within them.\n * *\n * @privateRemarks\n * This class does not directly depend on any specific field kinds,\n * or bake in any defaults that might have compatibility implications.\n * All use of such implicit defaults is done by subclasses, which thus get versioning implications.\n */\nexport class SchemaBuilderBase<\n\tTScope extends string,\n\tTDefaultKind extends FlexFieldKind,\n\tTName extends number | string = string,\n> {\n\tprivate readonly lintConfiguration: SchemaLintConfiguration;\n\tprivate readonly libraries: Set<SchemaLibraryData>;\n\tprivate finalized: boolean = false;\n\tprivate readonly treeNodeSchema: Map<TreeNodeSchemaIdentifier, FlexTreeNodeSchema> =\n\t\tnew Map();\n\tprivate readonly adapters: Adapters = {};\n\t/**\n\t * Prefix appended to the identifiers of all {@link FlexTreeNodeSchema} produced by this builder.\n\t */\n\tpublic readonly scope: TScope;\n\n\t/**\n\t * Used in error messages to identify content produced by this builder.\n\t */\n\tpublic readonly name: string;\n\n\t/**\n\t * @param defaultKind - The default field kind to use when inferring a {@link FlexFieldSchema} from {@link FlexImplicitAllowedTypes}.\n\t */\n\tpublic constructor(\n\t\tprivate readonly defaultKind: TDefaultKind,\n\t\toptions: SchemaBuilderOptions<TScope>,\n\t) {\n\t\tthis.name = options.name ?? options.scope;\n\t\tthis.lintConfiguration = { ...schemaLintDefault, ...options.lint };\n\t\tthis.libraries = new Set();\n\t\tthis.addLibraries(...(options.libraries ?? []));\n\t\tthis.scope = options.scope;\n\t}\n\n\tprotected scoped<Name extends TName>(\n\t\tname: Name,\n\t): TreeNodeSchemaIdentifier<`${TScope}.${Name}`> {\n\t\treturn `${this.scope}.${name}` as TreeNodeSchemaIdentifier<`${TScope}.${Name}`>;\n\t}\n\n\t/**\n\t * Adds more libraries to this one.\n\t *\n\t * Unlike adding of individual schema, adding of libraries is idempotent.\n\t * If a single library is added multiple times (even indirectly via libraries it was added into),\n\t * only a single copy will be included, so they will not conflict.\n\t * This allows adding any library this one depends on without risk of conflicts for users of this library.\n\t * Contents within the added libraries can still conflict however.\n\t * Such errors will be reported when finalizing this builder into a library of document schema.\n\t */\n\tprivate addLibraries(...libraries: SchemaLibrary[]): void {\n\t\tfor (const libs of libraries) {\n\t\t\tfor (const lib of libs.libraries) {\n\t\t\t\tthis.libraries.add(lib);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected addNodeSchema<T extends FlexTreeNodeSchema>(schema: T): void {\n\t\tassert(\n\t\t\t!this.treeNodeSchema.has(schema.name),\n\t\t\t0x799 /* Conflicting TreeNodeSchema names */,\n\t\t);\n\t\tthis.treeNodeSchema.set(schema.name, schema);\n\t}\n\n\tprivate finalizeCommon(field?: FlexFieldSchema): SchemaLibraryData {\n\t\tassert(!this.finalized, 0x79a /* SchemaBuilder can only be finalized once. */);\n\t\tthis.finalized = true;\n\t\tthis.libraries.add({\n\t\t\tname: this.name,\n\t\t\tnodeSchema: this.treeNodeSchema,\n\t\t\tadapters: this.adapters,\n\t\t});\n\n\t\t// Check for errors and aggregate data\n\t\treturn aggregateSchemaLibraries(this.name, this.lintConfiguration, this.libraries, field);\n\t}\n\n\t/**\n\t * Produce SchemaLibraries which capture the content added to this builder, as well as any additional SchemaLibraries that were added to it.\n\t * May only be called once after adding content to builder is complete.\n\t */\n\tpublic intoLibrary(): SchemaLibrary {\n\t\tconst aggregated = this.finalizeCommon();\n\n\t\t// Full library set (instead of just aggregated) is kept since it is required to handle deduplication of libraries included through different paths.\n\t\treturn { nodeSchema: aggregated.nodeSchema, libraries: this.libraries };\n\t}\n\n\t/**\n\t * Produce a TreeSchema which captures the content added to this builder, any additional SchemaLibraries that were added to it and a root field.\n\t * Can be used with schematize to provide schema aware access to document content.\n\t *\n\t * @remarks\n\t * May only be called once after adding content to builder is complete.\n\t */\n\tpublic intoSchema<const TSchema extends FlexImplicitFieldSchema>(\n\t\troot: TSchema,\n\t): FlexTreeSchema<NormalizeField<TSchema, TDefaultKind>> {\n\t\t// return this.toDocumentSchemaInternal(normalizeField(root, DefaultFieldKind));\n\t\tconst field: NormalizeField<TSchema, TDefaultKind> = this.normalizeField(root);\n\t\tconst library = this.finalizeCommon(field);\n\n\t\tconst typed: FlexTreeSchema<NormalizeField<TSchema, TDefaultKind>> = {\n\t\t\tnodeSchema: library.nodeSchema,\n\t\t\tadapters: library.adapters,\n\t\t\trootFieldSchema: field,\n\t\t\tpolicy: defaultSchemaPolicy,\n\t\t};\n\t\treturn typed;\n\t}\n\n\t/**\n\t * Define (and add to this library) a {@link FlexObjectNodeSchema}.\n\t *\n\t * The name must be unique among all TreeNodeSchema in the the document schema.\n\t */\n\tpublic object<\n\t\tconst Name extends TName,\n\t\tconst T extends RestrictiveReadonlyRecord<string, FlexImplicitFieldSchema>,\n\t>(\n\t\tname: Name,\n\t\tt: T,\n\t): FlexObjectNodeSchema<\n\t\t`${TScope}.${Name}`,\n\t\t{ [key in keyof T]: NormalizeField<T[key], TDefaultKind> }\n\t> {\n\t\tconst schema = FlexObjectNodeSchema.create(\n\t\t\tthis,\n\t\t\tthis.scoped(name),\n\t\t\ttransformObjectMap(t, (field): FlexFieldSchema => this.normalizeField(field)) as {\n\t\t\t\t[key in keyof T]: NormalizeField<T[key], TDefaultKind>;\n\t\t\t},\n\t\t);\n\t\tthis.addNodeSchema(schema);\n\t\treturn schema;\n\t}\n\n\t/**\n\t * Same as `object` but with less type safety and works for recursive objects.\n\t * Reduced type safety is a side effect of a workaround for a TypeScript limitation.\n\t *\n\t * See {@link Unenforced} for details.\n\t *\n\t * TODO: Make this work with ImplicitFieldSchema.\n\t */\n\tpublic objectRecursive<\n\t\tconst Name extends TName,\n\t\tconst T extends Unenforced<RestrictiveReadonlyRecord<string, FlexImplicitFieldSchema>>,\n\t>(name: Name, t: T): FlexObjectNodeSchema<`${TScope}.${Name}`, T> {\n\t\treturn this.object(\n\t\t\tname,\n\t\t\tt as unknown as RestrictiveReadonlyRecord<string, FlexImplicitFieldSchema>,\n\t\t) as unknown as FlexObjectNodeSchema<`${TScope}.${Name}`, T>;\n\t}\n\n\t/**\n\t * Define (and add to this library) a {@link FlexMapNodeSchema}.\n\t */\n\tpublic map<Name extends TName, const T extends FlexMapFieldSchema>(\n\t\tname: Name,\n\t\tfieldSchema: T,\n\t): FlexMapNodeSchema<`${TScope}.${Name}`, T> {\n\t\tconst schema = FlexMapNodeSchema.create(this, this.scoped(name), fieldSchema);\n\t\tthis.addNodeSchema(schema);\n\t\treturn schema;\n\t}\n\n\t/**\n\t * Same as `map` but with less type safety and works for recursive objects.\n\t * Reduced type safety is a side effect of a workaround for a TypeScript limitation.\n\t *\n\t * See {@link Unenforced} for details.\n\t *\n\t * TODO: Make this work with ImplicitFieldSchema.\n\t */\n\tpublic mapRecursive<Name extends TName, const T extends Unenforced<FlexMapFieldSchema>>(\n\t\tname: Name,\n\t\tt: T,\n\t): FlexMapNodeSchema<`${TScope}.${Name}`, T> {\n\t\treturn this.map(name, t as FlexMapFieldSchema) as FlexMapNodeSchema<\n\t\t\t`${TScope}.${Name}`,\n\t\t\tT\n\t\t>;\n\t}\n\n\t/**\n\t * Define a {@link FlexFieldSchema}.\n\t *\n\t * @param kind - The [kind](https://en.wikipedia.org/wiki/Kind_(type_theory)) of this field.\n\t * Determine the multiplicity, viewing and editing APIs as well as the merge resolution policy.\n\t * @param allowedTypes - What types of children are allowed in this field.\n\t * @returns a {@link FlexFieldSchema} which can be used as a object field (see {@link SchemaBuilderBase.object}),\n\t * a map field (see {@link SchemaBuilderBase.map}), a field node (see {@link SchemaBuilderBase.fieldNode}) or the root field (see {@link SchemaBuilderBase.intoSchema}).\n\t *\n\t * @privateRemarks\n\t * TODO:\n\t * If a solution to TreeFieldSchema not being able to have extends clauses gets found,\n\t * consider just having users do `new TreeFieldSchema` instead?\n\t */\n\tpublic static field<Kind extends FlexFieldKind, T extends FlexImplicitAllowedTypes>(\n\t\tkind: Kind,\n\t\tallowedTypes: T,\n\t): FlexFieldSchema<Kind, NormalizeAllowedTypes<T>> {\n\t\treturn FlexFieldSchema.create(kind, normalizeAllowedTypes(allowedTypes));\n\t}\n\n\t/**\n\t * Define a schema for a field.\n\t * Same as {@link SchemaBuilderBase.field} but is less type safe and supports recursive types.\n\t * This API is less safe to work around a [limitation of TypeScript](https://github.com/microsoft/TypeScript/issues/55758).\n\t *\n\t * T must extends `AllowedTypes`: This cannot be enforced via TypeScript since such an \"extends\" clauses cause recursive types to error with:\n\t * \"'theSchema' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer.\"\n\t *\n\t * TODO: Try and find a way to provide a more specific type without triggering the above error.\n\t */\n\tpublic static fieldRecursive<\n\t\tKind extends FlexFieldKind,\n\t\t// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-arguments\n\t\tT extends FlexList<Unenforced<FlexTreeNodeSchema>>,\n\t>(kind: Kind, ...allowedTypes: T): FlexFieldSchema<Kind, T> {\n\t\treturn FlexFieldSchema.createUnsafe(kind, allowedTypes);\n\t}\n\n\t/**\n\t * Normalizes an {@link FlexImplicitFieldSchema} into a {@link FlexFieldSchema} using this schema builder's `defaultKind`.\n\t */\n\tprotected normalizeField<TSchema extends FlexImplicitFieldSchema>(\n\t\tschema: TSchema,\n\t): NormalizeField<TSchema, TDefaultKind> {\n\t\treturn normalizeField(schema, this.defaultKind);\n\t}\n}\n\n/**\n * Schema information collected by a SchemaBuilder, including referenced libraries.\n * Can be aggregated into other libraries by adding to their builders.\n */\nexport interface SchemaLibrary extends SchemaCollection {\n\t/**\n\t * Schema data aggregated from a collection of libraries by a SchemaBuilder.\n\t */\n\treadonly libraries: ReadonlySet<SchemaLibraryData>;\n}\n\n/**\n * Generalized version of AllowedTypes allowing for more concise expressions in some cases.\n */\nexport type FlexImplicitAllowedTypes = FlexAllowedTypes | FlexTreeNodeSchema | Any;\n\n/**\n * Normalizes an {@link FlexImplicitAllowedTypes} into {@link FlexAllowedTypes}.\n */\nexport type NormalizeAllowedTypes<TSchema extends FlexImplicitAllowedTypes> =\n\tTSchema extends FlexTreeNodeSchema\n\t\t? readonly [TSchema]\n\t\t: TSchema extends Any\n\t\t\t? readonly [Any]\n\t\t\t: TSchema;\n\n/**\n * Normalizes an {@link FlexImplicitAllowedTypes} into {@link FlexAllowedTypes}.\n */\nexport function normalizeAllowedTypes<TSchema extends FlexImplicitAllowedTypes>(\n\tschema: TSchema,\n): NormalizeAllowedTypes<TSchema> {\n\tif (schema === Any) {\n\t\treturn [Any] as unknown as NormalizeAllowedTypes<TSchema>;\n\t}\n\tif (schema instanceof TreeNodeSchemaBase) {\n\t\treturn [schema] as unknown as NormalizeAllowedTypes<TSchema>;\n\t}\n\tassert(Array.isArray(schema), 0x7c6 /* invalid ImplicitAllowedTypes */);\n\treturn schema as unknown as NormalizeAllowedTypes<TSchema>;\n}\n\n/**\n * Normalizes an {@link FlexImplicitFieldSchema} into a {@link FlexFieldSchema}.\n */\nexport type NormalizeField<\n\tTSchema extends FlexImplicitFieldSchema,\n\tTDefault extends FlexFieldKind,\n> = TSchema extends FlexFieldSchema\n\t? TSchema\n\t: FlexFieldSchema<\n\t\t\tTDefault,\n\t\t\tNormalizeAllowedTypes<Assume<TSchema, FlexImplicitAllowedTypes>>\n\t\t>;\n\n/**\n * Normalizes an {@link FlexImplicitFieldSchema} into a {@link FlexFieldSchema}.\n */\nexport function normalizeField<\n\tTSchema extends FlexImplicitFieldSchema,\n\tTDefault extends FlexFieldKind,\n>(schema: TSchema, defaultKind: TDefault): NormalizeField<TSchema, TDefault> {\n\tif (schema instanceof FlexFieldSchema) {\n\t\treturn schema as NormalizeField<TSchema, TDefault>;\n\t}\n\tconst allowedTypes = normalizeAllowedTypes(schema);\n\treturn FlexFieldSchema.create(defaultKind, allowedTypes) as unknown as NormalizeField<\n\t\tTSchema,\n\t\tTDefault\n\t>;\n}\n\n/**\n * Type that when combined with a default {@link FlexFieldKind} can be normalized into a {@link FlexFieldSchema}.\n */\nexport type FlexImplicitFieldSchema = FlexFieldSchema | FlexImplicitAllowedTypes;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../../src/feature-libraries/sequence-field/compose.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAEN,KAAK,sBAAsB,EAG3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,WAAW,EAAQ,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EACN,KAAK,iBAAiB,EAEtB,KAAK,kBAAkB,EAEvB,MAAM,4BAA4B,CAAC;AAKpC,OAAO,EAEN,KAAK,eAAe,EAQpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEN,KAAK,SAAS,EAEd,KAAK,IAAI,EAMT,MAAM,YAAY,CAAC;AA4BpB;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CACtB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,SAAS,EAClB,YAAY,EAAE,kBAAkB,EAChC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,iBAAiB,EAC1B,gBAAgB,EAAE,sBAAsB,GACtC,SAAS,CAQX;AA2XD,qBAAa,YAAY;IASvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IATlC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAY;IACrC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAuC;IAC5E,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAuC;gBAG1E,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,SAAS,EACF,WAAW,EAAE,eAAe,EAC5B,gBAAgB,EAAE,sBAAsB;IAQnD,OAAO,IAAI,OAAO;IAIlB,GAAG,IAAI,YAAY;IAqD1B,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,aAAa;CAUrB;AAED,UAAU,YAAY;IACrB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,OAAO,CAAC,EAAE,IAAI,CAAC;CACf"}
1
+ {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../../src/feature-libraries/sequence-field/compose.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAEN,KAAK,sBAAsB,EAG3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,WAAW,EAAQ,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EACN,KAAK,iBAAiB,EAEtB,KAAK,kBAAkB,EAEvB,MAAM,4BAA4B,CAAC;AAKpC,OAAO,EAEN,KAAK,eAAe,EAQpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEN,KAAK,SAAS,EAEd,KAAK,IAAI,EAMT,MAAM,YAAY,CAAC;AA6BpB;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CACtB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,SAAS,EAClB,YAAY,EAAE,kBAAkB,EAChC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,iBAAiB,EAC1B,gBAAgB,EAAE,sBAAsB,GACtC,SAAS,CAQX;AA+YD,qBAAa,YAAY;IASvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IATlC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAY;IACrC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAuC;IAC5E,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAuC;gBAG1E,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,SAAS,EACF,WAAW,EAAE,eAAe,EAC5B,gBAAgB,EAAE,sBAAsB;IAQnD,OAAO,IAAI,OAAO;IAIlB,GAAG,IAAI,YAAY;IAqD1B,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,aAAa;CAUrB;AAED,UAAU,YAAY;IACrB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,OAAO,CAAC,EAAE,IAAI,CAAC;CACf"}
@@ -10,7 +10,7 @@ import { MarkListFactory } from "./markListFactory.js";
10
10
  import { MarkQueue } from "./markQueue.js";
11
11
  import { getCrossFieldTargetFromMove, getMoveEffect, getMoveIn, isMoveIn, isMoveMark, isMoveOut, setMoveEffect, } from "./moveEffectTable.js";
12
12
  import { NoopMarkType, } from "./types.js";
13
- import { CellOrder, areEqualCellIds, areInputCellsEmpty, areOutputCellsEmpty, asAttachAndDetach, cellSourcesFromMarks, compareCellPositionsUsingTombstones, extractMarkEffect, getEndpoint, getInputCellId, getOutputCellId, isAttach, isAttachAndDetachEffect, isDetach, isImpactfulCellRename, isNewAttach, isNoopMark, markEmptiesCells, markFillsCells, markHasCellEffect, normalizeCellRename, settleMark, withNodeChange, withRevision, } from "./utils.js";
13
+ import { CellOrder, areEqualCellIds, areInputCellsEmpty, areOutputCellsEmpty, asAttachAndDetach, cellSourcesFromMarks, compareCellPositionsUsingTombstones, extractMarkEffect, getEndpoint, getInputCellId, getOutputCellId, isAttach, isAttachAndDetachEffect, isDetach, isImpactfulCellRename, isNewAttach, isNoopMark, isRename, markEmptiesCells, markFillsCells, markHasCellEffect, normalizeCellRename, settleMark, withNodeChange, withRevision, } from "./utils.js";
14
14
  /**
15
15
  * Composes a sequence of changesets into a single changeset.
16
16
  * @param changes - The changesets to be applied.
@@ -68,8 +68,28 @@ function composeMarks(baseMark, newMark, composeChild, moveEffects) {
68
68
  return withUpdatedEndpoint(withNodeChange(composeMarksIgnoreChild(baseMark, newMark, moveEffects), nodeChange), baseMark.count, moveEffects);
69
69
  }
70
70
  function composeMarksIgnoreChild(baseMark, newMark, moveEffects) {
71
+ if (isNoopMark(baseMark)) {
72
+ return newMark;
73
+ }
74
+ else if (isNoopMark(newMark)) {
75
+ return baseMark;
76
+ }
77
+ if (isRename(baseMark) && isRename(newMark)) {
78
+ return { ...baseMark, idOverride: newMark.idOverride };
79
+ }
80
+ else if (isRename(baseMark)) {
81
+ assert(isAttach(newMark) || isAttachAndDetachEffect(newMark), 0x9f1 /* Unexpected mark type */);
82
+ return { ...newMark, cellId: baseMark.cellId };
83
+ }
84
+ else if (isRename(newMark)) {
85
+ assert(isDetach(baseMark) || isAttachAndDetachEffect(baseMark), 0x9f2 /* Unexpected mark type */);
86
+ return isDetach(baseMark)
87
+ ? { ...baseMark, idOverride: newMark.idOverride }
88
+ : { ...baseMark, detach: { ...baseMark.detach, idOverride: newMark.idOverride } };
89
+ }
71
90
  if (isImpactfulCellRename(newMark)) {
72
91
  const newAttachAndDetach = asAttachAndDetach(newMark);
92
+ assert(newAttachAndDetach.cellId !== undefined, 0x9f3 /* Impactful cell rename must target empty cell */);
73
93
  const newDetachRevision = newAttachAndDetach.detach.revision;
74
94
  if (markEmptiesCells(baseMark)) {
75
95
  // baseMark is a detach which cancels with the attach portion of the AttachAndDetach,
@@ -105,6 +125,7 @@ function composeMarksIgnoreChild(baseMark, newMark, moveEffects) {
105
125
  return newDetach;
106
126
  }
107
127
  if (isImpactfulCellRename(baseMark)) {
128
+ assert(baseMark.cellId !== undefined, 0x9f4 /* Impactful cell rename must target empty cell */);
108
129
  const baseAttachAndDetach = asAttachAndDetach(baseMark);
109
130
  const newOutputId = getOutputCellId(newAttachAndDetach);
110
131
  if (areEqualCellIds(newOutputId, baseAttachAndDetach.cellId)) {
@@ -117,15 +138,9 @@ function composeMarksIgnoreChild(baseMark, newMark, moveEffects) {
117
138
  if (detachRevision !== undefined) {
118
139
  finalDetach.revision = detachRevision;
119
140
  }
120
- return normalizeCellRename({
121
- type: "AttachAndDetach",
122
- cellId: baseMark.cellId,
123
- count: baseMark.count,
124
- attach: originalAttach,
125
- detach: finalDetach,
126
- });
141
+ return normalizeCellRename(baseMark.cellId, baseMark.count, originalAttach, finalDetach);
127
142
  }
128
- return normalizeCellRename(newAttachAndDetach);
143
+ return normalizeCellRename(newAttachAndDetach.cellId, newAttachAndDetach.count, newAttachAndDetach.attach, newAttachAndDetach.detach);
129
144
  }
130
145
  if (isImpactfulCellRename(baseMark)) {
131
146
  const baseAttachAndDetach = asAttachAndDetach(baseMark);
@@ -157,12 +172,6 @@ function composeMarksIgnoreChild(baseMark, newMark, moveEffects) {
157
172
  }
158
173
  }
159
174
  if (!markHasCellEffect(baseMark) && !markHasCellEffect(newMark)) {
160
- if (isNoopMark(baseMark)) {
161
- return newMark;
162
- }
163
- else if (isNoopMark(newMark)) {
164
- return baseMark;
165
- }
166
175
  return createNoopMark(newMark.count, undefined, getInputCellId(baseMark));
167
176
  }
168
177
  else if (!markHasCellEffect(baseMark)) {
@@ -198,13 +207,7 @@ function composeMarksIgnoreChild(baseMark, newMark, moveEffects) {
198
207
  // The output and input cell IDs are the same, so this mark has no effect.
199
208
  return { count: baseMark.count, cellId: baseMark.cellId };
200
209
  }
201
- return normalizeCellRename({
202
- type: "AttachAndDetach",
203
- cellId: baseMark.cellId,
204
- count: baseMark.count,
205
- attach,
206
- detach,
207
- });
210
+ return normalizeCellRename(baseMark.cellId, baseMark.count, attach, detach);
208
211
  }
209
212
  else {
210
213
  const length = baseMark.count;