@fluidframework/tree 2.50.0-345060 → 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 (620) hide show
  1. package/.vscode/Tree.code-workspace +14 -1
  2. package/.vscode/settings.json +16 -0
  3. package/CHANGELOG.md +102 -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.js +1 -1
  35. package/dist/packageVersion.js.map +1 -1
  36. package/dist/shared-tree/index.d.ts +0 -1
  37. package/dist/shared-tree/index.d.ts.map +1 -1
  38. package/dist/shared-tree/index.js +1 -3
  39. package/dist/shared-tree/index.js.map +1 -1
  40. package/dist/shared-tree/schematizeTree.d.ts.map +1 -1
  41. package/dist/shared-tree/schematizeTree.js +2 -6
  42. package/dist/shared-tree/schematizeTree.js.map +1 -1
  43. package/dist/shared-tree/schematizingTreeView.d.ts +11 -13
  44. package/dist/shared-tree/schematizingTreeView.d.ts.map +1 -1
  45. package/dist/shared-tree/schematizingTreeView.js +58 -81
  46. package/dist/shared-tree/schematizingTreeView.js.map +1 -1
  47. package/dist/shared-tree/sharedTreeChangeTypes.d.ts +1 -1
  48. package/dist/shared-tree/sharedTreeChangeTypes.js.map +1 -1
  49. package/dist/shared-tree/tree.d.ts.map +1 -1
  50. package/dist/shared-tree/tree.js +4 -3
  51. package/dist/shared-tree/tree.js.map +1 -1
  52. package/dist/shared-tree/treeAlpha.d.ts +7 -1
  53. package/dist/shared-tree/treeAlpha.d.ts.map +1 -1
  54. package/dist/shared-tree/treeAlpha.js.map +1 -1
  55. package/dist/shared-tree/treeCheckout.d.ts +7 -2
  56. package/dist/shared-tree/treeCheckout.d.ts.map +1 -1
  57. package/dist/shared-tree/treeCheckout.js +4 -1
  58. package/dist/shared-tree/treeCheckout.js.map +1 -1
  59. package/dist/shared-tree-core/defaultResubmitMachine.d.ts +8 -12
  60. package/dist/shared-tree-core/defaultResubmitMachine.d.ts.map +1 -1
  61. package/dist/shared-tree-core/defaultResubmitMachine.js +54 -46
  62. package/dist/shared-tree-core/defaultResubmitMachine.js.map +1 -1
  63. package/dist/shared-tree-core/resubmitMachine.d.ts +6 -0
  64. package/dist/shared-tree-core/resubmitMachine.d.ts.map +1 -1
  65. package/dist/shared-tree-core/resubmitMachine.js.map +1 -1
  66. package/dist/shared-tree-core/sharedTreeCore.d.ts +1 -0
  67. package/dist/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
  68. package/dist/shared-tree-core/sharedTreeCore.js +16 -3
  69. package/dist/shared-tree-core/sharedTreeCore.js.map +1 -1
  70. package/dist/simple-tree/api/conciseTree.d.ts +1 -1
  71. package/dist/simple-tree/api/conciseTree.d.ts.map +1 -1
  72. package/dist/simple-tree/api/conciseTree.js.map +1 -1
  73. package/dist/simple-tree/api/configuration.d.ts +1 -1
  74. package/dist/simple-tree/api/configuration.d.ts.map +1 -1
  75. package/dist/simple-tree/api/configuration.js +9 -9
  76. package/dist/simple-tree/api/configuration.js.map +1 -1
  77. package/dist/simple-tree/api/create.d.ts +3 -1
  78. package/dist/simple-tree/api/create.d.ts.map +1 -1
  79. package/dist/simple-tree/api/create.js +2 -0
  80. package/dist/simple-tree/api/create.js.map +1 -1
  81. package/dist/simple-tree/api/customTree.d.ts +1 -2
  82. package/dist/simple-tree/api/customTree.d.ts.map +1 -1
  83. package/dist/simple-tree/api/customTree.js.map +1 -1
  84. package/dist/simple-tree/api/getJsonSchema.d.ts +1 -1
  85. package/dist/simple-tree/api/getJsonSchema.d.ts.map +1 -1
  86. package/dist/simple-tree/api/getJsonSchema.js.map +1 -1
  87. package/dist/simple-tree/api/getSimpleSchema.d.ts +1 -1
  88. package/dist/simple-tree/api/getSimpleSchema.js.map +1 -1
  89. package/dist/simple-tree/api/identifierIndex.d.ts +1 -1
  90. package/dist/simple-tree/api/identifierIndex.js +2 -2
  91. package/dist/simple-tree/api/identifierIndex.js.map +1 -1
  92. package/dist/simple-tree/api/index.d.ts +1 -1
  93. package/dist/simple-tree/api/index.d.ts.map +1 -1
  94. package/dist/simple-tree/api/index.js.map +1 -1
  95. package/dist/simple-tree/api/schemaCompatibilityTester.d.ts +1 -1
  96. package/dist/simple-tree/api/schemaCompatibilityTester.js.map +1 -1
  97. package/dist/simple-tree/api/schemaCreationUtilities.d.ts +14 -2
  98. package/dist/simple-tree/api/schemaCreationUtilities.d.ts.map +1 -1
  99. package/dist/simple-tree/api/schemaCreationUtilities.js +41 -4
  100. package/dist/simple-tree/api/schemaCreationUtilities.js.map +1 -1
  101. package/dist/simple-tree/api/schemaFactory.d.ts +36 -3
  102. package/dist/simple-tree/api/schemaFactory.d.ts.map +1 -1
  103. package/dist/simple-tree/api/schemaFactory.js +18 -18
  104. package/dist/simple-tree/api/schemaFactory.js.map +1 -1
  105. package/dist/simple-tree/api/schemaFactoryAlpha.d.ts +16 -16
  106. package/dist/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
  107. package/dist/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
  108. package/dist/simple-tree/api/schemaFactoryRecursive.d.ts +2 -2
  109. package/dist/simple-tree/api/schemaFactoryRecursive.d.ts.map +1 -1
  110. package/dist/simple-tree/api/schemaFactoryRecursive.js +2 -2
  111. package/dist/simple-tree/api/schemaFactoryRecursive.js.map +1 -1
  112. package/dist/simple-tree/api/schemaFromSimple.d.ts.map +1 -1
  113. package/dist/simple-tree/api/schemaFromSimple.js +4 -4
  114. package/dist/simple-tree/api/schemaFromSimple.js.map +1 -1
  115. package/dist/simple-tree/api/simpleSchemaToJsonSchema.js +2 -2
  116. package/dist/simple-tree/api/simpleSchemaToJsonSchema.js.map +1 -1
  117. package/dist/simple-tree/api/simpleTreeIndex.d.ts +2 -2
  118. package/dist/simple-tree/api/simpleTreeIndex.d.ts.map +1 -1
  119. package/dist/simple-tree/api/simpleTreeIndex.js +1 -1
  120. package/dist/simple-tree/api/simpleTreeIndex.js.map +1 -1
  121. package/dist/simple-tree/api/storedSchema.d.ts +1 -1
  122. package/dist/simple-tree/api/storedSchema.js +2 -2
  123. package/dist/simple-tree/api/storedSchema.js.map +1 -1
  124. package/dist/simple-tree/api/tree.d.ts +2 -1
  125. package/dist/simple-tree/api/tree.d.ts.map +1 -1
  126. package/dist/simple-tree/api/tree.js.map +1 -1
  127. package/dist/simple-tree/api/treeBeta.d.ts +4 -1
  128. package/dist/simple-tree/api/treeBeta.d.ts.map +1 -1
  129. package/dist/simple-tree/api/treeBeta.js.map +1 -1
  130. package/dist/simple-tree/api/treeNodeApi.d.ts +1 -2
  131. package/dist/simple-tree/api/treeNodeApi.d.ts.map +1 -1
  132. package/dist/simple-tree/api/treeNodeApi.js +3 -3
  133. package/dist/simple-tree/api/treeNodeApi.js.map +1 -1
  134. package/dist/simple-tree/api/typesUnsafe.d.ts +2 -3
  135. package/dist/simple-tree/api/typesUnsafe.d.ts.map +1 -1
  136. package/dist/simple-tree/api/typesUnsafe.js.map +1 -1
  137. package/dist/simple-tree/api/verboseTree.d.ts +2 -1
  138. package/dist/simple-tree/api/verboseTree.d.ts.map +1 -1
  139. package/dist/simple-tree/api/verboseTree.js.map +1 -1
  140. package/dist/simple-tree/api/viewSchemaToSimpleSchema.d.ts +1 -1
  141. package/dist/simple-tree/api/viewSchemaToSimpleSchema.js +2 -2
  142. package/dist/simple-tree/api/viewSchemaToSimpleSchema.js.map +1 -1
  143. package/dist/simple-tree/core/allowedTypes.d.ts +316 -0
  144. package/dist/simple-tree/core/allowedTypes.d.ts.map +1 -0
  145. package/dist/simple-tree/core/allowedTypes.js +173 -0
  146. package/dist/simple-tree/core/allowedTypes.js.map +1 -0
  147. package/dist/simple-tree/core/context.d.ts +3 -9
  148. package/dist/simple-tree/core/context.d.ts.map +1 -1
  149. package/dist/simple-tree/core/context.js +3 -11
  150. package/dist/simple-tree/core/context.js.map +1 -1
  151. package/dist/simple-tree/core/flexList.d.ts.map +1 -0
  152. package/dist/simple-tree/core/flexList.js.map +1 -0
  153. package/dist/simple-tree/core/getOrCreateNode.d.ts +1 -1
  154. package/dist/simple-tree/core/getOrCreateNode.d.ts.map +1 -1
  155. package/dist/simple-tree/core/getOrCreateNode.js.map +1 -1
  156. package/dist/simple-tree/core/index.d.ts +9 -3
  157. package/dist/simple-tree/core/index.d.ts.map +1 -1
  158. package/dist/simple-tree/core/index.js +19 -3
  159. package/dist/simple-tree/core/index.js.map +1 -1
  160. package/dist/simple-tree/core/treeNodeKernel.d.ts +8 -1
  161. package/dist/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
  162. package/dist/simple-tree/core/treeNodeKernel.js +24 -20
  163. package/dist/simple-tree/core/treeNodeKernel.js.map +1 -1
  164. package/dist/simple-tree/core/treeNodeSchema.d.ts +182 -39
  165. package/dist/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
  166. package/dist/simple-tree/core/treeNodeSchema.js +47 -17
  167. package/dist/simple-tree/core/treeNodeSchema.js.map +1 -1
  168. package/dist/simple-tree/{treeNodeValid.d.ts → core/treeNodeValid.d.ts} +18 -4
  169. package/dist/simple-tree/core/treeNodeValid.d.ts.map +1 -0
  170. package/dist/simple-tree/{treeNodeValid.js → core/treeNodeValid.js} +41 -11
  171. package/dist/simple-tree/core/treeNodeValid.js.map +1 -0
  172. package/dist/simple-tree/core/unhydratedFlexTree.d.ts +1 -1
  173. package/dist/simple-tree/core/unhydratedFlexTree.js.map +1 -1
  174. package/dist/simple-tree/core/walkSchema.d.ts +2 -1
  175. package/dist/simple-tree/core/walkSchema.d.ts.map +1 -1
  176. package/dist/simple-tree/core/walkSchema.js +6 -2
  177. package/dist/simple-tree/core/walkSchema.js.map +1 -1
  178. package/dist/simple-tree/createContext.d.ts +6 -2
  179. package/dist/simple-tree/createContext.d.ts.map +1 -1
  180. package/dist/simple-tree/createContext.js +15 -3
  181. package/dist/simple-tree/createContext.js.map +1 -1
  182. package/dist/simple-tree/fieldSchema.d.ts +423 -0
  183. package/dist/simple-tree/fieldSchema.d.ts.map +1 -0
  184. package/dist/simple-tree/{schemaTypes.js → fieldSchema.js} +5 -195
  185. package/dist/simple-tree/fieldSchema.js.map +1 -0
  186. package/dist/simple-tree/index.d.ts +5 -5
  187. package/dist/simple-tree/index.d.ts.map +1 -1
  188. package/dist/simple-tree/index.js +11 -11
  189. package/dist/simple-tree/index.js.map +1 -1
  190. package/dist/simple-tree/leafNodeSchema.d.ts +14 -5
  191. package/dist/simple-tree/leafNodeSchema.d.ts.map +1 -1
  192. package/dist/simple-tree/leafNodeSchema.js +117 -2
  193. package/dist/simple-tree/leafNodeSchema.js.map +1 -1
  194. package/dist/simple-tree/node-kinds/array/arrayNode.d.ts +3 -4
  195. package/dist/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
  196. package/dist/simple-tree/node-kinds/array/arrayNode.js +97 -26
  197. package/dist/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
  198. package/dist/simple-tree/node-kinds/array/arrayNodeTypes.d.ts +2 -2
  199. package/dist/simple-tree/node-kinds/array/arrayNodeTypes.d.ts.map +1 -1
  200. package/dist/simple-tree/node-kinds/array/arrayNodeTypes.js.map +1 -1
  201. package/dist/simple-tree/node-kinds/common.d.ts +16 -0
  202. package/dist/simple-tree/node-kinds/common.d.ts.map +1 -0
  203. package/dist/simple-tree/node-kinds/common.js +42 -0
  204. package/dist/simple-tree/node-kinds/common.js.map +1 -0
  205. package/dist/simple-tree/node-kinds/index.d.ts +1 -1
  206. package/dist/simple-tree/node-kinds/index.d.ts.map +1 -1
  207. package/dist/simple-tree/node-kinds/index.js.map +1 -1
  208. package/dist/simple-tree/node-kinds/map/mapNode.d.ts +2 -3
  209. package/dist/simple-tree/node-kinds/map/mapNode.d.ts.map +1 -1
  210. package/dist/simple-tree/node-kinds/map/mapNode.js +64 -26
  211. package/dist/simple-tree/node-kinds/map/mapNode.js.map +1 -1
  212. package/dist/simple-tree/node-kinds/map/mapNodeTypes.d.ts +2 -2
  213. package/dist/simple-tree/node-kinds/map/mapNodeTypes.d.ts.map +1 -1
  214. package/dist/simple-tree/node-kinds/map/mapNodeTypes.js.map +1 -1
  215. package/dist/simple-tree/node-kinds/object/index.d.ts +1 -1
  216. package/dist/simple-tree/node-kinds/object/index.d.ts.map +1 -1
  217. package/dist/simple-tree/node-kinds/object/index.js.map +1 -1
  218. package/dist/simple-tree/node-kinds/object/objectNode.d.ts +19 -5
  219. package/dist/simple-tree/node-kinds/object/objectNode.d.ts.map +1 -1
  220. package/dist/simple-tree/node-kinds/object/objectNode.js +131 -27
  221. package/dist/simple-tree/node-kinds/object/objectNode.js.map +1 -1
  222. package/dist/simple-tree/node-kinds/object/objectNodeTypes.d.ts +11 -4
  223. package/dist/simple-tree/node-kinds/object/objectNodeTypes.d.ts.map +1 -1
  224. package/dist/simple-tree/node-kinds/object/objectNodeTypes.js.map +1 -1
  225. package/dist/simple-tree/node-kinds/record/recordNode.d.ts +2 -2
  226. package/dist/simple-tree/node-kinds/record/recordNode.d.ts.map +1 -1
  227. package/dist/simple-tree/node-kinds/record/recordNode.js +41 -13
  228. package/dist/simple-tree/node-kinds/record/recordNode.js.map +1 -1
  229. package/dist/simple-tree/node-kinds/record/recordNodeTypes.d.ts +2 -2
  230. package/dist/simple-tree/node-kinds/record/recordNodeTypes.d.ts.map +1 -1
  231. package/dist/simple-tree/node-kinds/record/recordNodeTypes.js.map +1 -1
  232. package/dist/simple-tree/prepareForInsertion.d.ts +2 -2
  233. package/dist/simple-tree/prepareForInsertion.d.ts.map +1 -1
  234. package/dist/simple-tree/prepareForInsertion.js +3 -3
  235. package/dist/simple-tree/prepareForInsertion.js.map +1 -1
  236. package/dist/simple-tree/simpleSchema.d.ts +2 -2
  237. package/dist/simple-tree/simpleSchema.d.ts.map +1 -1
  238. package/dist/simple-tree/simpleSchema.js.map +1 -1
  239. package/dist/simple-tree/toStoredSchema.d.ts +1 -1
  240. package/dist/simple-tree/toStoredSchema.d.ts.map +1 -1
  241. package/dist/simple-tree/toStoredSchema.js +6 -7
  242. package/dist/simple-tree/toStoredSchema.js.map +1 -1
  243. package/dist/simple-tree/unhydratedFlexTreeFromInsertable.d.ts +5 -11
  244. package/dist/simple-tree/unhydratedFlexTreeFromInsertable.d.ts.map +1 -1
  245. package/dist/simple-tree/unhydratedFlexTreeFromInsertable.js +25 -395
  246. package/dist/simple-tree/unhydratedFlexTreeFromInsertable.js.map +1 -1
  247. package/dist/simple-tree/unsafeUnknownSchema.d.ts +52 -0
  248. package/dist/simple-tree/unsafeUnknownSchema.d.ts.map +1 -0
  249. package/dist/simple-tree/unsafeUnknownSchema.js +13 -0
  250. package/dist/simple-tree/unsafeUnknownSchema.js.map +1 -0
  251. package/dist/simple-tree/walkFieldSchema.d.ts +1 -1
  252. package/dist/simple-tree/walkFieldSchema.js +2 -2
  253. package/dist/simple-tree/walkFieldSchema.js.map +1 -1
  254. package/dist/tableSchema.d.ts +12 -12
  255. package/dist/treeFactory.d.ts +0 -1
  256. package/dist/treeFactory.d.ts.map +1 -1
  257. package/dist/treeFactory.js +0 -1
  258. package/dist/treeFactory.js.map +1 -1
  259. package/lib/core/schema-stored/schema.d.ts +14 -1
  260. package/lib/core/schema-stored/schema.d.ts.map +1 -1
  261. package/lib/core/schema-stored/schema.js.map +1 -1
  262. package/lib/feature-libraries/default-schema/schemaChecker.d.ts.map +1 -1
  263. package/lib/feature-libraries/default-schema/schemaChecker.js +3 -0
  264. package/lib/feature-libraries/default-schema/schemaChecker.js.map +1 -1
  265. package/lib/feature-libraries/flex-tree/context.d.ts +7 -2
  266. package/lib/feature-libraries/flex-tree/context.d.ts.map +1 -1
  267. package/lib/feature-libraries/flex-tree/context.js +4 -4
  268. package/lib/feature-libraries/flex-tree/context.js.map +1 -1
  269. package/lib/feature-libraries/flex-tree/index.d.ts +1 -0
  270. package/lib/feature-libraries/flex-tree/index.d.ts.map +1 -1
  271. package/lib/feature-libraries/flex-tree/index.js +1 -0
  272. package/lib/feature-libraries/flex-tree/index.js.map +1 -1
  273. package/lib/feature-libraries/flex-tree/lazyField.d.ts.map +1 -1
  274. package/lib/feature-libraries/flex-tree/lazyField.js +6 -6
  275. package/lib/feature-libraries/flex-tree/lazyField.js.map +1 -1
  276. package/lib/feature-libraries/flex-tree/lazyNode.d.ts +3 -1
  277. package/lib/feature-libraries/flex-tree/lazyNode.d.ts.map +1 -1
  278. package/lib/feature-libraries/flex-tree/lazyNode.js +3 -1
  279. package/lib/feature-libraries/flex-tree/lazyNode.js.map +1 -1
  280. package/lib/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
  281. package/lib/feature-libraries/forest-summary/forestSummarizer.js +1 -2
  282. package/lib/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
  283. package/lib/feature-libraries/index.d.ts +1 -1
  284. package/lib/feature-libraries/index.d.ts.map +1 -1
  285. package/lib/feature-libraries/index.js +1 -1
  286. package/lib/feature-libraries/index.js.map +1 -1
  287. package/lib/packageVersion.d.ts +1 -1
  288. package/lib/packageVersion.js +1 -1
  289. package/lib/packageVersion.js.map +1 -1
  290. package/lib/shared-tree/index.d.ts +0 -1
  291. package/lib/shared-tree/index.d.ts.map +1 -1
  292. package/lib/shared-tree/index.js +0 -1
  293. package/lib/shared-tree/index.js.map +1 -1
  294. package/lib/shared-tree/schematizeTree.d.ts.map +1 -1
  295. package/lib/shared-tree/schematizeTree.js +2 -6
  296. package/lib/shared-tree/schematizeTree.js.map +1 -1
  297. package/lib/shared-tree/schematizingTreeView.d.ts +11 -13
  298. package/lib/shared-tree/schematizingTreeView.d.ts.map +1 -1
  299. package/lib/shared-tree/schematizingTreeView.js +59 -81
  300. package/lib/shared-tree/schematizingTreeView.js.map +1 -1
  301. package/lib/shared-tree/sharedTreeChangeTypes.d.ts +1 -1
  302. package/lib/shared-tree/sharedTreeChangeTypes.js.map +1 -1
  303. package/lib/shared-tree/tree.d.ts.map +1 -1
  304. package/lib/shared-tree/tree.js +4 -3
  305. package/lib/shared-tree/tree.js.map +1 -1
  306. package/lib/shared-tree/treeAlpha.d.ts +7 -1
  307. package/lib/shared-tree/treeAlpha.d.ts.map +1 -1
  308. package/lib/shared-tree/treeAlpha.js.map +1 -1
  309. package/lib/shared-tree/treeCheckout.d.ts +7 -2
  310. package/lib/shared-tree/treeCheckout.d.ts.map +1 -1
  311. package/lib/shared-tree/treeCheckout.js +5 -2
  312. package/lib/shared-tree/treeCheckout.js.map +1 -1
  313. package/lib/shared-tree-core/defaultResubmitMachine.d.ts +8 -12
  314. package/lib/shared-tree-core/defaultResubmitMachine.d.ts.map +1 -1
  315. package/lib/shared-tree-core/defaultResubmitMachine.js +55 -47
  316. package/lib/shared-tree-core/defaultResubmitMachine.js.map +1 -1
  317. package/lib/shared-tree-core/resubmitMachine.d.ts +6 -0
  318. package/lib/shared-tree-core/resubmitMachine.d.ts.map +1 -1
  319. package/lib/shared-tree-core/resubmitMachine.js.map +1 -1
  320. package/lib/shared-tree-core/sharedTreeCore.d.ts +1 -0
  321. package/lib/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
  322. package/lib/shared-tree-core/sharedTreeCore.js +16 -3
  323. package/lib/shared-tree-core/sharedTreeCore.js.map +1 -1
  324. package/lib/simple-tree/api/conciseTree.d.ts +1 -1
  325. package/lib/simple-tree/api/conciseTree.d.ts.map +1 -1
  326. package/lib/simple-tree/api/conciseTree.js.map +1 -1
  327. package/lib/simple-tree/api/configuration.d.ts +1 -1
  328. package/lib/simple-tree/api/configuration.d.ts.map +1 -1
  329. package/lib/simple-tree/api/configuration.js +6 -6
  330. package/lib/simple-tree/api/configuration.js.map +1 -1
  331. package/lib/simple-tree/api/create.d.ts +3 -1
  332. package/lib/simple-tree/api/create.d.ts.map +1 -1
  333. package/lib/simple-tree/api/create.js +2 -0
  334. package/lib/simple-tree/api/create.js.map +1 -1
  335. package/lib/simple-tree/api/customTree.d.ts +1 -2
  336. package/lib/simple-tree/api/customTree.d.ts.map +1 -1
  337. package/lib/simple-tree/api/customTree.js.map +1 -1
  338. package/lib/simple-tree/api/getJsonSchema.d.ts +1 -1
  339. package/lib/simple-tree/api/getJsonSchema.d.ts.map +1 -1
  340. package/lib/simple-tree/api/getJsonSchema.js.map +1 -1
  341. package/lib/simple-tree/api/getSimpleSchema.d.ts +1 -1
  342. package/lib/simple-tree/api/getSimpleSchema.js.map +1 -1
  343. package/lib/simple-tree/api/identifierIndex.d.ts +1 -1
  344. package/lib/simple-tree/api/identifierIndex.js +1 -1
  345. package/lib/simple-tree/api/identifierIndex.js.map +1 -1
  346. package/lib/simple-tree/api/index.d.ts +1 -1
  347. package/lib/simple-tree/api/index.d.ts.map +1 -1
  348. package/lib/simple-tree/api/index.js.map +1 -1
  349. package/lib/simple-tree/api/schemaCompatibilityTester.d.ts +1 -1
  350. package/lib/simple-tree/api/schemaCompatibilityTester.js.map +1 -1
  351. package/lib/simple-tree/api/schemaCreationUtilities.d.ts +14 -2
  352. package/lib/simple-tree/api/schemaCreationUtilities.d.ts.map +1 -1
  353. package/lib/simple-tree/api/schemaCreationUtilities.js +40 -4
  354. package/lib/simple-tree/api/schemaCreationUtilities.js.map +1 -1
  355. package/lib/simple-tree/api/schemaFactory.d.ts +36 -3
  356. package/lib/simple-tree/api/schemaFactory.d.ts.map +1 -1
  357. package/lib/simple-tree/api/schemaFactory.js +2 -2
  358. package/lib/simple-tree/api/schemaFactory.js.map +1 -1
  359. package/lib/simple-tree/api/schemaFactoryAlpha.d.ts +16 -16
  360. package/lib/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
  361. package/lib/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
  362. package/lib/simple-tree/api/schemaFactoryRecursive.d.ts +2 -2
  363. package/lib/simple-tree/api/schemaFactoryRecursive.d.ts.map +1 -1
  364. package/lib/simple-tree/api/schemaFactoryRecursive.js +1 -1
  365. package/lib/simple-tree/api/schemaFactoryRecursive.js.map +1 -1
  366. package/lib/simple-tree/api/schemaFromSimple.d.ts.map +1 -1
  367. package/lib/simple-tree/api/schemaFromSimple.js +1 -1
  368. package/lib/simple-tree/api/schemaFromSimple.js.map +1 -1
  369. package/lib/simple-tree/api/simpleSchemaToJsonSchema.js +1 -1
  370. package/lib/simple-tree/api/simpleSchemaToJsonSchema.js.map +1 -1
  371. package/lib/simple-tree/api/simpleTreeIndex.d.ts +2 -2
  372. package/lib/simple-tree/api/simpleTreeIndex.d.ts.map +1 -1
  373. package/lib/simple-tree/api/simpleTreeIndex.js +2 -2
  374. package/lib/simple-tree/api/simpleTreeIndex.js.map +1 -1
  375. package/lib/simple-tree/api/storedSchema.d.ts +1 -1
  376. package/lib/simple-tree/api/storedSchema.js +1 -1
  377. package/lib/simple-tree/api/storedSchema.js.map +1 -1
  378. package/lib/simple-tree/api/tree.d.ts +2 -1
  379. package/lib/simple-tree/api/tree.d.ts.map +1 -1
  380. package/lib/simple-tree/api/tree.js.map +1 -1
  381. package/lib/simple-tree/api/treeBeta.d.ts +4 -1
  382. package/lib/simple-tree/api/treeBeta.d.ts.map +1 -1
  383. package/lib/simple-tree/api/treeBeta.js.map +1 -1
  384. package/lib/simple-tree/api/treeNodeApi.d.ts +1 -2
  385. package/lib/simple-tree/api/treeNodeApi.d.ts.map +1 -1
  386. package/lib/simple-tree/api/treeNodeApi.js +2 -2
  387. package/lib/simple-tree/api/treeNodeApi.js.map +1 -1
  388. package/lib/simple-tree/api/typesUnsafe.d.ts +2 -3
  389. package/lib/simple-tree/api/typesUnsafe.d.ts.map +1 -1
  390. package/lib/simple-tree/api/typesUnsafe.js.map +1 -1
  391. package/lib/simple-tree/api/verboseTree.d.ts +2 -1
  392. package/lib/simple-tree/api/verboseTree.d.ts.map +1 -1
  393. package/lib/simple-tree/api/verboseTree.js.map +1 -1
  394. package/lib/simple-tree/api/viewSchemaToSimpleSchema.d.ts +1 -1
  395. package/lib/simple-tree/api/viewSchemaToSimpleSchema.js +1 -1
  396. package/lib/simple-tree/api/viewSchemaToSimpleSchema.js.map +1 -1
  397. package/lib/simple-tree/core/allowedTypes.d.ts +316 -0
  398. package/lib/simple-tree/core/allowedTypes.d.ts.map +1 -0
  399. package/lib/simple-tree/core/allowedTypes.js +162 -0
  400. package/lib/simple-tree/core/allowedTypes.js.map +1 -0
  401. package/lib/simple-tree/core/context.d.ts +3 -9
  402. package/lib/simple-tree/core/context.d.ts.map +1 -1
  403. package/lib/simple-tree/core/context.js +0 -8
  404. package/lib/simple-tree/core/context.js.map +1 -1
  405. package/lib/simple-tree/core/flexList.d.ts.map +1 -0
  406. package/lib/simple-tree/core/flexList.js.map +1 -0
  407. package/lib/simple-tree/core/getOrCreateNode.d.ts +1 -1
  408. package/lib/simple-tree/core/getOrCreateNode.d.ts.map +1 -1
  409. package/lib/simple-tree/core/getOrCreateNode.js.map +1 -1
  410. package/lib/simple-tree/core/index.d.ts +9 -3
  411. package/lib/simple-tree/core/index.d.ts.map +1 -1
  412. package/lib/simple-tree/core/index.js +6 -3
  413. package/lib/simple-tree/core/index.js.map +1 -1
  414. package/lib/simple-tree/core/treeNodeKernel.d.ts +8 -1
  415. package/lib/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
  416. package/lib/simple-tree/core/treeNodeKernel.js +10 -6
  417. package/lib/simple-tree/core/treeNodeKernel.js.map +1 -1
  418. package/lib/simple-tree/core/treeNodeSchema.d.ts +182 -39
  419. package/lib/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
  420. package/lib/simple-tree/core/treeNodeSchema.js +44 -14
  421. package/lib/simple-tree/core/treeNodeSchema.js.map +1 -1
  422. package/lib/simple-tree/{treeNodeValid.d.ts → core/treeNodeValid.d.ts} +18 -4
  423. package/lib/simple-tree/core/treeNodeValid.d.ts.map +1 -0
  424. package/lib/simple-tree/{treeNodeValid.js → core/treeNodeValid.js} +31 -3
  425. package/lib/simple-tree/core/treeNodeValid.js.map +1 -0
  426. package/lib/simple-tree/core/unhydratedFlexTree.d.ts +1 -1
  427. package/lib/simple-tree/core/unhydratedFlexTree.js.map +1 -1
  428. package/lib/simple-tree/core/walkSchema.d.ts +2 -1
  429. package/lib/simple-tree/core/walkSchema.d.ts.map +1 -1
  430. package/lib/simple-tree/core/walkSchema.js +7 -3
  431. package/lib/simple-tree/core/walkSchema.js.map +1 -1
  432. package/lib/simple-tree/createContext.d.ts +6 -2
  433. package/lib/simple-tree/createContext.d.ts.map +1 -1
  434. package/lib/simple-tree/createContext.js +13 -2
  435. package/lib/simple-tree/createContext.js.map +1 -1
  436. package/lib/simple-tree/fieldSchema.d.ts +423 -0
  437. package/lib/simple-tree/fieldSchema.d.ts.map +1 -0
  438. package/lib/simple-tree/{schemaTypes.js → fieldSchema.js} +3 -183
  439. package/lib/simple-tree/fieldSchema.js.map +1 -0
  440. package/lib/simple-tree/index.d.ts +5 -5
  441. package/lib/simple-tree/index.d.ts.map +1 -1
  442. package/lib/simple-tree/index.js +2 -2
  443. package/lib/simple-tree/index.js.map +1 -1
  444. package/lib/simple-tree/leafNodeSchema.d.ts +14 -5
  445. package/lib/simple-tree/leafNodeSchema.d.ts.map +1 -1
  446. package/lib/simple-tree/leafNodeSchema.js +117 -3
  447. package/lib/simple-tree/leafNodeSchema.js.map +1 -1
  448. package/lib/simple-tree/node-kinds/array/arrayNode.d.ts +3 -4
  449. package/lib/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
  450. package/lib/simple-tree/node-kinds/array/arrayNode.js +86 -15
  451. package/lib/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
  452. package/lib/simple-tree/node-kinds/array/arrayNodeTypes.d.ts +2 -2
  453. package/lib/simple-tree/node-kinds/array/arrayNodeTypes.d.ts.map +1 -1
  454. package/lib/simple-tree/node-kinds/array/arrayNodeTypes.js +1 -1
  455. package/lib/simple-tree/node-kinds/array/arrayNodeTypes.js.map +1 -1
  456. package/lib/simple-tree/node-kinds/common.d.ts +16 -0
  457. package/lib/simple-tree/node-kinds/common.d.ts.map +1 -0
  458. package/lib/simple-tree/node-kinds/common.js +38 -0
  459. package/lib/simple-tree/node-kinds/common.js.map +1 -0
  460. package/lib/simple-tree/node-kinds/index.d.ts +1 -1
  461. package/lib/simple-tree/node-kinds/index.d.ts.map +1 -1
  462. package/lib/simple-tree/node-kinds/index.js.map +1 -1
  463. package/lib/simple-tree/node-kinds/map/mapNode.d.ts +2 -3
  464. package/lib/simple-tree/node-kinds/map/mapNode.d.ts.map +1 -1
  465. package/lib/simple-tree/node-kinds/map/mapNode.js +51 -13
  466. package/lib/simple-tree/node-kinds/map/mapNode.js.map +1 -1
  467. package/lib/simple-tree/node-kinds/map/mapNodeTypes.d.ts +2 -2
  468. package/lib/simple-tree/node-kinds/map/mapNodeTypes.d.ts.map +1 -1
  469. package/lib/simple-tree/node-kinds/map/mapNodeTypes.js +1 -1
  470. package/lib/simple-tree/node-kinds/map/mapNodeTypes.js.map +1 -1
  471. package/lib/simple-tree/node-kinds/object/index.d.ts +1 -1
  472. package/lib/simple-tree/node-kinds/object/index.d.ts.map +1 -1
  473. package/lib/simple-tree/node-kinds/object/index.js.map +1 -1
  474. package/lib/simple-tree/node-kinds/object/objectNode.d.ts +19 -5
  475. package/lib/simple-tree/node-kinds/object/objectNode.d.ts.map +1 -1
  476. package/lib/simple-tree/node-kinds/object/objectNode.js +116 -14
  477. package/lib/simple-tree/node-kinds/object/objectNode.js.map +1 -1
  478. package/lib/simple-tree/node-kinds/object/objectNodeTypes.d.ts +11 -4
  479. package/lib/simple-tree/node-kinds/object/objectNodeTypes.d.ts.map +1 -1
  480. package/lib/simple-tree/node-kinds/object/objectNodeTypes.js +1 -1
  481. package/lib/simple-tree/node-kinds/object/objectNodeTypes.js.map +1 -1
  482. package/lib/simple-tree/node-kinds/record/recordNode.d.ts +2 -2
  483. package/lib/simple-tree/node-kinds/record/recordNode.d.ts.map +1 -1
  484. package/lib/simple-tree/node-kinds/record/recordNode.js +40 -12
  485. package/lib/simple-tree/node-kinds/record/recordNode.js.map +1 -1
  486. package/lib/simple-tree/node-kinds/record/recordNodeTypes.d.ts +2 -2
  487. package/lib/simple-tree/node-kinds/record/recordNodeTypes.d.ts.map +1 -1
  488. package/lib/simple-tree/node-kinds/record/recordNodeTypes.js +1 -1
  489. package/lib/simple-tree/node-kinds/record/recordNodeTypes.js.map +1 -1
  490. package/lib/simple-tree/prepareForInsertion.d.ts +2 -2
  491. package/lib/simple-tree/prepareForInsertion.d.ts.map +1 -1
  492. package/lib/simple-tree/prepareForInsertion.js +2 -2
  493. package/lib/simple-tree/prepareForInsertion.js.map +1 -1
  494. package/lib/simple-tree/simpleSchema.d.ts +2 -2
  495. package/lib/simple-tree/simpleSchema.d.ts.map +1 -1
  496. package/lib/simple-tree/simpleSchema.js.map +1 -1
  497. package/lib/simple-tree/toStoredSchema.d.ts +1 -1
  498. package/lib/simple-tree/toStoredSchema.d.ts.map +1 -1
  499. package/lib/simple-tree/toStoredSchema.js +2 -3
  500. package/lib/simple-tree/toStoredSchema.js.map +1 -1
  501. package/lib/simple-tree/unhydratedFlexTreeFromInsertable.d.ts +5 -11
  502. package/lib/simple-tree/unhydratedFlexTreeFromInsertable.d.ts.map +1 -1
  503. package/lib/simple-tree/unhydratedFlexTreeFromInsertable.js +10 -381
  504. package/lib/simple-tree/unhydratedFlexTreeFromInsertable.js.map +1 -1
  505. package/lib/simple-tree/unsafeUnknownSchema.d.ts +52 -0
  506. package/lib/simple-tree/unsafeUnknownSchema.d.ts.map +1 -0
  507. package/lib/simple-tree/unsafeUnknownSchema.js +10 -0
  508. package/lib/simple-tree/unsafeUnknownSchema.js.map +1 -0
  509. package/lib/simple-tree/walkFieldSchema.d.ts +1 -1
  510. package/lib/simple-tree/walkFieldSchema.js +1 -1
  511. package/lib/simple-tree/walkFieldSchema.js.map +1 -1
  512. package/lib/tableSchema.d.ts +12 -12
  513. package/lib/treeFactory.d.ts +0 -1
  514. package/lib/treeFactory.d.ts.map +1 -1
  515. package/lib/treeFactory.js +0 -1
  516. package/lib/treeFactory.js.map +1 -1
  517. package/package.json +22 -23
  518. package/src/core/schema-stored/schema.ts +14 -1
  519. package/src/feature-libraries/default-schema/schemaChecker.ts +3 -0
  520. package/src/feature-libraries/flex-tree/context.ts +10 -5
  521. package/src/feature-libraries/flex-tree/index.ts +2 -0
  522. package/src/feature-libraries/flex-tree/lazyField.ts +10 -6
  523. package/src/feature-libraries/flex-tree/lazyNode.ts +6 -1
  524. package/src/feature-libraries/forest-summary/forestSummarizer.ts +1 -2
  525. package/src/feature-libraries/index.ts +1 -0
  526. package/src/packageVersion.ts +1 -1
  527. package/src/shared-tree/index.ts +0 -2
  528. package/src/shared-tree/schematizeTree.ts +2 -6
  529. package/src/shared-tree/schematizingTreeView.ts +72 -107
  530. package/src/shared-tree/sharedTreeChangeTypes.ts +1 -1
  531. package/src/shared-tree/tree.ts +4 -3
  532. package/src/shared-tree/treeAlpha.ts +7 -1
  533. package/src/shared-tree/treeCheckout.ts +15 -2
  534. package/src/shared-tree-core/defaultResubmitMachine.ts +99 -52
  535. package/src/shared-tree-core/resubmitMachine.ts +7 -0
  536. package/src/shared-tree-core/sharedTreeCore.ts +18 -6
  537. package/src/simple-tree/api/conciseTree.ts +1 -2
  538. package/src/simple-tree/api/configuration.ts +11 -8
  539. package/src/simple-tree/api/create.ts +3 -1
  540. package/src/simple-tree/api/customTree.ts +1 -2
  541. package/src/simple-tree/api/getJsonSchema.ts +1 -1
  542. package/src/simple-tree/api/getSimpleSchema.ts +1 -1
  543. package/src/simple-tree/api/identifierIndex.ts +1 -1
  544. package/src/simple-tree/api/index.ts +2 -0
  545. package/src/simple-tree/api/schemaCompatibilityTester.ts +1 -1
  546. package/src/simple-tree/api/schemaCreationUtilities.ts +47 -5
  547. package/src/simple-tree/api/schemaFactory.ts +45 -10
  548. package/src/simple-tree/api/schemaFactoryAlpha.ts +4 -7
  549. package/src/simple-tree/api/schemaFactoryRecursive.ts +9 -4
  550. package/src/simple-tree/api/schemaFromSimple.ts +2 -3
  551. package/src/simple-tree/api/simpleSchemaToJsonSchema.ts +1 -1
  552. package/src/simple-tree/api/simpleTreeIndex.ts +8 -3
  553. package/src/simple-tree/api/storedSchema.ts +1 -1
  554. package/src/simple-tree/api/tree.ts +2 -2
  555. package/src/simple-tree/api/treeBeta.ts +4 -1
  556. package/src/simple-tree/api/treeNodeApi.ts +5 -8
  557. package/src/simple-tree/api/typesUnsafe.ts +5 -4
  558. package/src/simple-tree/api/verboseTree.ts +3 -6
  559. package/src/simple-tree/api/viewSchemaToSimpleSchema.ts +1 -1
  560. package/src/simple-tree/core/README.md +1 -1
  561. package/src/simple-tree/core/allowedTypes.ts +496 -0
  562. package/src/simple-tree/core/context.ts +3 -10
  563. package/src/simple-tree/core/getOrCreateNode.ts +1 -1
  564. package/src/simple-tree/core/index.ts +62 -9
  565. package/src/simple-tree/core/treeNodeKernel.ts +12 -6
  566. package/src/simple-tree/core/treeNodeSchema.ts +247 -63
  567. package/src/simple-tree/{treeNodeValid.ts → core/treeNodeValid.ts} +59 -15
  568. package/src/simple-tree/core/unhydratedFlexTree.ts +1 -1
  569. package/src/simple-tree/core/walkSchema.ts +9 -5
  570. package/src/simple-tree/createContext.ts +26 -2
  571. package/src/simple-tree/fieldSchema.ts +734 -0
  572. package/src/simple-tree/index.ts +32 -30
  573. package/src/simple-tree/leafNodeSchema.ts +137 -5
  574. package/src/simple-tree/node-kinds/array/arrayNode.ts +141 -30
  575. package/src/simple-tree/node-kinds/array/arrayNodeTypes.ts +5 -7
  576. package/src/simple-tree/node-kinds/common.ts +60 -0
  577. package/src/simple-tree/node-kinds/index.ts +1 -0
  578. package/src/simple-tree/node-kinds/map/mapNode.ts +91 -33
  579. package/src/simple-tree/node-kinds/map/mapNodeTypes.ts +5 -7
  580. package/src/simple-tree/node-kinds/object/index.ts +1 -0
  581. package/src/simple-tree/node-kinds/object/objectNode.ts +205 -25
  582. package/src/simple-tree/node-kinds/object/objectNodeTypes.ts +22 -5
  583. package/src/simple-tree/node-kinds/record/recordNode.ts +68 -26
  584. package/src/simple-tree/node-kinds/record/recordNodeTypes.ts +6 -8
  585. package/src/simple-tree/prepareForInsertion.ts +7 -6
  586. package/src/simple-tree/simpleSchema.ts +2 -2
  587. package/src/simple-tree/toStoredSchema.ts +2 -3
  588. package/src/simple-tree/unhydratedFlexTreeFromInsertable.ts +12 -494
  589. package/src/simple-tree/unsafeUnknownSchema.ts +70 -0
  590. package/src/simple-tree/walkFieldSchema.ts +1 -1
  591. package/src/treeFactory.ts +0 -1
  592. package/dist/shared-tree/checkoutFlexTreeView.d.ts +0 -58
  593. package/dist/shared-tree/checkoutFlexTreeView.d.ts.map +0 -1
  594. package/dist/shared-tree/checkoutFlexTreeView.js +0 -77
  595. package/dist/shared-tree/checkoutFlexTreeView.js.map +0 -1
  596. package/dist/simple-tree/flexList.d.ts.map +0 -1
  597. package/dist/simple-tree/flexList.js.map +0 -1
  598. package/dist/simple-tree/schemaTypes.d.ts +0 -856
  599. package/dist/simple-tree/schemaTypes.d.ts.map +0 -1
  600. package/dist/simple-tree/schemaTypes.js.map +0 -1
  601. package/dist/simple-tree/treeNodeValid.d.ts.map +0 -1
  602. package/dist/simple-tree/treeNodeValid.js.map +0 -1
  603. package/lib/shared-tree/checkoutFlexTreeView.d.ts +0 -58
  604. package/lib/shared-tree/checkoutFlexTreeView.d.ts.map +0 -1
  605. package/lib/shared-tree/checkoutFlexTreeView.js +0 -72
  606. package/lib/shared-tree/checkoutFlexTreeView.js.map +0 -1
  607. package/lib/simple-tree/flexList.d.ts.map +0 -1
  608. package/lib/simple-tree/flexList.js.map +0 -1
  609. package/lib/simple-tree/schemaTypes.d.ts +0 -856
  610. package/lib/simple-tree/schemaTypes.d.ts.map +0 -1
  611. package/lib/simple-tree/schemaTypes.js.map +0 -1
  612. package/lib/simple-tree/treeNodeValid.d.ts.map +0 -1
  613. package/lib/simple-tree/treeNodeValid.js.map +0 -1
  614. package/src/shared-tree/checkoutFlexTreeView.ts +0 -100
  615. package/src/simple-tree/schemaTypes.ts +0 -1420
  616. /package/dist/simple-tree/{flexList.d.ts → core/flexList.d.ts} +0 -0
  617. /package/dist/simple-tree/{flexList.js → core/flexList.js} +0 -0
  618. /package/lib/simple-tree/{flexList.d.ts → core/flexList.d.ts} +0 -0
  619. /package/lib/simple-tree/{flexList.js → core/flexList.js} +0 -0
  620. /package/src/simple-tree/{flexList.ts → core/flexList.ts} +0 -0
@@ -74,7 +74,7 @@ export declare namespace System_TableSchema {
74
74
  props: InsertableTreeFieldFromImplicitField<UnannotateImplicitFieldSchema<TPropsSchema>>;
75
75
  }), true, {
76
76
  readonly props: TPropsSchema;
77
- readonly id: import("./simple-tree/schemaTypes.js").FieldSchema<import("./simple-tree/schemaTypes.js").FieldKind.Identifier, import("./simple-tree/leafNodeSchema.js").LeafSchema<"string", string>, unknown>;
77
+ readonly id: import("./simple-tree/fieldSchema.js").FieldSchema<import("./simple-tree/fieldSchema.js").FieldKind.Identifier, import("./simple-tree/leafNodeSchema.js").LeafSchema<"string", string>, unknown>;
78
78
  }>;
79
79
  /**
80
80
  * Base column schema type.
@@ -93,7 +93,7 @@ export declare namespace System_TableSchema {
93
93
  */
94
94
  function createRowSchema<const TInputScope extends string | undefined, const TCellSchema extends ImplicitAllowedTypes, const TPropsSchema extends ImplicitAnnotatedFieldSchema>(inputSchemaFactory: SchemaFactoryAlpha<TInputScope>, cellSchema: TCellSchema, propsSchema: TPropsSchema): TreeNodeSchemaClass<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row">, NodeKind.Object, TreeNode & TableSchema.Row<TCellSchema, TPropsSchema> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row">, NodeKind, unknown>, object & {
95
95
  readonly id?: string | undefined;
96
- readonly cells: (import("./simple-tree/schemaTypes.js").InsertableTypedNode<TreeNodeSchemaClass<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Record, import("./simple-tree/index.js").TreeRecordNode<TCellSchema> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Record, unknown>, import("./simple-tree/index.js").RecordNodeInsertableData<TCellSchema>, true, TCellSchema, undefined>, import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Record, true, TCellSchema, import("./simple-tree/index.js").RecordNodeInsertableData<TCellSchema>, unknown> & (new (data?: InternalTreeNode | import("./simple-tree/index.js").RecordNodeInsertableData<TCellSchema> | undefined) => import("./simple-tree/index.js").TreeRecordNode<TCellSchema> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Record, unknown>)> | undefined) & import("./simple-tree/schemaTypes.js").InsertableTypedNode<TreeNodeSchemaClass<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Record, import("./simple-tree/index.js").TreeRecordNode<TCellSchema> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Record, unknown>, import("./simple-tree/index.js").RecordNodeInsertableData<TCellSchema>, true, TCellSchema, undefined>, import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Record, true, TCellSchema, import("./simple-tree/index.js").RecordNodeInsertableData<TCellSchema>, unknown> & (new (data?: InternalTreeNode | import("./simple-tree/index.js").RecordNodeInsertableData<TCellSchema> | undefined) => import("./simple-tree/index.js").TreeRecordNode<TCellSchema> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Record, unknown>)>;
96
+ readonly cells: (import("./simple-tree/index.js").InsertableTypedNode<TreeNodeSchemaClass<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Record, import("./simple-tree/index.js").TreeRecordNode<TCellSchema> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Record, unknown>, import("./simple-tree/index.js").RecordNodeInsertableData<TCellSchema>, true, TCellSchema, undefined>> | undefined) & import("./simple-tree/index.js").InsertableTypedNode<TreeNodeSchemaClass<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Record, import("./simple-tree/index.js").TreeRecordNode<TCellSchema> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Record, unknown>, import("./simple-tree/index.js").RecordNodeInsertableData<TCellSchema>, true, TCellSchema, undefined>>;
97
97
  } & (FieldHasDefault<UnannotateImplicitFieldSchema<TPropsSchema>> extends true ? {
98
98
  /**
99
99
  * The row's properties.
@@ -110,13 +110,13 @@ export declare namespace System_TableSchema {
110
110
  props: InsertableTreeFieldFromImplicitField<UnannotateImplicitFieldSchema<TPropsSchema>>;
111
111
  }), true, {
112
112
  readonly props: TPropsSchema;
113
- readonly id: import("./simple-tree/schemaTypes.js").FieldSchema<import("./simple-tree/schemaTypes.js").FieldKind.Identifier, import("./simple-tree/leafNodeSchema.js").LeafSchema<"string", string>, unknown>;
113
+ readonly id: import("./simple-tree/fieldSchema.js").FieldSchema<import("./simple-tree/fieldSchema.js").FieldKind.Identifier, import("./simple-tree/leafNodeSchema.js").LeafSchema<"string", string>, unknown>;
114
114
  /**
115
115
  * The cells of the table row, keyed by column ID.
116
116
  * @remarks
117
117
  * The table row models its cells as a record, where each key is the ID of the column it belongs to. The choice of record (as opposed to a map) is intended to make interop with common table rendering libraries in TypeScript/JavaScript easier.
118
118
  */
119
- readonly cells: import("./simple-tree/schemaTypes.js").FieldSchemaAlpha<import("./simple-tree/schemaTypes.js").FieldKind.Required, TreeNodeSchemaClass<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Record, import("./simple-tree/index.js").TreeRecordNode<TCellSchema> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Record, unknown>, import("./simple-tree/index.js").RecordNodeInsertableData<TCellSchema>, true, TCellSchema, undefined>, unknown>;
119
+ readonly cells: import("./simple-tree/fieldSchema.js").FieldSchemaAlpha<import("./simple-tree/fieldSchema.js").FieldKind.Required, TreeNodeSchemaClass<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Record, import("./simple-tree/index.js").TreeRecordNode<TCellSchema> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Record, unknown>, import("./simple-tree/index.js").RecordNodeInsertableData<TCellSchema>, true, TCellSchema, undefined>, unknown>;
120
120
  }>;
121
121
  /**
122
122
  * Base row schema type.
@@ -134,21 +134,21 @@ export declare namespace System_TableSchema {
134
134
  * @system @alpha
135
135
  */
136
136
  function createTableSchema<const TInputScope extends string | undefined, const TCellSchema extends ImplicitAllowedTypes, const TColumnSchema extends ColumnSchemaBase<TInputScope, TCellSchema>, const TRowSchema extends RowSchemaBase<TInputScope, TCellSchema>>(inputSchemaFactory: SchemaFactoryAlpha<TInputScope>, _cellSchema: TCellSchema, columnSchema: TColumnSchema, rowSchema: TRowSchema): import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table">, NodeKind.Object, true, {
137
- readonly rows: TreeNodeSchemaClass<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, TreeArrayNode<TRowSchema, [TRowSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TRowSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TRowSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/schemaTypes.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, unknown>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>>, true, TRowSchema, undefined>;
138
- readonly columns: TreeNodeSchemaClass<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, TreeArrayNode<TColumnSchema, [TColumnSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TColumnSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TColumnSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/schemaTypes.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, unknown>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>>, true, TColumnSchema, undefined>;
137
+ readonly rows: TreeNodeSchemaClass<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, TreeArrayNode<TRowSchema, [TRowSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TRowSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TRowSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/index.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, unknown>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>>, true, TRowSchema, undefined>;
138
+ readonly columns: TreeNodeSchemaClass<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, TreeArrayNode<TColumnSchema, [TColumnSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TColumnSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TColumnSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/index.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, unknown>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>>, true, TColumnSchema, undefined>;
139
139
  }, object & {
140
- readonly rows: (import("./simple-tree/schemaTypes.js").InsertableTypedNode<import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, true, TRowSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>> | undefined) => TreeArrayNode<TRowSchema, [TRowSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TRowSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TRowSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/schemaTypes.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, unknown>), import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, true, TRowSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>> | undefined) => TreeArrayNode<TRowSchema, [TRowSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TRowSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TRowSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/schemaTypes.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, unknown>)> | undefined) & import("./simple-tree/schemaTypes.js").InsertableTypedNode<import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, true, TRowSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>> | undefined) => TreeArrayNode<TRowSchema, [TRowSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TRowSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TRowSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/schemaTypes.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, unknown>), import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, true, TRowSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>> | undefined) => TreeArrayNode<TRowSchema, [TRowSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TRowSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TRowSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/schemaTypes.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, unknown>)>;
141
- readonly columns: (import("./simple-tree/schemaTypes.js").InsertableTypedNode<import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, true, TColumnSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>> | undefined) => TreeArrayNode<TColumnSchema, [TColumnSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TColumnSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TColumnSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/schemaTypes.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, unknown>), import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, true, TColumnSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>> | undefined) => TreeArrayNode<TColumnSchema, [TColumnSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TColumnSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TColumnSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/schemaTypes.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, unknown>)> | undefined) & import("./simple-tree/schemaTypes.js").InsertableTypedNode<import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, true, TColumnSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>> | undefined) => TreeArrayNode<TColumnSchema, [TColumnSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TColumnSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TColumnSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/schemaTypes.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, unknown>), import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, true, TColumnSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>> | undefined) => TreeArrayNode<TColumnSchema, [TColumnSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TColumnSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TColumnSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/schemaTypes.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, unknown>)>;
140
+ readonly rows: (import("./simple-tree/index.js").InsertableTypedNode<import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, true, TRowSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>> | undefined) => TreeArrayNode<TRowSchema, [TRowSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TRowSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TRowSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/index.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, unknown>)> | undefined) & import("./simple-tree/index.js").InsertableTypedNode<import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, true, TRowSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>> | undefined) => TreeArrayNode<TRowSchema, [TRowSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TRowSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TRowSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/index.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, unknown>)>;
141
+ readonly columns: (import("./simple-tree/index.js").InsertableTypedNode<import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, true, TColumnSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>> | undefined) => TreeArrayNode<TColumnSchema, [TColumnSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TColumnSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TColumnSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/index.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, unknown>)> | undefined) & import("./simple-tree/index.js").InsertableTypedNode<import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, true, TColumnSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>> | undefined) => TreeArrayNode<TColumnSchema, [TColumnSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TColumnSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TColumnSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/index.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, unknown>)>;
142
142
  }, unknown> & (new (data: InternalTreeNode | (object & {
143
- readonly rows: (import("./simple-tree/schemaTypes.js").InsertableTypedNode<import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, true, TRowSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>> | undefined) => TreeArrayNode<TRowSchema, [TRowSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TRowSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TRowSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/schemaTypes.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, unknown>), import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, true, TRowSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>> | undefined) => TreeArrayNode<TRowSchema, [TRowSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TRowSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TRowSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/schemaTypes.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, unknown>)> | undefined) & import("./simple-tree/schemaTypes.js").InsertableTypedNode<import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, true, TRowSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>> | undefined) => TreeArrayNode<TRowSchema, [TRowSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TRowSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TRowSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/schemaTypes.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, unknown>), import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, true, TRowSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>> | undefined) => TreeArrayNode<TRowSchema, [TRowSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TRowSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TRowSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/schemaTypes.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, unknown>)>;
144
- readonly columns: (import("./simple-tree/schemaTypes.js").InsertableTypedNode<import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, true, TColumnSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>> | undefined) => TreeArrayNode<TColumnSchema, [TColumnSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TColumnSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TColumnSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/schemaTypes.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, unknown>), import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, true, TColumnSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>> | undefined) => TreeArrayNode<TColumnSchema, [TColumnSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TColumnSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TColumnSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/schemaTypes.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, unknown>)> | undefined) & import("./simple-tree/schemaTypes.js").InsertableTypedNode<import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, true, TColumnSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>> | undefined) => TreeArrayNode<TColumnSchema, [TColumnSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TColumnSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TColumnSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/schemaTypes.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, unknown>), import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, true, TColumnSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>> | undefined) => TreeArrayNode<TColumnSchema, [TColumnSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TColumnSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TColumnSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/schemaTypes.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, unknown>)>;
143
+ readonly rows: (import("./simple-tree/index.js").InsertableTypedNode<import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, true, TRowSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>> | undefined) => TreeArrayNode<TRowSchema, [TRowSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TRowSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TRowSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/index.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, unknown>)> | undefined) & import("./simple-tree/index.js").InsertableTypedNode<import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, true, TRowSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>> | undefined) => TreeArrayNode<TRowSchema, [TRowSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TRowSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TRowSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/index.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, unknown>)>;
144
+ readonly columns: (import("./simple-tree/index.js").InsertableTypedNode<import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, true, TColumnSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>> | undefined) => TreeArrayNode<TColumnSchema, [TColumnSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TColumnSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TColumnSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/index.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, unknown>)> | undefined) & import("./simple-tree/index.js").InsertableTypedNode<import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, true, TColumnSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>> | undefined) => TreeArrayNode<TColumnSchema, [TColumnSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TColumnSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TColumnSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/index.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, unknown>)>;
145
145
  })) => TreeNode & TableSchema.Table<TInputScope, TCellSchema, TColumnSchema, TRowSchema> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table">, NodeKind, unknown>) & {
146
146
  /**
147
147
  * Create an empty table.
148
148
  */
149
149
  empty<TThis extends new (data: {
150
- readonly rows: (import("./simple-tree/schemaTypes.js").InsertableTypedNode<import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, true, TRowSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>> | undefined) => TreeArrayNode<TRowSchema, [TRowSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TRowSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TRowSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/schemaTypes.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, unknown>), import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, true, TRowSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>> | undefined) => TreeArrayNode<TRowSchema, [TRowSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TRowSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TRowSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/schemaTypes.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, unknown>)> | undefined) & import("./simple-tree/schemaTypes.js").InsertableTypedNode<import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, true, TRowSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>> | undefined) => TreeArrayNode<TRowSchema, [TRowSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TRowSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TRowSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/schemaTypes.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, unknown>), import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, true, TRowSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>> | undefined) => TreeArrayNode<TRowSchema, [TRowSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TRowSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TRowSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/schemaTypes.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, unknown>)>;
151
- readonly columns: (import("./simple-tree/schemaTypes.js").InsertableTypedNode<import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, true, TColumnSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>> | undefined) => TreeArrayNode<TColumnSchema, [TColumnSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TColumnSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TColumnSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/schemaTypes.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, unknown>), import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, true, TColumnSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>> | undefined) => TreeArrayNode<TColumnSchema, [TColumnSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TColumnSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TColumnSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/schemaTypes.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, unknown>)> | undefined) & import("./simple-tree/schemaTypes.js").InsertableTypedNode<import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, true, TColumnSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>> | undefined) => TreeArrayNode<TColumnSchema, [TColumnSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TColumnSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TColumnSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/schemaTypes.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, unknown>), import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, true, TColumnSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>> | undefined) => TreeArrayNode<TColumnSchema, [TColumnSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TColumnSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TColumnSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/schemaTypes.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, unknown>)>;
150
+ readonly rows: (import("./simple-tree/index.js").InsertableTypedNode<import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, true, TRowSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>> | undefined) => TreeArrayNode<TRowSchema, [TRowSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TRowSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TRowSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/index.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, unknown>)> | undefined) & import("./simple-tree/index.js").InsertableTypedNode<import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, true, TRowSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>> | undefined) => TreeArrayNode<TRowSchema, [TRowSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TRowSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TRowSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/index.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, unknown>)>;
151
+ readonly columns: (import("./simple-tree/index.js").InsertableTypedNode<import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, true, TColumnSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>> | undefined) => TreeArrayNode<TColumnSchema, [TColumnSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TColumnSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TColumnSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/index.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, unknown>)> | undefined) & import("./simple-tree/index.js").InsertableTypedNode<import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, true, TColumnSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>> | undefined) => TreeArrayNode<TColumnSchema, [TColumnSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TColumnSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TColumnSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema> : never, import("./simple-tree/index.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/index.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, unknown>)>;
152
152
  }) => TreeNode & TableSchema.Table<TInputScope, TCellSchema, TColumnSchema, TRowSchema> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table">, NodeKind, unknown>>(this: TThis): InstanceType<TThis>;
153
153
  };
154
154
  /**
@@ -31,7 +31,6 @@ export declare const SharedTree: ISharedObjectKind<ITree> & SharedObjectKind<ITr
31
31
  * TreeCompressionStrategy,
32
32
  * configuredSharedTree,
33
33
  * typeboxValidator,
34
- * // eslint-disable-next-line import/no-internal-modules
35
34
  * } from "@fluidframework/tree/internal";
36
35
  * const SharedTree = configuredSharedTree({
37
36
  * forest: ForestTypeReference,
@@ -1 +1 @@
1
- {"version":3,"file":"treeFactory.d.ts","sourceRoot":"","sources":["../src/treeFactory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EACN,KAAK,aAAa,EAClB,KAAK,iBAAiB,EAMtB,MAAM,6CAA6C,CAAC;AAGrD,OAAO,EAEN,KAAK,YAAY,EACjB,KAAK,iBAAiB,EAGtB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAIpD;;;;GAIG;AACH,MAAM,WAAW,WAAY,SAAQ,aAAa,EAAE,YAAY;CAAG;AAgDnE;;;;;GAKG;AACH,eAAO,MAAM,UAAU,oDAA2B,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,oBAAoB,CACnC,OAAO,EAAE,iBAAiB,GACxB,iBAAiB,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,CASpD"}
1
+ {"version":3,"file":"treeFactory.d.ts","sourceRoot":"","sources":["../src/treeFactory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EACN,KAAK,aAAa,EAClB,KAAK,iBAAiB,EAMtB,MAAM,6CAA6C,CAAC;AAGrD,OAAO,EAEN,KAAK,YAAY,EACjB,KAAK,iBAAiB,EAGtB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAIpD;;;;GAIG;AACH,MAAM,WAAW,WAAY,SAAQ,aAAa,EAAE,YAAY;CAAG;AAgDnE;;;;;GAKG;AACH,eAAO,MAAM,UAAU,oDAA2B,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,oBAAoB,CACnC,OAAO,EAAE,iBAAiB,GACxB,iBAAiB,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,CASpD"}
@@ -55,7 +55,6 @@ export const SharedTree = configuredSharedTree({});
55
55
  * TreeCompressionStrategy,
56
56
  * configuredSharedTree,
57
57
  * typeboxValidator,
58
- * // eslint-disable-next-line import/no-internal-modules
59
58
  * } from "@fluidframework/tree/internal";
60
59
  * const SharedTree = configuredSharedTree({
61
60
  * forest: ForestTypeReference,
@@ -1 +1 @@
1
- {"version":3,"file":"treeFactory.js","sourceRoot":"","sources":["../src/treeFactory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAGN,oBAAoB,GAKpB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAEtE,OAAO,EACN,gBAAgB,GAKhB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAExF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAStD;;;;;GAKG;AACH,SAAS,iBAAiB,CACzB,OAAkC;IAElC,SAAS,kBAAkB,CAAC,IAAgB;QAC3C,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,IAAI,UAAU,CAAC,gDAAgD,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,eAAe,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;QACvC,4FAA4F;QAC5F,kFAAkF;QAClF,eAAe,CAAC,sBAAsB,KAAK,kBAAkB,CAAC,IAAI,CAAC;QACnE,OAAO,IAAI,gBAAgB,CAC1B,IAAI,SAAS,CAAC,YAAY,CAAC,EAC3B,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,YAAY,EACjB,eAAe,CACf,CAAC;IACH,CAAC;IAED,OAAO;QACN,MAAM,EAAE,CAAC,IAAgB,EAAoC,EAAE;YAC9D,MAAM,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACnC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACpC,CAAC;QAED,KAAK,CAAC,QAAQ,CACb,IAAgB,EAChB,OAA+B;YAE/B,MAAM,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC1B,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACpC,CAAC;KACD,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,oBAAoB,CACnC,OAA0B;IAE1B,MAAM,mBAAmB,GAA+B;QACvD,IAAI,EAAE,qBAAqB;QAC3B,UAAU,EAAE,oBAAoB;QAChC,sBAAsB,EAAE,mBAAmB;QAC3C,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;KACnC,CAAC;IAEF,OAAO,oBAAoB,CAAQ,mBAAmB,CAAC,CAAC;AACzD,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { IChannelStorageService } from \"@fluidframework/datastore-definitions/internal\";\nimport type { SharedObjectKind } from \"@fluidframework/shared-object-base\";\nimport {\n\ttype ISharedObject,\n\ttype ISharedObjectKind,\n\tmakeSharedObjectKind,\n\ttype KernelArgs,\n\ttype SharedKernelFactory,\n\ttype SharedObjectOptions,\n\ttype FactoryOut,\n} from \"@fluidframework/shared-object-base/internal\";\nimport { UsageError } from \"@fluidframework/telemetry-utils/internal\";\n\nimport {\n\tSharedTreeKernel,\n\ttype ITreePrivate,\n\ttype SharedTreeOptions,\n\ttype SharedTreeOptionsInternal,\n\ttype SharedTreeKernelView,\n} from \"./shared-tree/index.js\";\nimport { SharedTreeFactoryType, SharedTreeAttributes } from \"./sharedTreeAttributes.js\";\nimport type { ITree } from \"./simple-tree/index.js\";\nimport { Breakable } from \"./util/index.js\";\nimport { FluidClientVersion } from \"./codec/index.js\";\n\n/**\n * {@link ITreePrivate} extended with ISharedObject.\n * @remarks\n * This is used when integration testing this package with the Fluid runtime as it exposes the APIs the runtime consumes to manipulate the tree.\n */\nexport interface ISharedTree extends ISharedObject, ITreePrivate {}\n\n/**\n * Creates a factory for shared tree kernels with the given options.\n * @remarks\n * Exposes {@link ITreePrivate} to allow access to internals in tests without a cast.\n * Code exposing this beyond this package will need to update to a more public type.\n */\nfunction treeKernelFactory(\n\toptions: SharedTreeOptionsInternal,\n): SharedKernelFactory<SharedTreeKernelView> {\n\tfunction treeFromKernelArgs(args: KernelArgs): SharedTreeKernel {\n\t\tif (args.idCompressor === undefined) {\n\t\t\tthrow new UsageError(\"IdCompressor must be enabled to use SharedTree\");\n\t\t}\n\t\tconst adjustedOptions = { ...options };\n\t\t// TODO: get default from runtime once something like runtime.oldestCompatibleClient exists.\n\t\t// Using default of 2.0 since that is the oldest version that supports SharedTree.\n\t\tadjustedOptions.oldestCompatibleClient ??= FluidClientVersion.v2_0;\n\t\treturn new SharedTreeKernel(\n\t\t\tnew Breakable(\"SharedTree\"),\n\t\t\targs.sharedObject,\n\t\t\targs.serializer,\n\t\t\targs.submitLocalMessage,\n\t\t\targs.lastSequenceNumber,\n\t\t\targs.logger,\n\t\t\targs.idCompressor,\n\t\t\tadjustedOptions,\n\t\t);\n\t}\n\n\treturn {\n\t\tcreate: (args: KernelArgs): FactoryOut<SharedTreeKernelView> => {\n\t\t\tconst k = treeFromKernelArgs(args);\n\t\t\treturn { kernel: k, view: k.view };\n\t\t},\n\n\t\tasync loadCore(\n\t\t\targs: KernelArgs,\n\t\t\tstorage: IChannelStorageService,\n\t\t): Promise<FactoryOut<SharedTreeKernelView>> {\n\t\t\tconst k = treeFromKernelArgs(args);\n\t\t\tawait k.loadCore(storage);\n\t\t\treturn { kernel: k, view: k.view };\n\t\t},\n\t};\n}\n\n/**\n * SharedTree is a hierarchical data structure for collaboratively editing strongly typed JSON-like trees\n * of objects, arrays, and other data types.\n * @legacy\n * @alpha\n */\nexport const SharedTree = configuredSharedTree({});\n\n/**\n * {@link SharedTree} but allowing a non-default configuration.\n * @remarks\n * This is useful for debugging and testing to opt into extra validation or see if opting out of some optimizations fixes an issue.\n * @example\n * ```typescript\n * import {\n * \tForestType,\n * \tTreeCompressionStrategy,\n * \tconfiguredSharedTree,\n * \ttypeboxValidator,\n * \t// eslint-disable-next-line import/no-internal-modules\n * } from \"@fluidframework/tree/internal\";\n * const SharedTree = configuredSharedTree({\n * \tforest: ForestTypeReference,\n * \tjsonValidator: typeboxValidator,\n * \ttreeEncodeType: TreeCompressionStrategy.Uncompressed,\n * });\n * ```\n * @privateRemarks\n * This should be legacy, but has to be internal due to limitations of API tagging preventing it from being both alpha and alpha+legacy.\n * TODO:\n * Expose Ajv validator for better error message quality somehow.\n * Maybe as part of a test utils or dev-tool package?\n * @internal\n */\nexport function configuredSharedTree(\n\toptions: SharedTreeOptions,\n): ISharedObjectKind<ITree> & SharedObjectKind<ITree> {\n\tconst sharedObjectOptions: SharedObjectOptions<ITree> = {\n\t\ttype: SharedTreeFactoryType,\n\t\tattributes: SharedTreeAttributes,\n\t\ttelemetryContextPrefix: \"fluid_sharedTree_\",\n\t\tfactory: treeKernelFactory(options),\n\t};\n\n\treturn makeSharedObjectKind<ITree>(sharedObjectOptions);\n}\n"]}
1
+ {"version":3,"file":"treeFactory.js","sourceRoot":"","sources":["../src/treeFactory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAGN,oBAAoB,GAKpB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAEtE,OAAO,EACN,gBAAgB,GAKhB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAExF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAStD;;;;;GAKG;AACH,SAAS,iBAAiB,CACzB,OAAkC;IAElC,SAAS,kBAAkB,CAAC,IAAgB;QAC3C,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,IAAI,UAAU,CAAC,gDAAgD,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,eAAe,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;QACvC,4FAA4F;QAC5F,kFAAkF;QAClF,eAAe,CAAC,sBAAsB,KAAK,kBAAkB,CAAC,IAAI,CAAC;QACnE,OAAO,IAAI,gBAAgB,CAC1B,IAAI,SAAS,CAAC,YAAY,CAAC,EAC3B,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,YAAY,EACjB,eAAe,CACf,CAAC;IACH,CAAC;IAED,OAAO;QACN,MAAM,EAAE,CAAC,IAAgB,EAAoC,EAAE;YAC9D,MAAM,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACnC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACpC,CAAC;QAED,KAAK,CAAC,QAAQ,CACb,IAAgB,EAChB,OAA+B;YAE/B,MAAM,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC1B,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACpC,CAAC;KACD,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,oBAAoB,CACnC,OAA0B;IAE1B,MAAM,mBAAmB,GAA+B;QACvD,IAAI,EAAE,qBAAqB;QAC3B,UAAU,EAAE,oBAAoB;QAChC,sBAAsB,EAAE,mBAAmB;QAC3C,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;KACnC,CAAC;IAEF,OAAO,oBAAoB,CAAQ,mBAAmB,CAAC,CAAC;AACzD,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { IChannelStorageService } from \"@fluidframework/datastore-definitions/internal\";\nimport type { SharedObjectKind } from \"@fluidframework/shared-object-base\";\nimport {\n\ttype ISharedObject,\n\ttype ISharedObjectKind,\n\tmakeSharedObjectKind,\n\ttype KernelArgs,\n\ttype SharedKernelFactory,\n\ttype SharedObjectOptions,\n\ttype FactoryOut,\n} from \"@fluidframework/shared-object-base/internal\";\nimport { UsageError } from \"@fluidframework/telemetry-utils/internal\";\n\nimport {\n\tSharedTreeKernel,\n\ttype ITreePrivate,\n\ttype SharedTreeOptions,\n\ttype SharedTreeOptionsInternal,\n\ttype SharedTreeKernelView,\n} from \"./shared-tree/index.js\";\nimport { SharedTreeFactoryType, SharedTreeAttributes } from \"./sharedTreeAttributes.js\";\nimport type { ITree } from \"./simple-tree/index.js\";\nimport { Breakable } from \"./util/index.js\";\nimport { FluidClientVersion } from \"./codec/index.js\";\n\n/**\n * {@link ITreePrivate} extended with ISharedObject.\n * @remarks\n * This is used when integration testing this package with the Fluid runtime as it exposes the APIs the runtime consumes to manipulate the tree.\n */\nexport interface ISharedTree extends ISharedObject, ITreePrivate {}\n\n/**\n * Creates a factory for shared tree kernels with the given options.\n * @remarks\n * Exposes {@link ITreePrivate} to allow access to internals in tests without a cast.\n * Code exposing this beyond this package will need to update to a more public type.\n */\nfunction treeKernelFactory(\n\toptions: SharedTreeOptionsInternal,\n): SharedKernelFactory<SharedTreeKernelView> {\n\tfunction treeFromKernelArgs(args: KernelArgs): SharedTreeKernel {\n\t\tif (args.idCompressor === undefined) {\n\t\t\tthrow new UsageError(\"IdCompressor must be enabled to use SharedTree\");\n\t\t}\n\t\tconst adjustedOptions = { ...options };\n\t\t// TODO: get default from runtime once something like runtime.oldestCompatibleClient exists.\n\t\t// Using default of 2.0 since that is the oldest version that supports SharedTree.\n\t\tadjustedOptions.oldestCompatibleClient ??= FluidClientVersion.v2_0;\n\t\treturn new SharedTreeKernel(\n\t\t\tnew Breakable(\"SharedTree\"),\n\t\t\targs.sharedObject,\n\t\t\targs.serializer,\n\t\t\targs.submitLocalMessage,\n\t\t\targs.lastSequenceNumber,\n\t\t\targs.logger,\n\t\t\targs.idCompressor,\n\t\t\tadjustedOptions,\n\t\t);\n\t}\n\n\treturn {\n\t\tcreate: (args: KernelArgs): FactoryOut<SharedTreeKernelView> => {\n\t\t\tconst k = treeFromKernelArgs(args);\n\t\t\treturn { kernel: k, view: k.view };\n\t\t},\n\n\t\tasync loadCore(\n\t\t\targs: KernelArgs,\n\t\t\tstorage: IChannelStorageService,\n\t\t): Promise<FactoryOut<SharedTreeKernelView>> {\n\t\t\tconst k = treeFromKernelArgs(args);\n\t\t\tawait k.loadCore(storage);\n\t\t\treturn { kernel: k, view: k.view };\n\t\t},\n\t};\n}\n\n/**\n * SharedTree is a hierarchical data structure for collaboratively editing strongly typed JSON-like trees\n * of objects, arrays, and other data types.\n * @legacy\n * @alpha\n */\nexport const SharedTree = configuredSharedTree({});\n\n/**\n * {@link SharedTree} but allowing a non-default configuration.\n * @remarks\n * This is useful for debugging and testing to opt into extra validation or see if opting out of some optimizations fixes an issue.\n * @example\n * ```typescript\n * import {\n * \tForestType,\n * \tTreeCompressionStrategy,\n * \tconfiguredSharedTree,\n * \ttypeboxValidator,\n * } from \"@fluidframework/tree/internal\";\n * const SharedTree = configuredSharedTree({\n * \tforest: ForestTypeReference,\n * \tjsonValidator: typeboxValidator,\n * \ttreeEncodeType: TreeCompressionStrategy.Uncompressed,\n * });\n * ```\n * @privateRemarks\n * This should be legacy, but has to be internal due to limitations of API tagging preventing it from being both alpha and alpha+legacy.\n * TODO:\n * Expose Ajv validator for better error message quality somehow.\n * Maybe as part of a test utils or dev-tool package?\n * @internal\n */\nexport function configuredSharedTree(\n\toptions: SharedTreeOptions,\n): ISharedObjectKind<ITree> & SharedObjectKind<ITree> {\n\tconst sharedObjectOptions: SharedObjectOptions<ITree> = {\n\t\ttype: SharedTreeFactoryType,\n\t\tattributes: SharedTreeAttributes,\n\t\ttelemetryContextPrefix: \"fluid_sharedTree_\",\n\t\tfactory: treeKernelFactory(options),\n\t};\n\n\treturn makeSharedObjectKind<ITree>(sharedObjectOptions);\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluidframework/tree",
3
- "version": "2.50.0-345060",
3
+ "version": "2.51.0-347100",
4
4
  "description": "Distributed tree",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -101,46 +101,45 @@
101
101
  "temp-directory": "nyc/.nyc_output"
102
102
  },
103
103
  "dependencies": {
104
- "@fluid-internal/client-utils": "2.50.0-345060",
105
- "@fluidframework/container-runtime": "2.50.0-345060",
106
- "@fluidframework/core-interfaces": "2.50.0-345060",
107
- "@fluidframework/core-utils": "2.50.0-345060",
108
- "@fluidframework/datastore-definitions": "2.50.0-345060",
109
- "@fluidframework/driver-definitions": "2.50.0-345060",
110
- "@fluidframework/id-compressor": "2.50.0-345060",
111
- "@fluidframework/runtime-definitions": "2.50.0-345060",
112
- "@fluidframework/runtime-utils": "2.50.0-345060",
113
- "@fluidframework/shared-object-base": "2.50.0-345060",
114
- "@fluidframework/telemetry-utils": "2.50.0-345060",
104
+ "@fluid-internal/client-utils": "2.51.0-347100",
105
+ "@fluidframework/container-runtime": "2.51.0-347100",
106
+ "@fluidframework/core-interfaces": "2.51.0-347100",
107
+ "@fluidframework/core-utils": "2.51.0-347100",
108
+ "@fluidframework/datastore-definitions": "2.51.0-347100",
109
+ "@fluidframework/driver-definitions": "2.51.0-347100",
110
+ "@fluidframework/id-compressor": "2.51.0-347100",
111
+ "@fluidframework/runtime-definitions": "2.51.0-347100",
112
+ "@fluidframework/runtime-utils": "2.51.0-347100",
113
+ "@fluidframework/shared-object-base": "2.51.0-347100",
114
+ "@fluidframework/telemetry-utils": "2.51.0-347100",
115
115
  "@sinclair/typebox": "^0.34.13",
116
116
  "@tylerbu/sorted-btree-es6": "^1.8.0",
117
117
  "@types/ungap__structured-clone": "^1.2.0",
118
118
  "@ungap/structured-clone": "^1.2.0",
119
- "uuid": "^9.0.0"
119
+ "uuid": "^11.1.0"
120
120
  },
121
121
  "devDependencies": {
122
122
  "@arethetypeswrong/cli": "^0.17.1",
123
123
  "@biomejs/biome": "~1.9.3",
124
- "@fluid-internal/mocha-test-setup": "2.50.0-345060",
125
- "@fluid-private/stochastic-test-utils": "2.50.0-345060",
126
- "@fluid-private/test-dds-utils": "2.50.0-345060",
127
- "@fluid-private/test-drivers": "2.50.0-345060",
124
+ "@fluid-internal/mocha-test-setup": "2.51.0-347100",
125
+ "@fluid-private/stochastic-test-utils": "2.51.0-347100",
126
+ "@fluid-private/test-dds-utils": "2.51.0-347100",
127
+ "@fluid-private/test-drivers": "2.51.0-347100",
128
128
  "@fluid-tools/benchmark": "^0.51.0",
129
129
  "@fluid-tools/build-cli": "^0.56.0",
130
130
  "@fluidframework/build-common": "^2.0.3",
131
131
  "@fluidframework/build-tools": "^0.56.0",
132
- "@fluidframework/container-definitions": "2.50.0-345060",
133
- "@fluidframework/container-loader": "2.50.0-345060",
132
+ "@fluidframework/container-definitions": "2.51.0-347100",
133
+ "@fluidframework/container-loader": "2.51.0-347100",
134
134
  "@fluidframework/eslint-config-fluid": "^5.7.4",
135
- "@fluidframework/test-runtime-utils": "2.50.0-345060",
136
- "@fluidframework/test-utils": "2.50.0-345060",
137
- "@fluidframework/tree-previous": "npm:@fluidframework/tree@2.43.0",
135
+ "@fluidframework/test-runtime-utils": "2.51.0-347100",
136
+ "@fluidframework/test-utils": "2.51.0-347100",
137
+ "@fluidframework/tree-previous": "npm:@fluidframework/tree@2.50.0",
138
138
  "@microsoft/api-extractor": "7.52.8",
139
139
  "@types/diff": "^3.5.1",
140
140
  "@types/easy-table": "^0.0.32",
141
141
  "@types/mocha": "^10.0.10",
142
142
  "@types/node": "^18.19.0",
143
- "@types/uuid": "^9.0.2",
144
143
  "ajv": "^8.12.0",
145
144
  "ajv-formats": "^3.0.1",
146
145
  "c8": "^8.0.1",
@@ -105,7 +105,14 @@ export interface SchemaAndPolicy {
105
105
  }
106
106
 
107
107
  /**
108
- * Extra data needed to interpret schema.
108
+ * Extra data needed to interpret stored schema.
109
+ * @remarks
110
+ * This contains information that describes the semantics of things which can be referenced in stored schema.
111
+ * For example, field kind identifiers refer to specific field kinds, which imply specific rules around what is valid in a given field (the multiplicity).
112
+ * This structure provides such information, allowing it to be possible to determine if a given tree complies with a particular stored schema.
113
+ *
114
+ * TODO: AB#43546
115
+ * Some additional data which is not needed to define compatibility with a given stored schema is currently included here, and should be removed.
109
116
  */
110
117
  export interface SchemaPolicy {
111
118
  /**
@@ -119,6 +126,8 @@ export interface SchemaPolicy {
119
126
 
120
127
  /**
121
128
  * If true, new content inserted into the tree should be validated against the stored schema.
129
+ * @remarks
130
+ * TODO: AB#43546: This is not information used to interpret the stored schema: this configuration should be moved elsewhere.
122
131
  */
123
132
  readonly validateSchema: boolean;
124
133
 
@@ -129,6 +138,10 @@ export interface SchemaPolicy {
129
138
  * @privateRemarks
130
139
  * Plumbing this in via `SchemaPolicy` avoids needing to walk the view schema representation repeatedly in places
131
140
  * that need it (schema validation, view vs stored compatibility checks).
141
+ *
142
+ * TODO: AB#43546
143
+ * This is not information used to interpret the stored schema: it is instead about view schema, and how compatible they are with a stored schema.
144
+ * SchemaCompatibilityTester should be updated to not store this table in here, and then this field should be removed.
132
145
  */
133
146
  allowUnknownOptionalFields(identifier: TreeNodeSchemaIdentifier): boolean;
134
147
  }
@@ -82,6 +82,9 @@ export function isNodeInSchema(
82
82
  // The node has fields that we did not check as part of looking at every field defined in the node's schema
83
83
  if (
84
84
  uncheckedFieldsFromNode.size !== 0 &&
85
+ // TODO: AB#43547: This check is wrong. If a given view schema allows an unknown optional field, that does NOT mean the stored schema should allow unknown:
86
+ // In-fact, any data the view schema does not know about must still comply with the stored schema:
87
+ // if this were not the case schema evolution could not add any fields since they might already have out of schema data.
85
88
  !schemaAndPolicy.policy.allowUnknownOptionalFields(node.type)
86
89
  ) {
87
90
  return SchemaValidationError.ObjectNode_FieldNotInSchema;
@@ -89,7 +89,7 @@ export interface FlexTreeHydratedContext
89
89
  export const ContextSlot = anchorSlot<Context>();
90
90
 
91
91
  /**
92
- * Implementation of `FlexTreeContext`.
92
+ * Implementation of `FlexTreeHydratedContext`.
93
93
  *
94
94
  * @remarks An editor is required to edit the FlexTree.
95
95
  *
@@ -102,7 +102,12 @@ export class Context implements FlexTreeHydratedContext, IDisposable {
102
102
  public readonly withCursors: Set<LazyEntity> = new Set();
103
103
  public readonly withAnchors: Set<LazyEntity> = new Set();
104
104
 
105
- private readonly eventUnregister: (() => void)[];
105
+ /**
106
+ * Callbacks to run when disposing.
107
+ *
108
+ * Mainly event un-registration.
109
+ */
110
+ private readonly onDispose: (() => void)[];
106
111
  private disposed = false;
107
112
 
108
113
  /**
@@ -121,7 +126,7 @@ export class Context implements FlexTreeHydratedContext, IDisposable {
121
126
  */
122
127
  public readonly nodeKeyManager: NodeIdentifierManager,
123
128
  ) {
124
- this.eventUnregister = [
129
+ this.onDispose = [
125
130
  this.checkout.forest.events.on("beforeChange", () => {
126
131
  this.prepareForEdit();
127
132
  }),
@@ -163,10 +168,10 @@ export class Context implements FlexTreeHydratedContext, IDisposable {
163
168
  assert(this.disposed === false, 0x803 /* double dispose */);
164
169
  this.disposed = true;
165
170
  this.clear();
166
- for (const unregister of this.eventUnregister) {
171
+ for (const unregister of this.onDispose) {
167
172
  unregister();
168
173
  }
169
- this.eventUnregister.length = 0;
174
+ this.onDispose.length = 0;
170
175
 
171
176
  const deleted = this.checkout.forest.anchors.slots.delete(ContextSlot);
172
177
  assert(deleted, 0x8c4 /* unexpected dispose */);
@@ -37,6 +37,8 @@ export {
37
37
  LazyEntity,
38
38
  } from "./lazyEntity.js";
39
39
 
40
+ export { getOrCreateHydratedFlexTreeNode } from "./lazyNode.js";
41
+
40
42
  export { getSchemaAndPolicy, indexForAt } from "./utilities.js";
41
43
 
42
44
  export { treeStatusFromAnchorCache } from "./utilities.js";
@@ -51,7 +51,7 @@ import {
51
51
  flexTreeSlot,
52
52
  } from "./flexTreeTypes.js";
53
53
  import { LazyEntity } from "./lazyEntity.js";
54
- import { type LazyTreeNode, makeTree } from "./lazyNode.js";
54
+ import { type LazyTreeNode, getOrCreateHydratedFlexTreeNode } from "./lazyNode.js";
55
55
  import { indexForAt, treeStatusFromAnchorCache } from "./utilities.js";
56
56
 
57
57
  /**
@@ -169,7 +169,7 @@ export abstract class LazyField extends LazyEntity<FieldAnchor> implements FlexT
169
169
 
170
170
  const cursor = this.cursor;
171
171
  cursor.exitField();
172
- const output = makeTree(this.context, cursor);
172
+ const output = getOrCreateHydratedFlexTreeNode(this.context, cursor);
173
173
  cursor.enterField(this.key);
174
174
  return output;
175
175
  }
@@ -203,7 +203,9 @@ export abstract class LazyField extends LazyEntity<FieldAnchor> implements FlexT
203
203
  return undefined;
204
204
  }
205
205
 
206
- return inCursorNode(this.cursor, finalIndex, (cursor) => makeTree(this.context, cursor));
206
+ return inCursorNode(this.cursor, finalIndex, (cursor) =>
207
+ getOrCreateHydratedFlexTreeNode(this.context, cursor),
208
+ );
207
209
  }
208
210
 
209
211
  public map<U>(callbackfn: (value: FlexTreeUnknownUnboxed, index: number) => U): U[] {
@@ -213,7 +215,9 @@ export abstract class LazyField extends LazyEntity<FieldAnchor> implements FlexT
213
215
  }
214
216
 
215
217
  public [Symbol.iterator](): IterableIterator<HydratedFlexTreeNode> {
216
- return iterateCursorField(this.cursor, (cursor) => makeTree(this.context, cursor));
218
+ return iterateCursorField(this.cursor, (cursor) =>
219
+ getOrCreateHydratedFlexTreeNode(this.context, cursor),
220
+ );
217
221
  }
218
222
 
219
223
  public getFieldPath(): NormalizedFieldUpPath {
@@ -350,7 +354,7 @@ export function unboxedFlexNode(
350
354
  }
351
355
 
352
356
  // Try accessing cached child node via anchors.
353
- // This avoids O(depth) related costs from makeTree in the cached case.
357
+ // This avoids O(depth) related costs from getOrCreateHydratedFlexTreeNode in the cached case.
354
358
  const anchor = fieldAnchor.parent;
355
359
  let child: AnchorNode | undefined;
356
360
  if (anchor !== undefined) {
@@ -372,5 +376,5 @@ export function unboxedFlexNode(
372
376
  }
373
377
  }
374
378
 
375
- return makeTree(context, cursor);
379
+ return getOrCreateHydratedFlexTreeNode(context, cursor);
376
380
  }
@@ -35,9 +35,14 @@ import { LazyEntity } from "./lazyEntity.js";
35
35
  import { makeField } from "./lazyField.js";
36
36
 
37
37
  /**
38
+ * Get or create a {@link HydratedFlexTreeNode} for the given context at node indicated by the cursor.
39
+ * @remarks
38
40
  * This does not take ownership of this cursor: Node will fork it as needed.
39
41
  */
40
- export function makeTree(context: Context, cursor: ITreeSubscriptionCursor): LazyTreeNode {
42
+ export function getOrCreateHydratedFlexTreeNode(
43
+ context: Context,
44
+ cursor: ITreeSubscriptionCursor,
45
+ ): HydratedFlexTreeNode {
41
46
  const anchor = cursor.buildAnchor();
42
47
  const anchorNode =
43
48
  context.checkout.forest.anchors.locate(anchor) ??
@@ -34,8 +34,7 @@ import type {
34
34
  SummaryElementStringifier,
35
35
  } from "../../shared-tree-core/index.js";
36
36
  import { idAllocatorFromMaxId } from "../../util/index.js";
37
- // eslint-disable-next-line import/no-internal-modules
38
- import { chunkFieldSingle, defaultChunkPolicy } from "../chunked-forest/chunkTree.js";
37
+ import { chunkFieldSingle, defaultChunkPolicy } from "../chunked-forest/index.js";
39
38
  import type { FieldBatchCodec, FieldBatchEncodingContext } from "../chunked-forest/index.js";
40
39
 
41
40
  import { type ForestCodec, makeForestSummarizerCodec } from "./codec.js";
@@ -183,6 +183,7 @@ export {
183
183
  type FlexibleFieldContent,
184
184
  type FlexTreeHydratedContextMinimal,
185
185
  type HydratedFlexTreeNode,
186
+ getOrCreateHydratedFlexTreeNode,
186
187
  } from "./flex-tree/index.js";
187
188
 
188
189
  export { TreeCompressionStrategy } from "./treeCompressionUtils.js";
@@ -6,4 +6,4 @@
6
6
  */
7
7
 
8
8
  export const pkgName = "@fluidframework/tree";
9
- export const pkgVersion = "2.50.0-345060";
9
+ export const pkgVersion = "2.51.0-347100";
@@ -39,8 +39,6 @@ export { type TreeStoredContent } from "./schematizeTree.js";
39
39
 
40
40
  export { SchematizingSimpleTreeView } from "./schematizingTreeView.js";
41
41
 
42
- export { CheckoutFlexTreeView } from "./checkoutFlexTreeView.js";
43
-
44
42
  export type {
45
43
  ISharedTreeEditor,
46
44
  ISchemaEditor,
@@ -73,11 +73,6 @@ export function initializeContent(
73
73
  };
74
74
  }
75
75
 
76
- // TODO: fix issues with schema comparison and enable this.
77
- // assert(
78
- // allowsRepoSuperset(defaultSchemaPolicy, tree.storedSchema, incrementalSchemaUpdate),
79
- // "Incremental Schema update should support the existing empty tree",
80
- // );
81
76
  assert(
82
77
  allowsRepoSuperset(defaultSchemaPolicy, newSchema, incrementalSchemaUpdate),
83
78
  0x5c9 /* Incremental Schema during update should be a allow a superset of the final schema */,
@@ -89,7 +84,8 @@ export function initializeContent(
89
84
 
90
85
  // If intermediate schema is not final desired schema, update to the final schema:
91
86
  if (incrementalSchemaUpdate !== newSchema) {
92
- schemaRepository.updateSchema(newSchema);
87
+ // This makes the root more strict, so set allowNonSupersetSchema to true.
88
+ schemaRepository.updateSchema(newSchema, true);
93
89
  }
94
90
  }
95
91