@fluidframework/tree 2.3.1 → 2.4.0-297027

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 (674) hide show
  1. package/api-report/tree.alpha.api.md +77 -38
  2. package/api-report/tree.beta.api.md +50 -30
  3. package/api-report/tree.legacy.alpha.api.md +50 -30
  4. package/api-report/tree.legacy.public.api.md +50 -30
  5. package/api-report/tree.public.api.md +50 -30
  6. package/dist/alpha.d.ts +7 -0
  7. package/dist/beta.d.ts +4 -0
  8. package/dist/core/index.d.ts +1 -1
  9. package/dist/core/index.d.ts.map +1 -1
  10. package/dist/core/index.js +2 -1
  11. package/dist/core/index.js.map +1 -1
  12. package/dist/core/rebase/index.d.ts +1 -1
  13. package/dist/core/rebase/index.d.ts.map +1 -1
  14. package/dist/core/rebase/index.js +2 -1
  15. package/dist/core/rebase/index.js.map +1 -1
  16. package/dist/core/rebase/types.d.ts +1 -0
  17. package/dist/core/rebase/types.d.ts.map +1 -1
  18. package/dist/core/rebase/types.js +8 -1
  19. package/dist/core/rebase/types.js.map +1 -1
  20. package/dist/core/schema-stored/schema.d.ts +7 -0
  21. package/dist/core/schema-stored/schema.d.ts.map +1 -1
  22. package/dist/core/schema-stored/schema.js +9 -0
  23. package/dist/core/schema-stored/schema.js.map +1 -1
  24. package/dist/core/tree/anchorSet.d.ts +1 -2
  25. package/dist/core/tree/anchorSet.d.ts.map +1 -1
  26. package/dist/core/tree/anchorSet.js +2 -2
  27. package/dist/core/tree/anchorSet.js.map +1 -1
  28. package/dist/core/tree/detachedFieldIndex.d.ts.map +1 -1
  29. package/dist/core/tree/detachedFieldIndex.js +13 -2
  30. package/dist/core/tree/detachedFieldIndex.js.map +1 -1
  31. package/dist/core/tree/detachedFieldIndexTypes.d.ts +1 -1
  32. package/dist/core/tree/detachedFieldIndexTypes.js.map +1 -1
  33. package/dist/feature-libraries/editableTreeBinder.d.ts +3 -230
  34. package/dist/feature-libraries/editableTreeBinder.d.ts.map +1 -1
  35. package/dist/feature-libraries/editableTreeBinder.js +1 -539
  36. package/dist/feature-libraries/editableTreeBinder.js.map +1 -1
  37. package/dist/feature-libraries/flex-tree/context.d.ts +7 -14
  38. package/dist/feature-libraries/flex-tree/context.d.ts.map +1 -1
  39. package/dist/feature-libraries/flex-tree/context.js +3 -3
  40. package/dist/feature-libraries/flex-tree/context.js.map +1 -1
  41. package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts +2 -16
  42. package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -1
  43. package/dist/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -1
  44. package/dist/feature-libraries/flex-tree/lazyEntity.d.ts +2 -3
  45. package/dist/feature-libraries/flex-tree/lazyEntity.d.ts.map +1 -1
  46. package/dist/feature-libraries/flex-tree/lazyEntity.js +1 -2
  47. package/dist/feature-libraries/flex-tree/lazyEntity.js.map +1 -1
  48. package/dist/feature-libraries/flex-tree/lazyField.d.ts +10 -15
  49. package/dist/feature-libraries/flex-tree/lazyField.d.ts.map +1 -1
  50. package/dist/feature-libraries/flex-tree/lazyField.js +18 -20
  51. package/dist/feature-libraries/flex-tree/lazyField.js.map +1 -1
  52. package/dist/feature-libraries/flex-tree/lazyNode.d.ts +4 -5
  53. package/dist/feature-libraries/flex-tree/lazyNode.d.ts.map +1 -1
  54. package/dist/feature-libraries/flex-tree/lazyNode.js +13 -23
  55. package/dist/feature-libraries/flex-tree/lazyNode.js.map +1 -1
  56. package/dist/feature-libraries/flex-tree/utilities.js +1 -1
  57. package/dist/feature-libraries/flex-tree/utilities.js.map +1 -1
  58. package/dist/feature-libraries/index.d.ts +4 -7
  59. package/dist/feature-libraries/index.d.ts.map +1 -1
  60. package/dist/feature-libraries/index.js +5 -31
  61. package/dist/feature-libraries/index.js.map +1 -1
  62. package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts +7 -0
  63. package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
  64. package/dist/feature-libraries/modular-schema/modularChangeFamily.js +61 -17
  65. package/dist/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
  66. package/dist/feature-libraries/sequence-field/compose.d.ts.map +1 -1
  67. package/dist/feature-libraries/sequence-field/compose.js +3 -0
  68. package/dist/feature-libraries/sequence-field/compose.js.map +1 -1
  69. package/dist/feature-libraries/sequence-field/formatV1.d.ts +18 -18
  70. package/dist/feature-libraries/sequence-field/formatV2.d.ts +18 -18
  71. package/dist/feature-libraries/sequence-field/formatV3.d.ts +27 -27
  72. package/dist/feature-libraries/sequence-field/utils.d.ts.map +1 -1
  73. package/dist/feature-libraries/sequence-field/utils.js +1 -4
  74. package/dist/feature-libraries/sequence-field/utils.js.map +1 -1
  75. package/dist/feature-libraries/typed-schema/flexList.d.ts +1 -46
  76. package/dist/feature-libraries/typed-schema/flexList.d.ts.map +1 -1
  77. package/dist/feature-libraries/typed-schema/flexList.js +1 -13
  78. package/dist/feature-libraries/typed-schema/flexList.js.map +1 -1
  79. package/dist/feature-libraries/typed-schema/index.d.ts +2 -4
  80. package/dist/feature-libraries/typed-schema/index.d.ts.map +1 -1
  81. package/dist/feature-libraries/typed-schema/index.js +1 -19
  82. package/dist/feature-libraries/typed-schema/index.js.map +1 -1
  83. package/dist/feature-libraries/typed-schema/typedTreeSchema.d.ts +0 -212
  84. package/dist/feature-libraries/typed-schema/typedTreeSchema.d.ts.map +1 -1
  85. package/dist/feature-libraries/typed-schema/typedTreeSchema.js +0 -266
  86. package/dist/feature-libraries/typed-schema/typedTreeSchema.js.map +1 -1
  87. package/dist/index.d.ts +3 -3
  88. package/dist/index.d.ts.map +1 -1
  89. package/dist/index.js +2 -1
  90. package/dist/index.js.map +1 -1
  91. package/dist/internalTypes.d.ts +1 -1
  92. package/dist/internalTypes.d.ts.map +1 -1
  93. package/dist/internalTypes.js.map +1 -1
  94. package/dist/legacy.d.ts +4 -0
  95. package/dist/packageVersion.d.ts +1 -1
  96. package/dist/packageVersion.d.ts.map +1 -1
  97. package/dist/packageVersion.js +1 -1
  98. package/dist/packageVersion.js.map +1 -1
  99. package/dist/public.d.ts +4 -0
  100. package/dist/shared-tree/checkoutFlexTreeView.d.ts +3 -3
  101. package/dist/shared-tree/checkoutFlexTreeView.d.ts.map +1 -1
  102. package/dist/shared-tree/checkoutFlexTreeView.js +1 -1
  103. package/dist/shared-tree/checkoutFlexTreeView.js.map +1 -1
  104. package/dist/shared-tree/index.d.ts +3 -3
  105. package/dist/shared-tree/index.d.ts.map +1 -1
  106. package/dist/shared-tree/index.js +2 -3
  107. package/dist/shared-tree/index.js.map +1 -1
  108. package/dist/shared-tree/schematizeTree.d.ts +1 -40
  109. package/dist/shared-tree/schematizeTree.d.ts.map +1 -1
  110. package/dist/shared-tree/schematizeTree.js +2 -11
  111. package/dist/shared-tree/schematizeTree.js.map +1 -1
  112. package/dist/shared-tree/schematizingTreeView.d.ts +9 -7
  113. package/dist/shared-tree/schematizingTreeView.d.ts.map +1 -1
  114. package/dist/shared-tree/schematizingTreeView.js +19 -8
  115. package/dist/shared-tree/schematizingTreeView.js.map +1 -1
  116. package/dist/shared-tree/sharedTree.d.ts +19 -2
  117. package/dist/shared-tree/sharedTree.d.ts.map +1 -1
  118. package/dist/shared-tree/sharedTree.js +10 -2
  119. package/dist/shared-tree/sharedTree.js.map +1 -1
  120. package/dist/shared-tree/treeCheckout.d.ts +71 -41
  121. package/dist/shared-tree/treeCheckout.d.ts.map +1 -1
  122. package/dist/shared-tree/treeCheckout.js +116 -84
  123. package/dist/shared-tree/treeCheckout.js.map +1 -1
  124. package/dist/shared-tree-core/branch.d.ts +8 -11
  125. package/dist/shared-tree-core/branch.d.ts.map +1 -1
  126. package/dist/shared-tree-core/branch.js +12 -15
  127. package/dist/shared-tree-core/branch.js.map +1 -1
  128. package/dist/simple-tree/api/create.d.ts +1 -1
  129. package/dist/simple-tree/api/create.d.ts.map +1 -1
  130. package/dist/simple-tree/api/create.js +11 -13
  131. package/dist/simple-tree/api/create.js.map +1 -1
  132. package/dist/simple-tree/api/getJsonSchema.d.ts +3 -3
  133. package/dist/simple-tree/api/getJsonSchema.d.ts.map +1 -1
  134. package/dist/simple-tree/api/getJsonSchema.js +1 -1
  135. package/dist/simple-tree/api/getJsonSchema.js.map +1 -1
  136. package/dist/simple-tree/api/getSimpleSchema.d.ts +2 -2
  137. package/dist/simple-tree/api/getSimpleSchema.d.ts.map +1 -1
  138. package/dist/simple-tree/api/getSimpleSchema.js.map +1 -1
  139. package/dist/simple-tree/api/index.d.ts +2 -1
  140. package/dist/simple-tree/api/index.d.ts.map +1 -1
  141. package/dist/simple-tree/api/index.js +3 -1
  142. package/dist/simple-tree/api/index.js.map +1 -1
  143. package/dist/simple-tree/api/jsonSchema.d.ts +13 -14
  144. package/dist/simple-tree/api/jsonSchema.d.ts.map +1 -1
  145. package/dist/simple-tree/api/jsonSchema.js.map +1 -1
  146. package/dist/simple-tree/api/schemaFactory.d.ts +14 -8
  147. package/dist/simple-tree/api/schemaFactory.d.ts.map +1 -1
  148. package/dist/simple-tree/api/schemaFactory.js +21 -2
  149. package/dist/simple-tree/api/schemaFactory.js.map +1 -1
  150. package/dist/simple-tree/api/schemaFactoryRecursive.d.ts +3 -3
  151. package/dist/simple-tree/api/schemaFactoryRecursive.d.ts.map +1 -1
  152. package/dist/simple-tree/api/schemaFactoryRecursive.js.map +1 -1
  153. package/dist/simple-tree/api/simpleSchema.d.ts +18 -10
  154. package/dist/simple-tree/api/simpleSchema.d.ts.map +1 -1
  155. package/dist/simple-tree/api/simpleSchema.js.map +1 -1
  156. package/dist/simple-tree/api/simpleSchemaToJsonSchema.d.ts.map +1 -1
  157. package/dist/simple-tree/api/simpleSchemaToJsonSchema.js +30 -17
  158. package/dist/simple-tree/api/simpleSchemaToJsonSchema.js.map +1 -1
  159. package/dist/simple-tree/api/tree.d.ts +16 -6
  160. package/dist/simple-tree/api/tree.d.ts.map +1 -1
  161. package/dist/simple-tree/api/tree.js +4 -4
  162. package/dist/simple-tree/api/tree.js.map +1 -1
  163. package/dist/simple-tree/api/treeNodeApi.d.ts.map +1 -1
  164. package/dist/simple-tree/api/treeNodeApi.js +8 -6
  165. package/dist/simple-tree/api/treeNodeApi.js.map +1 -1
  166. package/dist/simple-tree/api/verboseTree.d.ts.map +1 -1
  167. package/dist/simple-tree/api/verboseTree.js +6 -10
  168. package/dist/simple-tree/api/verboseTree.js.map +1 -1
  169. package/{lib/feature-libraries/typed-schema → dist/simple-tree/api}/view.d.ts +4 -11
  170. package/dist/simple-tree/api/view.d.ts.map +1 -0
  171. package/dist/{feature-libraries/typed-schema → simple-tree/api}/view.js +9 -9
  172. package/dist/simple-tree/api/view.js.map +1 -0
  173. package/dist/simple-tree/api/viewSchemaToSimpleSchema.d.ts +2 -2
  174. package/dist/simple-tree/api/viewSchemaToSimpleSchema.d.ts.map +1 -1
  175. package/dist/simple-tree/api/viewSchemaToSimpleSchema.js +11 -1
  176. package/dist/simple-tree/api/viewSchemaToSimpleSchema.js.map +1 -1
  177. package/dist/simple-tree/arrayNode.d.ts +147 -14
  178. package/dist/simple-tree/arrayNode.d.ts.map +1 -1
  179. package/dist/simple-tree/arrayNode.js +32 -20
  180. package/dist/simple-tree/arrayNode.js.map +1 -1
  181. package/dist/simple-tree/core/context.d.ts +55 -0
  182. package/dist/simple-tree/core/context.d.ts.map +1 -0
  183. package/dist/simple-tree/core/context.js +60 -0
  184. package/dist/simple-tree/core/context.js.map +1 -0
  185. package/dist/simple-tree/core/getOrCreateNode.d.ts +15 -0
  186. package/dist/simple-tree/core/getOrCreateNode.d.ts.map +1 -0
  187. package/dist/simple-tree/core/getOrCreateNode.js +36 -0
  188. package/dist/simple-tree/core/getOrCreateNode.js.map +1 -0
  189. package/dist/simple-tree/core/index.d.ts +7 -3
  190. package/dist/simple-tree/core/index.d.ts.map +1 -1
  191. package/dist/simple-tree/core/index.js +16 -7
  192. package/dist/simple-tree/core/index.js.map +1 -1
  193. package/dist/simple-tree/core/schemaCaching.d.ts +5 -13
  194. package/dist/simple-tree/core/schemaCaching.d.ts.map +1 -1
  195. package/dist/simple-tree/core/schemaCaching.js +16 -45
  196. package/dist/simple-tree/core/schemaCaching.js.map +1 -1
  197. package/dist/simple-tree/core/treeNodeKernel.d.ts +29 -7
  198. package/dist/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
  199. package/dist/simple-tree/core/treeNodeKernel.js +94 -58
  200. package/dist/simple-tree/core/treeNodeKernel.js.map +1 -1
  201. package/dist/simple-tree/core/treeNodeSchema.d.ts +24 -0
  202. package/dist/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
  203. package/dist/simple-tree/core/treeNodeSchema.js.map +1 -1
  204. package/dist/simple-tree/core/types.d.ts +0 -5
  205. package/dist/simple-tree/core/types.d.ts.map +1 -1
  206. package/dist/simple-tree/core/types.js.map +1 -1
  207. package/dist/simple-tree/core/unhydratedFlexTree.d.ts +139 -0
  208. package/dist/simple-tree/core/unhydratedFlexTree.d.ts.map +1 -0
  209. package/dist/{feature-libraries/flex-map-tree/mapTreeNode.js → simple-tree/core/unhydratedFlexTree.js} +112 -132
  210. package/dist/simple-tree/core/unhydratedFlexTree.js.map +1 -0
  211. package/dist/simple-tree/{walkSchema.d.ts → core/walkSchema.d.ts} +8 -4
  212. package/dist/simple-tree/core/walkSchema.d.ts.map +1 -0
  213. package/dist/simple-tree/core/walkSchema.js +34 -0
  214. package/dist/simple-tree/core/walkSchema.js.map +1 -0
  215. package/dist/simple-tree/createContext.d.ts +11 -0
  216. package/dist/simple-tree/createContext.d.ts.map +1 -0
  217. package/dist/simple-tree/createContext.js +25 -0
  218. package/dist/simple-tree/createContext.js.map +1 -0
  219. package/dist/simple-tree/index.d.ts +4 -5
  220. package/dist/simple-tree/index.d.ts.map +1 -1
  221. package/dist/simple-tree/index.js +7 -7
  222. package/dist/simple-tree/index.js.map +1 -1
  223. package/dist/simple-tree/leafNodeSchema.d.ts +1 -0
  224. package/dist/simple-tree/leafNodeSchema.d.ts.map +1 -1
  225. package/dist/simple-tree/leafNodeSchema.js +1 -2
  226. package/dist/simple-tree/leafNodeSchema.js.map +1 -1
  227. package/dist/simple-tree/mapNode.d.ts +4 -4
  228. package/dist/simple-tree/mapNode.d.ts.map +1 -1
  229. package/dist/simple-tree/mapNode.js +9 -5
  230. package/dist/simple-tree/mapNode.js.map +1 -1
  231. package/dist/simple-tree/objectNode.d.ts +8 -8
  232. package/dist/simple-tree/objectNode.d.ts.map +1 -1
  233. package/dist/simple-tree/objectNode.js +33 -14
  234. package/dist/simple-tree/objectNode.js.map +1 -1
  235. package/dist/simple-tree/objectNodeTypes.d.ts +7 -3
  236. package/dist/simple-tree/objectNodeTypes.d.ts.map +1 -1
  237. package/dist/simple-tree/objectNodeTypes.js.map +1 -1
  238. package/dist/simple-tree/proxies.d.ts +1 -2
  239. package/dist/simple-tree/proxies.d.ts.map +1 -1
  240. package/dist/simple-tree/proxies.js +6 -22
  241. package/dist/simple-tree/proxies.js.map +1 -1
  242. package/dist/simple-tree/schemaTypes.d.ts +44 -4
  243. package/dist/simple-tree/schemaTypes.d.ts.map +1 -1
  244. package/dist/simple-tree/schemaTypes.js +10 -0
  245. package/dist/simple-tree/schemaTypes.js.map +1 -1
  246. package/dist/simple-tree/toFlexSchema.d.ts +6 -36
  247. package/dist/simple-tree/toFlexSchema.d.ts.map +1 -1
  248. package/dist/simple-tree/toFlexSchema.js +58 -142
  249. package/dist/simple-tree/toFlexSchema.js.map +1 -1
  250. package/dist/simple-tree/toMapTree.d.ts.map +1 -1
  251. package/dist/simple-tree/toMapTree.js +2 -2
  252. package/dist/simple-tree/toMapTree.js.map +1 -1
  253. package/dist/simple-tree/treeNodeValid.d.ts +13 -5
  254. package/dist/simple-tree/treeNodeValid.d.ts.map +1 -1
  255. package/dist/simple-tree/treeNodeValid.js +19 -10
  256. package/dist/simple-tree/treeNodeValid.js.map +1 -1
  257. package/dist/simple-tree/typesUnsafe.d.ts +4 -4
  258. package/dist/simple-tree/typesUnsafe.d.ts.map +1 -1
  259. package/dist/simple-tree/typesUnsafe.js.map +1 -1
  260. package/dist/simple-tree/walkFieldSchema.d.ts +11 -0
  261. package/dist/simple-tree/walkFieldSchema.d.ts.map +1 -0
  262. package/dist/simple-tree/walkFieldSchema.js +17 -0
  263. package/dist/simple-tree/walkFieldSchema.js.map +1 -0
  264. package/dist/util/index.d.ts +1 -1
  265. package/dist/util/index.d.ts.map +1 -1
  266. package/dist/util/index.js.map +1 -1
  267. package/dist/util/typeUtils.d.ts +14 -45
  268. package/dist/util/typeUtils.d.ts.map +1 -1
  269. package/dist/util/typeUtils.js.map +1 -1
  270. package/lib/alpha.d.ts +7 -0
  271. package/lib/beta.d.ts +4 -0
  272. package/lib/core/index.d.ts +1 -1
  273. package/lib/core/index.d.ts.map +1 -1
  274. package/lib/core/index.js +1 -1
  275. package/lib/core/index.js.map +1 -1
  276. package/lib/core/rebase/index.d.ts +1 -1
  277. package/lib/core/rebase/index.d.ts.map +1 -1
  278. package/lib/core/rebase/index.js +1 -1
  279. package/lib/core/rebase/index.js.map +1 -1
  280. package/lib/core/rebase/types.d.ts +1 -0
  281. package/lib/core/rebase/types.d.ts.map +1 -1
  282. package/lib/core/rebase/types.js +6 -0
  283. package/lib/core/rebase/types.js.map +1 -1
  284. package/lib/core/schema-stored/schema.d.ts +7 -0
  285. package/lib/core/schema-stored/schema.d.ts.map +1 -1
  286. package/lib/core/schema-stored/schema.js +9 -0
  287. package/lib/core/schema-stored/schema.js.map +1 -1
  288. package/lib/core/tree/anchorSet.d.ts +1 -2
  289. package/lib/core/tree/anchorSet.d.ts.map +1 -1
  290. package/lib/core/tree/anchorSet.js +2 -2
  291. package/lib/core/tree/anchorSet.js.map +1 -1
  292. package/lib/core/tree/detachedFieldIndex.d.ts.map +1 -1
  293. package/lib/core/tree/detachedFieldIndex.js +13 -2
  294. package/lib/core/tree/detachedFieldIndex.js.map +1 -1
  295. package/lib/core/tree/detachedFieldIndexTypes.d.ts +1 -1
  296. package/lib/core/tree/detachedFieldIndexTypes.js.map +1 -1
  297. package/lib/feature-libraries/editableTreeBinder.d.ts +3 -230
  298. package/lib/feature-libraries/editableTreeBinder.d.ts.map +1 -1
  299. package/lib/feature-libraries/editableTreeBinder.js +1 -532
  300. package/lib/feature-libraries/editableTreeBinder.js.map +1 -1
  301. package/lib/feature-libraries/flex-tree/context.d.ts +7 -14
  302. package/lib/feature-libraries/flex-tree/context.d.ts.map +1 -1
  303. package/lib/feature-libraries/flex-tree/context.js +3 -3
  304. package/lib/feature-libraries/flex-tree/context.js.map +1 -1
  305. package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts +2 -16
  306. package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -1
  307. package/lib/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -1
  308. package/lib/feature-libraries/flex-tree/lazyEntity.d.ts +2 -3
  309. package/lib/feature-libraries/flex-tree/lazyEntity.d.ts.map +1 -1
  310. package/lib/feature-libraries/flex-tree/lazyEntity.js +1 -2
  311. package/lib/feature-libraries/flex-tree/lazyEntity.js.map +1 -1
  312. package/lib/feature-libraries/flex-tree/lazyField.d.ts +10 -15
  313. package/lib/feature-libraries/flex-tree/lazyField.d.ts.map +1 -1
  314. package/lib/feature-libraries/flex-tree/lazyField.js +18 -20
  315. package/lib/feature-libraries/flex-tree/lazyField.js.map +1 -1
  316. package/lib/feature-libraries/flex-tree/lazyNode.d.ts +4 -5
  317. package/lib/feature-libraries/flex-tree/lazyNode.d.ts.map +1 -1
  318. package/lib/feature-libraries/flex-tree/lazyNode.js +13 -23
  319. package/lib/feature-libraries/flex-tree/lazyNode.js.map +1 -1
  320. package/lib/feature-libraries/flex-tree/utilities.js +1 -1
  321. package/lib/feature-libraries/flex-tree/utilities.js.map +1 -1
  322. package/lib/feature-libraries/index.d.ts +4 -7
  323. package/lib/feature-libraries/index.d.ts.map +1 -1
  324. package/lib/feature-libraries/index.js +4 -6
  325. package/lib/feature-libraries/index.js.map +1 -1
  326. package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts +7 -0
  327. package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
  328. package/lib/feature-libraries/modular-schema/modularChangeFamily.js +62 -18
  329. package/lib/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
  330. package/lib/feature-libraries/sequence-field/compose.d.ts.map +1 -1
  331. package/lib/feature-libraries/sequence-field/compose.js +3 -0
  332. package/lib/feature-libraries/sequence-field/compose.js.map +1 -1
  333. package/lib/feature-libraries/sequence-field/formatV1.d.ts +18 -18
  334. package/lib/feature-libraries/sequence-field/formatV2.d.ts +18 -18
  335. package/lib/feature-libraries/sequence-field/formatV3.d.ts +27 -27
  336. package/lib/feature-libraries/sequence-field/utils.d.ts.map +1 -1
  337. package/lib/feature-libraries/sequence-field/utils.js +2 -5
  338. package/lib/feature-libraries/sequence-field/utils.js.map +1 -1
  339. package/lib/feature-libraries/typed-schema/flexList.d.ts +1 -46
  340. package/lib/feature-libraries/typed-schema/flexList.d.ts.map +1 -1
  341. package/lib/feature-libraries/typed-schema/flexList.js +0 -11
  342. package/lib/feature-libraries/typed-schema/flexList.js.map +1 -1
  343. package/lib/feature-libraries/typed-schema/index.d.ts +2 -4
  344. package/lib/feature-libraries/typed-schema/index.d.ts.map +1 -1
  345. package/lib/feature-libraries/typed-schema/index.js +0 -3
  346. package/lib/feature-libraries/typed-schema/index.js.map +1 -1
  347. package/lib/feature-libraries/typed-schema/typedTreeSchema.d.ts +0 -212
  348. package/lib/feature-libraries/typed-schema/typedTreeSchema.d.ts.map +1 -1
  349. package/lib/feature-libraries/typed-schema/typedTreeSchema.js +1 -253
  350. package/lib/feature-libraries/typed-schema/typedTreeSchema.js.map +1 -1
  351. package/lib/index.d.ts +3 -3
  352. package/lib/index.d.ts.map +1 -1
  353. package/lib/index.js +1 -1
  354. package/lib/index.js.map +1 -1
  355. package/lib/internalTypes.d.ts +1 -1
  356. package/lib/internalTypes.d.ts.map +1 -1
  357. package/lib/internalTypes.js.map +1 -1
  358. package/lib/legacy.d.ts +4 -0
  359. package/lib/packageVersion.d.ts +1 -1
  360. package/lib/packageVersion.d.ts.map +1 -1
  361. package/lib/packageVersion.js +1 -1
  362. package/lib/packageVersion.js.map +1 -1
  363. package/lib/public.d.ts +4 -0
  364. package/lib/shared-tree/checkoutFlexTreeView.d.ts +3 -3
  365. package/lib/shared-tree/checkoutFlexTreeView.d.ts.map +1 -1
  366. package/lib/shared-tree/checkoutFlexTreeView.js +1 -1
  367. package/lib/shared-tree/checkoutFlexTreeView.js.map +1 -1
  368. package/lib/shared-tree/index.d.ts +3 -3
  369. package/lib/shared-tree/index.d.ts.map +1 -1
  370. package/lib/shared-tree/index.js +1 -2
  371. package/lib/shared-tree/index.js.map +1 -1
  372. package/lib/shared-tree/schematizeTree.d.ts +1 -40
  373. package/lib/shared-tree/schematizeTree.d.ts.map +1 -1
  374. package/lib/shared-tree/schematizeTree.js +1 -9
  375. package/lib/shared-tree/schematizeTree.js.map +1 -1
  376. package/lib/shared-tree/schematizingTreeView.d.ts +9 -7
  377. package/lib/shared-tree/schematizingTreeView.d.ts.map +1 -1
  378. package/lib/shared-tree/schematizingTreeView.js +22 -11
  379. package/lib/shared-tree/schematizingTreeView.js.map +1 -1
  380. package/lib/shared-tree/sharedTree.d.ts +19 -2
  381. package/lib/shared-tree/sharedTree.d.ts.map +1 -1
  382. package/lib/shared-tree/sharedTree.js +10 -3
  383. package/lib/shared-tree/sharedTree.js.map +1 -1
  384. package/lib/shared-tree/treeCheckout.d.ts +71 -41
  385. package/lib/shared-tree/treeCheckout.d.ts.map +1 -1
  386. package/lib/shared-tree/treeCheckout.js +118 -86
  387. package/lib/shared-tree/treeCheckout.js.map +1 -1
  388. package/lib/shared-tree-core/branch.d.ts +8 -11
  389. package/lib/shared-tree-core/branch.d.ts.map +1 -1
  390. package/lib/shared-tree-core/branch.js +12 -15
  391. package/lib/shared-tree-core/branch.js.map +1 -1
  392. package/lib/simple-tree/api/create.d.ts +1 -1
  393. package/lib/simple-tree/api/create.d.ts.map +1 -1
  394. package/lib/simple-tree/api/create.js +14 -16
  395. package/lib/simple-tree/api/create.js.map +1 -1
  396. package/lib/simple-tree/api/getJsonSchema.d.ts +3 -3
  397. package/lib/simple-tree/api/getJsonSchema.d.ts.map +1 -1
  398. package/lib/simple-tree/api/getJsonSchema.js +1 -1
  399. package/lib/simple-tree/api/getJsonSchema.js.map +1 -1
  400. package/lib/simple-tree/api/getSimpleSchema.d.ts +2 -2
  401. package/lib/simple-tree/api/getSimpleSchema.d.ts.map +1 -1
  402. package/lib/simple-tree/api/getSimpleSchema.js.map +1 -1
  403. package/lib/simple-tree/api/index.d.ts +2 -1
  404. package/lib/simple-tree/api/index.d.ts.map +1 -1
  405. package/lib/simple-tree/api/index.js +1 -0
  406. package/lib/simple-tree/api/index.js.map +1 -1
  407. package/lib/simple-tree/api/jsonSchema.d.ts +13 -14
  408. package/lib/simple-tree/api/jsonSchema.d.ts.map +1 -1
  409. package/lib/simple-tree/api/jsonSchema.js.map +1 -1
  410. package/lib/simple-tree/api/schemaFactory.d.ts +14 -8
  411. package/lib/simple-tree/api/schemaFactory.d.ts.map +1 -1
  412. package/lib/simple-tree/api/schemaFactory.js +21 -2
  413. package/lib/simple-tree/api/schemaFactory.js.map +1 -1
  414. package/lib/simple-tree/api/schemaFactoryRecursive.d.ts +3 -3
  415. package/lib/simple-tree/api/schemaFactoryRecursive.d.ts.map +1 -1
  416. package/lib/simple-tree/api/schemaFactoryRecursive.js.map +1 -1
  417. package/lib/simple-tree/api/simpleSchema.d.ts +18 -10
  418. package/lib/simple-tree/api/simpleSchema.d.ts.map +1 -1
  419. package/lib/simple-tree/api/simpleSchema.js.map +1 -1
  420. package/lib/simple-tree/api/simpleSchemaToJsonSchema.d.ts.map +1 -1
  421. package/lib/simple-tree/api/simpleSchemaToJsonSchema.js +31 -18
  422. package/lib/simple-tree/api/simpleSchemaToJsonSchema.js.map +1 -1
  423. package/lib/simple-tree/api/tree.d.ts +16 -6
  424. package/lib/simple-tree/api/tree.d.ts.map +1 -1
  425. package/lib/simple-tree/api/tree.js +4 -4
  426. package/lib/simple-tree/api/tree.js.map +1 -1
  427. package/lib/simple-tree/api/treeNodeApi.d.ts.map +1 -1
  428. package/lib/simple-tree/api/treeNodeApi.js +10 -8
  429. package/lib/simple-tree/api/treeNodeApi.js.map +1 -1
  430. package/lib/simple-tree/api/verboseTree.d.ts.map +1 -1
  431. package/lib/simple-tree/api/verboseTree.js +6 -10
  432. package/lib/simple-tree/api/verboseTree.js.map +1 -1
  433. package/{dist/feature-libraries/typed-schema → lib/simple-tree/api}/view.d.ts +4 -11
  434. package/lib/simple-tree/api/view.d.ts.map +1 -0
  435. package/lib/{feature-libraries/typed-schema → simple-tree/api}/view.js +9 -9
  436. package/lib/simple-tree/api/view.js.map +1 -0
  437. package/lib/simple-tree/api/viewSchemaToSimpleSchema.d.ts +2 -2
  438. package/lib/simple-tree/api/viewSchemaToSimpleSchema.d.ts.map +1 -1
  439. package/lib/simple-tree/api/viewSchemaToSimpleSchema.js +11 -1
  440. package/lib/simple-tree/api/viewSchemaToSimpleSchema.js.map +1 -1
  441. package/lib/simple-tree/arrayNode.d.ts +147 -14
  442. package/lib/simple-tree/arrayNode.d.ts.map +1 -1
  443. package/lib/simple-tree/arrayNode.js +37 -25
  444. package/lib/simple-tree/arrayNode.js.map +1 -1
  445. package/lib/simple-tree/core/context.d.ts +55 -0
  446. package/lib/simple-tree/core/context.d.ts.map +1 -0
  447. package/lib/simple-tree/core/context.js +55 -0
  448. package/lib/simple-tree/core/context.js.map +1 -0
  449. package/lib/simple-tree/core/getOrCreateNode.d.ts +15 -0
  450. package/lib/simple-tree/core/getOrCreateNode.d.ts.map +1 -0
  451. package/lib/simple-tree/core/getOrCreateNode.js +32 -0
  452. package/lib/simple-tree/core/getOrCreateNode.js.map +1 -0
  453. package/lib/simple-tree/core/index.d.ts +7 -3
  454. package/lib/simple-tree/core/index.d.ts.map +1 -1
  455. package/lib/simple-tree/core/index.js +6 -2
  456. package/lib/simple-tree/core/index.js.map +1 -1
  457. package/lib/simple-tree/core/schemaCaching.d.ts +5 -13
  458. package/lib/simple-tree/core/schemaCaching.d.ts.map +1 -1
  459. package/lib/simple-tree/core/schemaCaching.js +13 -39
  460. package/lib/simple-tree/core/schemaCaching.js.map +1 -1
  461. package/lib/simple-tree/core/treeNodeKernel.d.ts +29 -7
  462. package/lib/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
  463. package/lib/simple-tree/core/treeNodeKernel.js +89 -54
  464. package/lib/simple-tree/core/treeNodeKernel.js.map +1 -1
  465. package/lib/simple-tree/core/treeNodeSchema.d.ts +24 -0
  466. package/lib/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
  467. package/lib/simple-tree/core/treeNodeSchema.js.map +1 -1
  468. package/lib/simple-tree/core/types.d.ts +0 -5
  469. package/lib/simple-tree/core/types.d.ts.map +1 -1
  470. package/lib/simple-tree/core/types.js.map +1 -1
  471. package/lib/simple-tree/core/unhydratedFlexTree.d.ts +139 -0
  472. package/lib/simple-tree/core/unhydratedFlexTree.d.ts.map +1 -0
  473. package/lib/{feature-libraries/flex-map-tree/mapTreeNode.js → simple-tree/core/unhydratedFlexTree.js} +110 -128
  474. package/lib/simple-tree/core/unhydratedFlexTree.js.map +1 -0
  475. package/lib/simple-tree/{walkSchema.d.ts → core/walkSchema.d.ts} +8 -4
  476. package/lib/simple-tree/core/walkSchema.d.ts.map +1 -0
  477. package/lib/simple-tree/core/walkSchema.js +29 -0
  478. package/lib/simple-tree/core/walkSchema.js.map +1 -0
  479. package/lib/simple-tree/createContext.d.ts +11 -0
  480. package/lib/simple-tree/createContext.d.ts.map +1 -0
  481. package/lib/simple-tree/createContext.js +21 -0
  482. package/lib/simple-tree/createContext.js.map +1 -0
  483. package/lib/simple-tree/index.d.ts +4 -5
  484. package/lib/simple-tree/index.d.ts.map +1 -1
  485. package/lib/simple-tree/index.js +3 -4
  486. package/lib/simple-tree/index.js.map +1 -1
  487. package/lib/simple-tree/leafNodeSchema.d.ts +1 -0
  488. package/lib/simple-tree/leafNodeSchema.d.ts.map +1 -1
  489. package/lib/simple-tree/leafNodeSchema.js +3 -4
  490. package/lib/simple-tree/leafNodeSchema.js.map +1 -1
  491. package/lib/simple-tree/mapNode.d.ts +4 -4
  492. package/lib/simple-tree/mapNode.d.ts.map +1 -1
  493. package/lib/simple-tree/mapNode.js +12 -8
  494. package/lib/simple-tree/mapNode.js.map +1 -1
  495. package/lib/simple-tree/objectNode.d.ts +8 -8
  496. package/lib/simple-tree/objectNode.d.ts.map +1 -1
  497. package/lib/simple-tree/objectNode.js +36 -17
  498. package/lib/simple-tree/objectNode.js.map +1 -1
  499. package/lib/simple-tree/objectNodeTypes.d.ts +7 -3
  500. package/lib/simple-tree/objectNodeTypes.d.ts.map +1 -1
  501. package/lib/simple-tree/objectNodeTypes.js.map +1 -1
  502. package/lib/simple-tree/proxies.d.ts +1 -2
  503. package/lib/simple-tree/proxies.d.ts.map +1 -1
  504. package/lib/simple-tree/proxies.js +7 -22
  505. package/lib/simple-tree/proxies.js.map +1 -1
  506. package/lib/simple-tree/schemaTypes.d.ts +44 -4
  507. package/lib/simple-tree/schemaTypes.d.ts.map +1 -1
  508. package/lib/simple-tree/schemaTypes.js +10 -0
  509. package/lib/simple-tree/schemaTypes.js.map +1 -1
  510. package/lib/simple-tree/toFlexSchema.d.ts +6 -36
  511. package/lib/simple-tree/toFlexSchema.d.ts.map +1 -1
  512. package/lib/simple-tree/toFlexSchema.js +61 -142
  513. package/lib/simple-tree/toFlexSchema.js.map +1 -1
  514. package/lib/simple-tree/toMapTree.d.ts.map +1 -1
  515. package/lib/simple-tree/toMapTree.js +4 -4
  516. package/lib/simple-tree/toMapTree.js.map +1 -1
  517. package/lib/simple-tree/treeNodeValid.d.ts +13 -5
  518. package/lib/simple-tree/treeNodeValid.d.ts.map +1 -1
  519. package/lib/simple-tree/treeNodeValid.js +21 -12
  520. package/lib/simple-tree/treeNodeValid.js.map +1 -1
  521. package/lib/simple-tree/typesUnsafe.d.ts +4 -4
  522. package/lib/simple-tree/typesUnsafe.d.ts.map +1 -1
  523. package/lib/simple-tree/typesUnsafe.js.map +1 -1
  524. package/lib/simple-tree/walkFieldSchema.d.ts +11 -0
  525. package/lib/simple-tree/walkFieldSchema.d.ts.map +1 -0
  526. package/lib/simple-tree/walkFieldSchema.js +13 -0
  527. package/lib/simple-tree/walkFieldSchema.js.map +1 -0
  528. package/lib/util/index.d.ts +1 -1
  529. package/lib/util/index.d.ts.map +1 -1
  530. package/lib/util/index.js.map +1 -1
  531. package/lib/util/typeUtils.d.ts +14 -45
  532. package/lib/util/typeUtils.d.ts.map +1 -1
  533. package/lib/util/typeUtils.js.map +1 -1
  534. package/package.json +41 -22
  535. package/src/core/index.ts +1 -0
  536. package/src/core/rebase/index.ts +1 -0
  537. package/src/core/rebase/types.ts +11 -0
  538. package/src/core/schema-stored/schema.ts +18 -0
  539. package/src/core/tree/anchorSet.ts +3 -4
  540. package/src/core/tree/detachedFieldIndex.ts +14 -3
  541. package/src/core/tree/detachedFieldIndexTypes.ts +1 -1
  542. package/src/feature-libraries/editableTreeBinder.ts +2 -915
  543. package/src/feature-libraries/flex-tree/context.ts +7 -20
  544. package/src/feature-libraries/flex-tree/flexTreeTypes.ts +2 -18
  545. package/src/feature-libraries/flex-tree/lazyEntity.ts +1 -4
  546. package/src/feature-libraries/flex-tree/lazyField.ts +22 -78
  547. package/src/feature-libraries/flex-tree/lazyNode.ts +24 -39
  548. package/src/feature-libraries/flex-tree/utilities.ts +1 -1
  549. package/src/feature-libraries/index.ts +3 -71
  550. package/src/feature-libraries/modular-schema/modularChangeFamily.ts +97 -10
  551. package/src/feature-libraries/sequence-field/compose.ts +3 -0
  552. package/src/feature-libraries/sequence-field/utils.ts +2 -4
  553. package/src/feature-libraries/typed-schema/flexList.ts +3 -84
  554. package/src/feature-libraries/typed-schema/index.ts +1 -33
  555. package/src/feature-libraries/typed-schema/typedTreeSchema.ts +0 -458
  556. package/src/index.ts +7 -0
  557. package/src/internalTypes.ts +0 -1
  558. package/src/packageVersion.ts +1 -1
  559. package/src/shared-tree/checkoutFlexTreeView.ts +3 -3
  560. package/src/shared-tree/index.ts +4 -8
  561. package/src/shared-tree/schematizeTree.ts +2 -56
  562. package/src/shared-tree/schematizingTreeView.ts +38 -15
  563. package/src/shared-tree/sharedTree.ts +36 -8
  564. package/src/shared-tree/treeCheckout.ts +225 -128
  565. package/src/shared-tree-core/branch.ts +15 -26
  566. package/src/simple-tree/api/create.ts +18 -20
  567. package/src/simple-tree/api/getJsonSchema.ts +3 -3
  568. package/src/simple-tree/api/getSimpleSchema.ts +2 -2
  569. package/src/simple-tree/api/index.ts +2 -0
  570. package/src/simple-tree/api/jsonSchema.ts +19 -17
  571. package/src/simple-tree/api/schemaFactory.ts +53 -18
  572. package/src/simple-tree/api/schemaFactoryRecursive.ts +3 -6
  573. package/src/simple-tree/api/simpleSchema.ts +20 -10
  574. package/src/simple-tree/api/simpleSchemaToJsonSchema.ts +40 -19
  575. package/src/simple-tree/api/tree.ts +20 -9
  576. package/src/simple-tree/api/treeNodeApi.ts +12 -10
  577. package/src/simple-tree/api/verboseTree.ts +6 -12
  578. package/src/{feature-libraries/typed-schema → simple-tree/api}/view.ts +9 -22
  579. package/src/simple-tree/api/viewSchemaToSimpleSchema.ts +18 -4
  580. package/src/simple-tree/arrayNode.ts +202 -53
  581. package/src/simple-tree/core/context.ts +78 -0
  582. package/src/simple-tree/core/getOrCreateNode.ts +38 -0
  583. package/src/simple-tree/core/index.ts +11 -7
  584. package/src/simple-tree/core/schemaCaching.ts +13 -50
  585. package/src/simple-tree/core/treeNodeKernel.ts +117 -78
  586. package/src/simple-tree/core/treeNodeSchema.ts +35 -1
  587. package/src/simple-tree/core/types.ts +0 -5
  588. package/src/{feature-libraries/flex-map-tree/mapTreeNode.ts → simple-tree/core/unhydratedFlexTree.ts} +167 -210
  589. package/src/simple-tree/{walkSchema.ts → core/walkSchema.ts} +12 -34
  590. package/src/simple-tree/createContext.ts +24 -0
  591. package/src/simple-tree/index.ts +6 -2
  592. package/src/simple-tree/leafNodeSchema.ts +3 -9
  593. package/src/simple-tree/mapNode.ts +20 -17
  594. package/src/simple-tree/objectNode.ts +63 -38
  595. package/src/simple-tree/objectNodeTypes.ts +8 -5
  596. package/src/simple-tree/proxies.ts +8 -26
  597. package/src/simple-tree/schemaTypes.ts +55 -5
  598. package/src/simple-tree/toFlexSchema.ts +71 -204
  599. package/src/simple-tree/toMapTree.ts +5 -5
  600. package/src/simple-tree/treeNodeValid.ts +28 -22
  601. package/src/simple-tree/typesUnsafe.ts +4 -4
  602. package/src/simple-tree/walkFieldSchema.ts +19 -0
  603. package/src/util/index.ts +1 -5
  604. package/src/util/typeUtils.ts +14 -56
  605. package/dist/feature-libraries/fieldGenerator.d.ts +0 -43
  606. package/dist/feature-libraries/fieldGenerator.d.ts.map +0 -1
  607. package/dist/feature-libraries/fieldGenerator.js +0 -13
  608. package/dist/feature-libraries/fieldGenerator.js.map +0 -1
  609. package/dist/feature-libraries/flex-map-tree/index.d.ts +0 -6
  610. package/dist/feature-libraries/flex-map-tree/index.d.ts.map +0 -1
  611. package/dist/feature-libraries/flex-map-tree/index.js +0 -14
  612. package/dist/feature-libraries/flex-map-tree/index.js.map +0 -1
  613. package/dist/feature-libraries/flex-map-tree/mapTreeNode.d.ts +0 -157
  614. package/dist/feature-libraries/flex-map-tree/mapTreeNode.d.ts.map +0 -1
  615. package/dist/feature-libraries/flex-map-tree/mapTreeNode.js.map +0 -1
  616. package/dist/feature-libraries/storedToViewSchema.d.ts +0 -17
  617. package/dist/feature-libraries/storedToViewSchema.d.ts.map +0 -1
  618. package/dist/feature-libraries/storedToViewSchema.js +0 -67
  619. package/dist/feature-libraries/storedToViewSchema.js.map +0 -1
  620. package/dist/feature-libraries/typed-schema/schemaCollection.d.ts +0 -58
  621. package/dist/feature-libraries/typed-schema/schemaCollection.d.ts.map +0 -1
  622. package/dist/feature-libraries/typed-schema/schemaCollection.js +0 -160
  623. package/dist/feature-libraries/typed-schema/schemaCollection.js.map +0 -1
  624. package/dist/feature-libraries/typed-schema/typeUtils.d.ts +0 -15
  625. package/dist/feature-libraries/typed-schema/typeUtils.d.ts.map +0 -1
  626. package/dist/feature-libraries/typed-schema/typeUtils.js +0 -14
  627. package/dist/feature-libraries/typed-schema/typeUtils.js.map +0 -1
  628. package/dist/feature-libraries/typed-schema/view.d.ts.map +0 -1
  629. package/dist/feature-libraries/typed-schema/view.js.map +0 -1
  630. package/dist/simple-tree/getSimpleFieldSchema.d.ts +0 -14
  631. package/dist/simple-tree/getSimpleFieldSchema.d.ts.map +0 -1
  632. package/dist/simple-tree/getSimpleFieldSchema.js +0 -29
  633. package/dist/simple-tree/getSimpleFieldSchema.js.map +0 -1
  634. package/dist/simple-tree/walkSchema.d.ts.map +0 -1
  635. package/dist/simple-tree/walkSchema.js +0 -49
  636. package/dist/simple-tree/walkSchema.js.map +0 -1
  637. package/lib/feature-libraries/fieldGenerator.d.ts +0 -43
  638. package/lib/feature-libraries/fieldGenerator.d.ts.map +0 -1
  639. package/lib/feature-libraries/fieldGenerator.js +0 -12
  640. package/lib/feature-libraries/fieldGenerator.js.map +0 -1
  641. package/lib/feature-libraries/flex-map-tree/index.d.ts +0 -6
  642. package/lib/feature-libraries/flex-map-tree/index.d.ts.map +0 -1
  643. package/lib/feature-libraries/flex-map-tree/index.js +0 -6
  644. package/lib/feature-libraries/flex-map-tree/index.js.map +0 -1
  645. package/lib/feature-libraries/flex-map-tree/mapTreeNode.d.ts +0 -157
  646. package/lib/feature-libraries/flex-map-tree/mapTreeNode.d.ts.map +0 -1
  647. package/lib/feature-libraries/flex-map-tree/mapTreeNode.js.map +0 -1
  648. package/lib/feature-libraries/storedToViewSchema.d.ts +0 -17
  649. package/lib/feature-libraries/storedToViewSchema.d.ts.map +0 -1
  650. package/lib/feature-libraries/storedToViewSchema.js +0 -62
  651. package/lib/feature-libraries/storedToViewSchema.js.map +0 -1
  652. package/lib/feature-libraries/typed-schema/schemaCollection.d.ts +0 -58
  653. package/lib/feature-libraries/typed-schema/schemaCollection.d.ts.map +0 -1
  654. package/lib/feature-libraries/typed-schema/schemaCollection.js +0 -153
  655. package/lib/feature-libraries/typed-schema/schemaCollection.js.map +0 -1
  656. package/lib/feature-libraries/typed-schema/typeUtils.d.ts +0 -15
  657. package/lib/feature-libraries/typed-schema/typeUtils.d.ts.map +0 -1
  658. package/lib/feature-libraries/typed-schema/typeUtils.js +0 -10
  659. package/lib/feature-libraries/typed-schema/typeUtils.js.map +0 -1
  660. package/lib/feature-libraries/typed-schema/view.d.ts.map +0 -1
  661. package/lib/feature-libraries/typed-schema/view.js.map +0 -1
  662. package/lib/simple-tree/getSimpleFieldSchema.d.ts +0 -14
  663. package/lib/simple-tree/getSimpleFieldSchema.d.ts.map +0 -1
  664. package/lib/simple-tree/getSimpleFieldSchema.js +0 -25
  665. package/lib/simple-tree/getSimpleFieldSchema.js.map +0 -1
  666. package/lib/simple-tree/walkSchema.d.ts.map +0 -1
  667. package/lib/simple-tree/walkSchema.js +0 -43
  668. package/lib/simple-tree/walkSchema.js.map +0 -1
  669. package/src/feature-libraries/fieldGenerator.ts +0 -47
  670. package/src/feature-libraries/flex-map-tree/index.ts +0 -14
  671. package/src/feature-libraries/storedToViewSchema.ts +0 -100
  672. package/src/feature-libraries/typed-schema/schemaCollection.ts +0 -254
  673. package/src/feature-libraries/typed-schema/typeUtils.ts +0 -29
  674. package/src/simple-tree/getSimpleFieldSchema.ts +0 -36
@@ -6,18 +6,15 @@
6
6
  import { assert } from "@fluidframework/core-utils/internal";
7
7
 
8
8
  import {
9
- type FieldKey,
10
9
  type ForestEvents,
11
- type TreeFieldStoredSchema,
10
+ type SchemaPolicy,
12
11
  type TreeStoredSchema,
13
12
  anchorSlot,
14
13
  moveToDetachedField,
15
14
  } from "../../core/index.js";
16
15
  import type { Listenable } from "../../events/index.js";
17
16
  import { type IDisposable, disposeSymbol } from "../../util/index.js";
18
- import type { FieldGenerator } from "../fieldGenerator.js";
19
17
  import type { NodeKeyManager } from "../node-key/index.js";
20
- import type { FlexTreeSchema } from "../typed-schema/index.js";
21
18
 
22
19
  import type { FlexTreeField } from "./flexTreeTypes.js";
23
20
  import { type LazyEntity, prepareForEditSymbol } from "./lazyEntity.js";
@@ -32,13 +29,12 @@ export interface FlexTreeContext {
32
29
  * Schema used within this context.
33
30
  * All data must conform to these schema.
34
31
  */
35
- readonly flexSchema: FlexTreeSchema;
32
+ readonly schema: TreeStoredSchema;
36
33
 
37
34
  /**
38
- * Schema used within this context.
39
- * All data must conform to these schema.
35
+ * SchemaPolicy used within this context.
40
36
  */
41
- readonly schema: TreeStoredSchema;
37
+ readonly schemaPolicy: SchemaPolicy;
42
38
 
43
39
  /**
44
40
  * If true, this context is the canonical context instance for a given view,
@@ -91,7 +87,7 @@ export class Context implements FlexTreeHydratedContext, IDisposable {
91
87
  * @param nodeKeyManager - An object which handles node key generation and conversion
92
88
  */
93
89
  public constructor(
94
- public readonly flexSchema: FlexTreeSchema,
90
+ public readonly schemaPolicy: SchemaPolicy,
95
91
  public readonly checkout: ITreeCheckout,
96
92
  public readonly nodeKeyManager: NodeKeyManager,
97
93
  ) {
@@ -159,7 +155,7 @@ export class Context implements FlexTreeHydratedContext, IDisposable {
159
155
  assert(this.disposed === false, 0x804 /* use after dispose */);
160
156
  const cursor = this.checkout.forest.allocateCursor("root");
161
157
  moveToDetachedField(this.checkout.forest, cursor);
162
- const field = makeField(this, this.flexSchema.rootFieldSchema, cursor);
158
+ const field = makeField(this, this.schema.rootFieldSchema.kind, cursor);
163
159
  cursor.free();
164
160
  return field;
165
161
  }
@@ -170,15 +166,6 @@ export class Context implements FlexTreeHydratedContext, IDisposable {
170
166
  ): () => void {
171
167
  return this.checkout.forest.on(eventName, listener);
172
168
  }
173
-
174
- /**
175
- * FieldSource used to get a FieldGenerator to populate required fields during procedural contextual data generation.
176
- */
177
- // TODO: Use this to automatically provide node keys where required.
178
- public fieldSource?(
179
- key: FieldKey,
180
- schema: TreeFieldStoredSchema,
181
- ): undefined | FieldGenerator;
182
169
  }
183
170
 
184
171
  /**
@@ -191,7 +178,7 @@ export class Context implements FlexTreeHydratedContext, IDisposable {
191
178
  * This is necessary for supporting using this tree across edits to the forest, and not leaking memory.
192
179
  */
193
180
  export function getTreeContext(
194
- schema: FlexTreeSchema,
181
+ schema: SchemaPolicy,
195
182
  checkout: ITreeCheckout,
196
183
  nodeKeyManager: NodeKeyManager,
197
184
  ): Context {
@@ -7,8 +7,8 @@ import {
7
7
  type AnchorNode,
8
8
  type ExclusiveMapTree,
9
9
  type FieldKey,
10
+ type FieldKindIdentifier,
10
11
  type FieldUpPath,
11
- type TreeFieldStoredSchema,
12
12
  type TreeNodeSchemaIdentifier,
13
13
  type TreeValue,
14
14
  anchorSlot,
@@ -20,7 +20,6 @@ import type {
20
20
  OptionalFieldEditBuilder,
21
21
  } from "../default-schema/index.js";
22
22
  import type { FlexFieldKind } from "../modular-schema/index.js";
23
- import type { FlexTreeNodeSchema } from "../typed-schema/index.js";
24
23
 
25
24
  import type { FlexTreeContext } from "./context.js";
26
25
 
@@ -126,11 +125,7 @@ export enum TreeStatus {
126
125
  * the same {@link FlexTreeNode} instance will be used in the new location.
127
126
  * Similarly, edits applied to a node's sub-tree concurrently with the move of the node will still be applied to its subtree in its new location.
128
127
  *
129
- *
130
128
  * @remarks
131
- * Down-casting (via {@link FlexTreeNode#is}) is required to access Schema-Aware APIs, including editing.
132
- * All content in the tree is accessible without down-casting, but if the schema is known,
133
- * the schema aware API may be more ergonomic.
134
129
  * All editing is actually done via {@link FlexTreeField}s: the nodes are immutable other than that they contain mutable fields.
135
130
  */
136
131
  export interface FlexTreeNode extends FlexTreeEntity {
@@ -162,11 +157,6 @@ export interface FlexTreeNode extends FlexTreeEntity {
162
157
  */
163
158
  readonly parentField: { readonly parent: FlexTreeField; readonly index: number };
164
159
 
165
- /**
166
- * Type guard for narrowing / down-casting to a specific schema.
167
- */
168
- is(schema: FlexTreeNodeSchema): boolean;
169
-
170
160
  boxedIterator(): IterableIterator<FlexTreeField>;
171
161
 
172
162
  /**
@@ -194,12 +184,6 @@ export interface FlexTreeNode extends FlexTreeEntity {
194
184
  * If well-formed, it must follow this schema.
195
185
  */
196
186
  readonly schema: TreeNodeSchemaIdentifier;
197
-
198
- /**
199
- * Schema for this entity.
200
- * If well-formed, it must follow this schema.
201
- */
202
- readonly flexSchema: FlexTreeNodeSchema;
203
187
  }
204
188
 
205
189
  /**
@@ -268,7 +252,7 @@ export interface FlexTreeField extends FlexTreeEntity {
268
252
  * Schema for this entity.
269
253
  * If well-formed, it must follow this schema.
270
254
  */
271
- readonly schema: TreeFieldStoredSchema;
255
+ readonly schema: FieldKindIdentifier;
272
256
  }
273
257
 
274
258
  // #region Field Kinds
@@ -43,15 +43,12 @@ export function assertFlexTreeEntityNotFreed(entity: FlexTreeEntity): void {
43
43
  /**
44
44
  * This is a base class for lazy (cursor based) UntypedEntity implementations, which uniformly handles cursors and anchors.
45
45
  */
46
- export abstract class LazyEntity<TSchema = unknown, TAnchor = unknown>
47
- implements FlexTreeEntity, IDisposable
48
- {
46
+ export abstract class LazyEntity<TAnchor = unknown> implements FlexTreeEntity, IDisposable {
49
47
  readonly #lazyCursor: ITreeSubscriptionCursor;
50
48
  public readonly [anchorSymbol]: TAnchor;
51
49
 
52
50
  protected constructor(
53
51
  public readonly context: Context,
54
- public readonly flexSchema: TSchema,
55
52
  cursor: ITreeSubscriptionCursor,
56
53
  anchor: TAnchor,
57
54
  ) {
@@ -10,10 +10,10 @@ import {
10
10
  type ExclusiveMapTree,
11
11
  type FieldAnchor,
12
12
  type FieldKey,
13
+ type FieldKindIdentifier,
13
14
  type FieldUpPath,
14
15
  type ITreeCursorSynchronous,
15
16
  type ITreeSubscriptionCursor,
16
- type TreeFieldStoredSchema,
17
17
  type TreeNavigationResult,
18
18
  inCursorNode,
19
19
  iterateCursorField,
@@ -27,7 +27,6 @@ import {
27
27
  type ValueFieldEditBuilder,
28
28
  } from "../default-schema/index.js";
29
29
  import type { FlexFieldKind } from "../modular-schema/index.js";
30
- import type { FlexFieldSchema } from "../typed-schema/index.js";
31
30
 
32
31
  import type { Context } from "./context.js";
33
32
  import {
@@ -75,7 +74,7 @@ const fieldCache: WeakMap<LazyTreeNode, Map<FieldKey, FlexTreeField>> = new Weak
75
74
 
76
75
  export function makeField(
77
76
  context: Context,
78
- schema: FlexFieldSchema,
77
+ schema: FieldKindIdentifier,
79
78
  cursor: ITreeSubscriptionCursor,
80
79
  ): FlexTreeField {
81
80
  const fieldAnchor = cursor.buildFieldAnchor();
@@ -83,7 +82,7 @@ export function makeField(
83
82
 
84
83
  const makeFlexTreeField = (): FlexTreeField => {
85
84
  usedAnchor = true;
86
- const field = new (kindToClass.get(schema.kind) ?? fail("missing field implementation"))(
85
+ const field = new (kindToClass.get(schema) ?? fail("missing field implementation"))(
87
86
  context,
88
87
  schema,
89
88
  cursor,
@@ -125,19 +124,12 @@ export function makeField(
125
124
  /**
126
125
  * Base type for fields implementing {@link FlexTreeField} using cursors.
127
126
  */
128
- export abstract class LazyField<out TKind extends FlexFieldKind>
129
- extends LazyEntity<FlexFieldSchema<TKind>, FieldAnchor>
130
- implements FlexTreeField
131
- {
127
+ export abstract class LazyField extends LazyEntity<FieldAnchor> implements FlexTreeField {
132
128
  public get [flexTreeMarker](): FlexTreeEntityKind.Field {
133
129
  return FlexTreeEntityKind.Field;
134
130
  }
135
131
  public readonly key: FieldKey;
136
132
 
137
- public get schema(): TreeFieldStoredSchema {
138
- return this.flexSchema.stored;
139
- }
140
-
141
133
  /**
142
134
  * If this field ends its lifetime before the Anchor does, this needs to be invoked to avoid a double free
143
135
  * if/when the Anchor is destroyed.
@@ -146,11 +138,11 @@ export abstract class LazyField<out TKind extends FlexFieldKind>
146
138
 
147
139
  public constructor(
148
140
  context: Context,
149
- schema: FlexFieldSchema<TKind>,
141
+ public readonly schema: FieldKindIdentifier,
150
142
  cursor: ITreeSubscriptionCursor,
151
143
  fieldAnchor: FieldAnchor,
152
144
  ) {
153
- super(context, schema, cursor, fieldAnchor);
145
+ super(context, cursor, fieldAnchor);
154
146
  assert(cursor.mode === CursorLocationType.Fields, 0x77b /* must be in fields mode */);
155
147
  this.key = cursor.getFieldKey();
156
148
  // Fields currently live as long as their parent does.
@@ -167,11 +159,11 @@ export abstract class LazyField<out TKind extends FlexFieldKind>
167
159
 
168
160
  public is<TKind2 extends FlexFieldKind>(kind: TKind2): this is FlexTreeTypedField<TKind2> {
169
161
  assert(
170
- this.context.flexSchema.policy.fieldKinds.get(kind.identifier) === kind,
162
+ this.context.schemaPolicy.fieldKinds.get(kind.identifier) === kind,
171
163
  0xa26 /* Narrowing must be done to a kind that exists in this context */,
172
164
  );
173
165
 
174
- return this.flexSchema.kind === (kind as unknown);
166
+ return this.schema === kind.identifier;
175
167
  }
176
168
 
177
169
  public get parent(): FlexTreeNode | undefined {
@@ -259,19 +251,7 @@ export abstract class LazyField<out TKind extends FlexFieldKind>
259
251
  }
260
252
  }
261
253
 
262
- export class LazySequence
263
- extends LazyField<typeof FieldKinds.sequence>
264
- implements FlexTreeSequenceField
265
- {
266
- public constructor(
267
- context: Context,
268
- schema: FlexFieldSchema<typeof FieldKinds.sequence>,
269
- cursor: ITreeSubscriptionCursor,
270
- fieldAnchor: FieldAnchor,
271
- ) {
272
- super(context, schema, cursor, fieldAnchor);
273
- }
274
-
254
+ export class LazySequence extends LazyField implements FlexTreeSequenceField {
275
255
  public at(index: number): FlexTreeUnknownUnboxed | undefined {
276
256
  const finalIndex = indexForAt(index, this.length);
277
257
 
@@ -302,19 +282,7 @@ export class LazySequence
302
282
  }
303
283
  }
304
284
 
305
- export class ReadonlyLazyValueField
306
- extends LazyField<typeof FieldKinds.required>
307
- implements FlexTreeRequiredField
308
- {
309
- public constructor(
310
- context: Context,
311
- schema: FlexFieldSchema<typeof FieldKinds.required>,
312
- cursor: ITreeSubscriptionCursor,
313
- fieldAnchor: FieldAnchor,
314
- ) {
315
- super(context, schema, cursor, fieldAnchor);
316
- }
317
-
285
+ export class ReadonlyLazyValueField extends LazyField implements FlexTreeRequiredField {
318
286
  public editor: ValueFieldEditBuilder<ExclusiveMapTree> = {
319
287
  set: (newContent) => {
320
288
  assert(false, 0xa0c /* Unexpected set of readonly field */);
@@ -327,15 +295,6 @@ export class ReadonlyLazyValueField
327
295
  }
328
296
 
329
297
  export class LazyValueField extends ReadonlyLazyValueField implements FlexTreeRequiredField {
330
- public constructor(
331
- context: Context,
332
- schema: FlexFieldSchema<typeof FieldKinds.required>,
333
- cursor: ITreeSubscriptionCursor,
334
- fieldAnchor: FieldAnchor,
335
- ) {
336
- super(context, schema, cursor, fieldAnchor);
337
- }
338
-
339
298
  public override editor: ValueFieldEditBuilder<ExclusiveMapTree> = {
340
299
  set: (newContent) => {
341
300
  this.valueFieldEditor().set(cursorForMapTreeNode(newContent));
@@ -353,19 +312,7 @@ export class LazyValueField extends ReadonlyLazyValueField implements FlexTreeRe
353
312
  }
354
313
  }
355
314
 
356
- export class LazyOptionalField
357
- extends LazyField<typeof FieldKinds.optional>
358
- implements FlexTreeOptionalField
359
- {
360
- public constructor(
361
- context: Context,
362
- schema: FlexFieldSchema<typeof FieldKinds.optional>,
363
- cursor: ITreeSubscriptionCursor,
364
- fieldAnchor: FieldAnchor,
365
- ) {
366
- super(context, schema, cursor, fieldAnchor);
367
- }
368
-
315
+ export class LazyOptionalField extends LazyField implements FlexTreeOptionalField {
369
316
  public editor: OptionalFieldEditBuilder<ExclusiveMapTree> = {
370
317
  set: (newContent, wasEmpty) => {
371
318
  this.optionalEditor().set(
@@ -386,25 +333,22 @@ export class LazyOptionalField
386
333
  }
387
334
  }
388
335
 
389
- export class LazyForbiddenField extends LazyField<typeof FieldKinds.forbidden> {}
336
+ export class LazyForbiddenField extends LazyField {}
390
337
 
391
338
  type Builder = new (
392
339
  context: Context,
393
340
  // Correct use of these builders requires the builder of the matching type to be used.
394
- // Since this has to be done at runtime anyway, trying to use safer typing than `any` here (such as `never`, which is only slightly safer)
395
- // does not seem worth it (ends up requiring type casts that are just as unsafe).
396
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
397
- schema: FlexFieldSchema<any>,
341
+ schema: FieldKindIdentifier,
398
342
  cursor: ITreeSubscriptionCursor,
399
343
  fieldAnchor: FieldAnchor,
400
- ) => LazyField<FlexFieldKind>;
401
-
402
- const builderList: [FlexFieldKind, Builder][] = [
403
- [FieldKinds.forbidden, LazyForbiddenField],
404
- [FieldKinds.optional, LazyOptionalField],
405
- [FieldKinds.sequence, LazySequence],
406
- [FieldKinds.required, LazyValueField],
407
- [FieldKinds.identifier, LazyValueField],
344
+ ) => LazyField;
345
+
346
+ const builderList: [FieldKindIdentifier, Builder][] = [
347
+ [FieldKinds.forbidden.identifier, LazyForbiddenField],
348
+ [FieldKinds.optional.identifier, LazyOptionalField],
349
+ [FieldKinds.sequence.identifier, LazySequence],
350
+ [FieldKinds.required.identifier, LazyValueField],
351
+ [FieldKinds.identifier.identifier, LazyValueField],
408
352
  ];
409
353
 
410
- const kindToClass: ReadonlyMap<FlexFieldKind, Builder> = new Map(builderList);
354
+ const kindToClass: ReadonlyMap<FieldKindIdentifier, Builder> = new Map(builderList);
@@ -10,9 +10,11 @@ import {
10
10
  type AnchorNode,
11
11
  CursorLocationType,
12
12
  type FieldKey,
13
+ type FieldKindIdentifier,
13
14
  type ITreeSubscriptionCursor,
14
15
  type TreeNavigationResult,
15
16
  type TreeNodeSchemaIdentifier,
17
+ type TreeNodeStoredSchema,
16
18
  type Value,
17
19
  inCursorField,
18
20
  mapCursorFields,
@@ -20,7 +22,6 @@ import {
20
22
  } from "../../core/index.js";
21
23
  import { disposeSymbol, fail } from "../../util/index.js";
22
24
  import { FieldKinds } from "../default-schema/index.js";
23
- import { FlexFieldSchema, type FlexTreeNodeSchema } from "../typed-schema/index.js";
24
25
 
25
26
  import type { Context } from "./context.js";
26
27
  import {
@@ -52,10 +53,9 @@ export function makeTree(context: Context, cursor: ITreeSubscriptionCursor): Laz
52
53
  context.checkout.forest.anchors.forget(anchor);
53
54
  assert(cached.context === context, 0x782 /* contexts must match */);
54
55
  assert(cached instanceof LazyTreeNode, 0x92c /* Expected LazyTreeNode */);
55
- return cached as LazyTreeNode;
56
+ return cached;
56
57
  }
57
- const schema = context.flexSchema.nodeSchema.get(cursor.type) ?? fail("missing schema");
58
- return new LazyTreeNode(context, schema, cursor, anchorNode, anchor);
58
+ return new LazyTreeNode(context, cursor.type, cursor, anchorNode, anchor);
59
59
  }
60
60
 
61
61
  function cleanupTree(anchor: AnchorNode): void {
@@ -67,45 +67,28 @@ function cleanupTree(anchor: AnchorNode): void {
67
67
  /**
68
68
  * Lazy implementation of {@link FlexTreeNode}.
69
69
  */
70
- export class LazyTreeNode<TSchema extends FlexTreeNodeSchema = FlexTreeNodeSchema>
71
- extends LazyEntity<TSchema, Anchor>
72
- implements FlexTreeNode
73
- {
70
+ export class LazyTreeNode extends LazyEntity<Anchor> implements FlexTreeNode {
74
71
  public get [flexTreeMarker](): FlexTreeEntityKind.Node {
75
72
  return FlexTreeEntityKind.Node;
76
73
  }
77
74
 
78
- public get schema(): TreeNodeSchemaIdentifier {
79
- return this.flexSchema.name;
80
- }
81
-
82
75
  // Using JS private here prevents it from showing up as a enumerable own property, or conflicting with struct fields.
83
76
  readonly #removeDeleteCallback: () => void;
84
77
 
78
+ private readonly storedSchema: TreeNodeStoredSchema;
79
+
85
80
  public constructor(
86
81
  context: Context,
87
- schema: TSchema,
82
+ public readonly schema: TreeNodeSchemaIdentifier,
88
83
  cursor: ITreeSubscriptionCursor,
89
84
  public readonly anchorNode: AnchorNode,
90
85
  anchor: Anchor,
91
86
  ) {
92
- super(context, schema, cursor, anchor);
87
+ super(context, cursor, anchor);
88
+ this.storedSchema = context.schema.nodeSchema.get(this.schema) ?? fail("missing schema");
93
89
  assert(cursor.mode === CursorLocationType.Nodes, 0x783 /* must be in nodes mode */);
94
90
  anchorNode.slots.set(flexTreeSlot, this);
95
91
  this.#removeDeleteCallback = anchorNode.on("afterDestroy", cleanupTree);
96
-
97
- assert(
98
- this.context.flexSchema.nodeSchema.get(this.flexSchema.name) !== undefined,
99
- 0x784 /* There is no explicit schema for this node type. Ensure that the type is correct and the schema for it was added to the TreeStoredSchema */,
100
- );
101
- }
102
-
103
- public is(schema: FlexTreeNodeSchema): boolean {
104
- assert(
105
- this.context.flexSchema.nodeSchema.get(schema.name) === schema,
106
- 0x785 /* Narrowing must be done to a schema that exists in this context */,
107
- );
108
- return this.flexSchema === (schema as unknown);
109
92
  }
110
93
 
111
94
  protected override [tryMoveCursorToAnchorSymbol](
@@ -128,25 +111,29 @@ export class LazyTreeNode<TSchema extends FlexTreeNodeSchema = FlexTreeNodeSchem
128
111
  }
129
112
 
130
113
  public tryGetField(fieldKey: FieldKey): FlexTreeField | undefined {
131
- const schema = this.flexSchema.getFieldSchema(fieldKey);
114
+ const schema = this.storedSchema.getFieldSchema(fieldKey);
132
115
  return inCursorField(this[cursorSymbol], fieldKey, (cursor) => {
133
116
  if (cursor.getFieldLength() === 0) {
134
117
  return undefined;
135
118
  }
136
- return makeField(this.context, schema, cursor);
119
+ return makeField(this.context, schema.kind, cursor);
137
120
  });
138
121
  }
139
122
 
140
123
  public getBoxed(key: FieldKey): FlexTreeField {
141
- const fieldSchema = this.flexSchema.getFieldSchema(key);
124
+ const fieldSchema = this.storedSchema.getFieldSchema(key);
142
125
  return inCursorField(this[cursorSymbol], key, (cursor) => {
143
- return makeField(this.context, fieldSchema, cursor);
126
+ return makeField(this.context, fieldSchema.kind, cursor);
144
127
  });
145
128
  }
146
129
 
147
130
  public boxedIterator(): IterableIterator<FlexTreeField> {
148
131
  return mapCursorFields(this[cursorSymbol], (cursor) =>
149
- makeField(this.context, this.flexSchema.getFieldSchema(cursor.getFieldKey()), cursor),
132
+ makeField(
133
+ this.context,
134
+ this.storedSchema.getFieldSchema(cursor.getFieldKey()).kind,
135
+ cursor,
136
+ ),
150
137
  ).values();
151
138
  }
152
139
 
@@ -158,14 +145,14 @@ export class LazyTreeNode<TSchema extends FlexTreeNodeSchema = FlexTreeNodeSchem
158
145
 
159
146
  cursor.exitNode();
160
147
  assert(key === cursor.getFieldKey(), 0x787 /* mismatched keys */);
161
- let fieldSchema: FlexFieldSchema;
148
+ let fieldSchema: FieldKindIdentifier;
162
149
 
163
150
  // Check if the current node is in a detached sequence.
164
151
  if (this.anchorNode.parent === undefined) {
165
152
  // Parent field is a detached sequence, and thus needs special handling for its schema.
166
153
  // eslint-disable-next-line unicorn/prefer-ternary
167
154
  if (key === rootFieldKey) {
168
- fieldSchema = this.context.flexSchema.rootFieldSchema;
155
+ fieldSchema = this.context.schema.rootFieldSchema.kind;
169
156
  } else {
170
157
  // All fields (in the flex tree API) have a schema.
171
158
  // Since currently there is no known schema for detached field other than the special default root:
@@ -180,18 +167,16 @@ export class LazyTreeNode<TSchema extends FlexTreeNodeSchema = FlexTreeNodeSchem
180
167
  // Additionally this approach makes it possible for a user to take a FlexTree node, get its parent, check its schema, down cast based on that, then edit that detached field (ex: removing the node in it).
181
168
  // This MIGHT work properly with existing merge resolution logic (it must keep client in sync and be unable to violate schema), but this either needs robust testing or to be explicitly banned (error before sending the op).
182
169
  // Issues like replacing a node in the a removed sequenced then undoing the remove could easily violate schema if not everything works exactly right!
183
- fieldSchema = FlexFieldSchema.create(FieldKinds.sequence, [
184
- ...this.context.flexSchema.nodeSchema.values(),
185
- ]);
170
+ fieldSchema = FieldKinds.sequence.identifier;
186
171
  }
187
172
  } else {
188
173
  cursor.exitField();
189
174
  const parentType = cursor.type;
190
175
  cursor.enterField(key);
191
176
  const nodeSchema =
192
- this.context.flexSchema.nodeSchema.get(parentType) ??
177
+ this.context.schema.nodeSchema.get(parentType) ??
193
178
  fail("requested schema that does not exist");
194
- fieldSchema = nodeSchema.getFieldSchema(key);
179
+ fieldSchema = nodeSchema.getFieldSchema(key).kind;
195
180
  }
196
181
 
197
182
  const proxifiedField = makeField(this.context, fieldSchema, cursor);
@@ -83,7 +83,7 @@ export interface DetachedFieldCache {
83
83
  export function getSchemaAndPolicy(nodeOrField: FlexTreeEntity): SchemaAndPolicy {
84
84
  return {
85
85
  schema: nodeOrField.context.schema,
86
- policy: nodeOrField.context.flexSchema.policy,
86
+ policy: nodeOrField.context.schemaPolicy,
87
87
  };
88
88
  }
89
89
 
@@ -4,48 +4,11 @@
4
4
  */
5
5
 
6
6
  export {
7
- createDataBinderBuffering,
8
- createDataBinderDirect,
9
- createDataBinderInvalidating,
10
- createBinderOptions,
11
- createFlushableBinderOptions,
12
- type DataBinder,
13
- type BinderOptions,
14
- type Flushable,
15
- type FlushableBinderOptions,
16
- type FlushableDataBinder,
17
- type MatchPolicy,
18
- type SubtreePolicy,
19
- type BindSyntaxTree,
20
- indexSymbol,
21
- type BindPolicy,
22
- type BindTree,
23
- type BindTreeDefault,
24
7
  type DownPath,
25
- type BindPath,
26
- type PathStep,
27
- BindingType,
28
- type BindingContextType,
29
- type BindingContext,
30
- type VisitorBindingContext,
31
- type RemoveBindingContext,
32
- type InsertBindingContext,
33
- type BatchBindingContext,
34
- type InvalidationBindingContext,
35
- type OperationBinderEvents,
36
- type InvalidationBinderEvents,
37
- type CompareFunction,
38
- type BinderEventsCompare,
39
- type AnchorsCompare,
40
8
  toDownPath,
41
- comparePipeline,
42
- compileSyntaxTree,
43
9
  } from "./editableTreeBinder.js";
44
-
45
10
  export { allowsValue, assertAllowedValue, isTreeValue } from "./valueUtilities.js";
46
11
 
47
- export type { FieldGenerator, TreeDataContext } from "./fieldGenerator.js";
48
-
49
12
  export { ForestSummarizer } from "./forest-summary/index.js";
50
13
  export {
51
14
  cursorForMapTreeField,
@@ -113,37 +76,16 @@ export {
113
76
  type FieldKindConfigurationEntry,
114
77
  getAllowedContentIncompatibilities,
115
78
  isRepoSuperset,
79
+ isNeverTree,
116
80
  } from "./modular-schema/index.js";
117
81
 
118
82
  export {
119
- type FlexTreeNodeSchema,
120
- type FlexAllowedTypes,
121
- FlexFieldSchema,
122
- type FlexTreeSchema,
123
- type SchemaLibraryData,
124
- type LazyTreeNodeSchema,
125
- ViewSchema,
126
- type SchemaLintConfiguration,
127
- LeafNodeSchema,
128
- FlexMapNodeSchema,
129
- FlexObjectNodeSchema,
130
- schemaIsLeaf,
131
- schemaIsMap,
132
- schemaIsObjectNode,
133
83
  type Unenforced,
134
- type AllowedTypeSet,
135
84
  markEager,
136
- type FlexMapFieldSchema,
137
- type SchemaCollection,
138
- TreeNodeSchemaBase,
139
85
  type LazyItem,
140
86
  type FlexListToUnion,
141
87
  type ExtractItemType,
142
88
  isLazy,
143
- type FlexObjectNodeFields,
144
- intoStoredSchema,
145
- intoStoredSchemaCollection,
146
- type NormalizeLazyItem,
147
89
  type FlexList,
148
90
  } from "./typed-schema/index.js";
149
91
 
@@ -223,10 +165,10 @@ export {
223
165
  isFreedSymbol,
224
166
  LazyEntity,
225
167
  treeStatusFromAnchorCache,
168
+ indexForAt,
169
+ FlexTreeEntityKind,
226
170
  } from "./flex-tree/index.js";
227
171
 
228
- export { treeSchemaFromStoredSchema } from "./storedToViewSchema.js";
229
-
230
172
  export { TreeCompressionStrategy } from "./treeCompressionUtils.js";
231
173
 
232
174
  export { valueSchemaAllows } from "./valueUtilities.js";
@@ -240,13 +182,3 @@ export {
240
182
  } from "./schema-edits/index.js";
241
183
 
242
184
  export { makeMitigatedChangeFamily } from "./mitigatedChangeFamily.js";
243
-
244
- export {
245
- type MapTreeNode,
246
- type MapTreeSequenceField,
247
- isMapTreeNode,
248
- isMapTreeSequenceField,
249
- getOrCreateMapTreeNode,
250
- tryGetMapTreeNode,
251
- UnhydratedContext,
252
- } from "./flex-map-tree/index.js";