@fluidframework/tree 2.32.0 → 2.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/api-report/tree.alpha.api.md +169 -192
  3. package/api-report/tree.beta.api.md +135 -164
  4. package/api-report/tree.legacy.alpha.api.md +138 -167
  5. package/api-report/tree.legacy.public.api.md +135 -164
  6. package/api-report/tree.public.api.md +135 -164
  7. package/dist/alpha.d.ts +3 -11
  8. package/dist/beta.d.ts +2 -11
  9. package/dist/core/index.d.ts +1 -1
  10. package/dist/core/index.d.ts.map +1 -1
  11. package/dist/core/index.js +1 -2
  12. package/dist/core/index.js.map +1 -1
  13. package/dist/core/schema-stored/index.d.ts +1 -1
  14. package/dist/core/schema-stored/index.d.ts.map +1 -1
  15. package/dist/core/schema-stored/index.js +1 -2
  16. package/dist/core/schema-stored/index.js.map +1 -1
  17. package/dist/core/schema-stored/schema.d.ts +4 -11
  18. package/dist/core/schema-stored/schema.d.ts.map +1 -1
  19. package/dist/core/schema-stored/schema.js +7 -14
  20. package/dist/core/schema-stored/schema.js.map +1 -1
  21. package/dist/core/tree/anchorSet.d.ts.map +1 -1
  22. package/dist/core/tree/anchorSet.js +31 -24
  23. package/dist/core/tree/anchorSet.js.map +1 -1
  24. package/dist/core/tree/deltaUtil.d.ts +1 -4
  25. package/dist/core/tree/deltaUtil.d.ts.map +1 -1
  26. package/dist/core/tree/deltaUtil.js +1 -13
  27. package/dist/core/tree/deltaUtil.js.map +1 -1
  28. package/dist/core/tree/visitDelta.d.ts +6 -29
  29. package/dist/core/tree/visitDelta.d.ts.map +1 -1
  30. package/dist/core/tree/visitDelta.js +11 -50
  31. package/dist/core/tree/visitDelta.js.map +1 -1
  32. package/dist/core/tree/visitorUtils.d.ts +12 -9
  33. package/dist/core/tree/visitorUtils.d.ts.map +1 -1
  34. package/dist/core/tree/visitorUtils.js +19 -32
  35. package/dist/core/tree/visitorUtils.js.map +1 -1
  36. package/dist/feature-libraries/chunked-forest/chunkedForest.d.ts.map +1 -1
  37. package/dist/feature-libraries/chunked-forest/chunkedForest.js +6 -11
  38. package/dist/feature-libraries/chunked-forest/chunkedForest.js.map +1 -1
  39. package/dist/feature-libraries/chunked-forest/codec/compressedEncode.d.ts +1 -1
  40. package/dist/feature-libraries/chunked-forest/codec/compressedEncode.d.ts.map +1 -1
  41. package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -1
  42. package/dist/feature-libraries/chunked-forest/codec/nodeShape.d.ts +41 -5
  43. package/dist/feature-libraries/chunked-forest/codec/nodeShape.d.ts.map +1 -1
  44. package/dist/feature-libraries/chunked-forest/codec/nodeShape.js +43 -26
  45. package/dist/feature-libraries/chunked-forest/codec/nodeShape.js.map +1 -1
  46. package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncode.js +1 -1
  47. package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncode.js.map +1 -1
  48. package/dist/feature-libraries/flex-tree/context.d.ts +5 -0
  49. package/dist/feature-libraries/flex-tree/context.d.ts.map +1 -1
  50. package/dist/feature-libraries/flex-tree/context.js +4 -0
  51. package/dist/feature-libraries/flex-tree/context.js.map +1 -1
  52. package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts +8 -0
  53. package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -1
  54. package/dist/feature-libraries/flex-tree/flexTreeTypes.js +8 -0
  55. package/dist/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -1
  56. package/dist/feature-libraries/indexing/anchorTreeIndex.d.ts.map +1 -1
  57. package/dist/feature-libraries/indexing/anchorTreeIndex.js +15 -22
  58. package/dist/feature-libraries/indexing/anchorTreeIndex.js.map +1 -1
  59. package/dist/feature-libraries/node-identifier/nodeIdentifierManager.d.ts.map +1 -1
  60. package/dist/feature-libraries/node-identifier/nodeIdentifierManager.js +29 -25
  61. package/dist/feature-libraries/node-identifier/nodeIdentifierManager.js.map +1 -1
  62. package/dist/feature-libraries/object-forest/objectForest.d.ts.map +1 -1
  63. package/dist/feature-libraries/object-forest/objectForest.js +1 -7
  64. package/dist/feature-libraries/object-forest/objectForest.js.map +1 -1
  65. package/dist/feature-libraries/schema-index/codec.d.ts.map +1 -1
  66. package/dist/feature-libraries/schema-index/codec.js +1 -1
  67. package/dist/feature-libraries/schema-index/codec.js.map +1 -1
  68. package/dist/index.d.ts +1 -1
  69. package/dist/index.d.ts.map +1 -1
  70. package/dist/index.js +3 -2
  71. package/dist/index.js.map +1 -1
  72. package/dist/internalTypes.d.ts +1 -1
  73. package/dist/internalTypes.d.ts.map +1 -1
  74. package/dist/internalTypes.js.map +1 -1
  75. package/dist/jsonDomainSchema.d.ts +6 -6
  76. package/dist/jsonDomainSchema.d.ts.map +1 -1
  77. package/dist/jsonDomainSchema.js.map +1 -1
  78. package/dist/legacy.d.ts +2 -11
  79. package/dist/packageVersion.d.ts +1 -1
  80. package/dist/packageVersion.js +1 -1
  81. package/dist/packageVersion.js.map +1 -1
  82. package/dist/public.d.ts +2 -11
  83. package/dist/serializableDomainSchema.d.ts +5 -5
  84. package/dist/shared-tree/checkoutFlexTreeView.d.ts +1 -0
  85. package/dist/shared-tree/checkoutFlexTreeView.d.ts.map +1 -1
  86. package/dist/shared-tree/checkoutFlexTreeView.js +4 -0
  87. package/dist/shared-tree/checkoutFlexTreeView.js.map +1 -1
  88. package/dist/shared-tree/index.d.ts +3 -2
  89. package/dist/shared-tree/index.d.ts.map +1 -1
  90. package/dist/shared-tree/index.js +2 -2
  91. package/dist/shared-tree/index.js.map +1 -1
  92. package/dist/shared-tree/sharedTree.d.ts +4 -35
  93. package/dist/shared-tree/sharedTree.d.ts.map +1 -1
  94. package/dist/shared-tree/sharedTree.js +4 -54
  95. package/dist/shared-tree/sharedTree.js.map +1 -1
  96. package/dist/simple-tree/api/index.d.ts +2 -1
  97. package/dist/simple-tree/api/index.d.ts.map +1 -1
  98. package/dist/simple-tree/api/index.js +3 -1
  99. package/dist/simple-tree/api/index.js.map +1 -1
  100. package/dist/simple-tree/api/schemaFactory.d.ts +28 -28
  101. package/dist/simple-tree/api/schemaFactory.d.ts.map +1 -1
  102. package/dist/simple-tree/api/schemaFactory.js +11 -11
  103. package/dist/simple-tree/api/schemaFactory.js.map +1 -1
  104. package/dist/simple-tree/api/schemaFactoryAlpha.d.ts +6 -7
  105. package/dist/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
  106. package/dist/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
  107. package/dist/simple-tree/api/schemaFactoryRecursive.d.ts +24 -5
  108. package/dist/simple-tree/api/schemaFactoryRecursive.d.ts.map +1 -1
  109. package/dist/simple-tree/api/schemaFactoryRecursive.js +14 -1
  110. package/dist/simple-tree/api/schemaFactoryRecursive.js.map +1 -1
  111. package/dist/simple-tree/api/testRecursiveDomain.d.ts +10 -10
  112. package/dist/simple-tree/api/tree.d.ts +1 -14
  113. package/dist/simple-tree/api/tree.d.ts.map +1 -1
  114. package/dist/simple-tree/api/tree.js.map +1 -1
  115. package/dist/simple-tree/api/typesUnsafe.d.ts +237 -220
  116. package/dist/simple-tree/api/typesUnsafe.d.ts.map +1 -1
  117. package/dist/simple-tree/api/typesUnsafe.js.map +1 -1
  118. package/dist/simple-tree/arrayNode.d.ts +2 -2
  119. package/dist/simple-tree/arrayNode.d.ts.map +1 -1
  120. package/dist/simple-tree/arrayNode.js.map +1 -1
  121. package/dist/simple-tree/core/treeNodeKernel.d.ts +9 -2
  122. package/dist/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
  123. package/dist/simple-tree/core/treeNodeKernel.js +39 -24
  124. package/dist/simple-tree/core/treeNodeKernel.js.map +1 -1
  125. package/dist/simple-tree/core/types.d.ts +14 -4
  126. package/dist/simple-tree/core/types.d.ts.map +1 -1
  127. package/dist/simple-tree/core/types.js +14 -4
  128. package/dist/simple-tree/core/types.js.map +1 -1
  129. package/dist/simple-tree/core/unhydratedFlexTree.d.ts +2 -1
  130. package/dist/simple-tree/core/unhydratedFlexTree.d.ts.map +1 -1
  131. package/dist/simple-tree/core/unhydratedFlexTree.js +3 -0
  132. package/dist/simple-tree/core/unhydratedFlexTree.js.map +1 -1
  133. package/dist/simple-tree/index.d.ts +1 -1
  134. package/dist/simple-tree/index.d.ts.map +1 -1
  135. package/dist/simple-tree/index.js +3 -2
  136. package/dist/simple-tree/index.js.map +1 -1
  137. package/dist/simple-tree/objectNode.d.ts +9 -2
  138. package/dist/simple-tree/objectNode.d.ts.map +1 -1
  139. package/dist/simple-tree/objectNode.js +3 -0
  140. package/dist/simple-tree/objectNode.js.map +1 -1
  141. package/dist/simple-tree/schemaTypes.d.ts +10 -5
  142. package/dist/simple-tree/schemaTypes.d.ts.map +1 -1
  143. package/dist/simple-tree/schemaTypes.js +5 -2
  144. package/dist/simple-tree/schemaTypes.js.map +1 -1
  145. package/dist/tableSchema.d.ts +78 -26
  146. package/dist/tableSchema.d.ts.map +1 -1
  147. package/dist/tableSchema.js +53 -24
  148. package/dist/tableSchema.js.map +1 -1
  149. package/dist/treeFactory.d.ts +6 -12
  150. package/dist/treeFactory.d.ts.map +1 -1
  151. package/dist/treeFactory.js +56 -5
  152. package/dist/treeFactory.js.map +1 -1
  153. package/lib/alpha.d.ts +3 -11
  154. package/lib/beta.d.ts +2 -11
  155. package/lib/core/index.d.ts +1 -1
  156. package/lib/core/index.d.ts.map +1 -1
  157. package/lib/core/index.js +1 -1
  158. package/lib/core/index.js.map +1 -1
  159. package/lib/core/schema-stored/index.d.ts +1 -1
  160. package/lib/core/schema-stored/index.d.ts.map +1 -1
  161. package/lib/core/schema-stored/index.js +1 -1
  162. package/lib/core/schema-stored/index.js.map +1 -1
  163. package/lib/core/schema-stored/schema.d.ts +4 -11
  164. package/lib/core/schema-stored/schema.d.ts.map +1 -1
  165. package/lib/core/schema-stored/schema.js +6 -12
  166. package/lib/core/schema-stored/schema.js.map +1 -1
  167. package/lib/core/tree/anchorSet.d.ts.map +1 -1
  168. package/lib/core/tree/anchorSet.js +31 -24
  169. package/lib/core/tree/anchorSet.js.map +1 -1
  170. package/lib/core/tree/deltaUtil.d.ts +1 -4
  171. package/lib/core/tree/deltaUtil.d.ts.map +1 -1
  172. package/lib/core/tree/deltaUtil.js +0 -9
  173. package/lib/core/tree/deltaUtil.js.map +1 -1
  174. package/lib/core/tree/visitDelta.d.ts +6 -29
  175. package/lib/core/tree/visitDelta.d.ts.map +1 -1
  176. package/lib/core/tree/visitDelta.js +12 -51
  177. package/lib/core/tree/visitDelta.js.map +1 -1
  178. package/lib/core/tree/visitorUtils.d.ts +12 -9
  179. package/lib/core/tree/visitorUtils.d.ts.map +1 -1
  180. package/lib/core/tree/visitorUtils.js +19 -32
  181. package/lib/core/tree/visitorUtils.js.map +1 -1
  182. package/lib/feature-libraries/chunked-forest/chunkedForest.d.ts.map +1 -1
  183. package/lib/feature-libraries/chunked-forest/chunkedForest.js +6 -11
  184. package/lib/feature-libraries/chunked-forest/chunkedForest.js.map +1 -1
  185. package/lib/feature-libraries/chunked-forest/codec/compressedEncode.d.ts +1 -1
  186. package/lib/feature-libraries/chunked-forest/codec/compressedEncode.d.ts.map +1 -1
  187. package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -1
  188. package/lib/feature-libraries/chunked-forest/codec/nodeShape.d.ts +41 -5
  189. package/lib/feature-libraries/chunked-forest/codec/nodeShape.d.ts.map +1 -1
  190. package/lib/feature-libraries/chunked-forest/codec/nodeShape.js +43 -26
  191. package/lib/feature-libraries/chunked-forest/codec/nodeShape.js.map +1 -1
  192. package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncode.js +1 -1
  193. package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncode.js.map +1 -1
  194. package/lib/feature-libraries/flex-tree/context.d.ts +5 -0
  195. package/lib/feature-libraries/flex-tree/context.d.ts.map +1 -1
  196. package/lib/feature-libraries/flex-tree/context.js +5 -1
  197. package/lib/feature-libraries/flex-tree/context.js.map +1 -1
  198. package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts +8 -0
  199. package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -1
  200. package/lib/feature-libraries/flex-tree/flexTreeTypes.js +8 -0
  201. package/lib/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -1
  202. package/lib/feature-libraries/indexing/anchorTreeIndex.d.ts.map +1 -1
  203. package/lib/feature-libraries/indexing/anchorTreeIndex.js +15 -22
  204. package/lib/feature-libraries/indexing/anchorTreeIndex.js.map +1 -1
  205. package/lib/feature-libraries/node-identifier/nodeIdentifierManager.d.ts.map +1 -1
  206. package/lib/feature-libraries/node-identifier/nodeIdentifierManager.js +28 -24
  207. package/lib/feature-libraries/node-identifier/nodeIdentifierManager.js.map +1 -1
  208. package/lib/feature-libraries/object-forest/objectForest.d.ts.map +1 -1
  209. package/lib/feature-libraries/object-forest/objectForest.js +1 -7
  210. package/lib/feature-libraries/object-forest/objectForest.js.map +1 -1
  211. package/lib/feature-libraries/schema-index/codec.d.ts.map +1 -1
  212. package/lib/feature-libraries/schema-index/codec.js +2 -2
  213. package/lib/feature-libraries/schema-index/codec.js.map +1 -1
  214. package/lib/index.d.ts +1 -1
  215. package/lib/index.d.ts.map +1 -1
  216. package/lib/index.js +1 -1
  217. package/lib/index.js.map +1 -1
  218. package/lib/internalTypes.d.ts +1 -1
  219. package/lib/internalTypes.d.ts.map +1 -1
  220. package/lib/internalTypes.js.map +1 -1
  221. package/lib/jsonDomainSchema.d.ts +6 -6
  222. package/lib/jsonDomainSchema.d.ts.map +1 -1
  223. package/lib/jsonDomainSchema.js.map +1 -1
  224. package/lib/legacy.d.ts +2 -11
  225. package/lib/packageVersion.d.ts +1 -1
  226. package/lib/packageVersion.js +1 -1
  227. package/lib/packageVersion.js.map +1 -1
  228. package/lib/public.d.ts +2 -11
  229. package/lib/serializableDomainSchema.d.ts +5 -5
  230. package/lib/shared-tree/checkoutFlexTreeView.d.ts +1 -0
  231. package/lib/shared-tree/checkoutFlexTreeView.d.ts.map +1 -1
  232. package/lib/shared-tree/checkoutFlexTreeView.js +4 -0
  233. package/lib/shared-tree/checkoutFlexTreeView.js.map +1 -1
  234. package/lib/shared-tree/index.d.ts +3 -2
  235. package/lib/shared-tree/index.d.ts.map +1 -1
  236. package/lib/shared-tree/index.js +1 -1
  237. package/lib/shared-tree/index.js.map +1 -1
  238. package/lib/shared-tree/sharedTree.d.ts +4 -35
  239. package/lib/shared-tree/sharedTree.d.ts.map +1 -1
  240. package/lib/shared-tree/sharedTree.js +2 -51
  241. package/lib/shared-tree/sharedTree.js.map +1 -1
  242. package/lib/simple-tree/api/index.d.ts +2 -1
  243. package/lib/simple-tree/api/index.d.ts.map +1 -1
  244. package/lib/simple-tree/api/index.js +1 -0
  245. package/lib/simple-tree/api/index.js.map +1 -1
  246. package/lib/simple-tree/api/schemaFactory.d.ts +28 -28
  247. package/lib/simple-tree/api/schemaFactory.d.ts.map +1 -1
  248. package/lib/simple-tree/api/schemaFactory.js +11 -11
  249. package/lib/simple-tree/api/schemaFactory.js.map +1 -1
  250. package/lib/simple-tree/api/schemaFactoryAlpha.d.ts +6 -7
  251. package/lib/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
  252. package/lib/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
  253. package/lib/simple-tree/api/schemaFactoryRecursive.d.ts +24 -5
  254. package/lib/simple-tree/api/schemaFactoryRecursive.d.ts.map +1 -1
  255. package/lib/simple-tree/api/schemaFactoryRecursive.js +12 -0
  256. package/lib/simple-tree/api/schemaFactoryRecursive.js.map +1 -1
  257. package/lib/simple-tree/api/testRecursiveDomain.d.ts +10 -10
  258. package/lib/simple-tree/api/tree.d.ts +1 -14
  259. package/lib/simple-tree/api/tree.d.ts.map +1 -1
  260. package/lib/simple-tree/api/tree.js.map +1 -1
  261. package/lib/simple-tree/api/typesUnsafe.d.ts +237 -220
  262. package/lib/simple-tree/api/typesUnsafe.d.ts.map +1 -1
  263. package/lib/simple-tree/api/typesUnsafe.js.map +1 -1
  264. package/lib/simple-tree/arrayNode.d.ts +2 -2
  265. package/lib/simple-tree/arrayNode.d.ts.map +1 -1
  266. package/lib/simple-tree/arrayNode.js.map +1 -1
  267. package/lib/simple-tree/core/treeNodeKernel.d.ts +9 -2
  268. package/lib/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
  269. package/lib/simple-tree/core/treeNodeKernel.js +40 -25
  270. package/lib/simple-tree/core/treeNodeKernel.js.map +1 -1
  271. package/lib/simple-tree/core/types.d.ts +14 -4
  272. package/lib/simple-tree/core/types.d.ts.map +1 -1
  273. package/lib/simple-tree/core/types.js +14 -4
  274. package/lib/simple-tree/core/types.js.map +1 -1
  275. package/lib/simple-tree/core/unhydratedFlexTree.d.ts +2 -1
  276. package/lib/simple-tree/core/unhydratedFlexTree.d.ts.map +1 -1
  277. package/lib/simple-tree/core/unhydratedFlexTree.js +3 -0
  278. package/lib/simple-tree/core/unhydratedFlexTree.js.map +1 -1
  279. package/lib/simple-tree/index.d.ts +1 -1
  280. package/lib/simple-tree/index.d.ts.map +1 -1
  281. package/lib/simple-tree/index.js +1 -1
  282. package/lib/simple-tree/index.js.map +1 -1
  283. package/lib/simple-tree/objectNode.d.ts +9 -2
  284. package/lib/simple-tree/objectNode.d.ts.map +1 -1
  285. package/lib/simple-tree/objectNode.js +4 -1
  286. package/lib/simple-tree/objectNode.js.map +1 -1
  287. package/lib/simple-tree/schemaTypes.d.ts +10 -5
  288. package/lib/simple-tree/schemaTypes.d.ts.map +1 -1
  289. package/lib/simple-tree/schemaTypes.js +5 -2
  290. package/lib/simple-tree/schemaTypes.js.map +1 -1
  291. package/lib/tableSchema.d.ts +78 -26
  292. package/lib/tableSchema.d.ts.map +1 -1
  293. package/lib/tableSchema.js +53 -24
  294. package/lib/tableSchema.js.map +1 -1
  295. package/lib/treeFactory.d.ts +6 -12
  296. package/lib/treeFactory.d.ts.map +1 -1
  297. package/lib/treeFactory.js +55 -3
  298. package/lib/treeFactory.js.map +1 -1
  299. package/lib/tsdoc-metadata.json +1 -1
  300. package/package.json +22 -23
  301. package/src/core/index.ts +0 -2
  302. package/src/core/schema-stored/index.ts +0 -2
  303. package/src/core/schema-stored/schema.ts +10 -29
  304. package/src/core/tree/anchorSet.ts +32 -24
  305. package/src/core/tree/deltaUtil.ts +1 -13
  306. package/src/core/tree/visitDelta.ts +24 -81
  307. package/src/core/tree/visitorUtils.ts +43 -53
  308. package/src/feature-libraries/chunked-forest/chunkedForest.ts +7 -22
  309. package/src/feature-libraries/chunked-forest/codec/compressedEncode.ts +1 -1
  310. package/src/feature-libraries/chunked-forest/codec/nodeShape.ts +45 -27
  311. package/src/feature-libraries/chunked-forest/codec/schemaBasedEncode.ts +1 -1
  312. package/src/feature-libraries/flex-tree/context.ts +11 -1
  313. package/src/feature-libraries/flex-tree/flexTreeTypes.ts +8 -0
  314. package/src/feature-libraries/indexing/anchorTreeIndex.ts +17 -28
  315. package/src/feature-libraries/node-identifier/nodeIdentifierManager.ts +39 -38
  316. package/src/feature-libraries/object-forest/objectForest.ts +1 -18
  317. package/src/feature-libraries/schema-index/codec.ts +1 -2
  318. package/src/index.ts +3 -11
  319. package/src/internalTypes.ts +0 -19
  320. package/src/jsonDomainSchema.ts +1 -3
  321. package/src/packageVersion.ts +1 -1
  322. package/src/shared-tree/checkoutFlexTreeView.ts +6 -0
  323. package/src/shared-tree/index.ts +8 -3
  324. package/src/shared-tree/sharedTree.ts +5 -133
  325. package/src/simple-tree/api/index.ts +2 -22
  326. package/src/simple-tree/api/schemaFactory.ts +40 -54
  327. package/src/simple-tree/api/schemaFactoryAlpha.ts +9 -14
  328. package/src/simple-tree/api/schemaFactoryRecursive.ts +25 -5
  329. package/src/simple-tree/api/tree.ts +1 -14
  330. package/src/simple-tree/api/typesUnsafe.ts +359 -341
  331. package/src/simple-tree/arrayNode.ts +2 -2
  332. package/src/simple-tree/core/treeNodeKernel.ts +46 -28
  333. package/src/simple-tree/core/types.ts +14 -4
  334. package/src/simple-tree/core/unhydratedFlexTree.ts +5 -1
  335. package/src/simple-tree/index.ts +2 -22
  336. package/src/simple-tree/objectNode.ts +13 -4
  337. package/src/simple-tree/schemaTypes.ts +11 -7
  338. package/src/tableSchema.ts +190 -63
  339. package/src/treeFactory.ts +151 -8
@@ -18,242 +18,259 @@ import type { SimpleArrayNodeSchema, SimpleMapNodeSchema } from "../simpleSchema
18
18
  */
19
19
  export type Unenforced<_DesiredExtendsConstraint> = unknown;
20
20
  /**
21
- * {@link Unenforced} version of `ObjectFromSchemaRecord`.
22
- * @remarks
23
- * Do not use this type directly: it's only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
21
+ * A collection of {@link Unenforced} types that are used in the implementation of recursive schema.
22
+ * These are all `@system` types, and thus should not be used directly.
24
23
  * @privateRemarks
25
- * This does not bother special casing `{}` since no one should make empty objects using the *Recursive APIs.
26
- * @system @public
27
- */
28
- export type ObjectFromSchemaRecordUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>> = {
29
- -readonly [Property in keyof T]: Property extends string ? TreeFieldFromImplicitFieldUnsafe<T[Property]> : unknown;
30
- };
31
- /**
32
- * {@link Unenforced} version of {@link TreeNodeSchema}.
33
- * @remarks
34
- * Do not use this type directly: it is only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
35
- * @system @public
36
- */
37
- export type TreeNodeSchemaUnsafe<Name extends string = string, Kind extends NodeKind = NodeKind, TNode extends Unenforced<TreeNode | TreeLeafValue> = unknown, TBuild = never, ImplicitlyConstructable extends boolean = boolean, Info = unknown> = TreeNodeSchemaClassUnsafe<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info> | TreeNodeSchemaNonClassUnsafe<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info>;
38
- /**
39
- * {@link Unenforced} version of {@link TreeNodeSchemaClass}.
40
- * @remarks
41
- * Do not use this type directly: it is only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
24
+ * Due to limitations of API-Extractor, all types in this namespace are treated as `@public`:
25
+ * therefore, non-public types should not be included in this namespace.
42
26
  * @system @public
43
27
  */
44
- export interface TreeNodeSchemaClassUnsafe<out Name extends string, out Kind extends NodeKind, out TNode extends Unenforced<TreeNode>, in TInsertable, out ImplicitlyConstructable extends boolean, out Info, out TCustomMetadata = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info, never, TCustomMetadata> {
28
+ export declare namespace System_Unsafe {
45
29
  /**
46
- * Constructs an {@link Unhydrated} node with this schema.
30
+ * {@link Unenforced} version of `ObjectFromSchemaRecord`.
47
31
  * @remarks
48
- * This constructor is also used internally to construct hydrated nodes with a different parameter type.
49
- * Therefore, overriding this constructor with different argument types is not type-safe and is not supported.
50
- * @sealed
32
+ * Do not use this type directly: it's only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
33
+ * @privateRemarks
34
+ * This does not bother special casing `{}` since no one should make empty objects using the *Recursive APIs.
35
+ * @system @public
51
36
  */
52
- new (data: TInsertable | InternalTreeNode): Unhydrated<TNode>;
53
- }
54
- /**
55
- * {@link Unenforced} version of {@link TreeNodeSchemaNonClass}.
56
- * @remarks
57
- * Do not use this type directly: it is only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
58
- * @system @public
59
- */
60
- export interface TreeNodeSchemaNonClassUnsafe<out Name extends string, out Kind extends NodeKind, out TNode extends Unenforced<TreeNode | TreeLeafValue>, in TInsertable, out ImplicitlyConstructable extends boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
61
- create(data: TInsertable): TNode;
62
- }
63
- /**
64
- * {@link Unenforced} version of {@link TreeObjectNode}.
65
- * @remarks
66
- * Do not use this type directly: it's only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
67
- * @system @public
68
- */
69
- export type TreeObjectNodeUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecordUnsafe<T> & WithType<TypeName, NodeKind.Object, T>;
70
- /**
71
- * {@link Unenforced} version of {@link TreeFieldFromImplicitField}.
72
- * @remarks
73
- * Do not use this type directly: it's only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
74
- * @system @public
75
- */
76
- export type TreeFieldFromImplicitFieldUnsafe<TSchema extends ImplicitFieldSchemaUnsafe> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind> : TSchema extends ImplicitAllowedTypesUnsafe ? TreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : unknown;
77
- /**
78
- * {@link Unenforced} version of {@link AllowedTypes}.
79
- * @remarks
80
- * Do not use this type directly: it is only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
81
- * @system @public
82
- */
83
- export type AllowedTypesUnsafe = readonly LazyItem<TreeNodeSchemaUnsafe>[];
84
- /**
85
- * {@link Unenforced} version of {@link ImplicitAllowedTypes}.
86
- * @remarks
87
- * Do not use this type directly: it is only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
88
- * @privateRemarks
89
- * This is similar to `Unenforced<ImplicitAllowedTypes>` in that it avoids constraining the schema
90
- * (which is necessary to avoid breaking recursive types),
91
- * but is superior from a safety perspective because it constrains the structure containing the schema.
92
- * @system @public
93
- */
94
- export type ImplicitAllowedTypesUnsafe = TreeNodeSchemaUnsafe | readonly LazyItem<Unenforced<TreeNodeSchema>>[];
95
- /**
96
- * {@link Unenforced} version of {@link ImplicitFieldSchema}.
97
- * @remarks
98
- * Do not use this type directly: it is only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
99
- * @privateRemarks
100
- * This is similar to `Unenforced<ImplicitFieldSchema>` in that it avoids constraining the schema
101
- * (which is necessary to avoid breaking recursive types),
102
- * but is superior from a safety perspective because it constrains the structure containing the schema.
103
- * @system @public
104
- */
105
- export type ImplicitFieldSchemaUnsafe = FieldSchemaUnsafe<FieldKind, ImplicitAllowedTypesUnsafe> | ImplicitAllowedTypesUnsafe;
106
- /**
107
- * {@link Unenforced} version of {@link TreeNodeFromImplicitAllowedTypes}.
108
- * @remarks
109
- * Do not use this type directly: it's only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
110
- * @system @public
111
- */
112
- export type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends ImplicitAllowedTypesUnsafe> = TSchema extends TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<TSchema> : TSchema extends AllowedTypesUnsafe ? NodeFromSchemaUnsafe<FlexListToUnion<TSchema>> : unknown;
113
- /**
114
- * {@link Unenforced} version of {@link InsertableTreeNodeFromImplicitAllowedTypes}.
115
- * @see {@link Input}
116
- * @remarks
117
- * Do not use this type directly: it's only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
118
- * @system @public
119
- */
120
- export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends ImplicitAllowedTypesUnsafe> = [TSchema] extends [TreeNodeSchemaUnsafe] ? InsertableTypedNodeUnsafe<TSchema> : [TSchema] extends [AllowedTypesUnsafe] ? InsertableTreeNodeFromAllowedTypesUnsafe<TSchema> : never;
121
- /**
122
- * {@link Unenforced} version of {@link InsertableTreeNodeFromAllowedTypes}.
123
- * @see {@link Input}
124
- * @system @public
125
- */
126
- export type InsertableTreeNodeFromAllowedTypesUnsafe<TList extends AllowedTypesUnsafe> = TList extends readonly [
127
- LazyItem<infer TSchema extends TreeNodeSchemaUnsafe>,
128
- ...infer Rest extends AllowedTypesUnsafe
129
- ] ? InsertableTypedNodeUnsafe<TSchema> | InsertableTreeNodeFromAllowedTypesUnsafe<Rest> : never;
130
- /**
131
- * {@link Unenforced} version of {@link InsertableTypedNode}.
132
- * @see {@link Input}
133
- * @remarks
134
- * Do not use this type directly: it's only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
135
- * @privateRemarks
136
- * TODO:
137
- * This is less strict than InsertableTypedNode when given non-exact schema to avoid compilation issues.
138
- * This should probably be fixed or documented somehow.
139
- * @system @public
140
- */
141
- export type InsertableTypedNodeUnsafe<TSchema extends TreeNodeSchemaUnsafe, T = UnionToIntersection<TSchema>> = (T extends TreeNodeSchemaUnsafe<string, NodeKind, TreeNode | TreeLeafValue, never, true> ? NodeBuilderDataUnsafe<T> : never) | (T extends TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<T> : never);
142
- /**
143
- * {@link Unenforced} version of {@link NodeFromSchema}.
144
- * @remarks
145
- * Do not use this type directly: it's only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
146
- * @system @public
147
- */
148
- export type NodeFromSchemaUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchemaUnsafe<string, NodeKind, infer TNode> ? TNode : never;
149
- /**
150
- * {@link Unenforced} version of {@link InsertableTreeNodeFromImplicitAllowedTypes}.
151
- * @remarks
152
- * Do not use this type directly: it's only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
153
- * @system @public
154
- */
155
- export type NodeBuilderDataUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchemaUnsafe<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
156
- /**
157
- * {@link Unenforced} version of {@link (TreeArrayNode:interface)}.
158
- * @remarks
159
- * Do not use this type directly: it's only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
160
- * @system @sealed @public
161
- */
162
- export interface TreeArrayNodeUnsafe<TAllowedTypes extends ImplicitAllowedTypesUnsafe> extends TreeArrayNode<TAllowedTypes, TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>> {
163
- }
164
- /**
165
- * {@link Unenforced} version of {@link TreeMapNode}.
166
- * @remarks
167
- * Do not use this type directly: it's only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
168
- * @system @sealed @public
169
- */
170
- export interface TreeMapNodeUnsafe<T extends ImplicitAllowedTypesUnsafe> extends ReadonlyMapInlined<string, T>, TreeNode {
37
+ type ObjectFromSchemaRecordUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>> = {
38
+ -readonly [Property in keyof T]: Property extends string ? TreeFieldFromImplicitFieldUnsafe<T[Property]> : unknown;
39
+ };
171
40
  /**
172
- * {@inheritdoc TreeMapNode.set}
41
+ * {@link Unenforced} version of {@link TreeNodeSchema}.
42
+ * @remarks
43
+ * Do not use this type directly: it is only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
44
+ * @system @public
173
45
  */
174
- set(key: string, value: InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T> | undefined): void;
46
+ type TreeNodeSchemaUnsafe<Name extends string = string, Kind extends NodeKind = NodeKind, TNode extends Unenforced<TreeNode | TreeLeafValue> = unknown, TBuild = never, ImplicitlyConstructable extends boolean = boolean, Info = unknown> = TreeNodeSchemaClassUnsafe<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info> | TreeNodeSchemaNonClassUnsafe<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info>;
175
47
  /**
176
- * {@inheritdoc TreeMapNode.delete}
48
+ * {@link Unenforced} version of {@link TreeNodeSchemaClass}.
49
+ * @remarks
50
+ * Do not use this type directly: it is only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
51
+ * @system @public
177
52
  */
178
- delete(key: string): void;
179
- }
180
- /**
181
- * Copy of TypeScript's ReadonlyMap, but with `TreeNodeFromImplicitAllowedTypesUnsafe<T>` inlined into it.
182
- * Using this instead of ReadonlyMap in TreeMapNodeUnsafe is necessary to make recursive map schema not generate compile errors in the d.ts files when exported.
183
- * @remarks
184
- * Do not use this type directly: it's only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
185
- * @privateRemarks
186
- * This is the same as `ReadonlyMap<K, TreeNodeFromImplicitAllowedTypesUnsafe<T>>` (Checked in test),
187
- * except that it avoids the above mentioned compile error.
188
- * Authored by manually inlining ReadonlyMap from from the TypeScript lib which can be found by navigating to the definition of `ReadonlyMap`.
189
- * @system @sealed @public
190
- */
191
- export interface ReadonlyMapInlined<K, T extends ImplicitAllowedTypesUnsafe> {
192
- /** Returns an iterable of entries in the map. */
193
- [Symbol.iterator](): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
53
+ interface TreeNodeSchemaClassUnsafe<out Name extends string, out Kind extends NodeKind, out TNode extends Unenforced<TreeNode>, in TInsertable, out ImplicitlyConstructable extends boolean, out Info, out TCustomMetadata = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info, never, TCustomMetadata> {
54
+ /**
55
+ * Constructs an {@link Unhydrated} node with this schema.
56
+ * @remarks
57
+ * This constructor is also used internally to construct hydrated nodes with a different parameter type.
58
+ * Therefore, overriding this constructor with different argument types is not type-safe and is not supported.
59
+ * @sealed
60
+ */
61
+ new (data: TInsertable | InternalTreeNode): Unhydrated<TNode>;
62
+ }
194
63
  /**
195
- * Returns an iterable of key, value pairs for every entry in the map.
64
+ * {@link Unenforced} version of {@link TreeNodeSchemaNonClass}.
65
+ * @remarks
66
+ * Do not use this type directly: it is only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
67
+ * @system @public
196
68
  */
197
- entries(): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
69
+ interface TreeNodeSchemaNonClassUnsafe<out Name extends string, out Kind extends NodeKind, out TNode extends Unenforced<TreeNode | TreeLeafValue>, in TInsertable, out ImplicitlyConstructable extends boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
70
+ create(data: TInsertable): TNode;
71
+ }
198
72
  /**
199
- * Returns an iterable of keys in the map
73
+ * {@link Unenforced} version of {@link TreeObjectNode}.
74
+ * @remarks
75
+ * Do not use this type directly: it's only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
76
+ * @system @public
200
77
  */
201
- keys(): IterableIterator<K>;
78
+ type TreeObjectNodeUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecordUnsafe<T> & WithType<TypeName, NodeKind.Object, T>;
202
79
  /**
203
- * Returns an iterable of values in the map
80
+ * {@link Unenforced} version of {@link TreeFieldFromImplicitField}.
81
+ * @remarks
82
+ * Do not use this type directly: it's only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
83
+ * @system @public
204
84
  */
205
- values(): IterableIterator<TreeNodeFromImplicitAllowedTypesUnsafe<T>>;
206
- forEach(callbackfn: (value: TreeNodeFromImplicitAllowedTypesUnsafe<T>, key: K, map: ReadonlyMap<K, TreeNodeFromImplicitAllowedTypesUnsafe<T>>) => void, thisArg?: any): void;
207
- get(key: K): TreeNodeFromImplicitAllowedTypesUnsafe<T> | undefined;
208
- has(key: K): boolean;
209
- readonly size: number;
210
- }
211
- /**
212
- * {@link Unenforced} version of `FieldHasDefault`.
213
- * @remarks
214
- * Do not use this type directly: it's only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
215
- * @system @sealed @public
216
- */
217
- export type FieldHasDefaultUnsafe<T extends ImplicitFieldSchemaUnsafe> = T extends FieldSchemaUnsafe<FieldKind.Optional | FieldKind.Identifier, ImplicitAllowedTypesUnsafe> ? true : false;
218
- /**
219
- * {@link Unenforced} version of `InsertableObjectFromSchemaRecord`.
220
- * @see {@link Input}
221
- * @remarks
222
- * Do not use this type directly: it's only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
223
- * @system @public
224
- */
225
- export type InsertableObjectFromSchemaRecordUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>> = {
226
- readonly [Property in keyof T as FieldHasDefaultUnsafe<T[Property & string]> extends false ? Property : never]: InsertableTreeFieldFromImplicitFieldUnsafe<T[Property & string]>;
227
- } & {
228
- readonly [Property in keyof T as FieldHasDefaultUnsafe<T[Property & string]> extends true ? Property : never]?: InsertableTreeFieldFromImplicitFieldUnsafe<T[Property & string]>;
229
- };
230
- /**
231
- * {@link Unenforced} version of {@link InsertableTreeFieldFromImplicitField}.
232
- * @see {@link Input}
233
- * @remarks
234
- * Do not use this type directly: it's only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
235
- * @system @public
236
- */
237
- export type InsertableTreeFieldFromImplicitFieldUnsafe<TSchemaInput extends ImplicitFieldSchemaUnsafe, TSchema = UnionToIntersection<TSchemaInput>> = [TSchema] extends [FieldSchemaUnsafe<infer Kind, infer Types>] ? ApplyKindInput<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind, true> : [TSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : never;
238
- /**
239
- * {@link Unenforced} version of {@link FieldSchema}.
240
- * @remarks
241
- * Do not use this type directly: it's only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
242
- * @system @sealed @public
243
- */
244
- export interface FieldSchemaUnsafe<out Kind extends FieldKind, out Types extends ImplicitAllowedTypesUnsafe, out TCustomMetadata = unknown> extends FieldSchema<Kind, any, TCustomMetadata> {
85
+ type TreeFieldFromImplicitFieldUnsafe<TSchema extends ImplicitFieldSchemaUnsafe> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind> : TSchema extends ImplicitAllowedTypesUnsafe ? TreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : unknown;
245
86
  /**
246
- * {@inheritDoc FieldSchema.kind}
87
+ * {@link Unenforced} version of {@link AllowedTypes}.
88
+ * @remarks
89
+ * Do not use this type directly: it is only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
90
+ * @system @public
247
91
  */
248
- readonly kind: Kind;
92
+ type AllowedTypesUnsafe = readonly LazyItem<TreeNodeSchemaUnsafe>[];
249
93
  /**
250
- * {@inheritDoc FieldSchema.allowedTypes}
94
+ * {@link Unenforced} version of {@link ImplicitAllowedTypes}.
95
+ * @remarks
96
+ * Do not use this type directly: it is only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
97
+ * @privateRemarks
98
+ * This is similar to `Unenforced<ImplicitAllowedTypes>` in that it avoids constraining the schema
99
+ * (which is necessary to avoid breaking recursive types),
100
+ * but is superior from a safety perspective because it constrains the structure containing the schema.
101
+ * @system @public
251
102
  */
252
- readonly allowedTypes: Types;
103
+ type ImplicitAllowedTypesUnsafe = TreeNodeSchemaUnsafe | readonly LazyItem<Unenforced<TreeNodeSchema>>[];
253
104
  /**
254
- * {@inheritDoc FieldSchema.allowedTypeSet}
105
+ * {@link Unenforced} version of {@link ImplicitFieldSchema}.
106
+ * @remarks
107
+ * Do not use this type directly: it is only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
108
+ * @privateRemarks
109
+ * This is similar to `Unenforced<ImplicitFieldSchema>` in that it avoids constraining the schema
110
+ * (which is necessary to avoid breaking recursive types),
111
+ * but is superior from a safety perspective because it constrains the structure containing the schema.
112
+ * @system @public
113
+ */
114
+ type ImplicitFieldSchemaUnsafe = FieldSchemaUnsafe<FieldKind, ImplicitAllowedTypesUnsafe> | ImplicitAllowedTypesUnsafe;
115
+ /**
116
+ * {@link Unenforced} version of {@link TreeNodeFromImplicitAllowedTypes}.
117
+ * @remarks
118
+ * Do not use this type directly: it's only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
119
+ * @system @public
120
+ */
121
+ type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends ImplicitAllowedTypesUnsafe> = TSchema extends TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<TSchema> : TSchema extends AllowedTypesUnsafe ? NodeFromSchemaUnsafe<FlexListToUnion<TSchema>> : unknown;
122
+ /**
123
+ * {@link Unenforced} version of {@link InsertableTreeNodeFromImplicitAllowedTypes}.
124
+ * @see {@link Input}
125
+ * @remarks
126
+ * Do not use this type directly: it's only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
127
+ * @system @public
128
+ */
129
+ type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends ImplicitAllowedTypesUnsafe> = [TSchema] extends [TreeNodeSchemaUnsafe] ? InsertableTypedNodeUnsafe<TSchema> : [TSchema] extends [AllowedTypesUnsafe] ? InsertableTreeNodeFromAllowedTypesUnsafe<TSchema> : never;
130
+ /**
131
+ * {@link Unenforced} version of {@link InsertableTreeNodeFromAllowedTypes}.
132
+ * @see {@link Input}
133
+ * @privateRemarks
134
+ * TODO: AB#36348: it seems like the order of the union this produces is what is non-deterministic in incremental builds
135
+ * of the JsonAsTree schema.
136
+ * @system @public
137
+ */
138
+ type InsertableTreeNodeFromAllowedTypesUnsafe<TList extends AllowedTypesUnsafe> = [
139
+ TList
140
+ ] extends [
141
+ readonly [
142
+ LazyItem<infer TSchema extends TreeNodeSchemaUnsafe>,
143
+ ...infer Rest extends AllowedTypesUnsafe
144
+ ]
145
+ ] ? InsertableTypedNodeUnsafe<TSchema> | InsertableTreeNodeFromAllowedTypesUnsafe<Rest> : never;
146
+ /**
147
+ * {@link Unenforced} version of {@link InsertableTypedNode}.
148
+ * @see {@link Input}
149
+ * @remarks
150
+ * Do not use this type directly: it's only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
151
+ * @privateRemarks
152
+ * TODO:
153
+ * This is less strict than InsertableTypedNode when given non-exact schema to avoid compilation issues.
154
+ * This should probably be fixed or documented somehow.
155
+ * @system @public
156
+ */
157
+ type InsertableTypedNodeUnsafe<TSchema extends TreeNodeSchemaUnsafe, T = UnionToIntersection<TSchema>> = (T extends TreeNodeSchemaUnsafe<string, NodeKind, TreeNode | TreeLeafValue, never, true> ? NodeBuilderDataUnsafe<T> : never) | (T extends TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<T> : never);
158
+ /**
159
+ * {@link Unenforced} version of {@link NodeFromSchema}.
160
+ * @remarks
161
+ * Do not use this type directly: it's only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
162
+ * @system @public
163
+ */
164
+ type NodeFromSchemaUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchemaUnsafe<string, NodeKind, infer TNode> ? TNode : never;
165
+ /**
166
+ * {@link Unenforced} version of {@link InsertableTreeNodeFromImplicitAllowedTypes}.
167
+ * @remarks
168
+ * Do not use this type directly: it's only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
169
+ * @system @public
170
+ */
171
+ type NodeBuilderDataUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchemaUnsafe<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
172
+ /**
173
+ * {@link Unenforced} version of {@link (TreeArrayNode:interface)}.
174
+ * @remarks
175
+ * Do not use this type directly: it's only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
176
+ * @system @sealed @public
177
+ */
178
+ interface TreeArrayNodeUnsafe<TAllowedTypes extends ImplicitAllowedTypesUnsafe> extends TreeArrayNode<TAllowedTypes, TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>> {
179
+ }
180
+ /**
181
+ * {@link Unenforced} version of {@link TreeMapNode}.
182
+ * @remarks
183
+ * Do not use this type directly: it's only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
184
+ * @system @sealed @public
185
+ */
186
+ interface TreeMapNodeUnsafe<T extends ImplicitAllowedTypesUnsafe> extends ReadonlyMapInlined<string, T>, TreeNode {
187
+ /**
188
+ * {@inheritdoc TreeMapNode.set}
189
+ */
190
+ set(key: string, value: InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T> | undefined): void;
191
+ /**
192
+ * {@inheritdoc TreeMapNode.delete}
193
+ */
194
+ delete(key: string): void;
195
+ }
196
+ /**
197
+ * Copy of TypeScript's ReadonlyMap, but with `TreeNodeFromImplicitAllowedTypesUnsafe<T>` inlined into it.
198
+ * Using this instead of ReadonlyMap in TreeMapNodeUnsafe is necessary to make recursive map schema not generate compile errors in the d.ts files when exported.
199
+ * @remarks
200
+ * Do not use this type directly: it's only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
201
+ * @privateRemarks
202
+ * This is the same as `ReadonlyMap<K, TreeNodeFromImplicitAllowedTypesUnsafe<T>>` (Checked in test),
203
+ * except that it avoids the above mentioned compile error.
204
+ * Authored by manually inlining ReadonlyMap from from the TypeScript lib which can be found by navigating to the definition of `ReadonlyMap`.
205
+ * @system @sealed @public
206
+ */
207
+ interface ReadonlyMapInlined<K, T extends ImplicitAllowedTypesUnsafe> {
208
+ /** Returns an iterable of entries in the map. */
209
+ [Symbol.iterator](): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
210
+ /**
211
+ * Returns an iterable of key, value pairs for every entry in the map.
212
+ */
213
+ entries(): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
214
+ /**
215
+ * Returns an iterable of keys in the map
216
+ */
217
+ keys(): IterableIterator<K>;
218
+ /**
219
+ * Returns an iterable of values in the map
220
+ */
221
+ values(): IterableIterator<TreeNodeFromImplicitAllowedTypesUnsafe<T>>;
222
+ forEach(callbackfn: (value: TreeNodeFromImplicitAllowedTypesUnsafe<T>, key: K, map: ReadonlyMap<K, TreeNodeFromImplicitAllowedTypesUnsafe<T>>) => void, thisArg?: any): void;
223
+ get(key: K): TreeNodeFromImplicitAllowedTypesUnsafe<T> | undefined;
224
+ has(key: K): boolean;
225
+ readonly size: number;
226
+ }
227
+ /**
228
+ * {@link Unenforced} version of `FieldHasDefault`.
229
+ * @remarks
230
+ * Do not use this type directly: it's only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
231
+ * @system @sealed @public
232
+ */
233
+ type FieldHasDefaultUnsafe<T extends ImplicitFieldSchemaUnsafe> = T extends FieldSchemaUnsafe<FieldKind.Optional | FieldKind.Identifier, ImplicitAllowedTypesUnsafe> ? true : false;
234
+ /**
235
+ * {@link Unenforced} version of `InsertableObjectFromSchemaRecord`.
236
+ * @see {@link Input}
237
+ * @remarks
238
+ * Do not use this type directly: it's only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
239
+ * @system @public
240
+ */
241
+ type InsertableObjectFromSchemaRecordUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>> = {
242
+ readonly [Property in keyof T as FieldHasDefaultUnsafe<T[Property & string]> extends false ? Property : never]: InsertableTreeFieldFromImplicitFieldUnsafe<T[Property & string]>;
243
+ } & {
244
+ readonly [Property in keyof T as FieldHasDefaultUnsafe<T[Property & string]> extends true ? Property : never]?: InsertableTreeFieldFromImplicitFieldUnsafe<T[Property & string]>;
245
+ };
246
+ /**
247
+ * {@link Unenforced} version of {@link InsertableTreeFieldFromImplicitField}.
248
+ * @see {@link Input}
249
+ * @remarks
250
+ * Do not use this type directly: it's only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
251
+ * @system @public
252
+ */
253
+ type InsertableTreeFieldFromImplicitFieldUnsafe<TSchemaInput extends ImplicitFieldSchemaUnsafe, TSchema = UnionToIntersection<TSchemaInput>> = [TSchema] extends [FieldSchemaUnsafe<infer Kind, infer Types>] ? ApplyKindInput<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind, true> : [TSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : never;
254
+ /**
255
+ * {@link Unenforced} version of {@link FieldSchema}.
256
+ * @remarks
257
+ * Do not use this type directly: it's only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
258
+ * @system @sealed @public
255
259
  */
256
- readonly allowedTypeSet: ReadonlySet<TreeNodeSchema>;
260
+ interface FieldSchemaUnsafe<out Kind extends FieldKind, out Types extends ImplicitAllowedTypesUnsafe, out TCustomMetadata = unknown> extends FieldSchema<Kind, any, TCustomMetadata> {
261
+ /**
262
+ * {@inheritDoc FieldSchema.kind}
263
+ */
264
+ readonly kind: Kind;
265
+ /**
266
+ * {@inheritDoc FieldSchema.allowedTypes}
267
+ */
268
+ readonly allowedTypes: Types;
269
+ /**
270
+ * {@inheritDoc FieldSchema.allowedTypeSet}
271
+ */
272
+ readonly allowedTypeSet: ReadonlySet<TreeNodeSchema>;
273
+ }
257
274
  }
258
275
  /**
259
276
  * {@link Unenforced} version of {@link FieldSchemaAlpha}.
@@ -261,7 +278,7 @@ export interface FieldSchemaUnsafe<out Kind extends FieldKind, out Types extends
261
278
  * Do not use this type directly: it's only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
262
279
  * @system @sealed @alpha
263
280
  */
264
- export interface FieldSchemaAlphaUnsafe<out Kind extends FieldKind, out Types extends ImplicitAllowedTypesUnsafe, out TCustomMetadata = unknown> extends FieldSchemaAlpha<Kind, any, TCustomMetadata>, FieldSchemaUnsafe<Kind, Types, TCustomMetadata> {
281
+ export interface FieldSchemaAlphaUnsafe<out Kind extends FieldKind, out Types extends System_Unsafe.ImplicitAllowedTypesUnsafe, out TCustomMetadata = unknown> extends FieldSchemaAlpha<Kind, any, TCustomMetadata>, System_Unsafe.FieldSchemaUnsafe<Kind, Types, TCustomMetadata> {
265
282
  /**
266
283
  * {@inheritDoc FieldSchema.allowedTypes}
267
284
  */
@@ -275,8 +292,8 @@ export interface FieldSchemaAlphaUnsafe<out Kind extends FieldKind, out Types ex
275
292
  * @alpha
276
293
  * @system
277
294
  */
278
- export interface ArrayNodeCustomizableSchemaUnsafe<out TName extends string, in out T extends ImplicitAllowedTypesUnsafe, out TCustomMetadata> extends TreeNodeSchemaClass<TName, NodeKind.Array, TreeArrayNodeUnsafe<T> & WithType<TName, NodeKind.Array, T>, {
279
- [Symbol.iterator](): Iterator<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>>;
295
+ export interface ArrayNodeCustomizableSchemaUnsafe<out TName extends string, in out T extends System_Unsafe.ImplicitAllowedTypesUnsafe, out TCustomMetadata> extends TreeNodeSchemaClass<TName, NodeKind.Array, System_Unsafe.TreeArrayNodeUnsafe<T> & WithType<TName, NodeKind.Array, T>, {
296
+ [Symbol.iterator](): Iterator<System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>>;
280
297
  }, false, T, undefined, TCustomMetadata>, SimpleArrayNodeSchema<TCustomMetadata> {
281
298
  }
282
299
  /**
@@ -287,13 +304,13 @@ export interface ArrayNodeCustomizableSchemaUnsafe<out TName extends string, in
287
304
  * @alpha
288
305
  * @system
289
306
  */
290
- export interface MapNodeCustomizableSchemaUnsafe<out TName extends string, in out T extends ImplicitAllowedTypesUnsafe, out TCustomMetadata> extends TreeNodeSchemaClass<TName, NodeKind.Map, TreeMapNodeUnsafe<T> & WithType<TName, NodeKind.Map, T>, {
307
+ export interface MapNodeCustomizableSchemaUnsafe<out TName extends string, in out T extends System_Unsafe.ImplicitAllowedTypesUnsafe, out TCustomMetadata> extends TreeNodeSchemaClass<TName, NodeKind.Map, System_Unsafe.TreeMapNodeUnsafe<T> & WithType<TName, NodeKind.Map, T>, {
291
308
  [Symbol.iterator](): Iterator<[
292
309
  string,
293
- InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>
310
+ System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>
294
311
  ]>;
295
312
  } | {
296
- readonly [P in string]: InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>;
313
+ readonly [P in string]: System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>;
297
314
  }, false, T, undefined, TCustomMetadata>, SimpleMapNodeSchema<TCustomMetadata> {
298
315
  }
299
316
  //# sourceMappingURL=typesUnsafe.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typesUnsafe.d.ts","sourceRoot":"","sources":["../../../src/simple-tree/api/typesUnsafe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typesUnsafe.d.ts","sourceRoot":"","sources":["../../../src/simple-tree/api/typesUnsafe.ts"],"names":[],"mappings":"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"}