@fluidframework/tree 2.63.0-359286 → 2.63.0-359734

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 (379) hide show
  1. package/.mocharc.cjs +9 -1
  2. package/api-report/tree.alpha.api.md +93 -98
  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 +11 -13
  8. package/dist/beta.d.ts +5 -0
  9. package/dist/feature-libraries/treeCursorUtils.d.ts.map +1 -1
  10. package/dist/feature-libraries/treeCursorUtils.js +17 -15
  11. package/dist/feature-libraries/treeCursorUtils.js.map +1 -1
  12. package/dist/index.d.ts +1 -1
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js.map +1 -1
  15. package/dist/jsonDomainSchema.d.ts +5 -5
  16. package/dist/jsonDomainSchema.js +5 -5
  17. package/dist/jsonDomainSchema.js.map +1 -1
  18. package/dist/legacy.d.ts +5 -0
  19. package/dist/packageVersion.d.ts +1 -1
  20. package/dist/packageVersion.js +1 -1
  21. package/dist/packageVersion.js.map +1 -1
  22. package/dist/public.d.ts +1 -0
  23. package/dist/serializableDomainSchema.d.ts +6 -6
  24. package/dist/serializableDomainSchema.js +5 -5
  25. package/dist/serializableDomainSchema.js.map +1 -1
  26. package/dist/shared-tree/schematizingTreeView.js +1 -1
  27. package/dist/shared-tree/schematizingTreeView.js.map +1 -1
  28. package/dist/shared-tree/treeAlpha.d.ts +20 -28
  29. package/dist/shared-tree/treeAlpha.d.ts.map +1 -1
  30. package/dist/shared-tree/treeAlpha.js +4 -29
  31. package/dist/shared-tree/treeAlpha.js.map +1 -1
  32. package/dist/simple-tree/api/conciseTree.d.ts +1 -1
  33. package/dist/simple-tree/api/conciseTree.js.map +1 -1
  34. package/dist/simple-tree/api/configuration.d.ts +0 -3
  35. package/dist/simple-tree/api/configuration.d.ts.map +1 -1
  36. package/dist/simple-tree/api/configuration.js +1 -4
  37. package/dist/simple-tree/api/configuration.js.map +1 -1
  38. package/dist/simple-tree/api/customTree.d.ts +7 -7
  39. package/dist/simple-tree/api/customTree.js +5 -5
  40. package/dist/simple-tree/api/customTree.js.map +1 -1
  41. package/dist/simple-tree/api/discrepancies.js +2 -2
  42. package/dist/simple-tree/api/discrepancies.js.map +1 -1
  43. package/dist/simple-tree/api/index.d.ts +2 -2
  44. package/dist/simple-tree/api/index.d.ts.map +1 -1
  45. package/dist/simple-tree/api/index.js +4 -1
  46. package/dist/simple-tree/api/index.js.map +1 -1
  47. package/dist/simple-tree/api/schemaFactory.d.ts +12 -4
  48. package/dist/simple-tree/api/schemaFactory.d.ts.map +1 -1
  49. package/dist/simple-tree/api/schemaFactory.js +3 -8
  50. package/dist/simple-tree/api/schemaFactory.js.map +1 -1
  51. package/dist/simple-tree/api/schemaFactoryAlpha.d.ts +27 -26
  52. package/dist/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
  53. package/dist/simple-tree/api/schemaFactoryAlpha.js +11 -0
  54. package/dist/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
  55. package/dist/simple-tree/api/schemaFactoryBeta.d.ts +13 -2
  56. package/dist/simple-tree/api/schemaFactoryBeta.d.ts.map +1 -1
  57. package/dist/simple-tree/api/schemaFactoryBeta.js +14 -0
  58. package/dist/simple-tree/api/schemaFactoryBeta.js.map +1 -1
  59. package/dist/simple-tree/api/schemaStatics.d.ts +9 -14
  60. package/dist/simple-tree/api/schemaStatics.d.ts.map +1 -1
  61. package/dist/simple-tree/api/schemaStatics.js +9 -12
  62. package/dist/simple-tree/api/schemaStatics.js.map +1 -1
  63. package/dist/simple-tree/api/storedSchema.d.ts +2 -2
  64. package/dist/simple-tree/api/storedSchema.d.ts.map +1 -1
  65. package/dist/simple-tree/api/storedSchema.js.map +1 -1
  66. package/dist/simple-tree/api/tree.d.ts +37 -18
  67. package/dist/simple-tree/api/tree.d.ts.map +1 -1
  68. package/dist/simple-tree/api/tree.js.map +1 -1
  69. package/dist/simple-tree/api/treeBeta.d.ts +52 -2
  70. package/dist/simple-tree/api/treeBeta.d.ts.map +1 -1
  71. package/dist/simple-tree/api/treeBeta.js +36 -1
  72. package/dist/simple-tree/api/treeBeta.js.map +1 -1
  73. package/dist/simple-tree/api/treeNodeApi.js +1 -1
  74. package/dist/simple-tree/api/treeNodeApi.js.map +1 -1
  75. package/dist/simple-tree/core/allowedTypes.d.ts +120 -62
  76. package/dist/simple-tree/core/allowedTypes.d.ts.map +1 -1
  77. package/dist/simple-tree/core/allowedTypes.js +162 -84
  78. package/dist/simple-tree/core/allowedTypes.js.map +1 -1
  79. package/dist/simple-tree/core/context.d.ts +2 -2
  80. package/dist/simple-tree/core/context.d.ts.map +1 -1
  81. package/dist/simple-tree/core/context.js.map +1 -1
  82. package/dist/simple-tree/core/index.d.ts +2 -2
  83. package/dist/simple-tree/core/index.d.ts.map +1 -1
  84. package/dist/simple-tree/core/index.js +4 -3
  85. package/dist/simple-tree/core/index.js.map +1 -1
  86. package/dist/simple-tree/core/toStored.d.ts +3 -3
  87. package/dist/simple-tree/core/toStored.d.ts.map +1 -1
  88. package/dist/simple-tree/core/toStored.js +2 -2
  89. package/dist/simple-tree/core/toStored.js.map +1 -1
  90. package/dist/simple-tree/core/treeNode.d.ts +1 -1
  91. package/dist/simple-tree/core/treeNode.js +1 -1
  92. package/dist/simple-tree/core/treeNode.js.map +1 -1
  93. package/dist/simple-tree/core/treeNodeSchema.d.ts +3 -3
  94. package/dist/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
  95. package/dist/simple-tree/core/treeNodeSchema.js.map +1 -1
  96. package/dist/simple-tree/core/treeNodeValid.d.ts +2 -2
  97. package/dist/simple-tree/core/treeNodeValid.d.ts.map +1 -1
  98. package/dist/simple-tree/core/treeNodeValid.js.map +1 -1
  99. package/dist/simple-tree/core/walkSchema.d.ts +3 -3
  100. package/dist/simple-tree/core/walkSchema.d.ts.map +1 -1
  101. package/dist/simple-tree/core/walkSchema.js +1 -1
  102. package/dist/simple-tree/core/walkSchema.js.map +1 -1
  103. package/dist/simple-tree/createContext.js +2 -2
  104. package/dist/simple-tree/createContext.js.map +1 -1
  105. package/dist/simple-tree/fieldSchema.d.ts +9 -32
  106. package/dist/simple-tree/fieldSchema.d.ts.map +1 -1
  107. package/dist/simple-tree/fieldSchema.js +12 -20
  108. package/dist/simple-tree/fieldSchema.js.map +1 -1
  109. package/dist/simple-tree/index.d.ts +4 -4
  110. package/dist/simple-tree/index.d.ts.map +1 -1
  111. package/dist/simple-tree/index.js +6 -2
  112. package/dist/simple-tree/index.js.map +1 -1
  113. package/dist/simple-tree/node-kinds/array/arrayNode.d.ts +2 -2
  114. package/dist/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
  115. package/dist/simple-tree/node-kinds/array/arrayNode.js +5 -6
  116. package/dist/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
  117. package/dist/simple-tree/node-kinds/array/arrayNodeTypes.d.ts +3 -3
  118. package/dist/simple-tree/node-kinds/array/arrayNodeTypes.d.ts.map +1 -1
  119. package/dist/simple-tree/node-kinds/array/arrayNodeTypes.js.map +1 -1
  120. package/dist/simple-tree/node-kinds/common.d.ts.map +1 -1
  121. package/dist/simple-tree/node-kinds/common.js +2 -2
  122. package/dist/simple-tree/node-kinds/common.js.map +1 -1
  123. package/dist/simple-tree/node-kinds/index.d.ts +1 -1
  124. package/dist/simple-tree/node-kinds/index.d.ts.map +1 -1
  125. package/dist/simple-tree/node-kinds/index.js.map +1 -1
  126. package/dist/simple-tree/node-kinds/map/mapNode.d.ts +2 -2
  127. package/dist/simple-tree/node-kinds/map/mapNode.d.ts.map +1 -1
  128. package/dist/simple-tree/node-kinds/map/mapNode.js +3 -3
  129. package/dist/simple-tree/node-kinds/map/mapNode.js.map +1 -1
  130. package/dist/simple-tree/node-kinds/map/mapNodeTypes.d.ts +3 -3
  131. package/dist/simple-tree/node-kinds/map/mapNodeTypes.d.ts.map +1 -1
  132. package/dist/simple-tree/node-kinds/map/mapNodeTypes.js.map +1 -1
  133. package/dist/simple-tree/node-kinds/object/index.d.ts +2 -2
  134. package/dist/simple-tree/node-kinds/object/index.d.ts.map +1 -1
  135. package/dist/simple-tree/node-kinds/object/index.js.map +1 -1
  136. package/dist/simple-tree/node-kinds/object/objectNode.d.ts +5 -18
  137. package/dist/simple-tree/node-kinds/object/objectNode.d.ts.map +1 -1
  138. package/dist/simple-tree/node-kinds/object/objectNode.js +5 -15
  139. package/dist/simple-tree/node-kinds/object/objectNode.js.map +1 -1
  140. package/dist/simple-tree/node-kinds/object/objectNodeTypes.d.ts +4 -11
  141. package/dist/simple-tree/node-kinds/object/objectNodeTypes.d.ts.map +1 -1
  142. package/dist/simple-tree/node-kinds/object/objectNodeTypes.js.map +1 -1
  143. package/dist/simple-tree/node-kinds/record/recordNode.d.ts +3 -3
  144. package/dist/simple-tree/node-kinds/record/recordNode.d.ts.map +1 -1
  145. package/dist/simple-tree/node-kinds/record/recordNode.js +3 -3
  146. package/dist/simple-tree/node-kinds/record/recordNode.js.map +1 -1
  147. package/dist/simple-tree/node-kinds/record/recordNodeTypes.d.ts +5 -5
  148. package/dist/simple-tree/node-kinds/record/recordNodeTypes.d.ts.map +1 -1
  149. package/dist/simple-tree/node-kinds/record/recordNodeTypes.js.map +1 -1
  150. package/dist/simple-tree/prepareForInsertion.d.ts +5 -5
  151. package/dist/simple-tree/prepareForInsertion.d.ts.map +1 -1
  152. package/dist/simple-tree/prepareForInsertion.js.map +1 -1
  153. package/dist/simple-tree/toStoredSchema.d.ts +8 -8
  154. package/dist/simple-tree/toStoredSchema.d.ts.map +1 -1
  155. package/dist/simple-tree/toStoredSchema.js +5 -5
  156. package/dist/simple-tree/toStoredSchema.js.map +1 -1
  157. package/dist/simple-tree/unhydratedFlexTreeFromInsertable.d.ts +2 -2
  158. package/dist/simple-tree/unhydratedFlexTreeFromInsertable.d.ts.map +1 -1
  159. package/dist/simple-tree/unhydratedFlexTreeFromInsertable.js.map +1 -1
  160. package/dist/simple-tree/unsafeUnknownSchema.d.ts.map +1 -1
  161. package/dist/simple-tree/unsafeUnknownSchema.js.map +1 -1
  162. package/dist/simple-tree/walkFieldSchema.js +1 -1
  163. package/dist/simple-tree/walkFieldSchema.js.map +1 -1
  164. package/dist/tableSchema.d.ts +19 -19
  165. package/dist/tableSchema.d.ts.map +1 -1
  166. package/dist/tableSchema.js +2 -2
  167. package/dist/tableSchema.js.map +1 -1
  168. package/lib/alpha.d.ts +11 -13
  169. package/lib/beta.d.ts +5 -0
  170. package/lib/feature-libraries/treeCursorUtils.d.ts.map +1 -1
  171. package/lib/feature-libraries/treeCursorUtils.js +17 -15
  172. package/lib/feature-libraries/treeCursorUtils.js.map +1 -1
  173. package/lib/index.d.ts +1 -1
  174. package/lib/index.d.ts.map +1 -1
  175. package/lib/index.js.map +1 -1
  176. package/lib/jsonDomainSchema.d.ts +5 -5
  177. package/lib/jsonDomainSchema.js +5 -5
  178. package/lib/jsonDomainSchema.js.map +1 -1
  179. package/lib/legacy.d.ts +5 -0
  180. package/lib/packageVersion.d.ts +1 -1
  181. package/lib/packageVersion.js +1 -1
  182. package/lib/packageVersion.js.map +1 -1
  183. package/lib/public.d.ts +1 -0
  184. package/lib/serializableDomainSchema.d.ts +6 -6
  185. package/lib/serializableDomainSchema.js +5 -5
  186. package/lib/serializableDomainSchema.js.map +1 -1
  187. package/lib/shared-tree/schematizingTreeView.js +1 -1
  188. package/lib/shared-tree/schematizingTreeView.js.map +1 -1
  189. package/lib/shared-tree/treeAlpha.d.ts +20 -28
  190. package/lib/shared-tree/treeAlpha.d.ts.map +1 -1
  191. package/lib/shared-tree/treeAlpha.js +3 -28
  192. package/lib/shared-tree/treeAlpha.js.map +1 -1
  193. package/lib/simple-tree/api/conciseTree.d.ts +1 -1
  194. package/lib/simple-tree/api/conciseTree.js.map +1 -1
  195. package/lib/simple-tree/api/configuration.d.ts +0 -3
  196. package/lib/simple-tree/api/configuration.d.ts.map +1 -1
  197. package/lib/simple-tree/api/configuration.js +2 -5
  198. package/lib/simple-tree/api/configuration.js.map +1 -1
  199. package/lib/simple-tree/api/customTree.d.ts +7 -7
  200. package/lib/simple-tree/api/customTree.js +5 -5
  201. package/lib/simple-tree/api/customTree.js.map +1 -1
  202. package/lib/simple-tree/api/discrepancies.js +3 -3
  203. package/lib/simple-tree/api/discrepancies.js.map +1 -1
  204. package/lib/simple-tree/api/index.d.ts +2 -2
  205. package/lib/simple-tree/api/index.d.ts.map +1 -1
  206. package/lib/simple-tree/api/index.js +1 -1
  207. package/lib/simple-tree/api/index.js.map +1 -1
  208. package/lib/simple-tree/api/schemaFactory.d.ts +12 -4
  209. package/lib/simple-tree/api/schemaFactory.d.ts.map +1 -1
  210. package/lib/simple-tree/api/schemaFactory.js +3 -8
  211. package/lib/simple-tree/api/schemaFactory.js.map +1 -1
  212. package/lib/simple-tree/api/schemaFactoryAlpha.d.ts +27 -26
  213. package/lib/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
  214. package/lib/simple-tree/api/schemaFactoryAlpha.js +12 -1
  215. package/lib/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
  216. package/lib/simple-tree/api/schemaFactoryBeta.d.ts +13 -2
  217. package/lib/simple-tree/api/schemaFactoryBeta.d.ts.map +1 -1
  218. package/lib/simple-tree/api/schemaFactoryBeta.js +16 -2
  219. package/lib/simple-tree/api/schemaFactoryBeta.js.map +1 -1
  220. package/lib/simple-tree/api/schemaStatics.d.ts +9 -14
  221. package/lib/simple-tree/api/schemaStatics.d.ts.map +1 -1
  222. package/lib/simple-tree/api/schemaStatics.js +9 -12
  223. package/lib/simple-tree/api/schemaStatics.js.map +1 -1
  224. package/lib/simple-tree/api/storedSchema.d.ts +2 -2
  225. package/lib/simple-tree/api/storedSchema.d.ts.map +1 -1
  226. package/lib/simple-tree/api/storedSchema.js +1 -1
  227. package/lib/simple-tree/api/storedSchema.js.map +1 -1
  228. package/lib/simple-tree/api/tree.d.ts +37 -18
  229. package/lib/simple-tree/api/tree.d.ts.map +1 -1
  230. package/lib/simple-tree/api/tree.js.map +1 -1
  231. package/lib/simple-tree/api/treeBeta.d.ts +52 -2
  232. package/lib/simple-tree/api/treeBeta.d.ts.map +1 -1
  233. package/lib/simple-tree/api/treeBeta.js +33 -1
  234. package/lib/simple-tree/api/treeBeta.js.map +1 -1
  235. package/lib/simple-tree/api/treeNodeApi.js +1 -1
  236. package/lib/simple-tree/api/treeNodeApi.js.map +1 -1
  237. package/lib/simple-tree/core/allowedTypes.d.ts +120 -62
  238. package/lib/simple-tree/core/allowedTypes.d.ts.map +1 -1
  239. package/lib/simple-tree/core/allowedTypes.js +158 -80
  240. package/lib/simple-tree/core/allowedTypes.js.map +1 -1
  241. package/lib/simple-tree/core/context.d.ts +2 -2
  242. package/lib/simple-tree/core/context.d.ts.map +1 -1
  243. package/lib/simple-tree/core/context.js.map +1 -1
  244. package/lib/simple-tree/core/index.d.ts +2 -2
  245. package/lib/simple-tree/core/index.d.ts.map +1 -1
  246. package/lib/simple-tree/core/index.js +1 -1
  247. package/lib/simple-tree/core/index.js.map +1 -1
  248. package/lib/simple-tree/core/toStored.d.ts +3 -3
  249. package/lib/simple-tree/core/toStored.d.ts.map +1 -1
  250. package/lib/simple-tree/core/toStored.js +3 -3
  251. package/lib/simple-tree/core/toStored.js.map +1 -1
  252. package/lib/simple-tree/core/treeNode.d.ts +1 -1
  253. package/lib/simple-tree/core/treeNode.js +1 -1
  254. package/lib/simple-tree/core/treeNode.js.map +1 -1
  255. package/lib/simple-tree/core/treeNodeSchema.d.ts +3 -3
  256. package/lib/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
  257. package/lib/simple-tree/core/treeNodeSchema.js.map +1 -1
  258. package/lib/simple-tree/core/treeNodeValid.d.ts +2 -2
  259. package/lib/simple-tree/core/treeNodeValid.d.ts.map +1 -1
  260. package/lib/simple-tree/core/treeNodeValid.js.map +1 -1
  261. package/lib/simple-tree/core/walkSchema.d.ts +3 -3
  262. package/lib/simple-tree/core/walkSchema.d.ts.map +1 -1
  263. package/lib/simple-tree/core/walkSchema.js +2 -2
  264. package/lib/simple-tree/core/walkSchema.js.map +1 -1
  265. package/lib/simple-tree/createContext.js +3 -3
  266. package/lib/simple-tree/createContext.js.map +1 -1
  267. package/lib/simple-tree/fieldSchema.d.ts +9 -32
  268. package/lib/simple-tree/fieldSchema.d.ts.map +1 -1
  269. package/lib/simple-tree/fieldSchema.js +13 -21
  270. package/lib/simple-tree/fieldSchema.js.map +1 -1
  271. package/lib/simple-tree/index.d.ts +4 -4
  272. package/lib/simple-tree/index.d.ts.map +1 -1
  273. package/lib/simple-tree/index.js +2 -2
  274. package/lib/simple-tree/index.js.map +1 -1
  275. package/lib/simple-tree/node-kinds/array/arrayNode.d.ts +2 -2
  276. package/lib/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
  277. package/lib/simple-tree/node-kinds/array/arrayNode.js +6 -7
  278. package/lib/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
  279. package/lib/simple-tree/node-kinds/array/arrayNodeTypes.d.ts +3 -3
  280. package/lib/simple-tree/node-kinds/array/arrayNodeTypes.d.ts.map +1 -1
  281. package/lib/simple-tree/node-kinds/array/arrayNodeTypes.js.map +1 -1
  282. package/lib/simple-tree/node-kinds/common.d.ts.map +1 -1
  283. package/lib/simple-tree/node-kinds/common.js +3 -3
  284. package/lib/simple-tree/node-kinds/common.js.map +1 -1
  285. package/lib/simple-tree/node-kinds/index.d.ts +1 -1
  286. package/lib/simple-tree/node-kinds/index.d.ts.map +1 -1
  287. package/lib/simple-tree/node-kinds/index.js.map +1 -1
  288. package/lib/simple-tree/node-kinds/map/mapNode.d.ts +2 -2
  289. package/lib/simple-tree/node-kinds/map/mapNode.d.ts.map +1 -1
  290. package/lib/simple-tree/node-kinds/map/mapNode.js +4 -4
  291. package/lib/simple-tree/node-kinds/map/mapNode.js.map +1 -1
  292. package/lib/simple-tree/node-kinds/map/mapNodeTypes.d.ts +3 -3
  293. package/lib/simple-tree/node-kinds/map/mapNodeTypes.d.ts.map +1 -1
  294. package/lib/simple-tree/node-kinds/map/mapNodeTypes.js.map +1 -1
  295. package/lib/simple-tree/node-kinds/object/index.d.ts +2 -2
  296. package/lib/simple-tree/node-kinds/object/index.d.ts.map +1 -1
  297. package/lib/simple-tree/node-kinds/object/index.js.map +1 -1
  298. package/lib/simple-tree/node-kinds/object/objectNode.d.ts +5 -18
  299. package/lib/simple-tree/node-kinds/object/objectNode.d.ts.map +1 -1
  300. package/lib/simple-tree/node-kinds/object/objectNode.js +6 -15
  301. package/lib/simple-tree/node-kinds/object/objectNode.js.map +1 -1
  302. package/lib/simple-tree/node-kinds/object/objectNodeTypes.d.ts +4 -11
  303. package/lib/simple-tree/node-kinds/object/objectNodeTypes.d.ts.map +1 -1
  304. package/lib/simple-tree/node-kinds/object/objectNodeTypes.js.map +1 -1
  305. package/lib/simple-tree/node-kinds/record/recordNode.d.ts +3 -3
  306. package/lib/simple-tree/node-kinds/record/recordNode.d.ts.map +1 -1
  307. package/lib/simple-tree/node-kinds/record/recordNode.js +4 -4
  308. package/lib/simple-tree/node-kinds/record/recordNode.js.map +1 -1
  309. package/lib/simple-tree/node-kinds/record/recordNodeTypes.d.ts +5 -5
  310. package/lib/simple-tree/node-kinds/record/recordNodeTypes.d.ts.map +1 -1
  311. package/lib/simple-tree/node-kinds/record/recordNodeTypes.js.map +1 -1
  312. package/lib/simple-tree/prepareForInsertion.d.ts +5 -5
  313. package/lib/simple-tree/prepareForInsertion.d.ts.map +1 -1
  314. package/lib/simple-tree/prepareForInsertion.js.map +1 -1
  315. package/lib/simple-tree/toStoredSchema.d.ts +8 -8
  316. package/lib/simple-tree/toStoredSchema.d.ts.map +1 -1
  317. package/lib/simple-tree/toStoredSchema.js +5 -5
  318. package/lib/simple-tree/toStoredSchema.js.map +1 -1
  319. package/lib/simple-tree/unhydratedFlexTreeFromInsertable.d.ts +2 -2
  320. package/lib/simple-tree/unhydratedFlexTreeFromInsertable.d.ts.map +1 -1
  321. package/lib/simple-tree/unhydratedFlexTreeFromInsertable.js +1 -1
  322. package/lib/simple-tree/unhydratedFlexTreeFromInsertable.js.map +1 -1
  323. package/lib/simple-tree/unsafeUnknownSchema.d.ts.map +1 -1
  324. package/lib/simple-tree/unsafeUnknownSchema.js.map +1 -1
  325. package/lib/simple-tree/walkFieldSchema.js +1 -1
  326. package/lib/simple-tree/walkFieldSchema.js.map +1 -1
  327. package/lib/tableSchema.d.ts +19 -19
  328. package/lib/tableSchema.d.ts.map +1 -1
  329. package/lib/tableSchema.js +2 -2
  330. package/lib/tableSchema.js.map +1 -1
  331. package/package.json +23 -21
  332. package/src/feature-libraries/treeCursorUtils.ts +34 -19
  333. package/src/index.ts +7 -10
  334. package/src/jsonDomainSchema.ts +5 -5
  335. package/src/packageVersion.ts +1 -1
  336. package/src/serializableDomainSchema.ts +6 -6
  337. package/src/shared-tree/schematizingTreeView.ts +1 -1
  338. package/src/shared-tree/treeAlpha.ts +32 -81
  339. package/src/simple-tree/api/conciseTree.ts +1 -1
  340. package/src/simple-tree/api/configuration.ts +3 -7
  341. package/src/simple-tree/api/customTree.ts +7 -7
  342. package/src/simple-tree/api/discrepancies.ts +3 -3
  343. package/src/simple-tree/api/index.ts +10 -2
  344. package/src/simple-tree/api/schemaFactory.ts +18 -73
  345. package/src/simple-tree/api/schemaFactoryAlpha.ts +45 -12
  346. package/src/simple-tree/api/schemaFactoryBeta.ts +76 -1
  347. package/src/simple-tree/api/schemaStatics.ts +16 -61
  348. package/src/simple-tree/api/storedSchema.ts +2 -6
  349. package/src/simple-tree/api/tree.ts +37 -18
  350. package/src/simple-tree/api/treeBeta.ts +136 -3
  351. package/src/simple-tree/api/treeNodeApi.ts +1 -1
  352. package/src/simple-tree/core/allowedTypes.ts +355 -159
  353. package/src/simple-tree/core/context.ts +2 -2
  354. package/src/simple-tree/core/index.ts +10 -8
  355. package/src/simple-tree/core/toStored.ts +7 -5
  356. package/src/simple-tree/core/treeNode.ts +1 -1
  357. package/src/simple-tree/core/treeNodeSchema.ts +3 -6
  358. package/src/simple-tree/core/treeNodeValid.ts +2 -2
  359. package/src/simple-tree/core/walkSchema.ts +9 -5
  360. package/src/simple-tree/createContext.ts +3 -3
  361. package/src/simple-tree/fieldSchema.ts +24 -98
  362. package/src/simple-tree/index.ts +11 -10
  363. package/src/simple-tree/node-kinds/array/arrayNode.ts +9 -14
  364. package/src/simple-tree/node-kinds/array/arrayNodeTypes.ts +7 -8
  365. package/src/simple-tree/node-kinds/common.ts +5 -3
  366. package/src/simple-tree/node-kinds/index.ts +0 -2
  367. package/src/simple-tree/node-kinds/map/mapNode.ts +5 -13
  368. package/src/simple-tree/node-kinds/map/mapNodeTypes.ts +7 -8
  369. package/src/simple-tree/node-kinds/object/index.ts +0 -2
  370. package/src/simple-tree/node-kinds/object/objectNode.ts +13 -51
  371. package/src/simple-tree/node-kinds/object/objectNodeTypes.ts +5 -19
  372. package/src/simple-tree/node-kinds/record/recordNode.ts +9 -16
  373. package/src/simple-tree/node-kinds/record/recordNodeTypes.ts +7 -11
  374. package/src/simple-tree/prepareForInsertion.ts +5 -5
  375. package/src/simple-tree/toStoredSchema.ts +8 -9
  376. package/src/simple-tree/unhydratedFlexTreeFromInsertable.ts +2 -6
  377. package/src/simple-tree/unsafeUnknownSchema.ts +2 -3
  378. package/src/simple-tree/walkFieldSchema.ts +1 -1
  379. package/src/tableSchema.ts +24 -37
@@ -30,13 +30,10 @@ import {
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,
@@ -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";
@@ -41,8 +41,6 @@ import {
41
41
  getOrCreateInnerNode,
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);
@@ -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
  */
@@ -19,11 +19,8 @@ import {
19
19
  getKernel,
20
20
  type InternalTreeNode,
21
21
  type NodeSchemaMetadata,
22
- type ImplicitAnnotatedAllowedTypes,
23
- type UnannotateImplicitAllowedTypes,
24
22
  type ImplicitAllowedTypes,
25
23
  normalizeAllowedTypes,
26
- unannotateImplicitAllowedTypes,
27
24
  type TreeNodeFromImplicitAllowedTypes,
28
25
  TreeNodeValid,
29
26
  type MostDerivedData,
@@ -212,7 +209,7 @@ abstract class CustomRecordNodeBase<
212
209
  */
213
210
  export interface RecordSchemaOptions<
214
211
  TName extends string,
215
- TAllowedTypes extends ImplicitAnnotatedAllowedTypes,
212
+ TAllowedTypes extends ImplicitAllowedTypes,
216
213
  TImplicitlyConstructable extends boolean,
217
214
  TCustomMetadata = unknown,
218
215
  > {
@@ -250,7 +247,7 @@ export interface RecordSchemaOptions<
250
247
  // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
251
248
  export function recordSchema<
252
249
  TName extends string,
253
- const TAllowedTypes extends ImplicitAnnotatedAllowedTypes,
250
+ const TAllowedTypes extends ImplicitAllowedTypes,
254
251
  const TImplicitlyConstructable extends boolean,
255
252
  const TCustomMetadata = unknown,
256
253
  >(
@@ -261,8 +258,6 @@ export function recordSchema<
261
258
  TCustomMetadata
262
259
  >,
263
260
  ) {
264
- type TUnannotatedAllowedTypes = UnannotateImplicitAllowedTypes<TAllowedTypes>;
265
-
266
261
  const {
267
262
  identifier,
268
263
  info,
@@ -272,23 +267,21 @@ export function recordSchema<
272
267
  persistedMetadata,
273
268
  } = options;
274
269
 
275
- const lazyChildTypes = new Lazy(() =>
276
- normalizeAllowedTypes(unannotateImplicitAllowedTypes(info)),
277
- );
270
+ const normalizedTypes = normalizeAllowedTypes(info);
278
271
  const lazyAllowedTypesIdentifiers = new Lazy(
279
- () => new Set([...lazyChildTypes.value].map((type) => type.identifier)),
272
+ () => new Set(normalizedTypes.evaluate().map((type) => type.identifier)),
280
273
  );
281
274
 
282
275
  let privateData: TreeNodeSchemaPrivateData | undefined;
283
276
 
284
277
  class Schema
285
- extends CustomRecordNodeBase<TUnannotatedAllowedTypes>
286
- implements TreeRecordNode<TUnannotatedAllowedTypes>
278
+ extends CustomRecordNodeBase<TAllowedTypes>
279
+ implements TreeRecordNode<TAllowedTypes>
287
280
  {
288
281
  /**
289
282
  * Record-like index signature for the node.
290
283
  */
291
- [key: string]: TreeNodeFromImplicitAllowedTypes<TUnannotatedAllowedTypes>;
284
+ [key: string]: TreeNodeFromImplicitAllowedTypes<TAllowedTypes>;
292
285
 
293
286
  public static override prepareInstance<T2>(
294
287
  this: typeof TreeNodeValid<T2>,
@@ -374,7 +367,7 @@ export function recordSchema<
374
367
  public static readonly implicitlyConstructable: TImplicitlyConstructable =
375
368
  implicitlyConstructable;
376
369
  public static get childTypes(): ReadonlySet<TreeNodeSchema> {
377
- return lazyChildTypes.value;
370
+ return normalizedTypes.evaluateSet();
378
371
  }
379
372
  public static readonly metadata: NodeSchemaMetadata<TCustomMetadata> = metadata ?? {};
380
373
  public static readonly persistedMetadata: JsonCompatibleReadOnlyObject | undefined =
@@ -389,7 +382,7 @@ export function recordSchema<
389
382
  }
390
383
 
391
384
  public [Symbol.iterator](): IterableIterator<
392
- [string, TreeNodeFromImplicitAllowedTypes<TUnannotatedAllowedTypes>]
385
+ [string, TreeNodeFromImplicitAllowedTypes<TAllowedTypes>]
393
386
  > {
394
387
  return recordIterator(this);
395
388
  }
@@ -11,10 +11,8 @@ import type {
11
11
  WithType,
12
12
  TreeNode,
13
13
  ImplicitAllowedTypes,
14
- ImplicitAnnotatedAllowedTypes,
15
14
  InsertableTreeNodeFromImplicitAllowedTypes,
16
15
  TreeNodeFromImplicitAllowedTypes,
17
- UnannotateImplicitAllowedTypes,
18
16
  } from "../../core/index.js";
19
17
 
20
18
  import type { SimpleRecordNodeSchema } from "../../simpleSchema.js";
@@ -56,15 +54,14 @@ export type RecordNodeInsertableData<T extends ImplicitAllowedTypes> = Restricti
56
54
  */
57
55
  export interface RecordNodeCustomizableSchema<
58
56
  out TName extends string = string,
59
- in out T extends ImplicitAnnotatedAllowedTypes = ImplicitAnnotatedAllowedTypes,
57
+ in out T extends ImplicitAllowedTypes = ImplicitAllowedTypes,
60
58
  out ImplicitlyConstructable extends boolean = true,
61
59
  out TCustomMetadata = unknown,
62
60
  > extends TreeNodeSchemaClass<
63
61
  /* Name */ TName,
64
62
  /* Kind */ NodeKind.Record,
65
- /* TNode */ TreeRecordNode<UnannotateImplicitAllowedTypes<T>> &
66
- WithType<TName, NodeKind.Record, T>,
67
- /* TInsertable */ RecordNodeInsertableData<UnannotateImplicitAllowedTypes<T>>,
63
+ /* TNode */ TreeRecordNode<T> & WithType<TName, NodeKind.Record, T>,
64
+ /* TInsertable */ RecordNodeInsertableData<T>,
68
65
  /* ImplicitlyConstructable */ ImplicitlyConstructable,
69
66
  /* Info */ T,
70
67
  /* TConstructorExtra */ never,
@@ -78,15 +75,14 @@ export interface RecordNodeCustomizableSchema<
78
75
  */
79
76
  export interface RecordNodePojoEmulationSchema<
80
77
  out TName extends string = string,
81
- in out T extends ImplicitAnnotatedAllowedTypes = ImplicitAnnotatedAllowedTypes,
78
+ in out T extends ImplicitAllowedTypes = ImplicitAllowedTypes,
82
79
  out ImplicitlyConstructable extends boolean = true,
83
80
  out TCustomMetadata = unknown,
84
81
  > extends TreeNodeSchemaNonClass<
85
82
  /* Name */ TName,
86
83
  /* Kind */ NodeKind.Record,
87
- /* TNode */ TreeRecordNode<UnannotateImplicitAllowedTypes<T>> &
88
- WithType<TName, NodeKind.Record, T>,
89
- /* TInsertable */ RecordNodeInsertableData<UnannotateImplicitAllowedTypes<T>>,
84
+ /* TNode */ TreeRecordNode<T> & WithType<TName, NodeKind.Record, T>,
85
+ /* TInsertable */ RecordNodeInsertableData<T>,
90
86
  /* ImplicitlyConstructable */ ImplicitlyConstructable,
91
87
  /* Info */ T,
92
88
  /* TConstructorExtra */ never,
@@ -104,7 +100,7 @@ export interface RecordNodePojoEmulationSchema<
104
100
  */
105
101
  export type RecordNodeSchema<
106
102
  TName extends string = string,
107
- T extends ImplicitAnnotatedAllowedTypes = ImplicitAnnotatedAllowedTypes,
103
+ T extends ImplicitAllowedTypes = ImplicitAllowedTypes,
108
104
  ImplicitlyConstructable extends boolean = true,
109
105
  TCustomMetadata = unknown,
110
106
  > =
@@ -22,7 +22,7 @@ import {
22
22
  type FlexibleNodeContent,
23
23
  throwOutOfSchema,
24
24
  } from "../feature-libraries/index.js";
25
- import type { ImplicitAnnotatedFieldSchema } from "./fieldSchema.js";
25
+ import type { ImplicitFieldSchema } from "./fieldSchema.js";
26
26
  import {
27
27
  type InsertableContent,
28
28
  unhydratedFlexTreeFromInsertable,
@@ -31,7 +31,7 @@ import { UsageError } from "@fluidframework/telemetry-utils/internal";
31
31
  import { brand } from "../util/index.js";
32
32
  import {
33
33
  getKernel,
34
- type ImplicitAnnotatedAllowedTypes,
34
+ type ImplicitAllowedTypes,
35
35
  type TreeNode,
36
36
  type UnhydratedFlexTreeNode,
37
37
  } from "./core/index.js";
@@ -56,7 +56,7 @@ const validateSchema = true;
56
56
  */
57
57
  export function prepareForInsertion<TIn extends InsertableContent | undefined>(
58
58
  data: TIn,
59
- schema: ImplicitAnnotatedFieldSchema,
59
+ schema: ImplicitFieldSchema,
60
60
  destinationContext: FlexTreeContext,
61
61
  destinationSchema: TreeFieldStoredSchema,
62
62
  ): TIn extends undefined ? undefined : FlexibleNodeContent {
@@ -84,7 +84,7 @@ export function prepareForInsertion<TIn extends InsertableContent | undefined>(
84
84
  */
85
85
  export function prepareArrayContentForInsertion(
86
86
  data: readonly InsertableContent[],
87
- schema: ImplicitAnnotatedAllowedTypes,
87
+ schema: ImplicitAllowedTypes,
88
88
  destinationContext: FlexTreeContext,
89
89
  destinationSchema: TreeTypeSet,
90
90
  ): FlexibleFieldContent {
@@ -117,7 +117,7 @@ export function prepareArrayContentForInsertion(
117
117
  */
118
118
  export function prepareForInsertionContextless<TIn extends InsertableContent | undefined>(
119
119
  data: TIn,
120
- schema: ImplicitAnnotatedFieldSchema,
120
+ schema: ImplicitFieldSchema,
121
121
  schemaAndPolicy: SchemaAndPolicy,
122
122
  hydratedData: FlexTreeHydratedContextMinimal | undefined,
123
123
  destinationSchema: TreeFieldStoredSchema,
@@ -35,7 +35,6 @@ import {
35
35
  FieldKind,
36
36
  FieldSchemaAlpha,
37
37
  normalizeFieldSchema,
38
- type ImplicitAnnotatedFieldSchema,
39
38
  type ImplicitFieldSchema,
40
39
  } from "./fieldSchema.js";
41
40
  import type { SimpleFieldSchema, SimpleNodeSchema } from "./simpleSchema.js";
@@ -55,23 +54,23 @@ export const permissiveStoredSchemaGenerationOptions: StoredSchemaGenerationOpti
55
54
  };
56
55
 
57
56
  /**
58
- * Converts a {@link ImplicitAnnotatedFieldSchema} into a {@link TreeStoredSchema} for use in schema upgrades.
57
+ * Converts a {@link ImplicitFieldSchema} into a {@link TreeStoredSchema} for use in schema upgrades.
59
58
  *
60
59
  * TODO: once upgrades are more flexible, this should take in more options, including the old schema and specific upgrades to enable.
61
60
  */
62
- export function toUpgradeSchema(root: ImplicitAnnotatedFieldSchema): TreeStoredSchema {
61
+ export function toUpgradeSchema(root: ImplicitFieldSchema): TreeStoredSchema {
63
62
  return toStoredSchema(root, restrictiveStoredSchemaGenerationOptions);
64
63
  }
65
64
 
66
65
  /**
67
- * Converts a {@link ImplicitAnnotatedFieldSchema} into a {@link TreeStoredSchema} for use as initial document schema.
66
+ * Converts a {@link ImplicitFieldSchema} into a {@link TreeStoredSchema} for use as initial document schema.
68
67
  */
69
- export function toInitialSchema(root: ImplicitAnnotatedFieldSchema): TreeStoredSchema {
68
+ export function toInitialSchema(root: ImplicitFieldSchema): TreeStoredSchema {
70
69
  return toStoredSchema(root, restrictiveStoredSchemaGenerationOptions);
71
70
  }
72
71
 
73
72
  /**
74
- * Converts a {@link ImplicitAnnotatedFieldSchema} into a {@link TreeStoredSchema} to used for unhydrated nodes.
73
+ * Converts a {@link ImplicitFieldSchema} into a {@link TreeStoredSchema} to used for unhydrated nodes.
75
74
  * @remarks
76
75
  * This allows as much as possible, relying on further validation when inserting the content.
77
76
  *
@@ -80,7 +79,7 @@ export function toInitialSchema(root: ImplicitAnnotatedFieldSchema): TreeStoredS
80
79
  export const toUnhydratedSchema = permissiveStoredSchemaGenerationOptions;
81
80
 
82
81
  /**
83
- * Converts a {@link ImplicitAnnotatedFieldSchema} into a {@link TreeStoredSchema}.
82
+ * Converts a {@link ImplicitFieldSchema} into a {@link TreeStoredSchema}.
84
83
  *
85
84
  * @privateRemarks
86
85
  * TODO:#38722 When runtime schema upgrades are implemented, this will need to be updated to check if
@@ -90,7 +89,7 @@ export const toUnhydratedSchema = permissiveStoredSchemaGenerationOptions;
90
89
  * Throws a `UsageError` if multiple schemas are encountered with the same identifier.
91
90
  */
92
91
  export function toStoredSchema(
93
- root: ImplicitAnnotatedFieldSchema,
92
+ root: ImplicitFieldSchema,
94
93
  options: StoredSchemaGenerationOptions,
95
94
  ): TreeStoredSchema {
96
95
  const cache = getOrCreate(viewToStoredCache, options, () => new WeakMap());
@@ -138,7 +137,7 @@ export function convertField(
138
137
  let types: TreeTypeSet;
139
138
  // eslint-disable-next-line unicorn/prefer-ternary
140
139
  if (schema instanceof FieldSchemaAlpha) {
141
- types = convertAllowedTypes(schema.annotatedAllowedTypesNormalized, options);
140
+ types = convertAllowedTypes(schema.allowedTypes, options);
142
141
  } else {
143
142
  types = schema.allowedTypesIdentifiers as TreeTypeSet;
144
143
  }
@@ -9,11 +9,7 @@ import { assert } from "@fluidframework/core-utils/internal";
9
9
 
10
10
  import { hasSingle } from "../util/index.js";
11
11
 
12
- import {
13
- normalizeFieldSchema,
14
- FieldKind,
15
- type ImplicitAnnotatedFieldSchema,
16
- } from "./fieldSchema.js";
12
+ import { normalizeFieldSchema, FieldKind, type ImplicitFieldSchema } from "./fieldSchema.js";
17
13
  import {
18
14
  CompatibilityLevel,
19
15
  getKernel,
@@ -54,7 +50,7 @@ import { getUnhydratedContext } from "./createContext.js";
54
50
  */
55
51
  export function unhydratedFlexTreeFromInsertable<TIn extends InsertableContent | undefined>(
56
52
  data: TIn,
57
- allowedTypes: ImplicitAnnotatedFieldSchema,
53
+ allowedTypes: ImplicitFieldSchema,
58
54
  ): TIn extends undefined ? undefined : UnhydratedFlexTreeNode {
59
55
  const normalizedFieldSchema = normalizeFieldSchema(allowedTypes);
60
56
 
@@ -17,8 +17,8 @@ import type { InsertableContent } from "./unhydratedFlexTreeFromInsertable.js";
17
17
  * {@inheritdoc (UnsafeUnknownSchema:type)}
18
18
  * @alpha
19
19
  */
20
-
21
20
  export const UnsafeUnknownSchema: unique symbol = Symbol("UnsafeUnknownSchema");
21
+
22
22
  /**
23
23
  * A special type which can be provided to some APIs as the schema type parameter when schema cannot easily be provided at compile time and an unsafe (instead of disabled) editing API is desired.
24
24
  * @remarks
@@ -37,8 +37,8 @@ export const UnsafeUnknownSchema: unique symbol = Symbol("UnsafeUnknownSchema");
37
37
  * This is currently only type exported from the package: the symbol is just used as a way to get a named type.
38
38
  * @alpha
39
39
  */
40
-
41
40
  export type UnsafeUnknownSchema = typeof UnsafeUnknownSchema;
41
+
42
42
  /**
43
43
  * Content which could be inserted into a tree.
44
44
  *
@@ -47,7 +47,6 @@ export type UnsafeUnknownSchema = typeof UnsafeUnknownSchema;
47
47
  * Extended version of {@link InsertableTreeNodeFromImplicitAllowedTypes} that also allows {@link (UnsafeUnknownSchema:type)}.
48
48
  * @alpha
49
49
  */
50
-
51
50
  export type Insertable<TSchema extends ImplicitAllowedTypes | UnsafeUnknownSchema> =
52
51
  TSchema extends ImplicitAllowedTypes
53
52
  ? InsertableTreeNodeFromImplicitAllowedTypes<TSchema>
@@ -16,7 +16,7 @@ export function walkFieldSchema(
16
16
  visitedSet: Set<TreeNodeSchema> = new Set(),
17
17
  ): void {
18
18
  walkAllowedTypes(
19
- normalizeFieldSchema(schema).annotatedAllowedTypesNormalized,
19
+ normalizeFieldSchema(schema).allowedTypesFull.evaluate(),
20
20
  visitor,
21
21
  visitedSet,
22
22
  );