@fluidframework/tree 2.33.1 → 2.40.0-336023

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 (315) hide show
  1. package/.vscode/settings.json +2 -0
  2. package/api-report/tree.alpha.api.md +120 -50
  3. package/api-report/tree.beta.api.md +31 -27
  4. package/api-report/tree.legacy.alpha.api.md +24 -23
  5. package/api-report/tree.legacy.public.api.md +24 -23
  6. package/api-report/tree.public.api.md +24 -23
  7. package/dist/alpha.d.ts +16 -1
  8. package/dist/beta.d.ts +2 -0
  9. package/dist/index.d.ts +2 -2
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js.map +1 -1
  12. package/dist/internalTypes.d.ts +0 -1
  13. package/dist/internalTypes.d.ts.map +1 -1
  14. package/dist/internalTypes.js.map +1 -1
  15. package/dist/jsonDomainSchema.d.ts +2 -2
  16. package/dist/jsonDomainSchema.js +2 -2
  17. package/dist/jsonDomainSchema.js.map +1 -1
  18. package/dist/legacy.d.ts +2 -0
  19. package/dist/packageVersion.d.ts +1 -1
  20. package/dist/packageVersion.d.ts.map +1 -1
  21. package/dist/packageVersion.js +1 -1
  22. package/dist/packageVersion.js.map +1 -1
  23. package/dist/public.d.ts +2 -0
  24. package/dist/serializableDomainSchema.d.ts +3 -3
  25. package/dist/serializableDomainSchema.js +2 -2
  26. package/dist/serializableDomainSchema.js.map +1 -1
  27. package/dist/shared-tree/independentView.d.ts +1 -1
  28. package/dist/shared-tree/independentView.js.map +1 -1
  29. package/dist/shared-tree/index.d.ts +3 -2
  30. package/dist/shared-tree/index.d.ts.map +1 -1
  31. package/dist/shared-tree/index.js +4 -4
  32. package/dist/shared-tree/index.js.map +1 -1
  33. package/dist/shared-tree/schematizeTree.d.ts +4 -4
  34. package/dist/shared-tree/schematizeTree.d.ts.map +1 -1
  35. package/dist/shared-tree/schematizeTree.js +2 -3
  36. package/dist/shared-tree/schematizeTree.js.map +1 -1
  37. package/dist/shared-tree/schematizingTreeView.d.ts +3 -3
  38. package/dist/shared-tree/schematizingTreeView.d.ts.map +1 -1
  39. package/dist/shared-tree/schematizingTreeView.js +4 -4
  40. package/dist/shared-tree/schematizingTreeView.js.map +1 -1
  41. package/dist/shared-tree/{treeApi.d.ts → tree.d.ts} +34 -34
  42. package/dist/shared-tree/tree.d.ts.map +1 -0
  43. package/dist/shared-tree/{treeApi.js → tree.js} +6 -6
  44. package/dist/shared-tree/tree.js.map +1 -0
  45. package/dist/shared-tree/{treeApiAlpha.d.ts → treeAlpha.d.ts} +22 -14
  46. package/dist/shared-tree/treeAlpha.d.ts.map +1 -0
  47. package/dist/shared-tree/{treeApiAlpha.js → treeAlpha.js} +4 -3
  48. package/dist/shared-tree/treeAlpha.js.map +1 -0
  49. package/dist/simple-tree/api/conciseTree.d.ts +1 -1
  50. package/dist/simple-tree/api/conciseTree.js.map +1 -1
  51. package/dist/simple-tree/api/configuration.d.ts +177 -0
  52. package/dist/simple-tree/api/configuration.d.ts.map +1 -0
  53. package/dist/simple-tree/api/configuration.js +163 -0
  54. package/dist/simple-tree/api/configuration.js.map +1 -0
  55. package/dist/simple-tree/api/getJsonSchema.js +2 -2
  56. package/dist/simple-tree/api/getJsonSchema.js.map +1 -1
  57. package/dist/simple-tree/api/index.d.ts +7 -4
  58. package/dist/simple-tree/api/index.d.ts.map +1 -1
  59. package/dist/simple-tree/api/index.js +8 -7
  60. package/dist/simple-tree/api/index.js.map +1 -1
  61. package/dist/simple-tree/api/{view.d.ts → schemaCompatibilityTester.d.ts} +8 -10
  62. package/dist/simple-tree/api/schemaCompatibilityTester.d.ts.map +1 -0
  63. package/dist/simple-tree/api/{view.js → schemaCompatibilityTester.js} +9 -9
  64. package/dist/simple-tree/api/schemaCompatibilityTester.js.map +1 -0
  65. package/dist/simple-tree/api/schemaFactory.d.ts +16 -10
  66. package/dist/simple-tree/api/schemaFactory.d.ts.map +1 -1
  67. package/dist/simple-tree/api/schemaFactory.js +20 -12
  68. package/dist/simple-tree/api/schemaFactory.js.map +1 -1
  69. package/dist/simple-tree/api/schemaFactoryAlpha.d.ts +12 -6
  70. package/dist/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
  71. package/dist/simple-tree/api/schemaFactoryAlpha.js +2 -2
  72. package/dist/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
  73. package/dist/simple-tree/api/schemaFactoryRecursive.d.ts +67 -4
  74. package/dist/simple-tree/api/schemaFactoryRecursive.d.ts.map +1 -1
  75. package/dist/simple-tree/api/schemaFactoryRecursive.js.map +1 -1
  76. package/dist/simple-tree/api/schemaFromSimple.d.ts +1 -1
  77. package/dist/simple-tree/api/schemaFromSimple.d.ts.map +1 -1
  78. package/dist/simple-tree/api/schemaFromSimple.js +1 -1
  79. package/dist/simple-tree/api/schemaFromSimple.js.map +1 -1
  80. package/dist/simple-tree/api/simpleSchemaToJsonSchema.d.ts +1 -1
  81. package/dist/simple-tree/api/simpleSchemaToJsonSchema.d.ts.map +1 -1
  82. package/dist/simple-tree/api/simpleSchemaToJsonSchema.js.map +1 -1
  83. package/dist/simple-tree/api/storedSchema.d.ts +3 -3
  84. package/dist/simple-tree/api/storedSchema.d.ts.map +1 -1
  85. package/dist/simple-tree/api/storedSchema.js +3 -2
  86. package/dist/simple-tree/api/storedSchema.js.map +1 -1
  87. package/dist/simple-tree/api/tree.d.ts +5 -174
  88. package/dist/simple-tree/api/tree.d.ts.map +1 -1
  89. package/dist/simple-tree/api/tree.js +1 -156
  90. package/dist/simple-tree/api/tree.js.map +1 -1
  91. package/{lib/simple-tree/api/treeApiBeta.d.ts → dist/simple-tree/api/treeBeta.d.ts} +13 -5
  92. package/dist/simple-tree/api/treeBeta.d.ts.map +1 -0
  93. package/dist/simple-tree/api/{treeApiBeta.js → treeBeta.js} +5 -4
  94. package/dist/simple-tree/api/treeBeta.js.map +1 -0
  95. package/dist/simple-tree/api/typesUnsafe.d.ts +4 -9
  96. package/dist/simple-tree/api/typesUnsafe.d.ts.map +1 -1
  97. package/dist/simple-tree/api/typesUnsafe.js.map +1 -1
  98. package/dist/simple-tree/arrayNode.d.ts +2 -2
  99. package/dist/simple-tree/arrayNode.d.ts.map +1 -1
  100. package/dist/simple-tree/arrayNode.js +3 -2
  101. package/dist/simple-tree/arrayNode.js.map +1 -1
  102. package/dist/simple-tree/arrayNodeTypes.d.ts +3 -3
  103. package/dist/simple-tree/arrayNodeTypes.d.ts.map +1 -1
  104. package/dist/simple-tree/arrayNodeTypes.js.map +1 -1
  105. package/dist/simple-tree/index.d.ts +3 -3
  106. package/dist/simple-tree/index.d.ts.map +1 -1
  107. package/dist/simple-tree/index.js +2 -2
  108. package/dist/simple-tree/index.js.map +1 -1
  109. package/dist/simple-tree/mapNode.d.ts +2 -2
  110. package/dist/simple-tree/mapNode.d.ts.map +1 -1
  111. package/dist/simple-tree/mapNode.js +1 -1
  112. package/dist/simple-tree/mapNode.js.map +1 -1
  113. package/dist/simple-tree/mapNodeTypes.d.ts +3 -3
  114. package/dist/simple-tree/mapNodeTypes.d.ts.map +1 -1
  115. package/dist/simple-tree/mapNodeTypes.js.map +1 -1
  116. package/dist/simple-tree/objectNode.d.ts +18 -5
  117. package/dist/simple-tree/objectNode.d.ts.map +1 -1
  118. package/dist/simple-tree/objectNode.js +4 -3
  119. package/dist/simple-tree/objectNode.js.map +1 -1
  120. package/dist/simple-tree/objectNodeTypes.d.ts +4 -4
  121. package/dist/simple-tree/objectNodeTypes.d.ts.map +1 -1
  122. package/dist/simple-tree/objectNodeTypes.js.map +1 -1
  123. package/dist/simple-tree/schemaTypes.d.ts +163 -13
  124. package/dist/simple-tree/schemaTypes.d.ts.map +1 -1
  125. package/dist/simple-tree/schemaTypes.js +107 -8
  126. package/dist/simple-tree/schemaTypes.js.map +1 -1
  127. package/dist/simple-tree/treeNodeValid.js +2 -2
  128. package/dist/simple-tree/treeNodeValid.js.map +1 -1
  129. package/dist/tableSchema.d.ts +197 -86
  130. package/dist/tableSchema.d.ts.map +1 -1
  131. package/dist/tableSchema.js +100 -45
  132. package/dist/tableSchema.js.map +1 -1
  133. package/dist/util/typeUtils.d.ts +1 -1
  134. package/dist/util/typeUtils.js.map +1 -1
  135. package/lib/alpha.d.ts +16 -1
  136. package/lib/beta.d.ts +2 -0
  137. package/lib/index.d.ts +2 -2
  138. package/lib/index.d.ts.map +1 -1
  139. package/lib/index.js.map +1 -1
  140. package/lib/internalTypes.d.ts +0 -1
  141. package/lib/internalTypes.d.ts.map +1 -1
  142. package/lib/internalTypes.js.map +1 -1
  143. package/lib/jsonDomainSchema.d.ts +2 -2
  144. package/lib/jsonDomainSchema.js +2 -2
  145. package/lib/jsonDomainSchema.js.map +1 -1
  146. package/lib/legacy.d.ts +2 -0
  147. package/lib/packageVersion.d.ts +1 -1
  148. package/lib/packageVersion.d.ts.map +1 -1
  149. package/lib/packageVersion.js +1 -1
  150. package/lib/packageVersion.js.map +1 -1
  151. package/lib/public.d.ts +2 -0
  152. package/lib/serializableDomainSchema.d.ts +3 -3
  153. package/lib/serializableDomainSchema.js +2 -2
  154. package/lib/serializableDomainSchema.js.map +1 -1
  155. package/lib/shared-tree/independentView.d.ts +1 -1
  156. package/lib/shared-tree/independentView.js.map +1 -1
  157. package/lib/shared-tree/index.d.ts +3 -2
  158. package/lib/shared-tree/index.d.ts.map +1 -1
  159. package/lib/shared-tree/index.js +2 -2
  160. package/lib/shared-tree/index.js.map +1 -1
  161. package/lib/shared-tree/schematizeTree.d.ts +4 -4
  162. package/lib/shared-tree/schematizeTree.d.ts.map +1 -1
  163. package/lib/shared-tree/schematizeTree.js +2 -3
  164. package/lib/shared-tree/schematizeTree.js.map +1 -1
  165. package/lib/shared-tree/schematizingTreeView.d.ts +3 -3
  166. package/lib/shared-tree/schematizingTreeView.d.ts.map +1 -1
  167. package/lib/shared-tree/schematizingTreeView.js +5 -5
  168. package/lib/shared-tree/schematizingTreeView.js.map +1 -1
  169. package/lib/shared-tree/{treeApi.d.ts → tree.d.ts} +34 -34
  170. package/lib/shared-tree/tree.d.ts.map +1 -0
  171. package/lib/shared-tree/{treeApi.js → tree.js} +5 -5
  172. package/lib/shared-tree/tree.js.map +1 -0
  173. package/lib/shared-tree/{treeApiAlpha.d.ts → treeAlpha.d.ts} +22 -14
  174. package/lib/shared-tree/treeAlpha.d.ts.map +1 -0
  175. package/lib/shared-tree/{treeApiAlpha.js → treeAlpha.js} +4 -3
  176. package/lib/shared-tree/treeAlpha.js.map +1 -0
  177. package/lib/simple-tree/api/conciseTree.d.ts +1 -1
  178. package/lib/simple-tree/api/conciseTree.js.map +1 -1
  179. package/lib/simple-tree/api/configuration.d.ts +177 -0
  180. package/lib/simple-tree/api/configuration.d.ts.map +1 -0
  181. package/lib/simple-tree/api/configuration.js +157 -0
  182. package/lib/simple-tree/api/configuration.js.map +1 -0
  183. package/lib/simple-tree/api/getJsonSchema.js +1 -1
  184. package/lib/simple-tree/api/getJsonSchema.js.map +1 -1
  185. package/lib/simple-tree/api/index.d.ts +7 -4
  186. package/lib/simple-tree/api/index.d.ts.map +1 -1
  187. package/lib/simple-tree/api/index.js +4 -3
  188. package/lib/simple-tree/api/index.js.map +1 -1
  189. package/lib/simple-tree/api/{view.d.ts → schemaCompatibilityTester.d.ts} +8 -10
  190. package/lib/simple-tree/api/schemaCompatibilityTester.d.ts.map +1 -0
  191. package/lib/simple-tree/api/{view.js → schemaCompatibilityTester.js} +7 -7
  192. package/lib/simple-tree/api/schemaCompatibilityTester.js.map +1 -0
  193. package/lib/simple-tree/api/schemaFactory.d.ts +16 -10
  194. package/lib/simple-tree/api/schemaFactory.d.ts.map +1 -1
  195. package/lib/simple-tree/api/schemaFactory.js +20 -12
  196. package/lib/simple-tree/api/schemaFactory.js.map +1 -1
  197. package/lib/simple-tree/api/schemaFactoryAlpha.d.ts +12 -6
  198. package/lib/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
  199. package/lib/simple-tree/api/schemaFactoryAlpha.js +2 -2
  200. package/lib/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
  201. package/lib/simple-tree/api/schemaFactoryRecursive.d.ts +67 -4
  202. package/lib/simple-tree/api/schemaFactoryRecursive.d.ts.map +1 -1
  203. package/lib/simple-tree/api/schemaFactoryRecursive.js.map +1 -1
  204. package/lib/simple-tree/api/schemaFromSimple.d.ts +1 -1
  205. package/lib/simple-tree/api/schemaFromSimple.d.ts.map +1 -1
  206. package/lib/simple-tree/api/schemaFromSimple.js +1 -1
  207. package/lib/simple-tree/api/schemaFromSimple.js.map +1 -1
  208. package/lib/simple-tree/api/simpleSchemaToJsonSchema.d.ts +1 -1
  209. package/lib/simple-tree/api/simpleSchemaToJsonSchema.d.ts.map +1 -1
  210. package/lib/simple-tree/api/simpleSchemaToJsonSchema.js.map +1 -1
  211. package/lib/simple-tree/api/storedSchema.d.ts +3 -3
  212. package/lib/simple-tree/api/storedSchema.d.ts.map +1 -1
  213. package/lib/simple-tree/api/storedSchema.js +3 -2
  214. package/lib/simple-tree/api/storedSchema.js.map +1 -1
  215. package/lib/simple-tree/api/tree.d.ts +5 -174
  216. package/lib/simple-tree/api/tree.d.ts.map +1 -1
  217. package/lib/simple-tree/api/tree.js +0 -152
  218. package/lib/simple-tree/api/tree.js.map +1 -1
  219. package/{dist/simple-tree/api/treeApiBeta.d.ts → lib/simple-tree/api/treeBeta.d.ts} +13 -5
  220. package/lib/simple-tree/api/treeBeta.d.ts.map +1 -0
  221. package/lib/simple-tree/api/{treeApiBeta.js → treeBeta.js} +5 -4
  222. package/lib/simple-tree/api/treeBeta.js.map +1 -0
  223. package/lib/simple-tree/api/typesUnsafe.d.ts +4 -9
  224. package/lib/simple-tree/api/typesUnsafe.d.ts.map +1 -1
  225. package/lib/simple-tree/api/typesUnsafe.js.map +1 -1
  226. package/lib/simple-tree/arrayNode.d.ts +2 -2
  227. package/lib/simple-tree/arrayNode.d.ts.map +1 -1
  228. package/lib/simple-tree/arrayNode.js +4 -3
  229. package/lib/simple-tree/arrayNode.js.map +1 -1
  230. package/lib/simple-tree/arrayNodeTypes.d.ts +3 -3
  231. package/lib/simple-tree/arrayNodeTypes.d.ts.map +1 -1
  232. package/lib/simple-tree/arrayNodeTypes.js.map +1 -1
  233. package/lib/simple-tree/index.d.ts +3 -3
  234. package/lib/simple-tree/index.d.ts.map +1 -1
  235. package/lib/simple-tree/index.js +1 -1
  236. package/lib/simple-tree/index.js.map +1 -1
  237. package/lib/simple-tree/mapNode.d.ts +2 -2
  238. package/lib/simple-tree/mapNode.d.ts.map +1 -1
  239. package/lib/simple-tree/mapNode.js +2 -2
  240. package/lib/simple-tree/mapNode.js.map +1 -1
  241. package/lib/simple-tree/mapNodeTypes.d.ts +3 -3
  242. package/lib/simple-tree/mapNodeTypes.d.ts.map +1 -1
  243. package/lib/simple-tree/mapNodeTypes.js.map +1 -1
  244. package/lib/simple-tree/objectNode.d.ts +18 -5
  245. package/lib/simple-tree/objectNode.d.ts.map +1 -1
  246. package/lib/simple-tree/objectNode.js +5 -4
  247. package/lib/simple-tree/objectNode.js.map +1 -1
  248. package/lib/simple-tree/objectNodeTypes.d.ts +4 -4
  249. package/lib/simple-tree/objectNodeTypes.d.ts.map +1 -1
  250. package/lib/simple-tree/objectNodeTypes.js.map +1 -1
  251. package/lib/simple-tree/schemaTypes.d.ts +163 -13
  252. package/lib/simple-tree/schemaTypes.d.ts.map +1 -1
  253. package/lib/simple-tree/schemaTypes.js +96 -8
  254. package/lib/simple-tree/schemaTypes.js.map +1 -1
  255. package/lib/simple-tree/treeNodeValid.js +2 -2
  256. package/lib/simple-tree/treeNodeValid.js.map +1 -1
  257. package/lib/tableSchema.d.ts +197 -86
  258. package/lib/tableSchema.d.ts.map +1 -1
  259. package/lib/tableSchema.js +100 -45
  260. package/lib/tableSchema.js.map +1 -1
  261. package/lib/util/typeUtils.d.ts +1 -1
  262. package/lib/util/typeUtils.js.map +1 -1
  263. package/package.json +20 -20
  264. package/src/index.ts +17 -1
  265. package/src/internalTypes.ts +0 -2
  266. package/src/jsonDomainSchema.ts +2 -2
  267. package/src/packageVersion.ts +1 -1
  268. package/src/serializableDomainSchema.ts +3 -3
  269. package/src/shared-tree/independentView.ts +1 -1
  270. package/src/shared-tree/index.ts +3 -6
  271. package/src/shared-tree/schematizeTree.ts +5 -5
  272. package/src/shared-tree/schematizingTreeView.ts +11 -8
  273. package/src/shared-tree/{treeApi.ts → tree.ts} +51 -51
  274. package/src/shared-tree/{treeApiAlpha.ts → treeAlpha.ts} +22 -13
  275. package/src/simple-tree/api/conciseTree.ts +1 -1
  276. package/src/simple-tree/api/configuration.ts +353 -0
  277. package/src/simple-tree/api/getJsonSchema.ts +1 -1
  278. package/src/simple-tree/api/index.ts +21 -15
  279. package/src/simple-tree/api/{view.ts → schemaCompatibilityTester.ts} +8 -15
  280. package/src/simple-tree/api/schemaFactory.ts +130 -19
  281. package/src/simple-tree/api/schemaFactoryAlpha.ts +7 -5
  282. package/src/simple-tree/api/schemaFactoryRecursive.ts +102 -38
  283. package/src/simple-tree/api/schemaFromSimple.ts +2 -2
  284. package/src/simple-tree/api/simpleSchemaToJsonSchema.ts +1 -1
  285. package/src/simple-tree/api/storedSchema.ts +8 -4
  286. package/src/simple-tree/api/tree.ts +13 -354
  287. package/src/simple-tree/api/{treeApiBeta.ts → treeBeta.ts} +17 -5
  288. package/src/simple-tree/api/typesUnsafe.ts +15 -11
  289. package/src/simple-tree/arrayNode.ts +10 -5
  290. package/src/simple-tree/arrayNodeTypes.ts +8 -7
  291. package/src/simple-tree/index.ts +17 -1
  292. package/src/simple-tree/mapNode.ts +11 -3
  293. package/src/simple-tree/mapNodeTypes.ts +10 -7
  294. package/src/simple-tree/objectNode.ts +39 -15
  295. package/src/simple-tree/objectNodeTypes.ts +9 -5
  296. package/src/simple-tree/schemaTypes.ts +353 -25
  297. package/src/simple-tree/treeNodeValid.ts +2 -2
  298. package/src/tableSchema.ts +749 -445
  299. package/src/util/typeUtils.ts +1 -1
  300. package/dist/shared-tree/treeApi.d.ts.map +0 -1
  301. package/dist/shared-tree/treeApi.js.map +0 -1
  302. package/dist/shared-tree/treeApiAlpha.d.ts.map +0 -1
  303. package/dist/shared-tree/treeApiAlpha.js.map +0 -1
  304. package/dist/simple-tree/api/treeApiBeta.d.ts.map +0 -1
  305. package/dist/simple-tree/api/treeApiBeta.js.map +0 -1
  306. package/dist/simple-tree/api/view.d.ts.map +0 -1
  307. package/dist/simple-tree/api/view.js.map +0 -1
  308. package/lib/shared-tree/treeApi.d.ts.map +0 -1
  309. package/lib/shared-tree/treeApi.js.map +0 -1
  310. package/lib/shared-tree/treeApiAlpha.d.ts.map +0 -1
  311. package/lib/shared-tree/treeApiAlpha.js.map +0 -1
  312. package/lib/simple-tree/api/treeApiBeta.d.ts.map +0 -1
  313. package/lib/simple-tree/api/treeApiBeta.js.map +0 -1
  314. package/lib/simple-tree/api/view.d.ts.map +0 -1
  315. package/lib/simple-tree/api/view.js.map +0 -1
@@ -2,7 +2,137 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- import { type ImplicitAllowedTypes, type InsertableTreeNodeFromImplicitAllowedTypes, type NodeKind, type SchemaFactoryAlpha, type ScopedSchemaName, TreeArrayNode, type TreeNode, type TreeNodeFromImplicitAllowedTypes, type TreeNodeSchemaClass, type WithType } from "./simple-tree/index.js";
5
+ import { type FieldHasDefault, type ImplicitAllowedTypes, type ImplicitFieldSchema, type InsertableTreeNodeFromImplicitAllowedTypes, type NodeKind, type SchemaFactoryAlpha, type ScopedSchemaName, TreeArrayNode, type TreeNode, type TreeNodeFromImplicitAllowedTypes, type TreeNodeSchemaClass, type WithType, type TreeFieldFromImplicitField, type InsertableTreeFieldFromImplicitField, type InternalTreeNode, type FieldSchema, type FieldKind, type ImplicitAnnotatedFieldSchema, type UnannotateImplicitFieldSchema } from "./simple-tree/index.js";
6
+ /**
7
+ * Not intended for use outside of this package.
8
+ *
9
+ * @privateRemarks
10
+ * This namespace is a collection of internal system types relate to {@link TableSchema}.
11
+ * This namespace should be strictly type-exported by the package.
12
+ * All members should be tagged with `@system`.
13
+ *
14
+ * @system @internal
15
+ */
16
+ export declare namespace System_TableSchema {
17
+ /**
18
+ * A base interface for factory input options which include an schema factory.
19
+ * @remarks This interface should not be referenced directly.
20
+ * @privateRemarks This interface primarily exists to provide a single home for property documentation.
21
+ * @system @internal
22
+ */
23
+ interface OptionsWithSchemaFactory<TScope extends string | undefined = string | undefined> {
24
+ /**
25
+ * Schema factory with which the Column schema will be associated.
26
+ * @remarks Can be used to associate the resulting schema with an existing {@link SchemaFactory.scope|scope}.
27
+ */
28
+ readonly schemaFactory: SchemaFactoryAlpha<TScope>;
29
+ }
30
+ /**
31
+ * A base interface for factory input options which include the table cell schema.
32
+ * @remarks This interface should not be referenced directly.
33
+ * @privateRemarks This interface primarily exists to provide a single home for property documentation.
34
+ * @system @internal
35
+ */
36
+ interface OptionsWithCellSchema<TCellSchema extends ImplicitAllowedTypes = ImplicitAllowedTypes> {
37
+ /**
38
+ * Schema for the table's cells.
39
+ */
40
+ readonly cell: TCellSchema;
41
+ }
42
+ /**
43
+ * Base options for creating table cow schema.
44
+ * @remarks Includes parameters common to all column factory overloads.
45
+ * @system @internal
46
+ */
47
+ type CreateColumnOptionsBase<TInputScope extends string | undefined = string | undefined> = OptionsWithSchemaFactory<TInputScope>;
48
+ /**
49
+ * Factory for creating new table column schema.
50
+ * @system @internal
51
+ */
52
+ function createColumnInternal<const TInputScope extends string | undefined, const TPropsSchema extends ImplicitAnnotatedFieldSchema>(inputSchemaFactory: SchemaFactoryAlpha<TInputScope>, propsSchema: TPropsSchema): TreeNodeSchemaClass<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Column">, NodeKind.Object, TreeNode & TableSchema.IColumn<TPropsSchema> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Column">, NodeKind, unknown>, object & {
53
+ readonly id?: string | undefined;
54
+ } & (FieldHasDefault<UnannotateImplicitFieldSchema<TPropsSchema>> extends true ? {
55
+ /**
56
+ * The column's properties.
57
+ * @remarks This is a user-defined schema that can be used to store additional information about the column.
58
+ */
59
+ props?: InsertableTreeFieldFromImplicitField<UnannotateImplicitFieldSchema<TPropsSchema>> | undefined;
60
+ } : {
61
+ /**
62
+ * The column's properties.
63
+ * @remarks This is a user-defined schema that can be used to store additional information about the column.
64
+ */
65
+ props: InsertableTreeFieldFromImplicitField<UnannotateImplicitFieldSchema<TPropsSchema>>;
66
+ }), true, {
67
+ readonly props: TPropsSchema;
68
+ readonly id: FieldSchema<FieldKind.Identifier, import("./simple-tree/leafNodeSchema.js").LeafSchema<"string", string>, unknown>;
69
+ }>;
70
+ /**
71
+ * Base column schema type.
72
+ * @sealed @system @internal
73
+ */
74
+ type ColumnSchemaBase<TScope extends string | undefined = string | undefined, TPropsSchema extends ImplicitFieldSchema = ImplicitFieldSchema> = ReturnType<typeof TableSchema.createColumn<TScope, TPropsSchema>>;
75
+ /**
76
+ * Base options for creating table row schema.
77
+ * @remarks Includes parameters common to all row factory overloads.
78
+ * @system @internal
79
+ */
80
+ type CreateRowOptionsBase<TScope extends string | undefined = string | undefined, TCell extends ImplicitAllowedTypes = ImplicitAllowedTypes> = OptionsWithSchemaFactory<TScope> & OptionsWithCellSchema<TCell>;
81
+ /**
82
+ * Factory for creating new table row schema.
83
+ *
84
+ * @sealed @internal
85
+ */
86
+ function createRowInternal<const TInputScope extends string | undefined, const TCellSchema extends ImplicitAllowedTypes, const TPropsSchema extends ImplicitFieldSchema>(inputSchemaFactory: SchemaFactoryAlpha<TInputScope>, cellSchema: TCellSchema, propsSchema: TPropsSchema): TreeNodeSchemaClass<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row">, NodeKind.Object, TreeNode & TableSchema.IRow<TCellSchema, TPropsSchema> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row">, NodeKind, unknown>, object & {
87
+ readonly id?: string | undefined;
88
+ readonly cells: (import("./simple-tree/schemaTypes.js").InsertableTypedNode<TreeNodeSchemaClass<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Map, import("./simple-tree/mapNode.js").TreeMapNode<TCellSchema> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Map, unknown>, import("./simple-tree/mapNode.js").MapNodeInsertableData<TCellSchema>, true, TCellSchema, undefined>, import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Map, true, TCellSchema, import("./simple-tree/mapNode.js").MapNodeInsertableData<TCellSchema>, unknown> & (new (data?: InternalTreeNode | import("./simple-tree/mapNode.js").MapNodeInsertableData<TCellSchema> | undefined) => import("./simple-tree/mapNode.js").TreeMapNode<TCellSchema> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Map, unknown>)> | undefined) & import("./simple-tree/schemaTypes.js").InsertableTypedNode<TreeNodeSchemaClass<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Map, import("./simple-tree/mapNode.js").TreeMapNode<TCellSchema> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Map, unknown>, import("./simple-tree/mapNode.js").MapNodeInsertableData<TCellSchema>, true, TCellSchema, undefined>, import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Map, true, TCellSchema, import("./simple-tree/mapNode.js").MapNodeInsertableData<TCellSchema>, unknown> & (new (data?: InternalTreeNode | import("./simple-tree/mapNode.js").MapNodeInsertableData<TCellSchema> | undefined) => import("./simple-tree/mapNode.js").TreeMapNode<TCellSchema> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Map, unknown>)>;
89
+ } & (FieldHasDefault<TPropsSchema> extends true ? {
90
+ /**
91
+ * The row's properties.
92
+ * @remarks This is a user-defined schema that can be used to store additional information
93
+ * about the row.
94
+ */
95
+ props?: InsertableTreeFieldFromImplicitField<TPropsSchema> | undefined;
96
+ } : {
97
+ /**
98
+ * The row's properties.
99
+ * @remarks This is a user-defined schema that can be used to store additional information
100
+ * about the row.
101
+ */
102
+ props: InsertableTreeFieldFromImplicitField<TPropsSchema>;
103
+ }), true, {
104
+ readonly props: TPropsSchema;
105
+ readonly id: FieldSchema<FieldKind.Identifier, import("./simple-tree/leafNodeSchema.js").LeafSchema<"string", string>, unknown>;
106
+ readonly cells: FieldSchema<FieldKind.Required, TreeNodeSchemaClass<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Map, import("./simple-tree/mapNode.js").TreeMapNode<TCellSchema> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Map, unknown>, import("./simple-tree/mapNode.js").MapNodeInsertableData<TCellSchema>, true, TCellSchema, undefined>, unknown>;
107
+ }>;
108
+ /**
109
+ * Base row schema type.
110
+ * @sealed @system @internal
111
+ */
112
+ type RowSchemaBase<TScope extends string | undefined = string | undefined, TCellSchema extends ImplicitAllowedTypes = ImplicitAllowedTypes, TPropsSchema extends ImplicitFieldSchema = ImplicitFieldSchema> = ReturnType<typeof TableSchema.createRow<TScope, TCellSchema, TPropsSchema>>;
113
+ /**
114
+ * Base options for creating table schema.
115
+ * @remarks Includes parameters common to all table factory overloads.
116
+ * @system @internal
117
+ */
118
+ type TableFactoryOptionsBase<TScope extends string | undefined = string | undefined, TCell extends ImplicitAllowedTypes = ImplicitAllowedTypes> = OptionsWithSchemaFactory<TScope> & OptionsWithCellSchema<TCell>;
119
+ /**
120
+ * Factory for creating new table schema.
121
+ * @system @internal
122
+ */
123
+ function createTableInternal<const TInputScope extends string | undefined, const TCellSchema extends ImplicitAllowedTypes, const TColumnSchema extends ColumnSchemaBase<TInputScope> = ColumnSchemaBase<TInputScope>, const TRowSchema extends RowSchemaBase<TInputScope, TCellSchema> = RowSchemaBase<TInputScope, TCellSchema>>(inputSchemaFactory: SchemaFactoryAlpha<TInputScope>, _cellSchema: TCellSchema, columnSchema: TColumnSchema, rowSchema: TRowSchema): TreeNodeSchemaClass<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table">, NodeKind.Object, TreeNode & TableSchema.ITable<TCellSchema, TColumnSchema, TRowSchema> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table">, NodeKind, unknown>, object & {
124
+ 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/arrayNode.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/arrayNode.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/arrayNode.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/arrayNode.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/schemaTypes.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, unknown>)>;
125
+ 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/arrayNode.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/arrayNode.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/arrayNode.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/arrayNode.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/schemaTypes.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, unknown>)>;
126
+ }, true, {
127
+ 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/arrayNode.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>;
128
+ 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/arrayNode.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>;
129
+ }>;
130
+ /**
131
+ * Base row schema type.
132
+ * @sealed @system @internal
133
+ */
134
+ type TableSchemaBase<TScope extends string | undefined, TCell extends ImplicitAllowedTypes, TColumn extends ColumnSchemaBase<TScope> = ColumnSchemaBase<TScope>, TRow extends RowSchemaBase<TScope, TCell, ImplicitAllowedTypes> = RowSchemaBase<TScope, TCell, ImplicitAllowedTypes>> = ReturnType<typeof TableSchema.createTable<TScope, TCell, TColumn, TRow>>;
135
+ }
6
136
  /**
7
137
  * Contains types and factories for creating schema to represent dynamic tabular data.
8
138
  * @privateRemarks TODO: document in more detail and add `@example`s.
@@ -11,48 +141,46 @@ import { type ImplicitAllowedTypes, type InsertableTreeNodeFromImplicitAllowedTy
11
141
  export declare namespace TableSchema {
12
142
  /**
13
143
  * A column in a table.
14
- * @remarks Implemented by the schema class returned from {@link TableSchema.createColumn}.
144
+ * @remarks Implemented by the schema class returned from {@link TableSchema.(createColumn:2)}.
15
145
  * @sealed @internal
16
146
  */
17
- interface IColumn<TPropsSchema extends ImplicitAllowedTypes = ImplicitAllowedTypes> {
147
+ interface IColumn<TProps extends ImplicitAnnotatedFieldSchema = ImplicitAnnotatedFieldSchema> {
18
148
  /**
19
149
  * The unique identifier of the column.
20
150
  * @remarks Uniquely identifies the node within the entire tree, not just the table.
21
151
  */
22
152
  readonly id: string;
23
153
  /**
24
- * User-provided column properties.
154
+ * The column's properties.
155
+ * @remarks This is a user-defined schema that can be used to store additional information about the column.
156
+ * @privateRemarks
157
+ * Note: these docs are duplicated on the inline type definitions in {@link createColumn}.
158
+ * If you update the docs here, please also update the inline type definitions.
25
159
  */
26
- get props(): TreeNodeFromImplicitAllowedTypes<TPropsSchema>;
27
- set props(value: InsertableTreeNodeFromImplicitAllowedTypes<TPropsSchema>);
160
+ get props(): TreeFieldFromImplicitField<UnannotateImplicitFieldSchema<TProps>> | undefined;
161
+ set props(value: InsertableTreeFieldFromImplicitField<UnannotateImplicitFieldSchema<TProps>>);
28
162
  }
29
163
  /**
30
164
  * Factory for creating new table column schema.
31
- * @privateRemarks
32
- * TODO:
33
- * - Add overloads to make propsSchema optional.
34
- * - Take field schema rather than node schema for `propsSchema`, in particular to allow making
35
- * the additional properties optional.
36
165
  * @internal
37
166
  */
38
- function createColumn<const TInputScope extends string | undefined, const TPropsSchema extends ImplicitAllowedTypes>(inputSchemaFactory: SchemaFactoryAlpha<TInputScope>, propsSchema: TPropsSchema): TreeNodeSchemaClass<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Column">, NodeKind.Object, TreeNode & IColumn<TPropsSchema> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Column">, NodeKind, unknown>, object & {
39
- readonly id?: string | undefined;
40
- readonly props: InsertableTreeNodeFromImplicitAllowedTypes<TPropsSchema> | (undefined & InsertableTreeNodeFromImplicitAllowedTypes<TPropsSchema>);
41
- }, true, {
42
- readonly id: import("./simple-tree/schemaTypes.js").FieldSchema<import("./simple-tree/schemaTypes.js").FieldKind.Identifier, import("./simple-tree/leafNodeSchema.js").LeafSchema<"string", string>, unknown>;
43
- readonly props: import("./simple-tree/schemaTypes.js").FieldSchema<import("./simple-tree/schemaTypes.js").FieldKind.Required, TPropsSchema, unknown>;
44
- }>;
167
+ function createColumn<const TScope extends string | undefined>({ schemaFactory, }: System_TableSchema.CreateColumnOptionsBase<TScope>): ReturnType<typeof System_TableSchema.createColumnInternal<TScope, FieldSchema<FieldKind.Optional, typeof SchemaFactoryAlpha.null>>>;
45
168
  /**
46
- * Base column schema type.
47
- * @sealed @system @internal
169
+ * Factory for creating new table column schema.
170
+ * @internal
48
171
  */
49
- type ColumnSchemaBase<TScope extends string | undefined, TPropsSchema extends ImplicitAllowedTypes> = ReturnType<typeof createColumn<TScope, TPropsSchema>>;
172
+ function createColumn<const TScope extends string | undefined, const TProps extends ImplicitFieldSchema>({ schemaFactory, props, }: System_TableSchema.CreateColumnOptionsBase<TScope> & {
173
+ /**
174
+ * Optional column properties.
175
+ */
176
+ readonly props: TProps;
177
+ }): ReturnType<typeof System_TableSchema.createColumnInternal<TScope, TProps>>;
50
178
  /**
51
179
  * A row in a table.
52
- * @remarks Implemented by the schema class returned from {@link TableSchema.createRow}.
180
+ * @remarks Implemented by the schema class returned from {@link TableSchema.(createRow:2)}.
53
181
  * @sealed @internal
54
182
  */
55
- interface IRow<TCellSchema extends ImplicitAllowedTypes, TPropsSchema extends ImplicitAllowedTypes = ImplicitAllowedTypes> {
183
+ interface IRow<TCell extends ImplicitAllowedTypes, TProps extends ImplicitAnnotatedFieldSchema = ImplicitAnnotatedFieldSchema> {
56
184
  /**
57
185
  * The unique identifier of the row.
58
186
  * @remarks Uniquely identifies the node within the entire tree, not just the table.
@@ -62,22 +190,22 @@ export declare namespace TableSchema {
62
190
  * Gets the cell in the specified column.
63
191
  * @returns The cell if it exists, otherwise undefined.
64
192
  */
65
- getCell(column: IColumn): TreeNodeFromImplicitAllowedTypes<TCellSchema> | undefined;
193
+ getCell(column: IColumn): TreeNodeFromImplicitAllowedTypes<TCell> | undefined;
66
194
  /**
67
195
  * Gets the cell in the specified column, denoted by column ID.
68
196
  * @returns The cell if it exists, otherwise undefined.
69
197
  */
70
- getCell(columnId: string): TreeNodeFromImplicitAllowedTypes<TCellSchema> | undefined;
198
+ getCell(columnId: string): TreeNodeFromImplicitAllowedTypes<TCell> | undefined;
71
199
  /**
72
200
  * Sets the cell in the specified column.
73
201
  * @remarks To remove a cell, call {@link TableSchema.IRow.(removeCell:1)} instead.
74
202
  */
75
- setCell(column: IColumn, value: InsertableTreeNodeFromImplicitAllowedTypes<TCellSchema>): void;
203
+ setCell(column: IColumn, value: InsertableTreeNodeFromImplicitAllowedTypes<TCell>): void;
76
204
  /**
77
205
  * Sets the cell in the specified column, denoted by column ID.
78
206
  * @remarks To remove a cell, call {@link TableSchema.IRow.(removeCell:2)} instead.
79
207
  */
80
- setCell(columnId: string, value: InsertableTreeNodeFromImplicitAllowedTypes<TCellSchema>): void;
208
+ setCell(columnId: string, value: InsertableTreeNodeFromImplicitAllowedTypes<TCell>): void;
81
209
  /**
82
210
  * Removes the cell in the specified column.
83
211
  * @privateRemarks TODO: return removed cell
@@ -89,39 +217,33 @@ export declare namespace TableSchema {
89
217
  */
90
218
  removeCell(columnId: string): void;
91
219
  /**
92
- * User-provided row properties.
220
+ * The row's properties.
221
+ * @remarks This is a user-defined schema that can be used to store additional information about the row.
222
+ * @privateRemarks
223
+ * Note: these docs are duplicated on the inline type definitions in {@link createColumn}.
224
+ * If you update the docs here, please also update the inline type definitions.
93
225
  */
94
- get props(): TreeNodeFromImplicitAllowedTypes<TPropsSchema>;
95
- set props(value: InsertableTreeNodeFromImplicitAllowedTypes<TPropsSchema>);
226
+ get props(): TreeFieldFromImplicitField<UnannotateImplicitFieldSchema<TProps>>;
227
+ set props(value: InsertableTreeFieldFromImplicitField<UnannotateImplicitFieldSchema<TProps>>);
96
228
  }
97
229
  /**
98
- * Factory for creating new table row schema.
99
- *
100
- * @privateRemarks
101
- * TODO:
102
- * - Add overloads to make propsSchema optional.
103
- * - Take field schema rather than node schema for `propsSchema`, in particular to allow making
104
- * the additional properties optional.
105
- *
106
- * @sealed @internal
230
+ * Factory for creating new table column schema.
231
+ * @internal
107
232
  */
108
- function createRow<const TInputScope extends string | undefined, const TCellSchema extends ImplicitAllowedTypes, const TPropsSchema extends ImplicitAllowedTypes>(inputSchemaFactory: SchemaFactoryAlpha<TInputScope>, cellSchema: TCellSchema, propsSchema: TPropsSchema): TreeNodeSchemaClass<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row">, NodeKind.Object, TreeNode & IRow<TCellSchema, TPropsSchema> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row">, NodeKind, unknown>, object & {
109
- readonly id?: string | undefined;
110
- readonly cells: (import("./simple-tree/schemaTypes.js").InsertableTypedNode<import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Map, true, TCellSchema, import("./simple-tree/mapNode.js").MapNodeInsertableData<TCellSchema>, unknown> & (new (data?: import("./simple-tree/index.js").InternalTreeNode | import("./simple-tree/mapNode.js").MapNodeInsertableData<TCellSchema> | undefined) => import("./simple-tree/mapNode.js").TreeMapNode<TCellSchema> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Map, unknown>), import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Map, true, TCellSchema, import("./simple-tree/mapNode.js").MapNodeInsertableData<TCellSchema>, unknown> & (new (data?: import("./simple-tree/index.js").InternalTreeNode | import("./simple-tree/mapNode.js").MapNodeInsertableData<TCellSchema> | undefined) => import("./simple-tree/mapNode.js").TreeMapNode<TCellSchema> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Map, unknown>)> | undefined) & import("./simple-tree/schemaTypes.js").InsertableTypedNode<import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Map, true, TCellSchema, import("./simple-tree/mapNode.js").MapNodeInsertableData<TCellSchema>, unknown> & (new (data?: import("./simple-tree/index.js").InternalTreeNode | import("./simple-tree/mapNode.js").MapNodeInsertableData<TCellSchema> | undefined) => import("./simple-tree/mapNode.js").TreeMapNode<TCellSchema> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Map, unknown>), import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Map, true, TCellSchema, import("./simple-tree/mapNode.js").MapNodeInsertableData<TCellSchema>, unknown> & (new (data?: import("./simple-tree/index.js").InternalTreeNode | import("./simple-tree/mapNode.js").MapNodeInsertableData<TCellSchema> | undefined) => import("./simple-tree/mapNode.js").TreeMapNode<TCellSchema> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Map, unknown>)>;
111
- readonly props: InsertableTreeNodeFromImplicitAllowedTypes<TPropsSchema> | (undefined & InsertableTreeNodeFromImplicitAllowedTypes<TPropsSchema>);
112
- }, true, {
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>;
114
- readonly cells: TreeNodeSchemaClass<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Map, import("./simple-tree/mapNode.js").TreeMapNode<TCellSchema> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Map, unknown>, import("./simple-tree/mapNode.js").MapNodeInsertableData<TCellSchema>, true, TCellSchema, undefined>;
115
- readonly props: import("./simple-tree/schemaTypes.js").FieldSchema<import("./simple-tree/schemaTypes.js").FieldKind.Required, TPropsSchema, unknown>;
116
- }>;
233
+ function createRow<const TScope extends string | undefined, const TCell extends ImplicitAllowedTypes>({ schemaFactory, cell, }: System_TableSchema.CreateRowOptionsBase<TScope, TCell>): ReturnType<typeof System_TableSchema.createRowInternal<TScope, TCell, FieldSchema<FieldKind.Optional, typeof SchemaFactoryAlpha.null>>>;
117
234
  /**
118
- * Base row schema type.
119
- * @sealed @system @internal
235
+ * Factory for creating new table column schema.
236
+ * @internal
120
237
  */
121
- type RowSchemaBase<TScope extends string | undefined, TCellSchema extends ImplicitAllowedTypes, TPropsSchema extends ImplicitAllowedTypes> = ReturnType<typeof createRow<TScope, TCellSchema, TPropsSchema>>;
238
+ function createRow<const TScope extends string | undefined, const TCell extends ImplicitAllowedTypes, const TProps extends ImplicitFieldSchema>({ schemaFactory, cell, props, }: System_TableSchema.CreateRowOptionsBase<TScope, TCell> & {
239
+ /**
240
+ * Optional row properties.
241
+ */
242
+ readonly props: TProps;
243
+ }): ReturnType<typeof System_TableSchema.createRowInternal<TScope, TCell, TProps>>;
122
244
  /**
123
245
  * A key to uniquely identify a cell in a table.
124
- * @sealed @internal
246
+ * @internal
125
247
  */
126
248
  interface CellKey {
127
249
  /**
@@ -135,7 +257,7 @@ export declare namespace TableSchema {
135
257
  }
136
258
  /**
137
259
  * {@link TableSchema.ITable.insertColumn} parameters.
138
- * @sealed @internal
260
+ * @internal
139
261
  */
140
262
  interface InsertColumnParameters<TInsertableColumn> {
141
263
  /**
@@ -150,7 +272,7 @@ export declare namespace TableSchema {
150
272
  }
151
273
  /**
152
274
  * {@link TableSchema.ITable.insertRows} parameters.
153
- * @sealed @internal
275
+ * @internal
154
276
  */
155
277
  interface InsertRowsParameters<TInsertableRow> {
156
278
  /**
@@ -165,7 +287,7 @@ export declare namespace TableSchema {
165
287
  }
166
288
  /**
167
289
  * {@link TableSchema.ITable.setCell} parameters.
168
- * @sealed @internal
290
+ * @internal
169
291
  */
170
292
  interface SetCellParameters<TInsertableCell> {
171
293
  /**
@@ -181,45 +303,45 @@ export declare namespace TableSchema {
181
303
  * A table.
182
304
  * @sealed @internal
183
305
  */
184
- interface ITable<TCellSchema extends ImplicitAllowedTypes, TColumnSchema extends ImplicitAllowedTypes, TRowSchema extends ImplicitAllowedTypes> {
306
+ interface ITable<TCell extends ImplicitAllowedTypes, TColumn extends ImplicitAllowedTypes, TRow extends ImplicitAllowedTypes> {
185
307
  /**
186
308
  * The table's columns.
187
309
  */
188
- readonly columns: TreeArrayNode<TColumnSchema>;
310
+ readonly columns: TreeArrayNode<TColumn>;
189
311
  /**
190
312
  * The table's rows.
191
313
  */
192
- readonly rows: TreeArrayNode<TRowSchema>;
314
+ readonly rows: TreeArrayNode<TRow>;
193
315
  /**
194
316
  * Gets a table column by its {@link TableSchema.IRow.id}.
195
317
  */
196
- getColumn(id: string): TreeNodeFromImplicitAllowedTypes<TColumnSchema> | undefined;
318
+ getColumn(id: string): TreeNodeFromImplicitAllowedTypes<TColumn> | undefined;
197
319
  /**
198
320
  * Gets a table row by its {@link TableSchema.IRow.id}.
199
321
  */
200
- getRow(id: string): TreeNodeFromImplicitAllowedTypes<TRowSchema> | undefined;
322
+ getRow(id: string): TreeNodeFromImplicitAllowedTypes<TRow> | undefined;
201
323
  /**
202
324
  * Gets a cell in the table by column and row IDs.
203
325
  * @param key - A key that uniquely distinguishes a cell in the table, represented as a combination of the column ID and row ID.
204
326
  * @privateRemarks TODO: add overload that takes row and column nodes.
205
327
  */
206
- getCell(key: CellKey): TreeNodeFromImplicitAllowedTypes<TCellSchema> | undefined;
328
+ getCell(key: CellKey): TreeNodeFromImplicitAllowedTypes<TCell> | undefined;
207
329
  /**
208
330
  * Inserts a column into the table.
209
331
  * @throws Throws an error if the column is already in the tree, or if the specified index is out of range.
210
332
  */
211
- insertColumn(params: InsertColumnParameters<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>>): TreeNodeFromImplicitAllowedTypes<TColumnSchema>;
333
+ insertColumn(params: InsertColumnParameters<InsertableTreeNodeFromImplicitAllowedTypes<TColumn>>): TreeNodeFromImplicitAllowedTypes<TColumn>;
212
334
  /**
213
335
  * Inserts 0 or more rows into the table.
214
336
  * @throws Throws an error if any of the rows are already in the tree, or if the specified index is out of range.
215
337
  */
216
- insertRows(params: InsertRowsParameters<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>>): TreeNodeFromImplicitAllowedTypes<TRowSchema>[];
338
+ insertRows(params: InsertRowsParameters<InsertableTreeNodeFromImplicitAllowedTypes<TRow>>): TreeNodeFromImplicitAllowedTypes<TRow>[];
217
339
  /**
218
340
  * Sets the cell at the specified location in the table.
219
341
  * @remarks To remove a cell, call {@link TableSchema.ITable.removeCell} instead.
220
342
  * @privateRemarks TODO: add overload that takes column/row nodes?
221
343
  */
222
- setCell(params: SetCellParameters<InsertableTreeNodeFromImplicitAllowedTypes<TCellSchema>>): void;
344
+ setCell(params: SetCellParameters<InsertableTreeNodeFromImplicitAllowedTypes<TCell>>): void;
223
345
  /**
224
346
  * Removes the specified column from the table.
225
347
  * @remarks Note: this does not remove any cells from the table's rows.
@@ -228,12 +350,12 @@ export declare namespace TableSchema {
228
350
  * - Policy for when the column is not in the table.
229
351
  * - Actually remove corresponding cells from table rows.
230
352
  */
231
- removeColumn: (column: TreeNodeFromImplicitAllowedTypes<TColumnSchema>) => void;
353
+ removeColumn: (column: TreeNodeFromImplicitAllowedTypes<TColumn>) => void;
232
354
  /**
233
355
  * Removes 0 or more rows from the table.
234
356
  * @privateRemarks TODO: policy for when 1 or more rows are not in the table.
235
357
  */
236
- removeRows: (rows: readonly TreeNodeFromImplicitAllowedTypes<TRowSchema>[]) => void;
358
+ removeRows: (rows: readonly TreeNodeFromImplicitAllowedTypes<TRow>[]) => void;
237
359
  /**
238
360
  * Removes all rows from the table.
239
361
  */
@@ -248,32 +370,21 @@ export declare namespace TableSchema {
248
370
  * Factory for creating new table schema without specifying row or column schema.
249
371
  * @internal
250
372
  */
251
- function createTable<const TInputScope extends string | undefined, const TCell extends ImplicitAllowedTypes>(inputSchemaFactory: SchemaFactoryAlpha<TInputScope>, _cellSchema: TCell): ReturnType<typeof createTableInternal<TInputScope, TCell>>;
373
+ function createTable<const TScope extends string | undefined, const TCell extends ImplicitAllowedTypes>({ schemaFactory, cell, }: System_TableSchema.TableFactoryOptionsBase<TScope, TCell>): ReturnType<typeof System_TableSchema.createTableInternal<TScope, TCell>>;
252
374
  /**
253
- * Factory for creating new table schema without specifying row schema
375
+ * Factory for creating new table schema without specifying row schema.
254
376
  * @internal
255
377
  */
256
- function createTable<const TInputScope extends string | undefined, const TCell extends ImplicitAllowedTypes, const TColumn extends ColumnSchemaBase<TInputScope, ImplicitAllowedTypes>>(inputSchemaFactory: SchemaFactoryAlpha<TInputScope>, _cellSchema: TCell, columnSchema: TColumn): ReturnType<typeof createTableInternal<TInputScope, TCell, TColumn>>;
378
+ function createTable<const TScope extends string | undefined, const TCell extends ImplicitAllowedTypes, const TColumn extends System_TableSchema.ColumnSchemaBase<TScope>>({ schemaFactory, cell, column, }: System_TableSchema.TableFactoryOptionsBase<TScope, TCell> & {
379
+ readonly column: TColumn;
380
+ }): ReturnType<typeof System_TableSchema.createTableInternal<TScope, TCell, TColumn>>;
257
381
  /**
258
382
  * Factory for creating new table schema.
259
383
  * @internal
260
384
  */
261
- function createTable<const TInputScope extends string | undefined, const TCell extends ImplicitAllowedTypes, const TColumn extends ColumnSchemaBase<TInputScope, ImplicitAllowedTypes>, const TRow extends RowSchemaBase<TInputScope, TCell, ImplicitAllowedTypes>>(inputSchemaFactory: SchemaFactoryAlpha<TInputScope>, _cellSchema: TCell, columnSchema: TColumn, rowSchema: TRow): ReturnType<typeof createTableInternal<TInputScope, TCell, TColumn, TRow>>;
262
- /**
263
- * Factory for creating new table schema.
264
- * @system @internal
265
- */
266
- function createTableInternal<const TInputScope extends string | undefined, const TCell extends ImplicitAllowedTypes, const TColumn extends ColumnSchemaBase<TInputScope, ImplicitAllowedTypes> = ColumnSchemaBase<TInputScope, ImplicitAllowedTypes>, const TRow extends RowSchemaBase<TInputScope, TCell, ImplicitAllowedTypes> = RowSchemaBase<TInputScope, TCell, ImplicitAllowedTypes>>(inputSchemaFactory: SchemaFactoryAlpha<TInputScope>, _cellSchema: TCell, columnSchema: TColumn, rowSchema: TRow): TreeNodeSchemaClass<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table">, NodeKind.Object, TreeNode & ITable<TCell, TColumn, TRow> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table">, NodeKind, unknown>, object & {
267
- readonly rows: (import("./simple-tree/schemaTypes.js").InsertableTypedNode<import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, true, TRow, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRow>>, unknown> & (new (data?: import("./simple-tree/index.js").InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRow>> | undefined) => TreeArrayNode<TRow, [TRow] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TRow> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TRow] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TRow> : never, import("./simple-tree/arrayNode.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, TRow, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRow>>, unknown> & (new (data?: import("./simple-tree/index.js").InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRow>> | undefined) => TreeArrayNode<TRow, [TRow] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TRow> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TRow] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TRow> : never, import("./simple-tree/arrayNode.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, TRow, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRow>>, unknown> & (new (data?: import("./simple-tree/index.js").InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRow>> | undefined) => TreeArrayNode<TRow, [TRow] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TRow> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TRow] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TRow> : never, import("./simple-tree/arrayNode.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, TRow, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRow>>, unknown> & (new (data?: import("./simple-tree/index.js").InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRow>> | undefined) => TreeArrayNode<TRow, [TRow] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TRow> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TRow] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TRow> : never, import("./simple-tree/arrayNode.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/schemaTypes.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, unknown>)>;
268
- readonly columns: (import("./simple-tree/schemaTypes.js").InsertableTypedNode<import("./simple-tree/index.js").TreeNodeSchemaCore<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, true, TColumn, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumn>>, unknown> & (new (data?: import("./simple-tree/index.js").InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumn>> | undefined) => TreeArrayNode<TColumn, [TColumn] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TColumn> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TColumn] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TColumn> : never, import("./simple-tree/arrayNode.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, TColumn, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumn>>, unknown> & (new (data?: import("./simple-tree/index.js").InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumn>> | undefined) => TreeArrayNode<TColumn, [TColumn] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TColumn> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TColumn] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TColumn> : never, import("./simple-tree/arrayNode.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, TColumn, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumn>>, unknown> & (new (data?: import("./simple-tree/index.js").InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumn>> | undefined) => TreeArrayNode<TColumn, [TColumn] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TColumn> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TColumn] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TColumn> : never, import("./simple-tree/arrayNode.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, TColumn, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumn>>, unknown> & (new (data?: import("./simple-tree/index.js").InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumn>> | undefined) => TreeArrayNode<TColumn, [TColumn] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TColumn> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TColumn] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TColumn> : never, import("./simple-tree/arrayNode.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/schemaTypes.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, unknown>)>;
269
- }, true, {
270
- readonly rows: TreeNodeSchemaClass<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, TreeArrayNode<TRow, [TRow] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TRow> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TRow] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TRow> : never, import("./simple-tree/arrayNode.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/schemaTypes.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.rows">, NodeKind.Array, unknown>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRow>>, true, TRow, undefined>;
271
- readonly columns: TreeNodeSchemaClass<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, TreeArrayNode<TColumn, [TColumn] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TColumn> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TColumn] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TColumn> : never, import("./simple-tree/arrayNode.js").ReadonlyArrayNode<TreeNode | import("./simple-tree/schemaTypes.js").TreeLeafValue>> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table.columns">, NodeKind.Array, unknown>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumn>>, true, TColumn, undefined>;
272
- }>;
273
- /**
274
- * Base row schema type.
275
- * @sealed @system @internal
276
- */
277
- type TableSchemaBase<TScope extends string | undefined, TCell extends ImplicitAllowedTypes, TColumn extends ColumnSchemaBase<TScope, ImplicitAllowedTypes> = ColumnSchemaBase<TScope, ImplicitAllowedTypes>, TRow extends RowSchemaBase<TScope, TCell, ImplicitAllowedTypes> = RowSchemaBase<TScope, TCell, ImplicitAllowedTypes>> = ReturnType<typeof createTable<TScope, TCell, TColumn, TRow>>;
385
+ function createTable<const TScope extends string | undefined, const TCell extends ImplicitAllowedTypes, const TColumn extends System_TableSchema.ColumnSchemaBase<TScope>, const TRow extends System_TableSchema.RowSchemaBase<TScope, TCell>>({ schemaFactory, cell, column, row, }: System_TableSchema.TableFactoryOptionsBase<TScope, TCell> & {
386
+ readonly column: TColumn;
387
+ readonly row: TRow;
388
+ }): ReturnType<typeof System_TableSchema.createTableInternal<TScope, TCell, TColumn, TRow>>;
278
389
  }
279
390
  //# sourceMappingURL=tableSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tableSchema.d.ts","sourceRoot":"","sources":["../src/tableSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tableSchema.d.ts","sourceRoot":"","sources":["../src/tableSchema.ts"],"names":[],"mappings":"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"}