@fluidframework/tree 2.63.0-359461 → 2.63.0-359962

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 (510) hide show
  1. package/.mocharc.cjs +9 -1
  2. package/api-report/tree.alpha.api.md +126 -96
  3. package/api-report/tree.beta.api.md +37 -2
  4. package/api-report/tree.legacy.beta.api.md +37 -2
  5. package/api-report/tree.legacy.public.api.md +9 -2
  6. package/api-report/tree.public.api.md +9 -2
  7. package/dist/alpha.d.ts +18 -13
  8. package/dist/beta.d.ts +5 -0
  9. package/dist/feature-libraries/chunked-forest/chunkTree.d.ts +67 -13
  10. package/dist/feature-libraries/chunked-forest/chunkTree.d.ts.map +1 -1
  11. package/dist/feature-libraries/chunked-forest/chunkTree.js +70 -35
  12. package/dist/feature-libraries/chunked-forest/chunkTree.js.map +1 -1
  13. package/dist/feature-libraries/chunked-forest/codec/codecs.d.ts +5 -5
  14. package/dist/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -1
  15. package/dist/feature-libraries/chunked-forest/codec/codecs.js.map +1 -1
  16. package/dist/feature-libraries/chunked-forest/codec/incrementalEncodingPolicy.d.ts +23 -0
  17. package/dist/feature-libraries/chunked-forest/codec/incrementalEncodingPolicy.d.ts.map +1 -0
  18. package/dist/feature-libraries/chunked-forest/codec/incrementalEncodingPolicy.js +15 -0
  19. package/dist/feature-libraries/chunked-forest/codec/incrementalEncodingPolicy.js.map +1 -0
  20. package/dist/feature-libraries/chunked-forest/codec/index.d.ts +1 -0
  21. package/dist/feature-libraries/chunked-forest/codec/index.d.ts.map +1 -1
  22. package/dist/feature-libraries/chunked-forest/codec/index.js +3 -1
  23. package/dist/feature-libraries/chunked-forest/codec/index.js.map +1 -1
  24. package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncode.d.ts.map +1 -1
  25. package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncode.js +3 -2
  26. package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncode.js.map +1 -1
  27. package/dist/feature-libraries/chunked-forest/index.d.ts +1 -1
  28. package/dist/feature-libraries/chunked-forest/index.d.ts.map +1 -1
  29. package/dist/feature-libraries/chunked-forest/index.js +2 -1
  30. package/dist/feature-libraries/chunked-forest/index.js.map +1 -1
  31. package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts +1 -1
  32. package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -1
  33. package/dist/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -1
  34. package/dist/feature-libraries/forest-summary/forestSummarizer.d.ts +3 -3
  35. package/dist/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
  36. package/dist/feature-libraries/forest-summary/forestSummarizer.js +3 -3
  37. package/dist/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
  38. package/dist/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts +4 -11
  39. package/dist/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts.map +1 -1
  40. package/dist/feature-libraries/forest-summary/incrementalSummaryBuilder.js +2 -6
  41. package/dist/feature-libraries/forest-summary/incrementalSummaryBuilder.js.map +1 -1
  42. package/dist/feature-libraries/index.d.ts +1 -1
  43. package/dist/feature-libraries/index.d.ts.map +1 -1
  44. package/dist/feature-libraries/index.js +2 -1
  45. package/dist/feature-libraries/index.js.map +1 -1
  46. package/dist/feature-libraries/treeCursorUtils.d.ts.map +1 -1
  47. package/dist/feature-libraries/treeCursorUtils.js +17 -15
  48. package/dist/feature-libraries/treeCursorUtils.js.map +1 -1
  49. package/dist/index.d.ts +1 -1
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js.map +1 -1
  52. package/dist/jsonDomainSchema.d.ts +5 -5
  53. package/dist/jsonDomainSchema.js +5 -5
  54. package/dist/jsonDomainSchema.js.map +1 -1
  55. package/dist/legacy.d.ts +5 -0
  56. package/dist/packageVersion.d.ts +1 -1
  57. package/dist/packageVersion.js +1 -1
  58. package/dist/packageVersion.js.map +1 -1
  59. package/dist/public.d.ts +1 -0
  60. package/dist/serializableDomainSchema.d.ts +6 -6
  61. package/dist/serializableDomainSchema.js +5 -5
  62. package/dist/serializableDomainSchema.js.map +1 -1
  63. package/dist/shared-tree/independentView.d.ts.map +1 -1
  64. package/dist/shared-tree/independentView.js +2 -2
  65. package/dist/shared-tree/independentView.js.map +1 -1
  66. package/dist/shared-tree/schematizingTreeView.d.ts +5 -0
  67. package/dist/shared-tree/schematizingTreeView.d.ts.map +1 -1
  68. package/dist/shared-tree/schematizingTreeView.js +38 -8
  69. package/dist/shared-tree/schematizingTreeView.js.map +1 -1
  70. package/dist/shared-tree/sharedTree.d.ts +6 -8
  71. package/dist/shared-tree/sharedTree.d.ts.map +1 -1
  72. package/dist/shared-tree/sharedTree.js +6 -8
  73. package/dist/shared-tree/sharedTree.js.map +1 -1
  74. package/dist/shared-tree/tree.js +1 -1
  75. package/dist/shared-tree/tree.js.map +1 -1
  76. package/dist/shared-tree/treeAlpha.d.ts +20 -28
  77. package/dist/shared-tree/treeAlpha.d.ts.map +1 -1
  78. package/dist/shared-tree/treeAlpha.js +6 -31
  79. package/dist/shared-tree/treeAlpha.js.map +1 -1
  80. package/dist/simple-tree/api/conciseTree.d.ts +1 -1
  81. package/dist/simple-tree/api/conciseTree.js.map +1 -1
  82. package/dist/simple-tree/api/configuration.d.ts +0 -3
  83. package/dist/simple-tree/api/configuration.d.ts.map +1 -1
  84. package/dist/simple-tree/api/configuration.js +1 -4
  85. package/dist/simple-tree/api/configuration.js.map +1 -1
  86. package/dist/simple-tree/api/customTree.d.ts +7 -7
  87. package/dist/simple-tree/api/customTree.js +5 -5
  88. package/dist/simple-tree/api/customTree.js.map +1 -1
  89. package/dist/simple-tree/api/discrepancies.js +2 -2
  90. package/dist/simple-tree/api/discrepancies.js.map +1 -1
  91. package/dist/simple-tree/api/index.d.ts +3 -3
  92. package/dist/simple-tree/api/index.d.ts.map +1 -1
  93. package/dist/simple-tree/api/index.js +4 -1
  94. package/dist/simple-tree/api/index.js.map +1 -1
  95. package/dist/simple-tree/api/schemaFactory.d.ts +12 -4
  96. package/dist/simple-tree/api/schemaFactory.d.ts.map +1 -1
  97. package/dist/simple-tree/api/schemaFactory.js +3 -8
  98. package/dist/simple-tree/api/schemaFactory.js.map +1 -1
  99. package/dist/simple-tree/api/schemaFactoryAlpha.d.ts +64 -28
  100. package/dist/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
  101. package/dist/simple-tree/api/schemaFactoryAlpha.js +42 -11
  102. package/dist/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
  103. package/dist/simple-tree/api/schemaFactoryBeta.d.ts +13 -2
  104. package/dist/simple-tree/api/schemaFactoryBeta.d.ts.map +1 -1
  105. package/dist/simple-tree/api/schemaFactoryBeta.js +14 -0
  106. package/dist/simple-tree/api/schemaFactoryBeta.js.map +1 -1
  107. package/dist/simple-tree/api/schemaStatics.d.ts +9 -14
  108. package/dist/simple-tree/api/schemaStatics.d.ts.map +1 -1
  109. package/dist/simple-tree/api/schemaStatics.js +12 -12
  110. package/dist/simple-tree/api/schemaStatics.js.map +1 -1
  111. package/dist/simple-tree/api/storedSchema.d.ts +2 -2
  112. package/dist/simple-tree/api/storedSchema.d.ts.map +1 -1
  113. package/dist/simple-tree/api/storedSchema.js.map +1 -1
  114. package/dist/simple-tree/api/tree.d.ts +3 -3
  115. package/dist/simple-tree/api/tree.js.map +1 -1
  116. package/dist/simple-tree/api/treeBeta.d.ts +52 -2
  117. package/dist/simple-tree/api/treeBeta.d.ts.map +1 -1
  118. package/dist/simple-tree/api/treeBeta.js +37 -2
  119. package/dist/simple-tree/api/treeBeta.js.map +1 -1
  120. package/dist/simple-tree/api/treeNodeApi.js +4 -4
  121. package/dist/simple-tree/api/treeNodeApi.js.map +1 -1
  122. package/dist/simple-tree/api/typesUnsafe.d.ts +60 -1
  123. package/dist/simple-tree/api/typesUnsafe.d.ts.map +1 -1
  124. package/dist/simple-tree/api/typesUnsafe.js.map +1 -1
  125. package/dist/simple-tree/core/allowedTypes.d.ts +120 -62
  126. package/dist/simple-tree/core/allowedTypes.d.ts.map +1 -1
  127. package/dist/simple-tree/core/allowedTypes.js +162 -84
  128. package/dist/simple-tree/core/allowedTypes.js.map +1 -1
  129. package/dist/simple-tree/core/context.d.ts +2 -2
  130. package/dist/simple-tree/core/context.d.ts.map +1 -1
  131. package/dist/simple-tree/core/context.js.map +1 -1
  132. package/dist/simple-tree/core/index.d.ts +3 -3
  133. package/dist/simple-tree/core/index.d.ts.map +1 -1
  134. package/dist/simple-tree/core/index.js +5 -4
  135. package/dist/simple-tree/core/index.js.map +1 -1
  136. package/dist/simple-tree/core/toStored.d.ts +3 -3
  137. package/dist/simple-tree/core/toStored.d.ts.map +1 -1
  138. package/dist/simple-tree/core/toStored.js +2 -2
  139. package/dist/simple-tree/core/toStored.js.map +1 -1
  140. package/dist/simple-tree/core/treeNode.d.ts +1 -1
  141. package/dist/simple-tree/core/treeNode.js +1 -1
  142. package/dist/simple-tree/core/treeNode.js.map +1 -1
  143. package/dist/simple-tree/core/treeNodeKernel.d.ts +7 -11
  144. package/dist/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
  145. package/dist/simple-tree/core/treeNodeKernel.js +24 -47
  146. package/dist/simple-tree/core/treeNodeKernel.js.map +1 -1
  147. package/dist/simple-tree/core/treeNodeSchema.d.ts +3 -3
  148. package/dist/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
  149. package/dist/simple-tree/core/treeNodeSchema.js.map +1 -1
  150. package/dist/simple-tree/core/treeNodeValid.d.ts +2 -2
  151. package/dist/simple-tree/core/treeNodeValid.d.ts.map +1 -1
  152. package/dist/simple-tree/core/treeNodeValid.js.map +1 -1
  153. package/dist/simple-tree/core/walkSchema.d.ts +3 -3
  154. package/dist/simple-tree/core/walkSchema.d.ts.map +1 -1
  155. package/dist/simple-tree/core/walkSchema.js +1 -1
  156. package/dist/simple-tree/core/walkSchema.js.map +1 -1
  157. package/dist/simple-tree/createContext.js +2 -2
  158. package/dist/simple-tree/createContext.js.map +1 -1
  159. package/dist/simple-tree/fieldSchema.d.ts +9 -32
  160. package/dist/simple-tree/fieldSchema.d.ts.map +1 -1
  161. package/dist/simple-tree/fieldSchema.js +12 -20
  162. package/dist/simple-tree/fieldSchema.js.map +1 -1
  163. package/dist/simple-tree/getTreeNodeForField.js +1 -1
  164. package/dist/simple-tree/getTreeNodeForField.js.map +1 -1
  165. package/dist/simple-tree/index.d.ts +4 -4
  166. package/dist/simple-tree/index.d.ts.map +1 -1
  167. package/dist/simple-tree/index.js +7 -3
  168. package/dist/simple-tree/index.js.map +1 -1
  169. package/dist/simple-tree/node-kinds/array/arrayNode.d.ts +2 -2
  170. package/dist/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
  171. package/dist/simple-tree/node-kinds/array/arrayNode.js +7 -8
  172. package/dist/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
  173. package/dist/simple-tree/node-kinds/array/arrayNodeTypes.d.ts +3 -3
  174. package/dist/simple-tree/node-kinds/array/arrayNodeTypes.d.ts.map +1 -1
  175. package/dist/simple-tree/node-kinds/array/arrayNodeTypes.js.map +1 -1
  176. package/dist/simple-tree/node-kinds/common.d.ts.map +1 -1
  177. package/dist/simple-tree/node-kinds/common.js +2 -2
  178. package/dist/simple-tree/node-kinds/common.js.map +1 -1
  179. package/dist/simple-tree/node-kinds/index.d.ts +1 -1
  180. package/dist/simple-tree/node-kinds/index.d.ts.map +1 -1
  181. package/dist/simple-tree/node-kinds/index.js.map +1 -1
  182. package/dist/simple-tree/node-kinds/map/mapNode.d.ts +2 -2
  183. package/dist/simple-tree/node-kinds/map/mapNode.d.ts.map +1 -1
  184. package/dist/simple-tree/node-kinds/map/mapNode.js +5 -5
  185. package/dist/simple-tree/node-kinds/map/mapNode.js.map +1 -1
  186. package/dist/simple-tree/node-kinds/map/mapNodeTypes.d.ts +3 -3
  187. package/dist/simple-tree/node-kinds/map/mapNodeTypes.d.ts.map +1 -1
  188. package/dist/simple-tree/node-kinds/map/mapNodeTypes.js.map +1 -1
  189. package/dist/simple-tree/node-kinds/object/index.d.ts +2 -2
  190. package/dist/simple-tree/node-kinds/object/index.d.ts.map +1 -1
  191. package/dist/simple-tree/node-kinds/object/index.js.map +1 -1
  192. package/dist/simple-tree/node-kinds/object/objectNode.d.ts +5 -18
  193. package/dist/simple-tree/node-kinds/object/objectNode.d.ts.map +1 -1
  194. package/dist/simple-tree/node-kinds/object/objectNode.js +8 -18
  195. package/dist/simple-tree/node-kinds/object/objectNode.js.map +1 -1
  196. package/dist/simple-tree/node-kinds/object/objectNodeTypes.d.ts +4 -11
  197. package/dist/simple-tree/node-kinds/object/objectNodeTypes.d.ts.map +1 -1
  198. package/dist/simple-tree/node-kinds/object/objectNodeTypes.js.map +1 -1
  199. package/dist/simple-tree/node-kinds/record/recordNode.d.ts +3 -3
  200. package/dist/simple-tree/node-kinds/record/recordNode.d.ts.map +1 -1
  201. package/dist/simple-tree/node-kinds/record/recordNode.js +9 -9
  202. package/dist/simple-tree/node-kinds/record/recordNode.js.map +1 -1
  203. package/dist/simple-tree/node-kinds/record/recordNodeTypes.d.ts +5 -5
  204. package/dist/simple-tree/node-kinds/record/recordNodeTypes.d.ts.map +1 -1
  205. package/dist/simple-tree/node-kinds/record/recordNodeTypes.js.map +1 -1
  206. package/dist/simple-tree/prepareForInsertion.d.ts +39 -7
  207. package/dist/simple-tree/prepareForInsertion.d.ts.map +1 -1
  208. package/dist/simple-tree/prepareForInsertion.js +43 -15
  209. package/dist/simple-tree/prepareForInsertion.js.map +1 -1
  210. package/dist/simple-tree/toStoredSchema.d.ts +8 -8
  211. package/dist/simple-tree/toStoredSchema.d.ts.map +1 -1
  212. package/dist/simple-tree/toStoredSchema.js +5 -5
  213. package/dist/simple-tree/toStoredSchema.js.map +1 -1
  214. package/dist/simple-tree/unhydratedFlexTreeFromInsertable.d.ts +2 -2
  215. package/dist/simple-tree/unhydratedFlexTreeFromInsertable.d.ts.map +1 -1
  216. package/dist/simple-tree/unhydratedFlexTreeFromInsertable.js.map +1 -1
  217. package/dist/simple-tree/unsafeUnknownSchema.d.ts.map +1 -1
  218. package/dist/simple-tree/unsafeUnknownSchema.js.map +1 -1
  219. package/dist/simple-tree/walkFieldSchema.js +1 -1
  220. package/dist/simple-tree/walkFieldSchema.js.map +1 -1
  221. package/dist/tableSchema.d.ts +19 -19
  222. package/dist/tableSchema.d.ts.map +1 -1
  223. package/dist/tableSchema.js +2 -2
  224. package/dist/tableSchema.js.map +1 -1
  225. package/lib/alpha.d.ts +18 -13
  226. package/lib/beta.d.ts +5 -0
  227. package/lib/feature-libraries/chunked-forest/chunkTree.d.ts +67 -13
  228. package/lib/feature-libraries/chunked-forest/chunkTree.d.ts.map +1 -1
  229. package/lib/feature-libraries/chunked-forest/chunkTree.js +68 -32
  230. package/lib/feature-libraries/chunked-forest/chunkTree.js.map +1 -1
  231. package/lib/feature-libraries/chunked-forest/codec/codecs.d.ts +5 -5
  232. package/lib/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -1
  233. package/lib/feature-libraries/chunked-forest/codec/codecs.js.map +1 -1
  234. package/lib/feature-libraries/chunked-forest/codec/incrementalEncodingPolicy.d.ts +23 -0
  235. package/lib/feature-libraries/chunked-forest/codec/incrementalEncodingPolicy.d.ts.map +1 -0
  236. package/lib/feature-libraries/chunked-forest/codec/incrementalEncodingPolicy.js +11 -0
  237. package/lib/feature-libraries/chunked-forest/codec/incrementalEncodingPolicy.js.map +1 -0
  238. package/lib/feature-libraries/chunked-forest/codec/index.d.ts +1 -0
  239. package/lib/feature-libraries/chunked-forest/codec/index.d.ts.map +1 -1
  240. package/lib/feature-libraries/chunked-forest/codec/index.js +1 -0
  241. package/lib/feature-libraries/chunked-forest/codec/index.js.map +1 -1
  242. package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncode.d.ts.map +1 -1
  243. package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncode.js +3 -2
  244. package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncode.js.map +1 -1
  245. package/lib/feature-libraries/chunked-forest/index.d.ts +1 -1
  246. package/lib/feature-libraries/chunked-forest/index.d.ts.map +1 -1
  247. package/lib/feature-libraries/chunked-forest/index.js +1 -1
  248. package/lib/feature-libraries/chunked-forest/index.js.map +1 -1
  249. package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts +1 -1
  250. package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -1
  251. package/lib/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -1
  252. package/lib/feature-libraries/forest-summary/forestSummarizer.d.ts +3 -3
  253. package/lib/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
  254. package/lib/feature-libraries/forest-summary/forestSummarizer.js +3 -3
  255. package/lib/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
  256. package/lib/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts +4 -11
  257. package/lib/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts.map +1 -1
  258. package/lib/feature-libraries/forest-summary/incrementalSummaryBuilder.js +2 -6
  259. package/lib/feature-libraries/forest-summary/incrementalSummaryBuilder.js.map +1 -1
  260. package/lib/feature-libraries/index.d.ts +1 -1
  261. package/lib/feature-libraries/index.d.ts.map +1 -1
  262. package/lib/feature-libraries/index.js +1 -1
  263. package/lib/feature-libraries/index.js.map +1 -1
  264. package/lib/feature-libraries/treeCursorUtils.d.ts.map +1 -1
  265. package/lib/feature-libraries/treeCursorUtils.js +17 -15
  266. package/lib/feature-libraries/treeCursorUtils.js.map +1 -1
  267. package/lib/index.d.ts +1 -1
  268. package/lib/index.d.ts.map +1 -1
  269. package/lib/index.js.map +1 -1
  270. package/lib/jsonDomainSchema.d.ts +5 -5
  271. package/lib/jsonDomainSchema.js +5 -5
  272. package/lib/jsonDomainSchema.js.map +1 -1
  273. package/lib/legacy.d.ts +5 -0
  274. package/lib/packageVersion.d.ts +1 -1
  275. package/lib/packageVersion.js +1 -1
  276. package/lib/packageVersion.js.map +1 -1
  277. package/lib/public.d.ts +1 -0
  278. package/lib/serializableDomainSchema.d.ts +6 -6
  279. package/lib/serializableDomainSchema.js +5 -5
  280. package/lib/serializableDomainSchema.js.map +1 -1
  281. package/lib/shared-tree/independentView.d.ts.map +1 -1
  282. package/lib/shared-tree/independentView.js +3 -3
  283. package/lib/shared-tree/independentView.js.map +1 -1
  284. package/lib/shared-tree/schematizingTreeView.d.ts +5 -0
  285. package/lib/shared-tree/schematizingTreeView.d.ts.map +1 -1
  286. package/lib/shared-tree/schematizingTreeView.js +41 -11
  287. package/lib/shared-tree/schematizingTreeView.js.map +1 -1
  288. package/lib/shared-tree/sharedTree.d.ts +6 -8
  289. package/lib/shared-tree/sharedTree.d.ts.map +1 -1
  290. package/lib/shared-tree/sharedTree.js +7 -9
  291. package/lib/shared-tree/sharedTree.js.map +1 -1
  292. package/lib/shared-tree/tree.js +2 -2
  293. package/lib/shared-tree/tree.js.map +1 -1
  294. package/lib/shared-tree/treeAlpha.d.ts +20 -28
  295. package/lib/shared-tree/treeAlpha.d.ts.map +1 -1
  296. package/lib/shared-tree/treeAlpha.js +5 -30
  297. package/lib/shared-tree/treeAlpha.js.map +1 -1
  298. package/lib/simple-tree/api/conciseTree.d.ts +1 -1
  299. package/lib/simple-tree/api/conciseTree.js.map +1 -1
  300. package/lib/simple-tree/api/configuration.d.ts +0 -3
  301. package/lib/simple-tree/api/configuration.d.ts.map +1 -1
  302. package/lib/simple-tree/api/configuration.js +2 -5
  303. package/lib/simple-tree/api/configuration.js.map +1 -1
  304. package/lib/simple-tree/api/customTree.d.ts +7 -7
  305. package/lib/simple-tree/api/customTree.js +5 -5
  306. package/lib/simple-tree/api/customTree.js.map +1 -1
  307. package/lib/simple-tree/api/discrepancies.js +3 -3
  308. package/lib/simple-tree/api/discrepancies.js.map +1 -1
  309. package/lib/simple-tree/api/index.d.ts +3 -3
  310. package/lib/simple-tree/api/index.d.ts.map +1 -1
  311. package/lib/simple-tree/api/index.js +1 -1
  312. package/lib/simple-tree/api/index.js.map +1 -1
  313. package/lib/simple-tree/api/schemaFactory.d.ts +12 -4
  314. package/lib/simple-tree/api/schemaFactory.d.ts.map +1 -1
  315. package/lib/simple-tree/api/schemaFactory.js +3 -8
  316. package/lib/simple-tree/api/schemaFactory.js.map +1 -1
  317. package/lib/simple-tree/api/schemaFactoryAlpha.d.ts +64 -28
  318. package/lib/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
  319. package/lib/simple-tree/api/schemaFactoryAlpha.js +43 -12
  320. package/lib/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
  321. package/lib/simple-tree/api/schemaFactoryBeta.d.ts +13 -2
  322. package/lib/simple-tree/api/schemaFactoryBeta.d.ts.map +1 -1
  323. package/lib/simple-tree/api/schemaFactoryBeta.js +16 -2
  324. package/lib/simple-tree/api/schemaFactoryBeta.js.map +1 -1
  325. package/lib/simple-tree/api/schemaStatics.d.ts +9 -14
  326. package/lib/simple-tree/api/schemaStatics.d.ts.map +1 -1
  327. package/lib/simple-tree/api/schemaStatics.js +12 -12
  328. package/lib/simple-tree/api/schemaStatics.js.map +1 -1
  329. package/lib/simple-tree/api/storedSchema.d.ts +2 -2
  330. package/lib/simple-tree/api/storedSchema.d.ts.map +1 -1
  331. package/lib/simple-tree/api/storedSchema.js +1 -1
  332. package/lib/simple-tree/api/storedSchema.js.map +1 -1
  333. package/lib/simple-tree/api/tree.d.ts +3 -3
  334. package/lib/simple-tree/api/tree.js.map +1 -1
  335. package/lib/simple-tree/api/treeBeta.d.ts +52 -2
  336. package/lib/simple-tree/api/treeBeta.d.ts.map +1 -1
  337. package/lib/simple-tree/api/treeBeta.js +34 -2
  338. package/lib/simple-tree/api/treeBeta.js.map +1 -1
  339. package/lib/simple-tree/api/treeNodeApi.js +5 -5
  340. package/lib/simple-tree/api/treeNodeApi.js.map +1 -1
  341. package/lib/simple-tree/api/typesUnsafe.d.ts +60 -1
  342. package/lib/simple-tree/api/typesUnsafe.d.ts.map +1 -1
  343. package/lib/simple-tree/api/typesUnsafe.js.map +1 -1
  344. package/lib/simple-tree/core/allowedTypes.d.ts +120 -62
  345. package/lib/simple-tree/core/allowedTypes.d.ts.map +1 -1
  346. package/lib/simple-tree/core/allowedTypes.js +158 -80
  347. package/lib/simple-tree/core/allowedTypes.js.map +1 -1
  348. package/lib/simple-tree/core/context.d.ts +2 -2
  349. package/lib/simple-tree/core/context.d.ts.map +1 -1
  350. package/lib/simple-tree/core/context.js.map +1 -1
  351. package/lib/simple-tree/core/index.d.ts +3 -3
  352. package/lib/simple-tree/core/index.d.ts.map +1 -1
  353. package/lib/simple-tree/core/index.js +2 -2
  354. package/lib/simple-tree/core/index.js.map +1 -1
  355. package/lib/simple-tree/core/toStored.d.ts +3 -3
  356. package/lib/simple-tree/core/toStored.d.ts.map +1 -1
  357. package/lib/simple-tree/core/toStored.js +3 -3
  358. package/lib/simple-tree/core/toStored.js.map +1 -1
  359. package/lib/simple-tree/core/treeNode.d.ts +1 -1
  360. package/lib/simple-tree/core/treeNode.js +1 -1
  361. package/lib/simple-tree/core/treeNode.js.map +1 -1
  362. package/lib/simple-tree/core/treeNodeKernel.d.ts +7 -11
  363. package/lib/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
  364. package/lib/simple-tree/core/treeNodeKernel.js +23 -46
  365. package/lib/simple-tree/core/treeNodeKernel.js.map +1 -1
  366. package/lib/simple-tree/core/treeNodeSchema.d.ts +3 -3
  367. package/lib/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
  368. package/lib/simple-tree/core/treeNodeSchema.js.map +1 -1
  369. package/lib/simple-tree/core/treeNodeValid.d.ts +2 -2
  370. package/lib/simple-tree/core/treeNodeValid.d.ts.map +1 -1
  371. package/lib/simple-tree/core/treeNodeValid.js.map +1 -1
  372. package/lib/simple-tree/core/walkSchema.d.ts +3 -3
  373. package/lib/simple-tree/core/walkSchema.d.ts.map +1 -1
  374. package/lib/simple-tree/core/walkSchema.js +2 -2
  375. package/lib/simple-tree/core/walkSchema.js.map +1 -1
  376. package/lib/simple-tree/createContext.js +3 -3
  377. package/lib/simple-tree/createContext.js.map +1 -1
  378. package/lib/simple-tree/fieldSchema.d.ts +9 -32
  379. package/lib/simple-tree/fieldSchema.d.ts.map +1 -1
  380. package/lib/simple-tree/fieldSchema.js +13 -21
  381. package/lib/simple-tree/fieldSchema.js.map +1 -1
  382. package/lib/simple-tree/getTreeNodeForField.js +1 -1
  383. package/lib/simple-tree/getTreeNodeForField.js.map +1 -1
  384. package/lib/simple-tree/index.d.ts +4 -4
  385. package/lib/simple-tree/index.d.ts.map +1 -1
  386. package/lib/simple-tree/index.js +2 -2
  387. package/lib/simple-tree/index.js.map +1 -1
  388. package/lib/simple-tree/node-kinds/array/arrayNode.d.ts +2 -2
  389. package/lib/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
  390. package/lib/simple-tree/node-kinds/array/arrayNode.js +8 -9
  391. package/lib/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
  392. package/lib/simple-tree/node-kinds/array/arrayNodeTypes.d.ts +3 -3
  393. package/lib/simple-tree/node-kinds/array/arrayNodeTypes.d.ts.map +1 -1
  394. package/lib/simple-tree/node-kinds/array/arrayNodeTypes.js.map +1 -1
  395. package/lib/simple-tree/node-kinds/common.d.ts.map +1 -1
  396. package/lib/simple-tree/node-kinds/common.js +3 -3
  397. package/lib/simple-tree/node-kinds/common.js.map +1 -1
  398. package/lib/simple-tree/node-kinds/index.d.ts +1 -1
  399. package/lib/simple-tree/node-kinds/index.d.ts.map +1 -1
  400. package/lib/simple-tree/node-kinds/index.js.map +1 -1
  401. package/lib/simple-tree/node-kinds/map/mapNode.d.ts +2 -2
  402. package/lib/simple-tree/node-kinds/map/mapNode.d.ts.map +1 -1
  403. package/lib/simple-tree/node-kinds/map/mapNode.js +6 -6
  404. package/lib/simple-tree/node-kinds/map/mapNode.js.map +1 -1
  405. package/lib/simple-tree/node-kinds/map/mapNodeTypes.d.ts +3 -3
  406. package/lib/simple-tree/node-kinds/map/mapNodeTypes.d.ts.map +1 -1
  407. package/lib/simple-tree/node-kinds/map/mapNodeTypes.js.map +1 -1
  408. package/lib/simple-tree/node-kinds/object/index.d.ts +2 -2
  409. package/lib/simple-tree/node-kinds/object/index.d.ts.map +1 -1
  410. package/lib/simple-tree/node-kinds/object/index.js.map +1 -1
  411. package/lib/simple-tree/node-kinds/object/objectNode.d.ts +5 -18
  412. package/lib/simple-tree/node-kinds/object/objectNode.d.ts.map +1 -1
  413. package/lib/simple-tree/node-kinds/object/objectNode.js +9 -18
  414. package/lib/simple-tree/node-kinds/object/objectNode.js.map +1 -1
  415. package/lib/simple-tree/node-kinds/object/objectNodeTypes.d.ts +4 -11
  416. package/lib/simple-tree/node-kinds/object/objectNodeTypes.d.ts.map +1 -1
  417. package/lib/simple-tree/node-kinds/object/objectNodeTypes.js.map +1 -1
  418. package/lib/simple-tree/node-kinds/record/recordNode.d.ts +3 -3
  419. package/lib/simple-tree/node-kinds/record/recordNode.d.ts.map +1 -1
  420. package/lib/simple-tree/node-kinds/record/recordNode.js +10 -10
  421. package/lib/simple-tree/node-kinds/record/recordNode.js.map +1 -1
  422. package/lib/simple-tree/node-kinds/record/recordNodeTypes.d.ts +5 -5
  423. package/lib/simple-tree/node-kinds/record/recordNodeTypes.d.ts.map +1 -1
  424. package/lib/simple-tree/node-kinds/record/recordNodeTypes.js.map +1 -1
  425. package/lib/simple-tree/prepareForInsertion.d.ts +39 -7
  426. package/lib/simple-tree/prepareForInsertion.d.ts.map +1 -1
  427. package/lib/simple-tree/prepareForInsertion.js +45 -17
  428. package/lib/simple-tree/prepareForInsertion.js.map +1 -1
  429. package/lib/simple-tree/toStoredSchema.d.ts +8 -8
  430. package/lib/simple-tree/toStoredSchema.d.ts.map +1 -1
  431. package/lib/simple-tree/toStoredSchema.js +5 -5
  432. package/lib/simple-tree/toStoredSchema.js.map +1 -1
  433. package/lib/simple-tree/unhydratedFlexTreeFromInsertable.d.ts +2 -2
  434. package/lib/simple-tree/unhydratedFlexTreeFromInsertable.d.ts.map +1 -1
  435. package/lib/simple-tree/unhydratedFlexTreeFromInsertable.js +1 -1
  436. package/lib/simple-tree/unhydratedFlexTreeFromInsertable.js.map +1 -1
  437. package/lib/simple-tree/unsafeUnknownSchema.d.ts.map +1 -1
  438. package/lib/simple-tree/unsafeUnknownSchema.js.map +1 -1
  439. package/lib/simple-tree/walkFieldSchema.js +1 -1
  440. package/lib/simple-tree/walkFieldSchema.js.map +1 -1
  441. package/lib/tableSchema.d.ts +19 -19
  442. package/lib/tableSchema.d.ts.map +1 -1
  443. package/lib/tableSchema.js +2 -2
  444. package/lib/tableSchema.js.map +1 -1
  445. package/package.json +23 -21
  446. package/src/feature-libraries/chunked-forest/chunkTree.ts +112 -45
  447. package/src/feature-libraries/chunked-forest/codec/codecs.ts +4 -9
  448. package/src/feature-libraries/chunked-forest/codec/incrementalEncodingPolicy.ts +33 -0
  449. package/src/feature-libraries/chunked-forest/codec/index.ts +4 -0
  450. package/src/feature-libraries/chunked-forest/codec/schemaBasedEncode.ts +4 -7
  451. package/src/feature-libraries/chunked-forest/index.ts +2 -0
  452. package/src/feature-libraries/flex-tree/flexTreeTypes.ts +1 -1
  453. package/src/feature-libraries/forest-summary/forestSummarizer.ts +8 -12
  454. package/src/feature-libraries/forest-summary/incrementalSummaryBuilder.ts +3 -12
  455. package/src/feature-libraries/index.ts +2 -0
  456. package/src/feature-libraries/treeCursorUtils.ts +34 -19
  457. package/src/index.ts +14 -10
  458. package/src/jsonDomainSchema.ts +5 -5
  459. package/src/packageVersion.ts +1 -1
  460. package/src/serializableDomainSchema.ts +6 -6
  461. package/src/shared-tree/independentView.ts +3 -0
  462. package/src/shared-tree/schematizingTreeView.ts +58 -9
  463. package/src/shared-tree/sharedTree.ts +33 -20
  464. package/src/shared-tree/tree.ts +2 -2
  465. package/src/shared-tree/treeAlpha.ts +35 -84
  466. package/src/simple-tree/api/conciseTree.ts +1 -1
  467. package/src/simple-tree/api/configuration.ts +3 -7
  468. package/src/simple-tree/api/customTree.ts +7 -7
  469. package/src/simple-tree/api/discrepancies.ts +3 -3
  470. package/src/simple-tree/api/index.ts +17 -2
  471. package/src/simple-tree/api/schemaFactory.ts +18 -73
  472. package/src/simple-tree/api/schemaFactoryAlpha.ts +118 -25
  473. package/src/simple-tree/api/schemaFactoryBeta.ts +76 -1
  474. package/src/simple-tree/api/schemaStatics.ts +19 -61
  475. package/src/simple-tree/api/storedSchema.ts +2 -6
  476. package/src/simple-tree/api/tree.ts +3 -3
  477. package/src/simple-tree/api/treeBeta.ts +137 -4
  478. package/src/simple-tree/api/treeNodeApi.ts +5 -5
  479. package/src/simple-tree/api/typesUnsafe.ts +81 -0
  480. package/src/simple-tree/core/TreeNodeBinding.md +14 -70
  481. package/src/simple-tree/core/allowedTypes.ts +355 -159
  482. package/src/simple-tree/core/context.ts +2 -2
  483. package/src/simple-tree/core/index.ts +11 -9
  484. package/src/simple-tree/core/toStored.ts +7 -5
  485. package/src/simple-tree/core/treeNode.ts +1 -1
  486. package/src/simple-tree/core/treeNodeKernel.ts +25 -59
  487. package/src/simple-tree/core/treeNodeSchema.ts +3 -6
  488. package/src/simple-tree/core/treeNodeValid.ts +2 -2
  489. package/src/simple-tree/core/walkSchema.ts +9 -5
  490. package/src/simple-tree/createContext.ts +3 -3
  491. package/src/simple-tree/fieldSchema.ts +24 -98
  492. package/src/simple-tree/getTreeNodeForField.ts +1 -1
  493. package/src/simple-tree/index.ts +19 -11
  494. package/src/simple-tree/node-kinds/array/arrayNode.ts +12 -17
  495. package/src/simple-tree/node-kinds/array/arrayNodeTypes.ts +7 -8
  496. package/src/simple-tree/node-kinds/common.ts +5 -3
  497. package/src/simple-tree/node-kinds/index.ts +0 -2
  498. package/src/simple-tree/node-kinds/map/mapNode.ts +8 -16
  499. package/src/simple-tree/node-kinds/map/mapNodeTypes.ts +7 -8
  500. package/src/simple-tree/node-kinds/object/index.ts +0 -2
  501. package/src/simple-tree/node-kinds/object/objectNode.ts +17 -55
  502. package/src/simple-tree/node-kinds/object/objectNodeTypes.ts +5 -19
  503. package/src/simple-tree/node-kinds/record/recordNode.ts +16 -23
  504. package/src/simple-tree/node-kinds/record/recordNodeTypes.ts +7 -11
  505. package/src/simple-tree/prepareForInsertion.ts +92 -30
  506. package/src/simple-tree/toStoredSchema.ts +8 -9
  507. package/src/simple-tree/unhydratedFlexTreeFromInsertable.ts +2 -6
  508. package/src/simple-tree/unsafeUnknownSchema.ts +2 -3
  509. package/src/simple-tree/walkFieldSchema.ts +1 -1
  510. package/src/tableSchema.ts +24 -37
@@ -9,7 +9,7 @@ export {
9
9
  type WithType,
10
10
  type TreeNodeSchema,
11
11
  type AnnotatedAllowedType,
12
- type NormalizedAnnotatedAllowedTypes,
12
+ type AllowedTypesFullEvaluated,
13
13
  NodeKind,
14
14
  type TreeNodeSchemaClass,
15
15
  type TreeNodeSchemaNonClass,
@@ -21,7 +21,7 @@ export {
21
21
  tryDisposeTreeNode,
22
22
  HydratedContext,
23
23
  SimpleContextSlot,
24
- getOrCreateInnerNode,
24
+ getInnerNode,
25
25
  getOrCreateNodeFromInnerNode,
26
26
  getOrCreateNodeFromInnerUnboxedNode,
27
27
  getKernel,
@@ -38,12 +38,8 @@ export {
38
38
  normalizeAllowedTypes,
39
39
  type NodeSchemaMetadata,
40
40
  type ImplicitAllowedTypes,
41
- type ImplicitAnnotatedAllowedTypes,
42
- type UnannotateImplicitAllowedTypes,
43
41
  type AllowedTypesMetadata,
44
42
  evaluateLazySchema,
45
- type UnannotateAllowedTypes,
46
- type UnannotateAllowedType,
47
43
  type UnannotateAllowedTypesList,
48
44
  type AllowedTypeMetadata,
49
45
  type AnnotatedAllowedTypes,
@@ -57,6 +53,11 @@ export {
57
53
  type SchemaVisitor,
58
54
  type SimpleNodeSchemaBase,
59
55
  withBufferedTreeEvents,
56
+ type AnnotateAllowedTypesList,
57
+ type AllowedTypesFull,
58
+ type AllowedTypesFullFromMixed,
59
+ AnnotatedAllowedTypesInternal,
60
+ type NumberKeys,
60
61
  } from "./core/index.js";
61
62
  export { walkFieldSchema } from "./walkFieldSchema.js";
62
63
  export type { UnsafeUnknownSchema, Insertable } from "./unsafeUnknownSchema.js";
@@ -73,7 +74,8 @@ export {
73
74
  SchemaFactory,
74
75
  SchemaFactoryBeta,
75
76
  SchemaFactoryAlpha,
76
- type SchemaFactoryObjectOptions,
77
+ type ObjectSchemaOptionsAlpha,
78
+ type ObjectSchemaOptions,
77
79
  type ScopedSchemaName,
78
80
  type ValidateRecursiveSchema,
79
81
  type FixRecursiveArraySchema,
@@ -83,6 +85,9 @@ export {
83
85
  treeNodeApi,
84
86
  type TreeNodeApi,
85
87
  type NodeChangedData,
88
+ borrowCursorFromTreeNodeOrValue,
89
+ exportConcise,
90
+ importConcise,
86
91
  TreeBeta,
87
92
  type TreeChangeEventsBeta,
88
93
  type SimpleTreeIndex,
@@ -122,6 +127,13 @@ export {
122
127
  type ArrayNodeCustomizableSchemaUnsafe,
123
128
  type MapNodeCustomizableSchemaUnsafe,
124
129
  type TreeRecordNodeUnsafe,
130
+ type UnannotateAllowedTypeUnsafe,
131
+ type AnnotatedAllowedTypeUnsafe,
132
+ type AnnotatedAllowedTypesUnsafe,
133
+ type AllowedTypesFullUnsafe,
134
+ type AllowedTypesFullFromMixedUnsafe,
135
+ type UnannotateAllowedTypesListUnsafe,
136
+ type AnnotateAllowedTypesListUnsafe,
125
137
  type TreeViewAlpha,
126
138
  type TreeBranch,
127
139
  type TreeBranchEvents,
@@ -184,9 +196,7 @@ export type {
184
196
  } from "./simpleSchema.js";
185
197
  export {
186
198
  type ImplicitFieldSchema,
187
- type ImplicitAnnotatedFieldSchema,
188
199
  type TreeFieldFromImplicitField,
189
- type UnannotateImplicitFieldSchema,
190
200
  FieldKind,
191
201
  FieldSchema,
192
202
  FieldSchemaAlpha,
@@ -226,7 +236,6 @@ export {
226
236
  ObjectNodeSchema,
227
237
  type ObjectNodeSchemaPrivate,
228
238
  isObjectNodeSchema,
229
- type InsertableObjectFromAnnotatedSchemaRecord,
230
239
  type TreeObjectNode,
231
240
  setField,
232
241
  isRecordNodeSchema,
@@ -235,7 +244,6 @@ export {
235
244
  type RecordNodePojoEmulationSchema,
236
245
  RecordNodeSchema,
237
246
  type TreeRecordNode,
238
- type UnannotateSchemaRecord,
239
247
  } from "./node-kinds/index.js";
240
248
  export {
241
249
  unhydratedFlexTreeFromInsertable,
@@ -25,21 +25,18 @@ import {
25
25
  typeSchemaSymbol,
26
26
  getOrCreateNodeFromInnerNode,
27
27
  getSimpleNodeSchemaFromInnerNode,
28
- getOrCreateInnerNode,
28
+ getInnerNode,
29
29
  type TreeNodeSchemaClass,
30
30
  getKernel,
31
31
  type UnhydratedFlexTreeNode,
32
32
  UnhydratedSequenceField,
33
33
  getOrCreateNodeFromInnerUnboxedNode,
34
34
  normalizeAllowedTypes,
35
- unannotateImplicitAllowedTypes,
36
35
  type ImplicitAllowedTypes,
37
- type ImplicitAnnotatedAllowedTypes,
38
36
  type InsertableTreeNodeFromImplicitAllowedTypes,
39
37
  type NodeSchemaMetadata,
40
38
  type TreeLeafValue,
41
39
  type TreeNodeFromImplicitAllowedTypes,
42
- type UnannotateImplicitAllowedTypes,
43
40
  TreeNodeValid,
44
41
  type MostDerivedData,
45
42
  type TreeNodeSchemaInitializedData,
@@ -480,7 +477,7 @@ export class IterableTreeArrayContent<T> implements Iterable<T> {
480
477
  * Given a array node proxy, returns its underlying LazySequence field.
481
478
  */
482
479
  function getSequenceField(arrayNode: ReadonlyArrayNode): FlexTreeSequenceField {
483
- return getOrCreateInnerNode(arrayNode).getBoxed(EmptyKey) as FlexTreeSequenceField;
480
+ return getInnerNode(arrayNode).getBoxed(EmptyKey) as FlexTreeSequenceField;
484
481
  }
485
482
 
486
483
  // For compatibility, we are initially implement 'readonly T[]' by applying the Array.prototype methods
@@ -863,7 +860,7 @@ abstract class CustomArrayNodeBase<const T extends ImplicitAllowedTypes>
863
860
 
864
861
  public static readonly kind = NodeKind.Array;
865
862
 
866
- protected abstract get childSchema(): ImplicitAnnotatedAllowedTypes;
863
+ protected abstract get childSchema(): ImplicitAllowedTypes;
867
864
  protected abstract get allowedTypes(): ReadonlySet<TreeNodeSchema>;
868
865
 
869
866
  public abstract override get [typeSchemaSymbol](): TreeNodeSchemaClass<
@@ -889,7 +886,7 @@ abstract class CustomArrayNodeBase<const T extends ImplicitAllowedTypes>
889
886
  );
890
887
 
891
888
  const kernel = getKernel(this);
892
- const flexContext = kernel.getOrCreateInnerNode().context;
889
+ const flexContext = kernel.getInnerNode().context;
893
890
  assert(
894
891
  flexContext === kernel.context.flexContext,
895
892
  0xc14 /* Expected flexContext to match */,
@@ -1147,7 +1144,7 @@ abstract class CustomArrayNodeBase<const T extends ImplicitAllowedTypes>
1147
1144
  // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
1148
1145
  export function arraySchema<
1149
1146
  TName extends string,
1150
- const T extends ImplicitAnnotatedAllowedTypes,
1147
+ const T extends ImplicitAllowedTypes,
1151
1148
  const ImplicitlyConstructable extends boolean,
1152
1149
  const TCustomMetadata = unknown,
1153
1150
  >(
@@ -1167,18 +1164,16 @@ export function arraySchema<
1167
1164
  ArrayNodePojoEmulationSchema<TName, T, ImplicitlyConstructable, TCustomMetadata> &
1168
1165
  TreeNodeSchemaCorePrivate;
1169
1166
 
1170
- const unannotatedTypes = unannotateImplicitAllowedTypes(info);
1171
-
1172
- const lazyChildTypes = new Lazy(() => normalizeAllowedTypes(unannotatedTypes));
1167
+ const normalizedTypes = normalizeAllowedTypes(info);
1173
1168
  const lazyAllowedTypesIdentifiers = new Lazy(
1174
- () => new Set([...lazyChildTypes.value].map((type) => type.identifier)),
1169
+ () => new Set(normalizedTypes.evaluate().map((type) => type.identifier)),
1175
1170
  );
1176
1171
 
1177
1172
  let privateData: TreeNodeSchemaPrivateData | undefined;
1178
1173
 
1179
1174
  // This class returns a proxy from its constructor to handle numeric indexing.
1180
1175
  // Alternatively it could extend a normal class which gets tons of numeric properties added.
1181
- class Schema extends CustomArrayNodeBase<UnannotateImplicitAllowedTypes<T>> {
1176
+ class Schema extends CustomArrayNodeBase<T> {
1182
1177
  public static override prepareInstance<T2>(
1183
1178
  this: typeof TreeNodeValid<T2>,
1184
1179
  instance: TreeNodeValid<T2>,
@@ -1255,7 +1250,7 @@ export function arraySchema<
1255
1250
  public static readonly implicitlyConstructable: ImplicitlyConstructable =
1256
1251
  implicitlyConstructable;
1257
1252
  public static get childTypes(): ReadonlySet<TreeNodeSchema> {
1258
- return lazyChildTypes.value;
1253
+ return normalizedTypes.evaluateSet();
1259
1254
  }
1260
1255
  public static readonly metadata: NodeSchemaMetadata<TCustomMetadata> = metadata ?? {};
1261
1256
  public static readonly persistedMetadata: JsonCompatibleReadOnlyObject | undefined =
@@ -1273,7 +1268,7 @@ export function arraySchema<
1273
1268
  return info;
1274
1269
  }
1275
1270
  protected get allowedTypes(): ReadonlySet<TreeNodeSchema> {
1276
- return lazyChildTypes.value;
1271
+ return normalizedTypes.evaluateSet();
1277
1272
  }
1278
1273
 
1279
1274
  public static get [privateDataSymbol](): TreeNodeSchemaPrivateData {
@@ -1370,10 +1365,10 @@ function arrayToFlexContent(data: FactoryContent, schema: ArrayNodeSchema): Flex
1370
1365
  throw new UsageError(`Input data is incompatible with Array schema: ${data}`);
1371
1366
  }
1372
1367
 
1373
- const allowedChildTypes = normalizeAllowedTypes(schema.info as ImplicitAllowedTypes);
1368
+ const allowedChildTypes = normalizeAllowedTypes(schema.info);
1374
1369
 
1375
1370
  const mappedData = Array.from(data, (child) =>
1376
- arrayChildToFlexTree(child, allowedChildTypes),
1371
+ arrayChildToFlexTree(child, allowedChildTypes.evaluateSet()),
1377
1372
  );
1378
1373
 
1379
1374
  const context = getUnhydratedContext(schema).flexContext;
@@ -10,9 +10,8 @@ import type {
10
10
  TreeNodeSchema,
11
11
  TreeNodeSchemaNonClass,
12
12
  WithType,
13
- ImplicitAnnotatedAllowedTypes,
13
+ ImplicitAllowedTypes,
14
14
  InsertableTreeNodeFromImplicitAllowedTypes,
15
- UnannotateImplicitAllowedTypes,
16
15
  } from "../../core/index.js";
17
16
 
18
17
  import type { SimpleArrayNodeSchema } from "../../simpleSchema.js";
@@ -23,14 +22,14 @@ import type { SimpleArrayNodeSchema } from "../../simpleSchema.js";
23
22
  */
24
23
  export interface ArrayNodeCustomizableSchema<
25
24
  out TName extends string = string,
26
- in out T extends ImplicitAnnotatedAllowedTypes = ImplicitAnnotatedAllowedTypes,
25
+ in out T extends ImplicitAllowedTypes = ImplicitAllowedTypes,
27
26
  out ImplicitlyConstructable extends boolean = true,
28
27
  out TCustomMetadata = unknown,
29
28
  > extends TreeNodeSchemaClass<
30
29
  TName,
31
30
  NodeKind.Array,
32
- TreeArrayNode<UnannotateImplicitAllowedTypes<T>> & WithType<TName, NodeKind.Array, T>,
33
- Iterable<InsertableTreeNodeFromImplicitAllowedTypes<UnannotateImplicitAllowedTypes<T>>>,
31
+ TreeArrayNode<T> & WithType<TName, NodeKind.Array, T>,
32
+ Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T>>,
34
33
  ImplicitlyConstructable,
35
34
  T,
36
35
  undefined,
@@ -44,14 +43,14 @@ export interface ArrayNodeCustomizableSchema<
44
43
  */
45
44
  export interface ArrayNodePojoEmulationSchema<
46
45
  out TName extends string = string,
47
- in out T extends ImplicitAnnotatedAllowedTypes = ImplicitAnnotatedAllowedTypes,
46
+ in out T extends ImplicitAllowedTypes = ImplicitAllowedTypes,
48
47
  out ImplicitlyConstructable extends boolean = true,
49
48
  out TCustomMetadata = unknown,
50
49
  > extends TreeNodeSchemaNonClass<
51
50
  TName,
52
51
  NodeKind.Array,
53
- TreeArrayNode<UnannotateImplicitAllowedTypes<T>> & WithType<TName, NodeKind.Array, T>,
54
- Iterable<InsertableTreeNodeFromImplicitAllowedTypes<UnannotateImplicitAllowedTypes<T>>>,
52
+ TreeArrayNode<T> & WithType<TName, NodeKind.Array, T>,
53
+ Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T>>,
55
54
  ImplicitlyConstructable,
56
55
  T,
57
56
  undefined,
@@ -12,7 +12,6 @@ import { brand } from "../../util/index.js";
12
12
  import {
13
13
  createField,
14
14
  type UnhydratedFlexTreeField,
15
- unannotateImplicitAllowedTypes,
16
15
  normalizeAllowedTypes,
17
16
  type FlexContent,
18
17
  } from "../core/index.js";
@@ -35,7 +34,7 @@ export function recordLikeDataToFlexContent(
35
34
  fieldsIterator: Iterable<readonly [string, InsertableContent]>,
36
35
  schema: MapNodeSchema | RecordNodeSchema,
37
36
  ): FlexContent {
38
- const allowedChildTypes = normalizeAllowedTypes(unannotateImplicitAllowedTypes(schema.info));
37
+ const allowedChildTypes = normalizeAllowedTypes(schema.info);
39
38
  const context = getUnhydratedContext(schema).flexContext;
40
39
 
41
40
  const transformedFields = new Map<FieldKey, UnhydratedFlexTreeField>();
@@ -45,7 +44,10 @@ export function recordLikeDataToFlexContent(
45
44
 
46
45
  // Omit undefined values - an entry with an undefined value is equivalent to one that has been removed or omitted
47
46
  if (value !== undefined) {
48
- const child = unhydratedFlexTreeFromInsertableNode(value, allowedChildTypes);
47
+ const child = unhydratedFlexTreeFromInsertableNode(
48
+ value,
49
+ allowedChildTypes.evaluateSet(),
50
+ );
49
51
  const field = createField(context, FieldKinds.optional.identifier, brand(key), [child]);
50
52
  transformedFields.set(brand(key), field);
51
53
  }
@@ -27,7 +27,6 @@ export {
27
27
 
28
28
  export {
29
29
  type FieldHasDefault,
30
- type InsertableObjectFromAnnotatedSchemaRecord,
31
30
  type InsertableObjectFromSchemaRecord,
32
31
  isObjectNodeSchema,
33
32
  type ObjectFromSchemaRecord,
@@ -37,7 +36,6 @@ export {
37
36
  setField,
38
37
  type TreeObjectNode,
39
38
  type SimpleKeyMap,
40
- type UnannotateSchemaRecord,
41
39
  } from "./object/index.js";
42
40
 
43
41
  export {
@@ -26,17 +26,14 @@ import {
26
26
  typeNameSymbol,
27
27
  type TreeNode,
28
28
  typeSchemaSymbol,
29
- getOrCreateInnerNode,
29
+ getInnerNode,
30
30
  type InternalTreeNode,
31
31
  type UnhydratedFlexTreeNode,
32
32
  normalizeAllowedTypes,
33
- unannotateImplicitAllowedTypes,
34
33
  type ImplicitAllowedTypes,
35
- type ImplicitAnnotatedAllowedTypes,
36
34
  type InsertableTreeNodeFromImplicitAllowedTypes,
37
35
  type NodeSchemaMetadata,
38
36
  type TreeNodeFromImplicitAllowedTypes,
39
- type UnannotateImplicitAllowedTypes,
40
37
  TreeNodeValid,
41
38
  type MostDerivedData,
42
39
  type TreeNodeSchemaInitializedData,
@@ -176,7 +173,7 @@ abstract class CustomMapNodeBase<const T extends ImplicitAllowedTypes> extends T
176
173
  }
177
174
 
178
175
  private get innerNode(): InnerNode {
179
- return getOrCreateInnerNode(this);
176
+ return getInnerNode(this);
180
177
  }
181
178
 
182
179
  private editor(key: string): OptionalFieldEditBuilder<FlexibleNodeContent> {
@@ -245,7 +242,7 @@ abstract class CustomMapNodeBase<const T extends ImplicitAllowedTypes> extends T
245
242
  callbackFn: (value: TreeNodeFromImplicitAllowedTypes<T>, key: string, map: TThis) => void,
246
243
  thisArg?: unknown,
247
244
  ): void {
248
- for (const field of getOrCreateInnerNode(this)) {
245
+ for (const field of getInnerNode(this)) {
249
246
  const node = tryGetTreeNodeForField(field) as TreeNodeFromImplicitAllowedTypes<T>;
250
247
  callbackFn.call(thisArg, node, field.key, this);
251
248
  }
@@ -263,7 +260,7 @@ abstract class CustomMapNodeBase<const T extends ImplicitAllowedTypes> extends T
263
260
  // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
264
261
  export function mapSchema<
265
262
  TName extends string,
266
- const T extends ImplicitAnnotatedAllowedTypes,
263
+ const T extends ImplicitAllowedTypes,
267
264
  const ImplicitlyConstructable extends boolean,
268
265
  const TCustomMetadata = unknown,
269
266
  >(
@@ -274,19 +271,14 @@ export function mapSchema<
274
271
  metadata?: NodeSchemaMetadata<TCustomMetadata>,
275
272
  persistedMetadata?: JsonCompatibleReadOnlyObject | undefined,
276
273
  ) {
277
- const lazyChildTypes = new Lazy(() =>
278
- normalizeAllowedTypes(unannotateImplicitAllowedTypes(info)),
279
- );
274
+ const normalizedTypes = normalizeAllowedTypes(info);
280
275
  const lazyAllowedTypesIdentifiers = new Lazy(
281
- () => new Set([...lazyChildTypes.value].map((type) => type.identifier)),
276
+ () => new Set(normalizedTypes.evaluate().map((type) => type.identifier)),
282
277
  );
283
278
 
284
279
  let privateData: TreeNodeSchemaPrivateData | undefined;
285
280
 
286
- class Schema
287
- extends CustomMapNodeBase<UnannotateImplicitAllowedTypes<T>>
288
- implements TreeMapNode<UnannotateImplicitAllowedTypes<T>>
289
- {
281
+ class Schema extends CustomMapNodeBase<T> implements TreeMapNode<T> {
290
282
  public static override prepareInstance<T2>(
291
283
  this: typeof TreeNodeValid<T2>,
292
284
  instance: TreeNodeValid<T2>,
@@ -325,7 +317,7 @@ export function mapSchema<
325
317
  public static readonly implicitlyConstructable: ImplicitlyConstructable =
326
318
  implicitlyConstructable;
327
319
  public static get childTypes(): ReadonlySet<TreeNodeSchema> {
328
- return lazyChildTypes.value;
320
+ return normalizedTypes.evaluateSet();
329
321
  }
330
322
  public static readonly metadata: NodeSchemaMetadata<TCustomMetadata> = metadata ?? {};
331
323
  public static readonly persistedMetadata: JsonCompatibleReadOnlyObject | undefined =
@@ -10,8 +10,7 @@ import type {
10
10
  TreeNodeSchema,
11
11
  TreeNodeSchemaNonClass,
12
12
  WithType,
13
- ImplicitAnnotatedAllowedTypes,
14
- UnannotateImplicitAllowedTypes,
13
+ ImplicitAllowedTypes,
15
14
  } from "../../core/index.js";
16
15
 
17
16
  import type { SimpleMapNodeSchema } from "../../simpleSchema.js";
@@ -22,14 +21,14 @@ import type { SimpleMapNodeSchema } from "../../simpleSchema.js";
22
21
  */
23
22
  export interface MapNodeCustomizableSchema<
24
23
  out TName extends string = string,
25
- in out T extends ImplicitAnnotatedAllowedTypes = ImplicitAnnotatedAllowedTypes,
24
+ in out T extends ImplicitAllowedTypes = ImplicitAllowedTypes,
26
25
  out ImplicitlyConstructable extends boolean = true,
27
26
  out TCustomMetadata = unknown,
28
27
  > extends TreeNodeSchemaClass<
29
28
  TName,
30
29
  NodeKind.Map,
31
- TreeMapNode<UnannotateImplicitAllowedTypes<T>> & WithType<TName, NodeKind.Map, T>,
32
- MapNodeInsertableData<UnannotateImplicitAllowedTypes<T>>,
30
+ TreeMapNode<T> & WithType<TName, NodeKind.Map, T>,
31
+ MapNodeInsertableData<T>,
33
32
  ImplicitlyConstructable,
34
33
  T,
35
34
  undefined,
@@ -43,14 +42,14 @@ export interface MapNodeCustomizableSchema<
43
42
  */
44
43
  export interface MapNodePojoEmulationSchema<
45
44
  out TName extends string = string,
46
- in out T extends ImplicitAnnotatedAllowedTypes = ImplicitAnnotatedAllowedTypes,
45
+ in out T extends ImplicitAllowedTypes = ImplicitAllowedTypes,
47
46
  out ImplicitlyConstructable extends boolean = true,
48
47
  out TCustomMetadata = unknown,
49
48
  > extends TreeNodeSchemaNonClass<
50
49
  TName,
51
50
  NodeKind.Map,
52
- TreeMapNode<UnannotateImplicitAllowedTypes<T>> & WithType<TName, NodeKind.Map, T>,
53
- MapNodeInsertableData<UnannotateImplicitAllowedTypes<T>>,
51
+ TreeMapNode<T> & WithType<TName, NodeKind.Map, T>,
52
+ MapNodeInsertableData<T>,
54
53
  ImplicitlyConstructable,
55
54
  T,
56
55
  undefined,
@@ -5,7 +5,6 @@
5
5
 
6
6
  export {
7
7
  type FieldHasDefault,
8
- type InsertableObjectFromAnnotatedSchemaRecord,
9
8
  type InsertableObjectFromSchemaRecord,
10
9
  type ObjectFromSchemaRecord,
11
10
  objectSchema,
@@ -17,5 +16,4 @@ export {
17
16
  isObjectNodeSchema,
18
17
  ObjectNodeSchema,
19
18
  type ObjectNodeSchemaPrivate,
20
- type UnannotateSchemaRecord,
21
19
  } from "./objectNodeTypes.js";
@@ -38,11 +38,9 @@ import {
38
38
  type InternalTreeNode,
39
39
  type TreeNode,
40
40
  type UnhydratedFlexTreeNode,
41
- getOrCreateInnerNode,
41
+ getInnerNode,
42
42
  type NodeSchemaMetadata,
43
43
  type ImplicitAllowedTypes,
44
- type ImplicitAnnotatedAllowedTypes,
45
- unannotateImplicitAllowedTypes,
46
44
  TreeNodeValid,
47
45
  type MostDerivedData,
48
46
  type TreeNodeSchemaInitializedData,
@@ -63,7 +61,6 @@ import type {
63
61
  ObjectNodeSchema,
64
62
  ObjectNodeSchemaInternalData,
65
63
  ObjectNodeSchemaPrivate,
66
- UnannotateSchemaRecord,
67
64
  } from "./objectNodeTypes.js";
68
65
  import { prepareForInsertion } from "../../prepareForInsertion.js";
69
66
  import {
@@ -72,11 +69,10 @@ import {
72
69
  getExplicitStoredKey,
73
70
  type TreeFieldFromImplicitField,
74
71
  type InsertableTreeFieldFromImplicitField,
75
- FieldSchema,
72
+ type FieldSchema,
76
73
  FieldSchemaAlpha,
77
74
  normalizeFieldSchema,
78
75
  FieldKind,
79
- type ImplicitAnnotatedFieldSchema,
80
76
  type FieldProps,
81
77
  type ContextualFieldProvider,
82
78
  extractFieldProvider,
@@ -194,18 +190,6 @@ export type InsertableObjectFromSchemaRecord<
194
190
  }
195
191
  >;
196
192
 
197
- /**
198
- * Helper used to remove annotations from a schema record and produce insertable objects,
199
- *
200
- * @privateRemarks
201
- * This calls {@link InsertableObjectFromSchemaRecord} in order to produce the insertable objects.
202
- *
203
- * @system @alpha
204
- */
205
- export type InsertableObjectFromAnnotatedSchemaRecord<
206
- T extends RestrictiveStringRecord<ImplicitAnnotatedFieldSchema>,
207
- > = InsertableObjectFromSchemaRecord<UnannotateSchemaRecord<T>>;
208
-
209
193
  /**
210
194
  * Maps from simple field keys ("property" keys) to information about the field.
211
195
  *
@@ -222,9 +206,7 @@ export type SimpleKeyMap = ReadonlyMap<
222
206
  /**
223
207
  * Caches the mappings from property keys to stored keys for the provided object field schemas in {@link simpleKeyToFlexKeyCache}.
224
208
  */
225
- function createFlexKeyMapping(
226
- fields: Record<string, ImplicitAnnotatedFieldSchema>,
227
- ): SimpleKeyMap {
209
+ function createFlexKeyMapping(fields: Record<string, ImplicitFieldSchema>): SimpleKeyMap {
228
210
  const keyMap: Map<string | symbol, { storedKey: FieldKey; schema: FieldSchema }> = new Map();
229
211
  for (const [propertyKey, fieldSchema] of Object.entries(fields)) {
230
212
  const schema = normalizeFieldSchema(fieldSchema);
@@ -261,7 +243,7 @@ function createProxyHandler(
261
243
  get(target, propertyKey, proxy): unknown {
262
244
  const fieldInfo = schema.flexKeyMap.get(propertyKey);
263
245
  if (fieldInfo !== undefined) {
264
- const flexNode = getOrCreateInnerNode(proxy);
246
+ const flexNode = getInnerNode(proxy);
265
247
  debugAssert(() => !flexNode.context.isDisposed() || "FlexTreeNode is disposed");
266
248
  const field = flexNode.tryGetField(fieldInfo.storedKey);
267
249
  if (field !== undefined) {
@@ -292,7 +274,7 @@ function createProxyHandler(
292
274
  : false;
293
275
  }
294
276
 
295
- const innerNode = getOrCreateInnerNode(proxy);
277
+ const innerNode = getInnerNode(proxy);
296
278
 
297
279
  const innerSchema = innerNode.context.schema.nodeSchema.get(brand(schema.identifier));
298
280
  assert(
@@ -339,7 +321,7 @@ function createProxyHandler(
339
321
  // If a refactoring is done to associated flex tree data with the target not the proxy, this extra map could be removed,
340
322
  // and the design would be more compatible with proxyless nodes.
341
323
  const proxy = targetToProxy.get(target) ?? fail(0xadd /* missing proxy */);
342
- const field = getOrCreateInnerNode(proxy).tryGetField(fieldInfo.storedKey);
324
+ const field = getInnerNode(proxy).tryGetField(fieldInfo.storedKey);
343
325
 
344
326
  const p: PropertyDescriptor = {
345
327
  value: field === undefined ? undefined : tryGetTreeNodeForField(field),
@@ -404,10 +386,9 @@ export class ObjectFieldSchema<
404
386
  public constructor(
405
387
  kind: Kind,
406
388
  allowedTypes: Types,
407
- annotatedTypes: ImplicitAnnotatedAllowedTypes,
408
389
  props: FieldProps<TCustomMetadata> & { readonly key: string },
409
390
  ) {
410
- super(kind, allowedTypes, annotatedTypes, props);
391
+ super(kind, allowedTypes, props);
411
392
  this.storedKey = props.key;
412
393
  }
413
394
  }
@@ -427,7 +408,7 @@ abstract class CustomObjectNodeBase<
427
408
  */
428
409
  export function objectSchema<
429
410
  TName extends string,
430
- const T extends RestrictiveStringRecord<ImplicitAnnotatedFieldSchema>,
411
+ const T extends RestrictiveStringRecord<ImplicitFieldSchema>,
431
412
  const ImplicitlyConstructable extends boolean,
432
413
  const TCustomMetadata = unknown,
433
414
  >(
@@ -466,22 +447,17 @@ export function objectSchema<
466
447
  let handler: ProxyHandler<object>;
467
448
  let customizable: boolean;
468
449
 
469
- class CustomObjectNode extends CustomObjectNodeBase<UnannotateSchemaRecord<T>> {
450
+ class CustomObjectNode extends CustomObjectNodeBase<T> {
470
451
  public static readonly fields: ReadonlyMap<
471
452
  string,
472
453
  FieldSchemaAlpha & SimpleObjectFieldSchema
473
454
  > = new Map(
474
455
  Array.from(flexKeyMap, ([key, value]) => [
475
456
  key as string,
476
- new ObjectFieldSchema(
477
- value.schema.kind,
478
- value.schema.allowedTypes,
479
- (value.schema as FieldSchemaAlpha).annotatedAllowedTypes,
480
- {
481
- ...value.schema.props,
482
- key: getStoredKey(key as string, value.schema),
483
- },
484
- ),
457
+ new ObjectFieldSchema(value.schema.kind, value.schema.allowedTypes, {
458
+ ...value.schema.props,
459
+ key: getStoredKey(key as string, value.schema),
460
+ }),
485
461
  ]),
486
462
  );
487
463
  public static readonly flexKeyMap: SimpleKeyMap = flexKeyMap;
@@ -602,7 +578,7 @@ export function objectSchema<
602
578
  this,
603
579
  Array.from(
604
580
  flexKeyMap.values(),
605
- ({ schema }) => normalizeFieldSchema(schema).annotatedAllowedTypes,
581
+ ({ schema }) => normalizeFieldSchema(schema).allowedTypes,
606
582
  ),
607
583
  (storedOptions) => {
608
584
  const fields: Map<FieldKey, TreeFieldStoredSchema> = new Map();
@@ -623,25 +599,11 @@ export function objectSchema<
623
599
  }
624
600
  type Output = typeof CustomObjectNode &
625
601
  (new (
626
- input: InsertableObjectFromAnnotatedSchemaRecord<T> | InternalTreeNode,
627
- ) => TreeObjectNode<UnannotateSchemaRecord<T>, TName>);
602
+ input: InsertableObjectFromSchemaRecord<T> | InternalTreeNode,
603
+ ) => TreeObjectNode<T, TName>);
628
604
  return CustomObjectNode as Output;
629
605
  }
630
606
 
631
- /**
632
- * Removes annotations from a schema record.
633
- */
634
- export function unannotateSchemaRecord<
635
- Schema extends RestrictiveStringRecord<ImplicitAnnotatedFieldSchema>,
636
- >(schemaRecord: Schema): UnannotateSchemaRecord<Schema> {
637
- return Object.fromEntries(
638
- Object.entries(schemaRecord).map(([key, schema]) => [
639
- key,
640
- schema instanceof FieldSchema ? schema : unannotateImplicitAllowedTypes(schema),
641
- ]),
642
- ) as UnannotateSchemaRecord<Schema>;
643
- }
644
-
645
607
  const targetToProxy: WeakMap<object, TreeNode> = new WeakMap();
646
608
 
647
609
  /**
@@ -651,7 +613,7 @@ const targetToProxy: WeakMap<object, TreeNode> = new WeakMap();
651
613
  */
652
614
  function assertUniqueKeys<
653
615
  const Name extends number | string,
654
- const Fields extends RestrictiveStringRecord<ImplicitAnnotatedFieldSchema>,
616
+ const Fields extends RestrictiveStringRecord<ImplicitFieldSchema>,
655
617
  >(schemaName: Name, fields: Fields): void {
656
618
  // Verify that there are no duplicates among the explicitly specified stored keys.
657
619
  const explicitStoredKeys = new Set<string>();
@@ -7,13 +7,9 @@ import type { RestrictiveStringRecord } from "../../../util/index.js";
7
7
  import type {
8
8
  TreeObjectNode,
9
9
  SimpleKeyMap,
10
- InsertableObjectFromAnnotatedSchemaRecord,
10
+ InsertableObjectFromSchemaRecord,
11
11
  } from "./objectNode.js";
12
- import type {
13
- FieldSchemaAlpha,
14
- ImplicitAnnotatedFieldSchema,
15
- UnannotateImplicitFieldSchema,
16
- } from "../../fieldSchema.js";
12
+ import type { FieldSchemaAlpha, ImplicitFieldSchema } from "../../fieldSchema.js";
17
13
  import {
18
14
  NodeKind,
19
15
  type TreeNodeSchemaClass,
@@ -31,14 +27,14 @@ import type { SimpleObjectFieldSchema, SimpleObjectNodeSchema } from "../../simp
31
27
  export interface ObjectNodeSchema<
32
28
  out TName extends string = string,
33
29
  in out T extends
34
- RestrictiveStringRecord<ImplicitAnnotatedFieldSchema> = RestrictiveStringRecord<ImplicitAnnotatedFieldSchema>,
30
+ RestrictiveStringRecord<ImplicitFieldSchema> = RestrictiveStringRecord<ImplicitFieldSchema>,
35
31
  ImplicitlyConstructable extends boolean = boolean,
36
32
  out TCustomMetadata = unknown,
37
33
  > extends TreeNodeSchemaClass<
38
34
  TName,
39
35
  NodeKind.Object,
40
- TreeObjectNode<UnannotateSchemaRecord<T>, TName>,
41
- InsertableObjectFromAnnotatedSchemaRecord<T>,
36
+ TreeObjectNode<T, TName>,
37
+ InsertableObjectFromSchemaRecord<T>,
42
38
  ImplicitlyConstructable,
43
39
  T,
44
40
  never,
@@ -51,16 +47,6 @@ export interface ObjectNodeSchema<
51
47
  readonly fields: ReadonlyMap<string, FieldSchemaAlpha & SimpleObjectFieldSchema>;
52
48
  }
53
49
 
54
- /**
55
- * Removes annotations from field schemas in a schema record.
56
- * @system @alpha
57
- */
58
- export type UnannotateSchemaRecord<
59
- T extends RestrictiveStringRecord<ImplicitAnnotatedFieldSchema>,
60
- > = {
61
- readonly [P in Extract<keyof T, string>]: UnannotateImplicitFieldSchema<T[P]>;
62
- };
63
-
64
50
  /**
65
51
  * Extra data provided on all {@link ObjectNodeSchema} that is not included in the (soon possibly public) ObjectNodeSchema type.
66
52
  */