@fluidframework/tree 2.50.0 → 2.51.0-347100

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 (597) hide show
  1. package/.vscode/Tree.code-workspace +14 -1
  2. package/.vscode/settings.json +16 -0
  3. package/CHANGELOG.md +2 -2
  4. package/api-report/tree.alpha.api.md +7 -7
  5. package/dist/core/schema-stored/schema.d.ts +14 -1
  6. package/dist/core/schema-stored/schema.d.ts.map +1 -1
  7. package/dist/core/schema-stored/schema.js.map +1 -1
  8. package/dist/feature-libraries/default-schema/schemaChecker.d.ts.map +1 -1
  9. package/dist/feature-libraries/default-schema/schemaChecker.js +3 -0
  10. package/dist/feature-libraries/default-schema/schemaChecker.js.map +1 -1
  11. package/dist/feature-libraries/flex-tree/context.d.ts +7 -2
  12. package/dist/feature-libraries/flex-tree/context.d.ts.map +1 -1
  13. package/dist/feature-libraries/flex-tree/context.js +4 -4
  14. package/dist/feature-libraries/flex-tree/context.js.map +1 -1
  15. package/dist/feature-libraries/flex-tree/index.d.ts +1 -0
  16. package/dist/feature-libraries/flex-tree/index.d.ts.map +1 -1
  17. package/dist/feature-libraries/flex-tree/index.js +3 -1
  18. package/dist/feature-libraries/flex-tree/index.js.map +1 -1
  19. package/dist/feature-libraries/flex-tree/lazyField.d.ts.map +1 -1
  20. package/dist/feature-libraries/flex-tree/lazyField.js +5 -5
  21. package/dist/feature-libraries/flex-tree/lazyField.js.map +1 -1
  22. package/dist/feature-libraries/flex-tree/lazyNode.d.ts +3 -1
  23. package/dist/feature-libraries/flex-tree/lazyNode.d.ts.map +1 -1
  24. package/dist/feature-libraries/flex-tree/lazyNode.js +5 -3
  25. package/dist/feature-libraries/flex-tree/lazyNode.js.map +1 -1
  26. package/dist/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
  27. package/dist/feature-libraries/forest-summary/forestSummarizer.js +3 -4
  28. package/dist/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
  29. package/dist/feature-libraries/index.d.ts +1 -1
  30. package/dist/feature-libraries/index.d.ts.map +1 -1
  31. package/dist/feature-libraries/index.js +2 -1
  32. package/dist/feature-libraries/index.js.map +1 -1
  33. package/dist/packageVersion.d.ts +1 -1
  34. package/dist/packageVersion.d.ts.map +1 -1
  35. package/dist/packageVersion.js +1 -1
  36. package/dist/packageVersion.js.map +1 -1
  37. package/dist/shared-tree/index.d.ts +0 -1
  38. package/dist/shared-tree/index.d.ts.map +1 -1
  39. package/dist/shared-tree/index.js +1 -3
  40. package/dist/shared-tree/index.js.map +1 -1
  41. package/dist/shared-tree/schematizeTree.d.ts.map +1 -1
  42. package/dist/shared-tree/schematizeTree.js +2 -6
  43. package/dist/shared-tree/schematizeTree.js.map +1 -1
  44. package/dist/shared-tree/schematizingTreeView.d.ts +11 -13
  45. package/dist/shared-tree/schematizingTreeView.d.ts.map +1 -1
  46. package/dist/shared-tree/schematizingTreeView.js +58 -81
  47. package/dist/shared-tree/schematizingTreeView.js.map +1 -1
  48. package/dist/shared-tree/sharedTreeChangeTypes.d.ts +1 -1
  49. package/dist/shared-tree/sharedTreeChangeTypes.js.map +1 -1
  50. package/dist/shared-tree/tree.d.ts.map +1 -1
  51. package/dist/shared-tree/tree.js +4 -3
  52. package/dist/shared-tree/tree.js.map +1 -1
  53. package/dist/shared-tree/treeAlpha.d.ts +7 -1
  54. package/dist/shared-tree/treeAlpha.d.ts.map +1 -1
  55. package/dist/shared-tree/treeAlpha.js.map +1 -1
  56. package/dist/shared-tree/treeCheckout.d.ts +7 -2
  57. package/dist/shared-tree/treeCheckout.d.ts.map +1 -1
  58. package/dist/shared-tree/treeCheckout.js +4 -1
  59. package/dist/shared-tree/treeCheckout.js.map +1 -1
  60. package/dist/simple-tree/api/conciseTree.d.ts +1 -1
  61. package/dist/simple-tree/api/conciseTree.d.ts.map +1 -1
  62. package/dist/simple-tree/api/conciseTree.js.map +1 -1
  63. package/dist/simple-tree/api/configuration.d.ts +1 -1
  64. package/dist/simple-tree/api/configuration.d.ts.map +1 -1
  65. package/dist/simple-tree/api/configuration.js +5 -5
  66. package/dist/simple-tree/api/configuration.js.map +1 -1
  67. package/dist/simple-tree/api/create.d.ts +3 -1
  68. package/dist/simple-tree/api/create.d.ts.map +1 -1
  69. package/dist/simple-tree/api/create.js +2 -0
  70. package/dist/simple-tree/api/create.js.map +1 -1
  71. package/dist/simple-tree/api/customTree.d.ts +1 -2
  72. package/dist/simple-tree/api/customTree.d.ts.map +1 -1
  73. package/dist/simple-tree/api/customTree.js.map +1 -1
  74. package/dist/simple-tree/api/getJsonSchema.d.ts +1 -1
  75. package/dist/simple-tree/api/getJsonSchema.d.ts.map +1 -1
  76. package/dist/simple-tree/api/getJsonSchema.js.map +1 -1
  77. package/dist/simple-tree/api/getSimpleSchema.d.ts +1 -1
  78. package/dist/simple-tree/api/getSimpleSchema.js.map +1 -1
  79. package/dist/simple-tree/api/identifierIndex.d.ts +1 -1
  80. package/dist/simple-tree/api/identifierIndex.js +2 -2
  81. package/dist/simple-tree/api/identifierIndex.js.map +1 -1
  82. package/dist/simple-tree/api/index.d.ts +1 -1
  83. package/dist/simple-tree/api/index.d.ts.map +1 -1
  84. package/dist/simple-tree/api/index.js.map +1 -1
  85. package/dist/simple-tree/api/schemaCompatibilityTester.d.ts +1 -1
  86. package/dist/simple-tree/api/schemaCompatibilityTester.js.map +1 -1
  87. package/dist/simple-tree/api/schemaCreationUtilities.d.ts +14 -2
  88. package/dist/simple-tree/api/schemaCreationUtilities.d.ts.map +1 -1
  89. package/dist/simple-tree/api/schemaCreationUtilities.js +41 -4
  90. package/dist/simple-tree/api/schemaCreationUtilities.js.map +1 -1
  91. package/dist/simple-tree/api/schemaFactory.d.ts +36 -3
  92. package/dist/simple-tree/api/schemaFactory.d.ts.map +1 -1
  93. package/dist/simple-tree/api/schemaFactory.js +18 -18
  94. package/dist/simple-tree/api/schemaFactory.js.map +1 -1
  95. package/dist/simple-tree/api/schemaFactoryAlpha.d.ts +16 -16
  96. package/dist/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
  97. package/dist/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
  98. package/dist/simple-tree/api/schemaFactoryRecursive.d.ts +2 -2
  99. package/dist/simple-tree/api/schemaFactoryRecursive.d.ts.map +1 -1
  100. package/dist/simple-tree/api/schemaFactoryRecursive.js +2 -2
  101. package/dist/simple-tree/api/schemaFactoryRecursive.js.map +1 -1
  102. package/dist/simple-tree/api/schemaFromSimple.d.ts.map +1 -1
  103. package/dist/simple-tree/api/schemaFromSimple.js +4 -4
  104. package/dist/simple-tree/api/schemaFromSimple.js.map +1 -1
  105. package/dist/simple-tree/api/simpleSchemaToJsonSchema.js +2 -2
  106. package/dist/simple-tree/api/simpleSchemaToJsonSchema.js.map +1 -1
  107. package/dist/simple-tree/api/simpleTreeIndex.d.ts +2 -2
  108. package/dist/simple-tree/api/simpleTreeIndex.d.ts.map +1 -1
  109. package/dist/simple-tree/api/simpleTreeIndex.js +1 -1
  110. package/dist/simple-tree/api/simpleTreeIndex.js.map +1 -1
  111. package/dist/simple-tree/api/storedSchema.d.ts +1 -1
  112. package/dist/simple-tree/api/storedSchema.js +2 -2
  113. package/dist/simple-tree/api/storedSchema.js.map +1 -1
  114. package/dist/simple-tree/api/tree.d.ts +2 -1
  115. package/dist/simple-tree/api/tree.d.ts.map +1 -1
  116. package/dist/simple-tree/api/tree.js.map +1 -1
  117. package/dist/simple-tree/api/treeBeta.d.ts +4 -1
  118. package/dist/simple-tree/api/treeBeta.d.ts.map +1 -1
  119. package/dist/simple-tree/api/treeBeta.js.map +1 -1
  120. package/dist/simple-tree/api/treeNodeApi.d.ts +1 -2
  121. package/dist/simple-tree/api/treeNodeApi.d.ts.map +1 -1
  122. package/dist/simple-tree/api/treeNodeApi.js +3 -3
  123. package/dist/simple-tree/api/treeNodeApi.js.map +1 -1
  124. package/dist/simple-tree/api/typesUnsafe.d.ts +2 -3
  125. package/dist/simple-tree/api/typesUnsafe.d.ts.map +1 -1
  126. package/dist/simple-tree/api/typesUnsafe.js.map +1 -1
  127. package/dist/simple-tree/api/verboseTree.d.ts +2 -1
  128. package/dist/simple-tree/api/verboseTree.d.ts.map +1 -1
  129. package/dist/simple-tree/api/verboseTree.js.map +1 -1
  130. package/dist/simple-tree/api/viewSchemaToSimpleSchema.d.ts +1 -1
  131. package/dist/simple-tree/api/viewSchemaToSimpleSchema.js +2 -2
  132. package/dist/simple-tree/api/viewSchemaToSimpleSchema.js.map +1 -1
  133. package/dist/simple-tree/core/allowedTypes.d.ts +316 -0
  134. package/dist/simple-tree/core/allowedTypes.d.ts.map +1 -0
  135. package/dist/simple-tree/core/allowedTypes.js +173 -0
  136. package/dist/simple-tree/core/allowedTypes.js.map +1 -0
  137. package/dist/simple-tree/core/context.d.ts +3 -9
  138. package/dist/simple-tree/core/context.d.ts.map +1 -1
  139. package/dist/simple-tree/core/context.js +3 -11
  140. package/dist/simple-tree/core/context.js.map +1 -1
  141. package/dist/simple-tree/core/flexList.d.ts.map +1 -0
  142. package/dist/simple-tree/core/flexList.js.map +1 -0
  143. package/dist/simple-tree/core/getOrCreateNode.d.ts +1 -1
  144. package/dist/simple-tree/core/getOrCreateNode.d.ts.map +1 -1
  145. package/dist/simple-tree/core/getOrCreateNode.js.map +1 -1
  146. package/dist/simple-tree/core/index.d.ts +9 -3
  147. package/dist/simple-tree/core/index.d.ts.map +1 -1
  148. package/dist/simple-tree/core/index.js +19 -3
  149. package/dist/simple-tree/core/index.js.map +1 -1
  150. package/dist/simple-tree/core/treeNodeKernel.d.ts +8 -1
  151. package/dist/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
  152. package/dist/simple-tree/core/treeNodeKernel.js +24 -20
  153. package/dist/simple-tree/core/treeNodeKernel.js.map +1 -1
  154. package/dist/simple-tree/core/treeNodeSchema.d.ts +182 -39
  155. package/dist/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
  156. package/dist/simple-tree/core/treeNodeSchema.js +47 -17
  157. package/dist/simple-tree/core/treeNodeSchema.js.map +1 -1
  158. package/dist/simple-tree/{treeNodeValid.d.ts → core/treeNodeValid.d.ts} +18 -4
  159. package/dist/simple-tree/core/treeNodeValid.d.ts.map +1 -0
  160. package/dist/simple-tree/{treeNodeValid.js → core/treeNodeValid.js} +41 -11
  161. package/dist/simple-tree/core/treeNodeValid.js.map +1 -0
  162. package/dist/simple-tree/core/unhydratedFlexTree.d.ts +1 -1
  163. package/dist/simple-tree/core/unhydratedFlexTree.js.map +1 -1
  164. package/dist/simple-tree/core/walkSchema.d.ts +2 -1
  165. package/dist/simple-tree/core/walkSchema.d.ts.map +1 -1
  166. package/dist/simple-tree/core/walkSchema.js +6 -2
  167. package/dist/simple-tree/core/walkSchema.js.map +1 -1
  168. package/dist/simple-tree/createContext.d.ts +6 -2
  169. package/dist/simple-tree/createContext.d.ts.map +1 -1
  170. package/dist/simple-tree/createContext.js +15 -3
  171. package/dist/simple-tree/createContext.js.map +1 -1
  172. package/dist/simple-tree/fieldSchema.d.ts +423 -0
  173. package/dist/simple-tree/fieldSchema.d.ts.map +1 -0
  174. package/dist/simple-tree/{schemaTypes.js → fieldSchema.js} +5 -195
  175. package/dist/simple-tree/fieldSchema.js.map +1 -0
  176. package/dist/simple-tree/index.d.ts +5 -5
  177. package/dist/simple-tree/index.d.ts.map +1 -1
  178. package/dist/simple-tree/index.js +11 -11
  179. package/dist/simple-tree/index.js.map +1 -1
  180. package/dist/simple-tree/leafNodeSchema.d.ts +14 -5
  181. package/dist/simple-tree/leafNodeSchema.d.ts.map +1 -1
  182. package/dist/simple-tree/leafNodeSchema.js +117 -2
  183. package/dist/simple-tree/leafNodeSchema.js.map +1 -1
  184. package/dist/simple-tree/node-kinds/array/arrayNode.d.ts +3 -4
  185. package/dist/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
  186. package/dist/simple-tree/node-kinds/array/arrayNode.js +97 -26
  187. package/dist/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
  188. package/dist/simple-tree/node-kinds/array/arrayNodeTypes.d.ts +2 -2
  189. package/dist/simple-tree/node-kinds/array/arrayNodeTypes.d.ts.map +1 -1
  190. package/dist/simple-tree/node-kinds/array/arrayNodeTypes.js.map +1 -1
  191. package/dist/simple-tree/node-kinds/common.d.ts +16 -0
  192. package/dist/simple-tree/node-kinds/common.d.ts.map +1 -0
  193. package/dist/simple-tree/node-kinds/common.js +42 -0
  194. package/dist/simple-tree/node-kinds/common.js.map +1 -0
  195. package/dist/simple-tree/node-kinds/index.d.ts +1 -1
  196. package/dist/simple-tree/node-kinds/index.d.ts.map +1 -1
  197. package/dist/simple-tree/node-kinds/index.js.map +1 -1
  198. package/dist/simple-tree/node-kinds/map/mapNode.d.ts +2 -3
  199. package/dist/simple-tree/node-kinds/map/mapNode.d.ts.map +1 -1
  200. package/dist/simple-tree/node-kinds/map/mapNode.js +64 -26
  201. package/dist/simple-tree/node-kinds/map/mapNode.js.map +1 -1
  202. package/dist/simple-tree/node-kinds/map/mapNodeTypes.d.ts +2 -2
  203. package/dist/simple-tree/node-kinds/map/mapNodeTypes.d.ts.map +1 -1
  204. package/dist/simple-tree/node-kinds/map/mapNodeTypes.js.map +1 -1
  205. package/dist/simple-tree/node-kinds/object/index.d.ts +1 -1
  206. package/dist/simple-tree/node-kinds/object/index.d.ts.map +1 -1
  207. package/dist/simple-tree/node-kinds/object/index.js.map +1 -1
  208. package/dist/simple-tree/node-kinds/object/objectNode.d.ts +19 -5
  209. package/dist/simple-tree/node-kinds/object/objectNode.d.ts.map +1 -1
  210. package/dist/simple-tree/node-kinds/object/objectNode.js +131 -27
  211. package/dist/simple-tree/node-kinds/object/objectNode.js.map +1 -1
  212. package/dist/simple-tree/node-kinds/object/objectNodeTypes.d.ts +11 -4
  213. package/dist/simple-tree/node-kinds/object/objectNodeTypes.d.ts.map +1 -1
  214. package/dist/simple-tree/node-kinds/object/objectNodeTypes.js.map +1 -1
  215. package/dist/simple-tree/node-kinds/record/recordNode.d.ts +2 -2
  216. package/dist/simple-tree/node-kinds/record/recordNode.d.ts.map +1 -1
  217. package/dist/simple-tree/node-kinds/record/recordNode.js +41 -13
  218. package/dist/simple-tree/node-kinds/record/recordNode.js.map +1 -1
  219. package/dist/simple-tree/node-kinds/record/recordNodeTypes.d.ts +2 -2
  220. package/dist/simple-tree/node-kinds/record/recordNodeTypes.d.ts.map +1 -1
  221. package/dist/simple-tree/node-kinds/record/recordNodeTypes.js.map +1 -1
  222. package/dist/simple-tree/prepareForInsertion.d.ts +2 -2
  223. package/dist/simple-tree/prepareForInsertion.d.ts.map +1 -1
  224. package/dist/simple-tree/prepareForInsertion.js +3 -3
  225. package/dist/simple-tree/prepareForInsertion.js.map +1 -1
  226. package/dist/simple-tree/simpleSchema.d.ts +2 -2
  227. package/dist/simple-tree/simpleSchema.d.ts.map +1 -1
  228. package/dist/simple-tree/simpleSchema.js.map +1 -1
  229. package/dist/simple-tree/toStoredSchema.d.ts +1 -1
  230. package/dist/simple-tree/toStoredSchema.d.ts.map +1 -1
  231. package/dist/simple-tree/toStoredSchema.js +6 -7
  232. package/dist/simple-tree/toStoredSchema.js.map +1 -1
  233. package/dist/simple-tree/unhydratedFlexTreeFromInsertable.d.ts +5 -11
  234. package/dist/simple-tree/unhydratedFlexTreeFromInsertable.d.ts.map +1 -1
  235. package/dist/simple-tree/unhydratedFlexTreeFromInsertable.js +25 -395
  236. package/dist/simple-tree/unhydratedFlexTreeFromInsertable.js.map +1 -1
  237. package/dist/simple-tree/unsafeUnknownSchema.d.ts +52 -0
  238. package/dist/simple-tree/unsafeUnknownSchema.d.ts.map +1 -0
  239. package/dist/simple-tree/unsafeUnknownSchema.js +13 -0
  240. package/dist/simple-tree/unsafeUnknownSchema.js.map +1 -0
  241. package/dist/simple-tree/walkFieldSchema.d.ts +1 -1
  242. package/dist/simple-tree/walkFieldSchema.js +2 -2
  243. package/dist/simple-tree/walkFieldSchema.js.map +1 -1
  244. package/dist/tableSchema.d.ts +12 -12
  245. package/dist/treeFactory.d.ts +0 -1
  246. package/dist/treeFactory.d.ts.map +1 -1
  247. package/dist/treeFactory.js +0 -1
  248. package/dist/treeFactory.js.map +1 -1
  249. package/lib/core/schema-stored/schema.d.ts +14 -1
  250. package/lib/core/schema-stored/schema.d.ts.map +1 -1
  251. package/lib/core/schema-stored/schema.js.map +1 -1
  252. package/lib/feature-libraries/default-schema/schemaChecker.d.ts.map +1 -1
  253. package/lib/feature-libraries/default-schema/schemaChecker.js +3 -0
  254. package/lib/feature-libraries/default-schema/schemaChecker.js.map +1 -1
  255. package/lib/feature-libraries/flex-tree/context.d.ts +7 -2
  256. package/lib/feature-libraries/flex-tree/context.d.ts.map +1 -1
  257. package/lib/feature-libraries/flex-tree/context.js +4 -4
  258. package/lib/feature-libraries/flex-tree/context.js.map +1 -1
  259. package/lib/feature-libraries/flex-tree/index.d.ts +1 -0
  260. package/lib/feature-libraries/flex-tree/index.d.ts.map +1 -1
  261. package/lib/feature-libraries/flex-tree/index.js +1 -0
  262. package/lib/feature-libraries/flex-tree/index.js.map +1 -1
  263. package/lib/feature-libraries/flex-tree/lazyField.d.ts.map +1 -1
  264. package/lib/feature-libraries/flex-tree/lazyField.js +6 -6
  265. package/lib/feature-libraries/flex-tree/lazyField.js.map +1 -1
  266. package/lib/feature-libraries/flex-tree/lazyNode.d.ts +3 -1
  267. package/lib/feature-libraries/flex-tree/lazyNode.d.ts.map +1 -1
  268. package/lib/feature-libraries/flex-tree/lazyNode.js +3 -1
  269. package/lib/feature-libraries/flex-tree/lazyNode.js.map +1 -1
  270. package/lib/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
  271. package/lib/feature-libraries/forest-summary/forestSummarizer.js +1 -2
  272. package/lib/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
  273. package/lib/feature-libraries/index.d.ts +1 -1
  274. package/lib/feature-libraries/index.d.ts.map +1 -1
  275. package/lib/feature-libraries/index.js +1 -1
  276. package/lib/feature-libraries/index.js.map +1 -1
  277. package/lib/packageVersion.d.ts +1 -1
  278. package/lib/packageVersion.d.ts.map +1 -1
  279. package/lib/packageVersion.js +1 -1
  280. package/lib/packageVersion.js.map +1 -1
  281. package/lib/shared-tree/index.d.ts +0 -1
  282. package/lib/shared-tree/index.d.ts.map +1 -1
  283. package/lib/shared-tree/index.js +0 -1
  284. package/lib/shared-tree/index.js.map +1 -1
  285. package/lib/shared-tree/schematizeTree.d.ts.map +1 -1
  286. package/lib/shared-tree/schematizeTree.js +2 -6
  287. package/lib/shared-tree/schematizeTree.js.map +1 -1
  288. package/lib/shared-tree/schematizingTreeView.d.ts +11 -13
  289. package/lib/shared-tree/schematizingTreeView.d.ts.map +1 -1
  290. package/lib/shared-tree/schematizingTreeView.js +59 -81
  291. package/lib/shared-tree/schematizingTreeView.js.map +1 -1
  292. package/lib/shared-tree/sharedTreeChangeTypes.d.ts +1 -1
  293. package/lib/shared-tree/sharedTreeChangeTypes.js.map +1 -1
  294. package/lib/shared-tree/tree.d.ts.map +1 -1
  295. package/lib/shared-tree/tree.js +4 -3
  296. package/lib/shared-tree/tree.js.map +1 -1
  297. package/lib/shared-tree/treeAlpha.d.ts +7 -1
  298. package/lib/shared-tree/treeAlpha.d.ts.map +1 -1
  299. package/lib/shared-tree/treeAlpha.js.map +1 -1
  300. package/lib/shared-tree/treeCheckout.d.ts +7 -2
  301. package/lib/shared-tree/treeCheckout.d.ts.map +1 -1
  302. package/lib/shared-tree/treeCheckout.js +5 -2
  303. package/lib/shared-tree/treeCheckout.js.map +1 -1
  304. package/lib/simple-tree/api/conciseTree.d.ts +1 -1
  305. package/lib/simple-tree/api/conciseTree.d.ts.map +1 -1
  306. package/lib/simple-tree/api/conciseTree.js.map +1 -1
  307. package/lib/simple-tree/api/configuration.d.ts +1 -1
  308. package/lib/simple-tree/api/configuration.d.ts.map +1 -1
  309. package/lib/simple-tree/api/configuration.js +2 -2
  310. package/lib/simple-tree/api/configuration.js.map +1 -1
  311. package/lib/simple-tree/api/create.d.ts +3 -1
  312. package/lib/simple-tree/api/create.d.ts.map +1 -1
  313. package/lib/simple-tree/api/create.js +2 -0
  314. package/lib/simple-tree/api/create.js.map +1 -1
  315. package/lib/simple-tree/api/customTree.d.ts +1 -2
  316. package/lib/simple-tree/api/customTree.d.ts.map +1 -1
  317. package/lib/simple-tree/api/customTree.js.map +1 -1
  318. package/lib/simple-tree/api/getJsonSchema.d.ts +1 -1
  319. package/lib/simple-tree/api/getJsonSchema.d.ts.map +1 -1
  320. package/lib/simple-tree/api/getJsonSchema.js.map +1 -1
  321. package/lib/simple-tree/api/getSimpleSchema.d.ts +1 -1
  322. package/lib/simple-tree/api/getSimpleSchema.js.map +1 -1
  323. package/lib/simple-tree/api/identifierIndex.d.ts +1 -1
  324. package/lib/simple-tree/api/identifierIndex.js +1 -1
  325. package/lib/simple-tree/api/identifierIndex.js.map +1 -1
  326. package/lib/simple-tree/api/index.d.ts +1 -1
  327. package/lib/simple-tree/api/index.d.ts.map +1 -1
  328. package/lib/simple-tree/api/index.js.map +1 -1
  329. package/lib/simple-tree/api/schemaCompatibilityTester.d.ts +1 -1
  330. package/lib/simple-tree/api/schemaCompatibilityTester.js.map +1 -1
  331. package/lib/simple-tree/api/schemaCreationUtilities.d.ts +14 -2
  332. package/lib/simple-tree/api/schemaCreationUtilities.d.ts.map +1 -1
  333. package/lib/simple-tree/api/schemaCreationUtilities.js +40 -4
  334. package/lib/simple-tree/api/schemaCreationUtilities.js.map +1 -1
  335. package/lib/simple-tree/api/schemaFactory.d.ts +36 -3
  336. package/lib/simple-tree/api/schemaFactory.d.ts.map +1 -1
  337. package/lib/simple-tree/api/schemaFactory.js +2 -2
  338. package/lib/simple-tree/api/schemaFactory.js.map +1 -1
  339. package/lib/simple-tree/api/schemaFactoryAlpha.d.ts +16 -16
  340. package/lib/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
  341. package/lib/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
  342. package/lib/simple-tree/api/schemaFactoryRecursive.d.ts +2 -2
  343. package/lib/simple-tree/api/schemaFactoryRecursive.d.ts.map +1 -1
  344. package/lib/simple-tree/api/schemaFactoryRecursive.js +1 -1
  345. package/lib/simple-tree/api/schemaFactoryRecursive.js.map +1 -1
  346. package/lib/simple-tree/api/schemaFromSimple.d.ts.map +1 -1
  347. package/lib/simple-tree/api/schemaFromSimple.js +1 -1
  348. package/lib/simple-tree/api/schemaFromSimple.js.map +1 -1
  349. package/lib/simple-tree/api/simpleSchemaToJsonSchema.js +1 -1
  350. package/lib/simple-tree/api/simpleSchemaToJsonSchema.js.map +1 -1
  351. package/lib/simple-tree/api/simpleTreeIndex.d.ts +2 -2
  352. package/lib/simple-tree/api/simpleTreeIndex.d.ts.map +1 -1
  353. package/lib/simple-tree/api/simpleTreeIndex.js +2 -2
  354. package/lib/simple-tree/api/simpleTreeIndex.js.map +1 -1
  355. package/lib/simple-tree/api/storedSchema.d.ts +1 -1
  356. package/lib/simple-tree/api/storedSchema.js +1 -1
  357. package/lib/simple-tree/api/storedSchema.js.map +1 -1
  358. package/lib/simple-tree/api/tree.d.ts +2 -1
  359. package/lib/simple-tree/api/tree.d.ts.map +1 -1
  360. package/lib/simple-tree/api/tree.js.map +1 -1
  361. package/lib/simple-tree/api/treeBeta.d.ts +4 -1
  362. package/lib/simple-tree/api/treeBeta.d.ts.map +1 -1
  363. package/lib/simple-tree/api/treeBeta.js.map +1 -1
  364. package/lib/simple-tree/api/treeNodeApi.d.ts +1 -2
  365. package/lib/simple-tree/api/treeNodeApi.d.ts.map +1 -1
  366. package/lib/simple-tree/api/treeNodeApi.js +2 -2
  367. package/lib/simple-tree/api/treeNodeApi.js.map +1 -1
  368. package/lib/simple-tree/api/typesUnsafe.d.ts +2 -3
  369. package/lib/simple-tree/api/typesUnsafe.d.ts.map +1 -1
  370. package/lib/simple-tree/api/typesUnsafe.js.map +1 -1
  371. package/lib/simple-tree/api/verboseTree.d.ts +2 -1
  372. package/lib/simple-tree/api/verboseTree.d.ts.map +1 -1
  373. package/lib/simple-tree/api/verboseTree.js.map +1 -1
  374. package/lib/simple-tree/api/viewSchemaToSimpleSchema.d.ts +1 -1
  375. package/lib/simple-tree/api/viewSchemaToSimpleSchema.js +1 -1
  376. package/lib/simple-tree/api/viewSchemaToSimpleSchema.js.map +1 -1
  377. package/lib/simple-tree/core/allowedTypes.d.ts +316 -0
  378. package/lib/simple-tree/core/allowedTypes.d.ts.map +1 -0
  379. package/lib/simple-tree/core/allowedTypes.js +162 -0
  380. package/lib/simple-tree/core/allowedTypes.js.map +1 -0
  381. package/lib/simple-tree/core/context.d.ts +3 -9
  382. package/lib/simple-tree/core/context.d.ts.map +1 -1
  383. package/lib/simple-tree/core/context.js +0 -8
  384. package/lib/simple-tree/core/context.js.map +1 -1
  385. package/lib/simple-tree/core/flexList.d.ts.map +1 -0
  386. package/lib/simple-tree/core/flexList.js.map +1 -0
  387. package/lib/simple-tree/core/getOrCreateNode.d.ts +1 -1
  388. package/lib/simple-tree/core/getOrCreateNode.d.ts.map +1 -1
  389. package/lib/simple-tree/core/getOrCreateNode.js.map +1 -1
  390. package/lib/simple-tree/core/index.d.ts +9 -3
  391. package/lib/simple-tree/core/index.d.ts.map +1 -1
  392. package/lib/simple-tree/core/index.js +6 -3
  393. package/lib/simple-tree/core/index.js.map +1 -1
  394. package/lib/simple-tree/core/treeNodeKernel.d.ts +8 -1
  395. package/lib/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
  396. package/lib/simple-tree/core/treeNodeKernel.js +10 -6
  397. package/lib/simple-tree/core/treeNodeKernel.js.map +1 -1
  398. package/lib/simple-tree/core/treeNodeSchema.d.ts +182 -39
  399. package/lib/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
  400. package/lib/simple-tree/core/treeNodeSchema.js +44 -14
  401. package/lib/simple-tree/core/treeNodeSchema.js.map +1 -1
  402. package/lib/simple-tree/{treeNodeValid.d.ts → core/treeNodeValid.d.ts} +18 -4
  403. package/lib/simple-tree/core/treeNodeValid.d.ts.map +1 -0
  404. package/lib/simple-tree/{treeNodeValid.js → core/treeNodeValid.js} +31 -3
  405. package/lib/simple-tree/core/treeNodeValid.js.map +1 -0
  406. package/lib/simple-tree/core/unhydratedFlexTree.d.ts +1 -1
  407. package/lib/simple-tree/core/unhydratedFlexTree.js.map +1 -1
  408. package/lib/simple-tree/core/walkSchema.d.ts +2 -1
  409. package/lib/simple-tree/core/walkSchema.d.ts.map +1 -1
  410. package/lib/simple-tree/core/walkSchema.js +7 -3
  411. package/lib/simple-tree/core/walkSchema.js.map +1 -1
  412. package/lib/simple-tree/createContext.d.ts +6 -2
  413. package/lib/simple-tree/createContext.d.ts.map +1 -1
  414. package/lib/simple-tree/createContext.js +13 -2
  415. package/lib/simple-tree/createContext.js.map +1 -1
  416. package/lib/simple-tree/fieldSchema.d.ts +423 -0
  417. package/lib/simple-tree/fieldSchema.d.ts.map +1 -0
  418. package/lib/simple-tree/{schemaTypes.js → fieldSchema.js} +3 -183
  419. package/lib/simple-tree/fieldSchema.js.map +1 -0
  420. package/lib/simple-tree/index.d.ts +5 -5
  421. package/lib/simple-tree/index.d.ts.map +1 -1
  422. package/lib/simple-tree/index.js +2 -2
  423. package/lib/simple-tree/index.js.map +1 -1
  424. package/lib/simple-tree/leafNodeSchema.d.ts +14 -5
  425. package/lib/simple-tree/leafNodeSchema.d.ts.map +1 -1
  426. package/lib/simple-tree/leafNodeSchema.js +117 -3
  427. package/lib/simple-tree/leafNodeSchema.js.map +1 -1
  428. package/lib/simple-tree/node-kinds/array/arrayNode.d.ts +3 -4
  429. package/lib/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
  430. package/lib/simple-tree/node-kinds/array/arrayNode.js +86 -15
  431. package/lib/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
  432. package/lib/simple-tree/node-kinds/array/arrayNodeTypes.d.ts +2 -2
  433. package/lib/simple-tree/node-kinds/array/arrayNodeTypes.d.ts.map +1 -1
  434. package/lib/simple-tree/node-kinds/array/arrayNodeTypes.js +1 -1
  435. package/lib/simple-tree/node-kinds/array/arrayNodeTypes.js.map +1 -1
  436. package/lib/simple-tree/node-kinds/common.d.ts +16 -0
  437. package/lib/simple-tree/node-kinds/common.d.ts.map +1 -0
  438. package/lib/simple-tree/node-kinds/common.js +38 -0
  439. package/lib/simple-tree/node-kinds/common.js.map +1 -0
  440. package/lib/simple-tree/node-kinds/index.d.ts +1 -1
  441. package/lib/simple-tree/node-kinds/index.d.ts.map +1 -1
  442. package/lib/simple-tree/node-kinds/index.js.map +1 -1
  443. package/lib/simple-tree/node-kinds/map/mapNode.d.ts +2 -3
  444. package/lib/simple-tree/node-kinds/map/mapNode.d.ts.map +1 -1
  445. package/lib/simple-tree/node-kinds/map/mapNode.js +51 -13
  446. package/lib/simple-tree/node-kinds/map/mapNode.js.map +1 -1
  447. package/lib/simple-tree/node-kinds/map/mapNodeTypes.d.ts +2 -2
  448. package/lib/simple-tree/node-kinds/map/mapNodeTypes.d.ts.map +1 -1
  449. package/lib/simple-tree/node-kinds/map/mapNodeTypes.js +1 -1
  450. package/lib/simple-tree/node-kinds/map/mapNodeTypes.js.map +1 -1
  451. package/lib/simple-tree/node-kinds/object/index.d.ts +1 -1
  452. package/lib/simple-tree/node-kinds/object/index.d.ts.map +1 -1
  453. package/lib/simple-tree/node-kinds/object/index.js.map +1 -1
  454. package/lib/simple-tree/node-kinds/object/objectNode.d.ts +19 -5
  455. package/lib/simple-tree/node-kinds/object/objectNode.d.ts.map +1 -1
  456. package/lib/simple-tree/node-kinds/object/objectNode.js +116 -14
  457. package/lib/simple-tree/node-kinds/object/objectNode.js.map +1 -1
  458. package/lib/simple-tree/node-kinds/object/objectNodeTypes.d.ts +11 -4
  459. package/lib/simple-tree/node-kinds/object/objectNodeTypes.d.ts.map +1 -1
  460. package/lib/simple-tree/node-kinds/object/objectNodeTypes.js +1 -1
  461. package/lib/simple-tree/node-kinds/object/objectNodeTypes.js.map +1 -1
  462. package/lib/simple-tree/node-kinds/record/recordNode.d.ts +2 -2
  463. package/lib/simple-tree/node-kinds/record/recordNode.d.ts.map +1 -1
  464. package/lib/simple-tree/node-kinds/record/recordNode.js +40 -12
  465. package/lib/simple-tree/node-kinds/record/recordNode.js.map +1 -1
  466. package/lib/simple-tree/node-kinds/record/recordNodeTypes.d.ts +2 -2
  467. package/lib/simple-tree/node-kinds/record/recordNodeTypes.d.ts.map +1 -1
  468. package/lib/simple-tree/node-kinds/record/recordNodeTypes.js +1 -1
  469. package/lib/simple-tree/node-kinds/record/recordNodeTypes.js.map +1 -1
  470. package/lib/simple-tree/prepareForInsertion.d.ts +2 -2
  471. package/lib/simple-tree/prepareForInsertion.d.ts.map +1 -1
  472. package/lib/simple-tree/prepareForInsertion.js +2 -2
  473. package/lib/simple-tree/prepareForInsertion.js.map +1 -1
  474. package/lib/simple-tree/simpleSchema.d.ts +2 -2
  475. package/lib/simple-tree/simpleSchema.d.ts.map +1 -1
  476. package/lib/simple-tree/simpleSchema.js.map +1 -1
  477. package/lib/simple-tree/toStoredSchema.d.ts +1 -1
  478. package/lib/simple-tree/toStoredSchema.d.ts.map +1 -1
  479. package/lib/simple-tree/toStoredSchema.js +2 -3
  480. package/lib/simple-tree/toStoredSchema.js.map +1 -1
  481. package/lib/simple-tree/unhydratedFlexTreeFromInsertable.d.ts +5 -11
  482. package/lib/simple-tree/unhydratedFlexTreeFromInsertable.d.ts.map +1 -1
  483. package/lib/simple-tree/unhydratedFlexTreeFromInsertable.js +10 -381
  484. package/lib/simple-tree/unhydratedFlexTreeFromInsertable.js.map +1 -1
  485. package/lib/simple-tree/unsafeUnknownSchema.d.ts +52 -0
  486. package/lib/simple-tree/unsafeUnknownSchema.d.ts.map +1 -0
  487. package/lib/simple-tree/unsafeUnknownSchema.js +10 -0
  488. package/lib/simple-tree/unsafeUnknownSchema.js.map +1 -0
  489. package/lib/simple-tree/walkFieldSchema.d.ts +1 -1
  490. package/lib/simple-tree/walkFieldSchema.js +1 -1
  491. package/lib/simple-tree/walkFieldSchema.js.map +1 -1
  492. package/lib/tableSchema.d.ts +12 -12
  493. package/lib/treeFactory.d.ts +0 -1
  494. package/lib/treeFactory.d.ts.map +1 -1
  495. package/lib/treeFactory.js +0 -1
  496. package/lib/treeFactory.js.map +1 -1
  497. package/package.json +22 -23
  498. package/src/core/schema-stored/schema.ts +14 -1
  499. package/src/feature-libraries/default-schema/schemaChecker.ts +3 -0
  500. package/src/feature-libraries/flex-tree/context.ts +10 -5
  501. package/src/feature-libraries/flex-tree/index.ts +2 -0
  502. package/src/feature-libraries/flex-tree/lazyField.ts +10 -6
  503. package/src/feature-libraries/flex-tree/lazyNode.ts +6 -1
  504. package/src/feature-libraries/forest-summary/forestSummarizer.ts +1 -2
  505. package/src/feature-libraries/index.ts +1 -0
  506. package/src/packageVersion.ts +1 -1
  507. package/src/shared-tree/index.ts +0 -2
  508. package/src/shared-tree/schematizeTree.ts +2 -6
  509. package/src/shared-tree/schematizingTreeView.ts +72 -107
  510. package/src/shared-tree/sharedTreeChangeTypes.ts +1 -1
  511. package/src/shared-tree/tree.ts +4 -3
  512. package/src/shared-tree/treeAlpha.ts +7 -1
  513. package/src/shared-tree/treeCheckout.ts +15 -2
  514. package/src/simple-tree/api/conciseTree.ts +1 -2
  515. package/src/simple-tree/api/configuration.ts +7 -4
  516. package/src/simple-tree/api/create.ts +3 -1
  517. package/src/simple-tree/api/customTree.ts +1 -2
  518. package/src/simple-tree/api/getJsonSchema.ts +1 -1
  519. package/src/simple-tree/api/getSimpleSchema.ts +1 -1
  520. package/src/simple-tree/api/identifierIndex.ts +1 -1
  521. package/src/simple-tree/api/index.ts +2 -0
  522. package/src/simple-tree/api/schemaCompatibilityTester.ts +1 -1
  523. package/src/simple-tree/api/schemaCreationUtilities.ts +47 -5
  524. package/src/simple-tree/api/schemaFactory.ts +45 -10
  525. package/src/simple-tree/api/schemaFactoryAlpha.ts +4 -7
  526. package/src/simple-tree/api/schemaFactoryRecursive.ts +9 -4
  527. package/src/simple-tree/api/schemaFromSimple.ts +2 -3
  528. package/src/simple-tree/api/simpleSchemaToJsonSchema.ts +1 -1
  529. package/src/simple-tree/api/simpleTreeIndex.ts +8 -3
  530. package/src/simple-tree/api/storedSchema.ts +1 -1
  531. package/src/simple-tree/api/tree.ts +2 -2
  532. package/src/simple-tree/api/treeBeta.ts +4 -1
  533. package/src/simple-tree/api/treeNodeApi.ts +5 -8
  534. package/src/simple-tree/api/typesUnsafe.ts +5 -4
  535. package/src/simple-tree/api/verboseTree.ts +3 -6
  536. package/src/simple-tree/api/viewSchemaToSimpleSchema.ts +1 -1
  537. package/src/simple-tree/core/README.md +1 -1
  538. package/src/simple-tree/core/allowedTypes.ts +496 -0
  539. package/src/simple-tree/core/context.ts +3 -10
  540. package/src/simple-tree/core/getOrCreateNode.ts +1 -1
  541. package/src/simple-tree/core/index.ts +62 -9
  542. package/src/simple-tree/core/treeNodeKernel.ts +12 -6
  543. package/src/simple-tree/core/treeNodeSchema.ts +247 -63
  544. package/src/simple-tree/{treeNodeValid.ts → core/treeNodeValid.ts} +59 -15
  545. package/src/simple-tree/core/unhydratedFlexTree.ts +1 -1
  546. package/src/simple-tree/core/walkSchema.ts +9 -5
  547. package/src/simple-tree/createContext.ts +26 -2
  548. package/src/simple-tree/fieldSchema.ts +734 -0
  549. package/src/simple-tree/index.ts +32 -30
  550. package/src/simple-tree/leafNodeSchema.ts +137 -5
  551. package/src/simple-tree/node-kinds/array/arrayNode.ts +141 -30
  552. package/src/simple-tree/node-kinds/array/arrayNodeTypes.ts +5 -7
  553. package/src/simple-tree/node-kinds/common.ts +60 -0
  554. package/src/simple-tree/node-kinds/index.ts +1 -0
  555. package/src/simple-tree/node-kinds/map/mapNode.ts +91 -33
  556. package/src/simple-tree/node-kinds/map/mapNodeTypes.ts +5 -7
  557. package/src/simple-tree/node-kinds/object/index.ts +1 -0
  558. package/src/simple-tree/node-kinds/object/objectNode.ts +205 -25
  559. package/src/simple-tree/node-kinds/object/objectNodeTypes.ts +22 -5
  560. package/src/simple-tree/node-kinds/record/recordNode.ts +68 -26
  561. package/src/simple-tree/node-kinds/record/recordNodeTypes.ts +6 -8
  562. package/src/simple-tree/prepareForInsertion.ts +7 -6
  563. package/src/simple-tree/simpleSchema.ts +2 -2
  564. package/src/simple-tree/toStoredSchema.ts +2 -3
  565. package/src/simple-tree/unhydratedFlexTreeFromInsertable.ts +12 -494
  566. package/src/simple-tree/unsafeUnknownSchema.ts +70 -0
  567. package/src/simple-tree/walkFieldSchema.ts +1 -1
  568. package/src/treeFactory.ts +0 -1
  569. package/dist/shared-tree/checkoutFlexTreeView.d.ts +0 -58
  570. package/dist/shared-tree/checkoutFlexTreeView.d.ts.map +0 -1
  571. package/dist/shared-tree/checkoutFlexTreeView.js +0 -77
  572. package/dist/shared-tree/checkoutFlexTreeView.js.map +0 -1
  573. package/dist/simple-tree/flexList.d.ts.map +0 -1
  574. package/dist/simple-tree/flexList.js.map +0 -1
  575. package/dist/simple-tree/schemaTypes.d.ts +0 -856
  576. package/dist/simple-tree/schemaTypes.d.ts.map +0 -1
  577. package/dist/simple-tree/schemaTypes.js.map +0 -1
  578. package/dist/simple-tree/treeNodeValid.d.ts.map +0 -1
  579. package/dist/simple-tree/treeNodeValid.js.map +0 -1
  580. package/lib/shared-tree/checkoutFlexTreeView.d.ts +0 -58
  581. package/lib/shared-tree/checkoutFlexTreeView.d.ts.map +0 -1
  582. package/lib/shared-tree/checkoutFlexTreeView.js +0 -72
  583. package/lib/shared-tree/checkoutFlexTreeView.js.map +0 -1
  584. package/lib/simple-tree/flexList.d.ts.map +0 -1
  585. package/lib/simple-tree/flexList.js.map +0 -1
  586. package/lib/simple-tree/schemaTypes.d.ts +0 -856
  587. package/lib/simple-tree/schemaTypes.d.ts.map +0 -1
  588. package/lib/simple-tree/schemaTypes.js.map +0 -1
  589. package/lib/simple-tree/treeNodeValid.d.ts.map +0 -1
  590. package/lib/simple-tree/treeNodeValid.js.map +0 -1
  591. package/src/shared-tree/checkoutFlexTreeView.ts +0 -100
  592. package/src/simple-tree/schemaTypes.ts +0 -1420
  593. /package/dist/simple-tree/{flexList.d.ts → core/flexList.d.ts} +0 -0
  594. /package/dist/simple-tree/{flexList.js → core/flexList.js} +0 -0
  595. /package/lib/simple-tree/{flexList.d.ts → core/flexList.d.ts} +0 -0
  596. /package/lib/simple-tree/{flexList.js → core/flexList.js} +0 -0
  597. /package/src/simple-tree/{flexList.ts → core/flexList.ts} +0 -0
@@ -13,11 +13,13 @@ import type { TreeValue } from "../../core/index.js";
13
13
  // eslint-disable-next-line unused-imports/no-unused-imports, @typescript-eslint/no-unused-vars
14
14
  import type { TreeAlpha } from "../../shared-tree/index.js";
15
15
  import {
16
+ type JsonCompatibleReadOnlyObject,
16
17
  type RestrictiveStringRecord,
17
18
  compareSets,
18
19
  getOrCreate,
19
20
  isReadonlyArray,
20
21
  } from "../../util/index.js";
22
+ import { normalizeAllowedTypes, markSchemaMostDerived, isLazy } from "../core/index.js";
21
23
  import type {
22
24
  NodeKind,
23
25
  WithType,
@@ -26,8 +28,12 @@ import type {
26
28
  TreeNodeSchemaNonClass,
27
29
  TreeNodeSchemaBoth,
28
30
  UnhydratedFlexTreeNode,
31
+ NodeSchemaMetadata,
32
+ ImplicitAnnotatedAllowedTypes,
33
+ UnannotateImplicitAllowedTypes,
34
+ ImplicitAllowedTypes,
35
+ InsertableTreeNodeFromImplicitAllowedTypes,
29
36
  } from "../core/index.js";
30
- import { isLazy } from "../flexList.js";
31
37
  import {
32
38
  booleanSchema,
33
39
  handleSchema,
@@ -45,26 +51,19 @@ import {
45
51
  type InsertableObjectFromSchemaRecord,
46
52
  type TreeMapNode,
47
53
  type TreeObjectNode,
54
+ type UnannotateSchemaRecord,
48
55
  } from "../node-kinds/index.js";
49
56
  import {
50
57
  FieldKind,
51
58
  type FieldSchema,
52
- type ImplicitAllowedTypes,
53
59
  type ImplicitFieldSchema,
54
- type InsertableTreeNodeFromImplicitAllowedTypes,
55
60
  type FieldProps,
56
61
  createFieldSchema,
57
62
  type DefaultProvider,
58
63
  getDefaultProvider,
59
- markSchemaMostDerived,
60
64
  type FieldSchemaAlpha,
61
- type ImplicitAnnotatedAllowedTypes,
62
- type UnannotateImplicitAllowedTypes,
63
- type UnannotateSchemaRecord,
64
- type NodeSchemaOptionsAlpha,
65
- normalizeAllowedTypes,
66
65
  type FieldPropsAlpha,
67
- } from "../schemaTypes.js";
66
+ } from "../fieldSchema.js";
68
67
 
69
68
  import { createFieldSchemaUnsafe } from "./schemaFactoryRecursive.js";
70
69
  import type { System_Unsafe, FieldSchemaAlphaUnsafe } from "./typesUnsafe.js";
@@ -1312,3 +1311,39 @@ export function structuralName<const T extends string>(
1312
1311
  * Using this is only better than creating fully random V4 UUIDs because it reduces the entropy making it possible for things like text compression to work slightly better.
1313
1312
  */
1314
1313
  const globalIdentifierAllocator: IIdCompressor = createIdCompressor();
1314
+
1315
+ /**
1316
+ * Additional information to provide to Node Schema creation.
1317
+ *
1318
+ * @typeParam TCustomMetadata - Custom metadata properties to associate with the Node Schema.
1319
+ * See {@link NodeSchemaMetadata.custom}.
1320
+ *
1321
+ * @sealed
1322
+ * @public
1323
+ */
1324
+ export interface NodeSchemaOptions<out TCustomMetadata = unknown> {
1325
+ /**
1326
+ * Optional metadata to associate with the Node Schema.
1327
+ *
1328
+ * @remarks
1329
+ * Note: this metadata is not persisted nor made part of the collaborative state; it is strictly client-local.
1330
+ * Different clients in the same collaborative session may see different metadata for the same field.
1331
+ */
1332
+ readonly metadata?: NodeSchemaMetadata<TCustomMetadata> | undefined;
1333
+ }
1334
+
1335
+ /**
1336
+ * Additional information to provide to Node Schema creation. Includes fields for alpha features.
1337
+ *
1338
+ * @typeParam TCustomMetadata - Custom metadata properties to associate with the Node Schema.
1339
+ * See {@link NodeSchemaMetadata.custom}.
1340
+ *
1341
+ * @alpha
1342
+ */
1343
+ export interface NodeSchemaOptionsAlpha<out TCustomMetadata = unknown>
1344
+ extends NodeSchemaOptions<TCustomMetadata> {
1345
+ /**
1346
+ * The persisted metadata for this schema element.
1347
+ */
1348
+ readonly persistedMetadata?: JsonCompatibleReadOnlyObject | undefined;
1349
+ }
@@ -20,16 +20,11 @@ import {
20
20
  SchemaFactory,
21
21
  schemaStatics,
22
22
  structuralName,
23
+ type NodeSchemaOptionsAlpha,
23
24
  type SchemaFactoryObjectOptions,
24
25
  type ScopedSchemaName,
25
26
  } from "./schemaFactory.js";
26
- import type {
27
- ImplicitAllowedTypes,
28
- ImplicitAnnotatedAllowedTypes,
29
- ImplicitAnnotatedFieldSchema,
30
- ImplicitFieldSchema,
31
- NodeSchemaOptionsAlpha,
32
- } from "../schemaTypes.js";
27
+ import type { ImplicitAnnotatedFieldSchema, ImplicitFieldSchema } from "../fieldSchema.js";
33
28
  import type { RestrictiveStringRecord } from "../../util/index.js";
34
29
  import type {
35
30
  NodeKind,
@@ -38,6 +33,8 @@ import type {
38
33
  TreeNodeSchemaClass,
39
34
  TreeNodeSchemaNonClass,
40
35
  WithType,
36
+ ImplicitAllowedTypes,
37
+ ImplicitAnnotatedAllowedTypes,
41
38
  } from "../core/index.js";
42
39
  import type {
43
40
  ArrayNodeCustomizableSchemaUnsafe,
@@ -4,16 +4,21 @@
4
4
  */
5
5
 
6
6
  import type { RestrictiveStringRecord } from "../../util/index.js";
7
- import type { NodeKind, TreeNodeSchema, WithType, TreeNode } from "../core/index.js";
7
+ import type {
8
+ NodeKind,
9
+ TreeNodeSchema,
10
+ WithType,
11
+ TreeNode,
12
+ ImplicitAllowedTypes,
13
+ InsertableTreeNodeFromImplicitAllowedTypes,
14
+ } from "../core/index.js";
8
15
  import type { InsertableObjectFromSchemaRecord } from "../node-kinds/index.js";
9
16
  import {
10
17
  type FieldKind,
11
18
  type FieldProps,
12
19
  createFieldSchema,
13
- type ImplicitAllowedTypes,
14
20
  type ImplicitFieldSchema,
15
- type InsertableTreeNodeFromImplicitAllowedTypes,
16
- } from "../schemaTypes.js";
21
+ } from "../fieldSchema.js";
17
22
 
18
23
  import type { FieldSchemaAlphaUnsafe, System_Unsafe } from "./typesUnsafe.js";
19
24
 
@@ -5,14 +5,13 @@
5
5
 
6
6
  import { unreachableCase, fail } from "@fluidframework/core-utils/internal";
7
7
 
8
- import { NodeKind, type TreeNodeSchema } from "../core/index.js";
8
+ import { NodeKind, type TreeNodeSchema, type AllowedTypes } from "../core/index.js";
9
9
  import {
10
10
  type FieldSchema,
11
- type AllowedTypes,
12
11
  type FieldSchemaAlpha,
13
12
  FieldKind,
14
13
  type FieldProps,
15
- } from "../schemaTypes.js";
14
+ } from "../fieldSchema.js";
16
15
  import type {
17
16
  SimpleFieldSchema,
18
17
  SimpleNodeSchema,
@@ -20,7 +20,7 @@ import type {
20
20
  JsonLeafSchemaType,
21
21
  JsonRecordNodeSchema,
22
22
  } from "./jsonSchema.js";
23
- import { FieldKind } from "../schemaTypes.js";
23
+ import { FieldKind } from "../fieldSchema.js";
24
24
  import type {
25
25
  SimpleArrayNodeSchema,
26
26
  SimpleLeafNodeSchema,
@@ -20,8 +20,13 @@ import {
20
20
  type KeyFinder,
21
21
  } from "../../feature-libraries/index.js";
22
22
  import { brand } from "../../util/index.js";
23
- import type { ImplicitFieldSchema, NodeFromSchema } from "../schemaTypes.js";
24
- import { treeNodeFromAnchor, type TreeNode, type TreeNodeSchema } from "../core/index.js";
23
+ import type { ImplicitFieldSchema } from "../fieldSchema.js";
24
+ import {
25
+ treeNodeFromAnchor,
26
+ type TreeNode,
27
+ type TreeNodeSchema,
28
+ type NodeFromSchema,
29
+ } from "../core/index.js";
25
30
  import { treeNodeApi } from "./treeNodeApi.js";
26
31
  import type { TreeView } from "./tree.js";
27
32
  import { walkFieldSchema } from "../walkFieldSchema.js";
@@ -180,7 +185,7 @@ export function createSimpleTreeIndex<
180
185
  };
181
186
 
182
187
  const index = new AnchorTreeIndex<TKey, TValue>(
183
- (view as SchematizingSimpleTreeView<TFieldSchema>).getView().checkout.forest,
188
+ (view as SchematizingSimpleTreeView<TFieldSchema>).checkout.forest,
184
189
  schemaIndexer,
185
190
  (anchorNodes) => {
186
191
  const simpleTreeNodes: TreeNode[] = [];
@@ -16,7 +16,7 @@ import {
16
16
  // eslint-disable-next-line import/no-internal-modules
17
17
  } from "../../feature-libraries/schema-index/index.js";
18
18
  import type { JsonCompatible } from "../../util/index.js";
19
- import { normalizeFieldSchema, type ImplicitFieldSchema } from "../schemaTypes.js";
19
+ import { normalizeFieldSchema, type ImplicitFieldSchema } from "../fieldSchema.js";
20
20
  import type { SimpleTreeSchema } from "../simpleSchema.js";
21
21
  import { simpleToStoredSchema } from "../toStoredSchema.js";
22
22
 
@@ -22,8 +22,8 @@ import type {
22
22
  ReadableField,
23
23
  ReadSchema,
24
24
  TreeFieldFromImplicitField,
25
- UnsafeUnknownSchema,
26
- } from "../schemaTypes.js";
25
+ } from "../fieldSchema.js";
26
+ import type { UnsafeUnknownSchema } from "../unsafeUnknownSchema.js";
27
27
  import type { SimpleTreeSchema } from "../simpleSchema.js";
28
28
 
29
29
  import type { TreeViewConfiguration } from "./configuration.js";
@@ -11,7 +11,7 @@ import {
11
11
  type Unhydrated,
12
12
  type WithType,
13
13
  } from "../core/index.js";
14
- import type { ImplicitFieldSchema, TreeFieldFromImplicitField } from "../schemaTypes.js";
14
+ import type { ImplicitFieldSchema, TreeFieldFromImplicitField } from "../fieldSchema.js";
15
15
 
16
16
  import { createFromCursor } from "./create.js";
17
17
  import type { TreeChangeEvents } from "./treeChangeEvents.js";
@@ -127,6 +127,9 @@ export interface TreeBeta {
127
127
  * - Value node types (i.e., numbers, strings, booleans, nulls and Fluid handles) will be returned as is.
128
128
  *
129
129
  * - The identifiers in the node's subtree will be preserved, i.e., they are not replaced with new values.
130
+ *
131
+ * @privateRemarks
132
+ * TODO: AB#43548: How this handles unknown optional fields needs to be figured out, tested and documented.
130
133
  */
131
134
  clone<const TSchema extends ImplicitFieldSchema>(
132
135
  node: TreeFieldFromImplicitField<TSchema>,
@@ -8,14 +8,7 @@ import { assert, oob, fail, unreachableCase } from "@fluidframework/core-utils/i
8
8
  import { EmptyKey, rootFieldKey } from "../../core/index.js";
9
9
  import { type TreeStatus, isTreeValue, FieldKinds } from "../../feature-libraries/index.js";
10
10
  import { extractFromOpaque } from "../../util/index.js";
11
- import {
12
- type TreeLeafValue,
13
- type ImplicitFieldSchema,
14
- FieldSchema,
15
- type ImplicitAllowedTypes,
16
- type TreeNodeFromImplicitAllowedTypes,
17
- normalizeAllowedTypes,
18
- } from "../schemaTypes.js";
11
+ import { type ImplicitFieldSchema, FieldSchema } from "../fieldSchema.js";
19
12
  import {
20
13
  booleanSchema,
21
14
  handleSchema,
@@ -36,6 +29,10 @@ import {
36
29
  getOrCreateNodeFromInnerNode,
37
30
  typeSchemaSymbol,
38
31
  getOrCreateInnerNode,
32
+ type TreeLeafValue,
33
+ type ImplicitAllowedTypes,
34
+ type TreeNodeFromImplicitAllowedTypes,
35
+ normalizeAllowedTypes,
39
36
  } from "../core/index.js";
40
37
  import type { TreeChangeEvents } from "./treeChangeEvents.js";
41
38
  import { isArrayNodeSchema, isObjectNodeSchema } from "../node-kinds/index.js";
@@ -15,9 +15,7 @@ import type {
15
15
  FieldKind,
16
16
  FieldSchema,
17
17
  FieldSchemaAlpha,
18
- ImplicitAllowedTypes,
19
- TreeLeafValue,
20
- } from "../schemaTypes.js";
18
+ } from "../fieldSchema.js";
21
19
  import type {
22
20
  NodeKind,
23
21
  WithType,
@@ -27,9 +25,12 @@ import type {
27
25
  TreeNodeSchema,
28
26
  TreeNodeSchemaCore,
29
27
  TreeNodeSchemaClass,
28
+ ImplicitAllowedTypes,
29
+ TreeLeafValue,
30
+ FlexListToUnion,
31
+ LazyItem,
30
32
  } from "../core/index.js";
31
33
  import type { TreeArrayNode } from "../node-kinds/index.js";
32
- import type { FlexListToUnion, LazyItem } from "../flexList.js";
33
34
  import type { SimpleArrayNodeSchema, SimpleMapNodeSchema } from "../simpleSchema.js";
34
35
 
35
36
  /*
@@ -17,12 +17,9 @@ import {
17
17
  type ITreeCursorSynchronous,
18
18
  } from "../../core/index.js";
19
19
  import { brand } from "../../util/index.js";
20
- import type {
21
- TreeLeafValue,
22
- ImplicitFieldSchema,
23
- ImplicitAllowedTypes,
24
- } from "../schemaTypes.js";
25
- import { NodeKind, type TreeNodeSchema } from "../core/index.js";
20
+ import type { ImplicitFieldSchema } from "../fieldSchema.js";
21
+ import { NodeKind } from "../core/index.js";
22
+ import type { TreeNodeSchema, ImplicitAllowedTypes, TreeLeafValue } from "../core/index.js";
26
23
  import {
27
24
  isTreeValue,
28
25
  stackTreeFieldCursor,
@@ -4,7 +4,7 @@
4
4
  */
5
5
 
6
6
  import { assert, unreachableCase } from "@fluidframework/core-utils/internal";
7
- import { normalizeFieldSchema, type ImplicitFieldSchema } from "../schemaTypes.js";
7
+ import { normalizeFieldSchema, type ImplicitFieldSchema } from "../fieldSchema.js";
8
8
  import type {
9
9
  SimpleArrayNodeSchema,
10
10
  SimpleFieldSchema,
@@ -8,4 +8,4 @@ This specifically does not contain any logic specific to field kinds or node kin
8
8
  ## Status
9
9
 
10
10
  More content should be moved into this directory as its disentangled from node kind specific logic.
11
- `proxyBinding.ts` is a good candidate to work toward moving here to.
11
+