@fluidframework/tree 2.40.0-336023 → 2.41.0-337492

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 (457) hide show
  1. package/CHANGELOG.md +64 -0
  2. package/api-report/tree.alpha.api.md +4 -1
  3. package/dist/alpha.d.ts +1 -0
  4. package/dist/codec/codec.d.ts +5 -1
  5. package/dist/codec/codec.d.ts.map +1 -1
  6. package/dist/codec/codec.js +6 -2
  7. package/dist/codec/codec.js.map +1 -1
  8. package/dist/codec/index.d.ts +1 -1
  9. package/dist/codec/index.d.ts.map +1 -1
  10. package/dist/codec/index.js +2 -1
  11. package/dist/codec/index.js.map +1 -1
  12. package/dist/core/index.d.ts +2 -2
  13. package/dist/core/index.d.ts.map +1 -1
  14. package/dist/core/index.js +2 -3
  15. package/dist/core/index.js.map +1 -1
  16. package/dist/core/schema-stored/{format.d.ts → formatV1.d.ts} +1 -1
  17. package/dist/core/schema-stored/formatV1.d.ts.map +1 -0
  18. package/dist/core/schema-stored/{format.js → formatV1.js} +1 -1
  19. package/dist/core/schema-stored/formatV1.js.map +1 -0
  20. package/dist/core/schema-stored/index.d.ts +3 -3
  21. package/dist/core/schema-stored/index.d.ts.map +1 -1
  22. package/dist/core/schema-stored/index.js +3 -3
  23. package/dist/core/schema-stored/index.js.map +1 -1
  24. package/dist/core/schema-stored/schema.d.ts +3 -1
  25. package/dist/core/schema-stored/schema.d.ts.map +1 -1
  26. package/dist/core/schema-stored/schema.js +8 -6
  27. package/dist/core/schema-stored/schema.js.map +1 -1
  28. package/dist/core/schema-stored/storedSchemaRepository.d.ts +1 -1
  29. package/dist/core/schema-stored/storedSchemaRepository.d.ts.map +1 -1
  30. package/dist/core/schema-stored/storedSchemaRepository.js.map +1 -1
  31. package/dist/core/schema-view/index.d.ts +1 -1
  32. package/dist/core/schema-view/index.d.ts.map +1 -1
  33. package/dist/core/schema-view/index.js +1 -2
  34. package/dist/core/schema-view/index.js.map +1 -1
  35. package/dist/core/schema-view/view.d.ts +0 -27
  36. package/dist/core/schema-view/view.d.ts.map +1 -1
  37. package/dist/core/schema-view/view.js +1 -35
  38. package/dist/core/schema-view/view.js.map +1 -1
  39. package/dist/core/tree/persistedTreeTextFormat.d.ts +4 -4
  40. package/dist/core/tree/persistedTreeTextFormat.d.ts.map +1 -1
  41. package/dist/core/tree/persistedTreeTextFormat.js +1 -1
  42. package/dist/core/tree/persistedTreeTextFormat.js.map +1 -1
  43. package/dist/feature-libraries/default-schema/schemaChecker.d.ts.map +1 -1
  44. package/dist/feature-libraries/default-schema/schemaChecker.js +0 -7
  45. package/dist/feature-libraries/default-schema/schemaChecker.js.map +1 -1
  46. package/dist/feature-libraries/forest-summary/format.d.ts +2 -2
  47. package/dist/feature-libraries/forest-summary/format.d.ts.map +1 -1
  48. package/dist/feature-libraries/forest-summary/format.js +1 -1
  49. package/dist/feature-libraries/forest-summary/format.js.map +1 -1
  50. package/dist/feature-libraries/index.d.ts +1 -1
  51. package/dist/feature-libraries/index.d.ts.map +1 -1
  52. package/dist/feature-libraries/index.js +4 -2
  53. package/dist/feature-libraries/index.js.map +1 -1
  54. package/dist/feature-libraries/mapTreeCursor.d.ts +3 -3
  55. package/dist/feature-libraries/mapTreeCursor.d.ts.map +1 -1
  56. package/dist/feature-libraries/mapTreeCursor.js +2 -2
  57. package/dist/feature-libraries/mapTreeCursor.js.map +1 -1
  58. package/dist/feature-libraries/modular-schema/modularChangeFormat.d.ts +9 -9
  59. package/dist/feature-libraries/modular-schema/modularChangeFormat.d.ts.map +1 -1
  60. package/dist/feature-libraries/modular-schema/modularChangeFormat.js +2 -2
  61. package/dist/feature-libraries/modular-schema/modularChangeFormat.js.map +1 -1
  62. package/dist/feature-libraries/schema-edits/schemaChangeCodecs.d.ts +14 -1
  63. package/dist/feature-libraries/schema-edits/schemaChangeCodecs.d.ts.map +1 -1
  64. package/dist/feature-libraries/schema-edits/schemaChangeCodecs.js +26 -5
  65. package/dist/feature-libraries/schema-edits/schemaChangeCodecs.js.map +1 -1
  66. package/dist/feature-libraries/schema-edits/schemaChangeFormat.d.ts +2 -2
  67. package/dist/feature-libraries/schema-edits/schemaChangeFormat.d.ts.map +1 -1
  68. package/dist/feature-libraries/schema-edits/schemaChangeFormat.js.map +1 -1
  69. package/dist/feature-libraries/schema-index/codec.d.ts +34 -5
  70. package/dist/feature-libraries/schema-index/codec.d.ts.map +1 -1
  71. package/dist/feature-libraries/schema-index/codec.js +63 -9
  72. package/dist/feature-libraries/schema-index/codec.js.map +1 -1
  73. package/{lib/feature-libraries/schema-index/format.d.ts → dist/feature-libraries/schema-index/formatV1.d.ts} +9 -9
  74. package/dist/feature-libraries/schema-index/formatV1.d.ts.map +1 -0
  75. package/dist/feature-libraries/schema-index/{format.js → formatV1.js} +4 -4
  76. package/dist/feature-libraries/schema-index/formatV1.js.map +1 -0
  77. package/dist/feature-libraries/schema-index/index.d.ts +2 -2
  78. package/dist/feature-libraries/schema-index/index.d.ts.map +1 -1
  79. package/dist/feature-libraries/schema-index/index.js +6 -3
  80. package/dist/feature-libraries/schema-index/index.js.map +1 -1
  81. package/dist/feature-libraries/schema-index/schemaSummarizer.d.ts +5 -5
  82. package/dist/feature-libraries/schema-index/schemaSummarizer.d.ts.map +1 -1
  83. package/dist/feature-libraries/schema-index/schemaSummarizer.js +4 -4
  84. package/dist/feature-libraries/schema-index/schemaSummarizer.js.map +1 -1
  85. package/dist/index.d.ts +1 -0
  86. package/dist/index.d.ts.map +1 -1
  87. package/dist/index.js +10 -8
  88. package/dist/index.js.map +1 -1
  89. package/dist/packageVersion.d.ts +1 -1
  90. package/dist/packageVersion.js +1 -1
  91. package/dist/packageVersion.js.map +1 -1
  92. package/dist/shared-tree/independentView.d.ts.map +1 -1
  93. package/dist/shared-tree/independentView.js +1 -1
  94. package/dist/shared-tree/independentView.js.map +1 -1
  95. package/dist/shared-tree/index.d.ts +1 -1
  96. package/dist/shared-tree/index.d.ts.map +1 -1
  97. package/dist/shared-tree/index.js +2 -1
  98. package/dist/shared-tree/index.js.map +1 -1
  99. package/dist/shared-tree/schematizeTree.d.ts +9 -10
  100. package/dist/shared-tree/schematizeTree.d.ts.map +1 -1
  101. package/dist/shared-tree/schematizeTree.js +10 -34
  102. package/dist/shared-tree/schematizeTree.js.map +1 -1
  103. package/dist/shared-tree/schematizingTreeView.d.ts.map +1 -1
  104. package/dist/shared-tree/schematizingTreeView.js +4 -6
  105. package/dist/shared-tree/schematizingTreeView.js.map +1 -1
  106. package/dist/shared-tree/sharedTree.d.ts +28 -3
  107. package/dist/shared-tree/sharedTree.d.ts.map +1 -1
  108. package/dist/shared-tree/sharedTree.js +29 -3
  109. package/dist/shared-tree/sharedTree.js.map +1 -1
  110. package/dist/shared-tree/tree.d.ts +24 -0
  111. package/dist/shared-tree/tree.d.ts.map +1 -1
  112. package/dist/shared-tree/tree.js.map +1 -1
  113. package/dist/shared-tree/treeAlpha.d.ts +2 -0
  114. package/dist/shared-tree/treeAlpha.d.ts.map +1 -1
  115. package/dist/shared-tree/treeAlpha.js +3 -2
  116. package/dist/shared-tree/treeAlpha.js.map +1 -1
  117. package/dist/shared-tree-core/branchCommitEnricher.d.ts +0 -1
  118. package/dist/shared-tree-core/branchCommitEnricher.d.ts.map +1 -1
  119. package/dist/shared-tree-core/branchCommitEnricher.js +0 -1
  120. package/dist/shared-tree-core/branchCommitEnricher.js.map +1 -1
  121. package/dist/shared-tree-core/transactionEnricher.d.ts +1 -1
  122. package/dist/shared-tree-core/transactionEnricher.d.ts.map +1 -1
  123. package/dist/shared-tree-core/transactionEnricher.js +4 -1
  124. package/dist/shared-tree-core/transactionEnricher.js.map +1 -1
  125. package/dist/simple-tree/api/index.d.ts +2 -1
  126. package/dist/simple-tree/api/index.d.ts.map +1 -1
  127. package/dist/simple-tree/api/index.js +2 -1
  128. package/dist/simple-tree/api/index.js.map +1 -1
  129. package/dist/simple-tree/api/schemaFactory.d.ts +9 -0
  130. package/dist/simple-tree/api/schemaFactory.d.ts.map +1 -1
  131. package/dist/simple-tree/api/schemaFactory.js +7 -0
  132. package/dist/simple-tree/api/schemaFactory.js.map +1 -1
  133. package/dist/simple-tree/api/storedSchema.d.ts +8 -7
  134. package/dist/simple-tree/api/storedSchema.d.ts.map +1 -1
  135. package/dist/simple-tree/api/storedSchema.js +13 -9
  136. package/dist/simple-tree/api/storedSchema.js.map +1 -1
  137. package/dist/simple-tree/api/tree.d.ts +25 -0
  138. package/dist/simple-tree/api/tree.d.ts.map +1 -1
  139. package/dist/simple-tree/api/tree.js.map +1 -1
  140. package/dist/simple-tree/api/treeBeta.d.ts +4 -1
  141. package/dist/simple-tree/api/treeBeta.d.ts.map +1 -1
  142. package/dist/simple-tree/api/treeBeta.js.map +1 -1
  143. package/dist/simple-tree/api/treeChangeEvents.d.ts +83 -0
  144. package/dist/simple-tree/api/treeChangeEvents.d.ts.map +1 -0
  145. package/dist/simple-tree/api/treeChangeEvents.js +7 -0
  146. package/dist/simple-tree/api/treeChangeEvents.js.map +1 -0
  147. package/dist/simple-tree/api/treeNodeApi.d.ts +2 -1
  148. package/dist/simple-tree/api/treeNodeApi.d.ts.map +1 -1
  149. package/dist/simple-tree/api/treeNodeApi.js.map +1 -1
  150. package/dist/simple-tree/arrayNode.d.ts +28 -0
  151. package/dist/simple-tree/arrayNode.d.ts.map +1 -1
  152. package/dist/simple-tree/arrayNode.js.map +1 -1
  153. package/dist/simple-tree/core/getOrCreateNode.d.ts +1 -1
  154. package/dist/simple-tree/core/getOrCreateNode.d.ts.map +1 -1
  155. package/dist/simple-tree/core/getOrCreateNode.js.map +1 -1
  156. package/dist/simple-tree/core/index.d.ts +2 -1
  157. package/dist/simple-tree/core/index.d.ts.map +1 -1
  158. package/dist/simple-tree/core/index.js +5 -5
  159. package/dist/simple-tree/core/index.js.map +1 -1
  160. package/dist/simple-tree/core/treeNode.d.ts +94 -0
  161. package/dist/simple-tree/core/treeNode.d.ts.map +1 -0
  162. package/dist/simple-tree/core/treeNode.js +123 -0
  163. package/dist/simple-tree/core/treeNode.js.map +1 -0
  164. package/dist/simple-tree/core/treeNodeKernel.d.ts +2 -1
  165. package/dist/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
  166. package/dist/simple-tree/core/treeNodeKernel.js.map +1 -1
  167. package/dist/simple-tree/core/treeNodeSchema.d.ts +3 -1
  168. package/dist/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
  169. package/dist/simple-tree/core/treeNodeSchema.js.map +1 -1
  170. package/dist/simple-tree/core/types.d.ts +0 -165
  171. package/dist/simple-tree/core/types.d.ts.map +1 -1
  172. package/dist/simple-tree/core/types.js +1 -113
  173. package/dist/simple-tree/core/types.js.map +1 -1
  174. package/dist/simple-tree/core/unhydratedFlexTree.d.ts.map +1 -1
  175. package/dist/simple-tree/core/unhydratedFlexTree.js +5 -1
  176. package/dist/simple-tree/core/unhydratedFlexTree.js.map +1 -1
  177. package/dist/simple-tree/core/withType.d.ts +1 -1
  178. package/dist/simple-tree/core/withType.d.ts.map +1 -1
  179. package/dist/simple-tree/core/withType.js.map +1 -1
  180. package/dist/simple-tree/index.d.ts +2 -2
  181. package/dist/simple-tree/index.d.ts.map +1 -1
  182. package/dist/simple-tree/index.js +3 -2
  183. package/dist/simple-tree/index.js.map +1 -1
  184. package/dist/simple-tree/schemaTypes.d.ts +1 -0
  185. package/dist/simple-tree/schemaTypes.d.ts.map +1 -1
  186. package/dist/simple-tree/schemaTypes.js.map +1 -1
  187. package/dist/simple-tree/toStoredSchema.d.ts +8 -8
  188. package/dist/simple-tree/toStoredSchema.d.ts.map +1 -1
  189. package/dist/simple-tree/toStoredSchema.js +27 -32
  190. package/dist/simple-tree/toStoredSchema.js.map +1 -1
  191. package/dist/tableSchema.d.ts +309 -91
  192. package/dist/tableSchema.d.ts.map +1 -1
  193. package/dist/tableSchema.js +319 -78
  194. package/dist/tableSchema.js.map +1 -1
  195. package/dist/treeFactory.d.ts +1 -1
  196. package/dist/treeFactory.d.ts.map +1 -1
  197. package/dist/treeFactory.js +30 -75
  198. package/dist/treeFactory.js.map +1 -1
  199. package/lib/alpha.d.ts +1 -0
  200. package/lib/codec/codec.d.ts +5 -1
  201. package/lib/codec/codec.d.ts.map +1 -1
  202. package/lib/codec/codec.js +5 -1
  203. package/lib/codec/codec.js.map +1 -1
  204. package/lib/codec/index.d.ts +1 -1
  205. package/lib/codec/index.d.ts.map +1 -1
  206. package/lib/codec/index.js +1 -1
  207. package/lib/codec/index.js.map +1 -1
  208. package/lib/core/index.d.ts +2 -2
  209. package/lib/core/index.d.ts.map +1 -1
  210. package/lib/core/index.js +2 -2
  211. package/lib/core/index.js.map +1 -1
  212. package/lib/core/schema-stored/{format.d.ts → formatV1.d.ts} +1 -1
  213. package/lib/core/schema-stored/formatV1.d.ts.map +1 -0
  214. package/lib/core/schema-stored/{format.js → formatV1.js} +1 -1
  215. package/lib/core/schema-stored/formatV1.js.map +1 -0
  216. package/lib/core/schema-stored/index.d.ts +3 -3
  217. package/lib/core/schema-stored/index.d.ts.map +1 -1
  218. package/lib/core/schema-stored/index.js +2 -2
  219. package/lib/core/schema-stored/index.js.map +1 -1
  220. package/lib/core/schema-stored/schema.d.ts +3 -1
  221. package/lib/core/schema-stored/schema.d.ts.map +1 -1
  222. package/lib/core/schema-stored/schema.js +3 -1
  223. package/lib/core/schema-stored/schema.js.map +1 -1
  224. package/lib/core/schema-stored/storedSchemaRepository.d.ts +1 -1
  225. package/lib/core/schema-stored/storedSchemaRepository.d.ts.map +1 -1
  226. package/lib/core/schema-stored/storedSchemaRepository.js.map +1 -1
  227. package/lib/core/schema-view/index.d.ts +1 -1
  228. package/lib/core/schema-view/index.d.ts.map +1 -1
  229. package/lib/core/schema-view/index.js +1 -1
  230. package/lib/core/schema-view/index.js.map +1 -1
  231. package/lib/core/schema-view/view.d.ts +0 -27
  232. package/lib/core/schema-view/view.d.ts.map +1 -1
  233. package/lib/core/schema-view/view.js +0 -34
  234. package/lib/core/schema-view/view.js.map +1 -1
  235. package/lib/core/tree/persistedTreeTextFormat.d.ts +4 -4
  236. package/lib/core/tree/persistedTreeTextFormat.d.ts.map +1 -1
  237. package/lib/core/tree/persistedTreeTextFormat.js +2 -2
  238. package/lib/core/tree/persistedTreeTextFormat.js.map +1 -1
  239. package/lib/feature-libraries/default-schema/schemaChecker.d.ts.map +1 -1
  240. package/lib/feature-libraries/default-schema/schemaChecker.js +0 -7
  241. package/lib/feature-libraries/default-schema/schemaChecker.js.map +1 -1
  242. package/lib/feature-libraries/forest-summary/format.d.ts +2 -2
  243. package/lib/feature-libraries/forest-summary/format.d.ts.map +1 -1
  244. package/lib/feature-libraries/forest-summary/format.js +2 -2
  245. package/lib/feature-libraries/forest-summary/format.js.map +1 -1
  246. package/lib/feature-libraries/index.d.ts +1 -1
  247. package/lib/feature-libraries/index.d.ts.map +1 -1
  248. package/lib/feature-libraries/index.js +1 -1
  249. package/lib/feature-libraries/index.js.map +1 -1
  250. package/lib/feature-libraries/mapTreeCursor.d.ts +3 -3
  251. package/lib/feature-libraries/mapTreeCursor.d.ts.map +1 -1
  252. package/lib/feature-libraries/mapTreeCursor.js +2 -2
  253. package/lib/feature-libraries/mapTreeCursor.js.map +1 -1
  254. package/lib/feature-libraries/modular-schema/modularChangeFormat.d.ts +9 -9
  255. package/lib/feature-libraries/modular-schema/modularChangeFormat.d.ts.map +1 -1
  256. package/lib/feature-libraries/modular-schema/modularChangeFormat.js +3 -3
  257. package/lib/feature-libraries/modular-schema/modularChangeFormat.js.map +1 -1
  258. package/lib/feature-libraries/schema-edits/schemaChangeCodecs.d.ts +14 -1
  259. package/lib/feature-libraries/schema-edits/schemaChangeCodecs.d.ts.map +1 -1
  260. package/lib/feature-libraries/schema-edits/schemaChangeCodecs.js +26 -6
  261. package/lib/feature-libraries/schema-edits/schemaChangeCodecs.js.map +1 -1
  262. package/lib/feature-libraries/schema-edits/schemaChangeFormat.d.ts +2 -2
  263. package/lib/feature-libraries/schema-edits/schemaChangeFormat.d.ts.map +1 -1
  264. package/lib/feature-libraries/schema-edits/schemaChangeFormat.js +3 -3
  265. package/lib/feature-libraries/schema-edits/schemaChangeFormat.js.map +1 -1
  266. package/lib/feature-libraries/schema-index/codec.d.ts +34 -5
  267. package/lib/feature-libraries/schema-index/codec.d.ts.map +1 -1
  268. package/lib/feature-libraries/schema-index/codec.js +61 -9
  269. package/lib/feature-libraries/schema-index/codec.js.map +1 -1
  270. package/{dist/feature-libraries/schema-index/format.d.ts → lib/feature-libraries/schema-index/formatV1.d.ts} +9 -9
  271. package/lib/feature-libraries/schema-index/formatV1.d.ts.map +1 -0
  272. package/lib/feature-libraries/schema-index/{format.js → formatV1.js} +5 -5
  273. package/lib/feature-libraries/schema-index/formatV1.js.map +1 -0
  274. package/lib/feature-libraries/schema-index/index.d.ts +2 -2
  275. package/lib/feature-libraries/schema-index/index.d.ts.map +1 -1
  276. package/lib/feature-libraries/schema-index/index.js +2 -2
  277. package/lib/feature-libraries/schema-index/index.js.map +1 -1
  278. package/lib/feature-libraries/schema-index/schemaSummarizer.d.ts +5 -5
  279. package/lib/feature-libraries/schema-index/schemaSummarizer.d.ts.map +1 -1
  280. package/lib/feature-libraries/schema-index/schemaSummarizer.js +5 -5
  281. package/lib/feature-libraries/schema-index/schemaSummarizer.js.map +1 -1
  282. package/lib/index.d.ts +1 -0
  283. package/lib/index.d.ts.map +1 -1
  284. package/lib/index.js +1 -0
  285. package/lib/index.js.map +1 -1
  286. package/lib/packageVersion.d.ts +1 -1
  287. package/lib/packageVersion.js +1 -1
  288. package/lib/packageVersion.js.map +1 -1
  289. package/lib/shared-tree/independentView.d.ts.map +1 -1
  290. package/lib/shared-tree/independentView.js +2 -2
  291. package/lib/shared-tree/independentView.js.map +1 -1
  292. package/lib/shared-tree/index.d.ts +1 -1
  293. package/lib/shared-tree/index.d.ts.map +1 -1
  294. package/lib/shared-tree/index.js +1 -1
  295. package/lib/shared-tree/index.js.map +1 -1
  296. package/lib/shared-tree/schematizeTree.d.ts +9 -10
  297. package/lib/shared-tree/schematizeTree.d.ts.map +1 -1
  298. package/lib/shared-tree/schematizeTree.js +11 -35
  299. package/lib/shared-tree/schematizeTree.js.map +1 -1
  300. package/lib/shared-tree/schematizingTreeView.d.ts.map +1 -1
  301. package/lib/shared-tree/schematizingTreeView.js +5 -7
  302. package/lib/shared-tree/schematizingTreeView.js.map +1 -1
  303. package/lib/shared-tree/sharedTree.d.ts +28 -3
  304. package/lib/shared-tree/sharedTree.d.ts.map +1 -1
  305. package/lib/shared-tree/sharedTree.js +29 -4
  306. package/lib/shared-tree/sharedTree.js.map +1 -1
  307. package/lib/shared-tree/tree.d.ts +24 -0
  308. package/lib/shared-tree/tree.d.ts.map +1 -1
  309. package/lib/shared-tree/tree.js.map +1 -1
  310. package/lib/shared-tree/treeAlpha.d.ts +2 -0
  311. package/lib/shared-tree/treeAlpha.d.ts.map +1 -1
  312. package/lib/shared-tree/treeAlpha.js +4 -3
  313. package/lib/shared-tree/treeAlpha.js.map +1 -1
  314. package/lib/shared-tree-core/branchCommitEnricher.d.ts +0 -1
  315. package/lib/shared-tree-core/branchCommitEnricher.d.ts.map +1 -1
  316. package/lib/shared-tree-core/branchCommitEnricher.js +0 -1
  317. package/lib/shared-tree-core/branchCommitEnricher.js.map +1 -1
  318. package/lib/shared-tree-core/transactionEnricher.d.ts +1 -1
  319. package/lib/shared-tree-core/transactionEnricher.d.ts.map +1 -1
  320. package/lib/shared-tree-core/transactionEnricher.js +4 -1
  321. package/lib/shared-tree-core/transactionEnricher.js.map +1 -1
  322. package/lib/simple-tree/api/index.d.ts +2 -1
  323. package/lib/simple-tree/api/index.d.ts.map +1 -1
  324. package/lib/simple-tree/api/index.js +1 -1
  325. package/lib/simple-tree/api/index.js.map +1 -1
  326. package/lib/simple-tree/api/schemaFactory.d.ts +9 -0
  327. package/lib/simple-tree/api/schemaFactory.d.ts.map +1 -1
  328. package/lib/simple-tree/api/schemaFactory.js +7 -0
  329. package/lib/simple-tree/api/schemaFactory.js.map +1 -1
  330. package/lib/simple-tree/api/storedSchema.d.ts +8 -7
  331. package/lib/simple-tree/api/storedSchema.d.ts.map +1 -1
  332. package/lib/simple-tree/api/storedSchema.js +17 -11
  333. package/lib/simple-tree/api/storedSchema.js.map +1 -1
  334. package/lib/simple-tree/api/tree.d.ts +25 -0
  335. package/lib/simple-tree/api/tree.d.ts.map +1 -1
  336. package/lib/simple-tree/api/tree.js.map +1 -1
  337. package/lib/simple-tree/api/treeBeta.d.ts +4 -1
  338. package/lib/simple-tree/api/treeBeta.d.ts.map +1 -1
  339. package/lib/simple-tree/api/treeBeta.js.map +1 -1
  340. package/lib/simple-tree/api/treeChangeEvents.d.ts +83 -0
  341. package/lib/simple-tree/api/treeChangeEvents.d.ts.map +1 -0
  342. package/lib/simple-tree/api/treeChangeEvents.js +6 -0
  343. package/lib/simple-tree/api/treeChangeEvents.js.map +1 -0
  344. package/lib/simple-tree/api/treeNodeApi.d.ts +2 -1
  345. package/lib/simple-tree/api/treeNodeApi.d.ts.map +1 -1
  346. package/lib/simple-tree/api/treeNodeApi.js.map +1 -1
  347. package/lib/simple-tree/arrayNode.d.ts +28 -0
  348. package/lib/simple-tree/arrayNode.d.ts.map +1 -1
  349. package/lib/simple-tree/arrayNode.js.map +1 -1
  350. package/lib/simple-tree/core/getOrCreateNode.d.ts +1 -1
  351. package/lib/simple-tree/core/getOrCreateNode.d.ts.map +1 -1
  352. package/lib/simple-tree/core/getOrCreateNode.js.map +1 -1
  353. package/lib/simple-tree/core/index.d.ts +2 -1
  354. package/lib/simple-tree/core/index.d.ts.map +1 -1
  355. package/lib/simple-tree/core/index.js +1 -1
  356. package/lib/simple-tree/core/index.js.map +1 -1
  357. package/lib/simple-tree/core/treeNode.d.ts +94 -0
  358. package/lib/simple-tree/core/treeNode.d.ts.map +1 -0
  359. package/lib/simple-tree/core/treeNode.js +118 -0
  360. package/lib/simple-tree/core/treeNode.js.map +1 -0
  361. package/lib/simple-tree/core/treeNodeKernel.d.ts +2 -1
  362. package/lib/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
  363. package/lib/simple-tree/core/treeNodeKernel.js.map +1 -1
  364. package/lib/simple-tree/core/treeNodeSchema.d.ts +3 -1
  365. package/lib/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
  366. package/lib/simple-tree/core/treeNodeSchema.js.map +1 -1
  367. package/lib/simple-tree/core/types.d.ts +0 -165
  368. package/lib/simple-tree/core/types.d.ts.map +1 -1
  369. package/lib/simple-tree/core/types.js +0 -110
  370. package/lib/simple-tree/core/types.js.map +1 -1
  371. package/lib/simple-tree/core/unhydratedFlexTree.d.ts.map +1 -1
  372. package/lib/simple-tree/core/unhydratedFlexTree.js +5 -1
  373. package/lib/simple-tree/core/unhydratedFlexTree.js.map +1 -1
  374. package/lib/simple-tree/core/withType.d.ts +1 -1
  375. package/lib/simple-tree/core/withType.d.ts.map +1 -1
  376. package/lib/simple-tree/core/withType.js.map +1 -1
  377. package/lib/simple-tree/index.d.ts +2 -2
  378. package/lib/simple-tree/index.d.ts.map +1 -1
  379. package/lib/simple-tree/index.js +1 -1
  380. package/lib/simple-tree/index.js.map +1 -1
  381. package/lib/simple-tree/schemaTypes.d.ts +1 -0
  382. package/lib/simple-tree/schemaTypes.d.ts.map +1 -1
  383. package/lib/simple-tree/schemaTypes.js.map +1 -1
  384. package/lib/simple-tree/toStoredSchema.d.ts +8 -8
  385. package/lib/simple-tree/toStoredSchema.d.ts.map +1 -1
  386. package/lib/simple-tree/toStoredSchema.js +26 -31
  387. package/lib/simple-tree/toStoredSchema.js.map +1 -1
  388. package/lib/tableSchema.d.ts +309 -91
  389. package/lib/tableSchema.d.ts.map +1 -1
  390. package/lib/tableSchema.js +319 -78
  391. package/lib/tableSchema.js.map +1 -1
  392. package/lib/treeFactory.d.ts +1 -1
  393. package/lib/treeFactory.d.ts.map +1 -1
  394. package/lib/treeFactory.js +30 -75
  395. package/lib/treeFactory.js.map +1 -1
  396. package/package.json +21 -21
  397. package/src/codec/codec.ts +6 -1
  398. package/src/codec/index.ts +1 -0
  399. package/src/core/index.ts +1 -2
  400. package/src/core/schema-stored/index.ts +3 -3
  401. package/src/core/schema-stored/schema.ts +3 -1
  402. package/src/core/schema-stored/storedSchemaRepository.ts +1 -1
  403. package/src/core/schema-view/index.ts +0 -1
  404. package/src/core/schema-view/view.ts +0 -31
  405. package/src/core/tree/persistedTreeTextFormat.ts +2 -2
  406. package/src/feature-libraries/default-schema/schemaChecker.ts +0 -8
  407. package/src/feature-libraries/forest-summary/format.ts +2 -2
  408. package/src/feature-libraries/index.ts +7 -1
  409. package/src/feature-libraries/mapTreeCursor.ts +3 -3
  410. package/src/feature-libraries/modular-schema/modularChangeFormat.ts +3 -3
  411. package/src/feature-libraries/schema-edits/schemaChangeCodecs.ts +38 -9
  412. package/src/feature-libraries/schema-edits/schemaChangeFormat.ts +3 -4
  413. package/src/feature-libraries/schema-index/codec.ts +80 -12
  414. package/src/feature-libraries/schema-index/{format.ts → formatV1.ts} +4 -4
  415. package/src/feature-libraries/schema-index/index.ts +7 -2
  416. package/src/feature-libraries/schema-index/schemaSummarizer.ts +9 -9
  417. package/src/index.ts +1 -0
  418. package/src/packageVersion.ts +1 -1
  419. package/src/shared-tree/independentView.ts +3 -2
  420. package/src/shared-tree/index.ts +2 -0
  421. package/src/shared-tree/schematizeTree.ts +6 -36
  422. package/src/shared-tree/schematizingTreeView.ts +5 -12
  423. package/src/shared-tree/sharedTree.ts +67 -6
  424. package/src/shared-tree/tree.ts +24 -0
  425. package/src/shared-tree/treeAlpha.ts +6 -3
  426. package/src/shared-tree-core/branchCommitEnricher.ts +0 -1
  427. package/src/shared-tree-core/transactionEnricher.ts +4 -1
  428. package/src/simple-tree/api/index.ts +2 -0
  429. package/src/simple-tree/api/schemaFactory.ts +9 -0
  430. package/src/simple-tree/api/storedSchema.ts +24 -13
  431. package/src/simple-tree/api/tree.ts +25 -0
  432. package/src/simple-tree/api/treeBeta.ts +3 -1
  433. package/src/simple-tree/api/treeChangeEvents.ts +84 -0
  434. package/src/simple-tree/api/treeNodeApi.ts +1 -1
  435. package/src/simple-tree/arrayNode.ts +28 -0
  436. package/src/simple-tree/core/getOrCreateNode.ts +1 -1
  437. package/src/simple-tree/core/index.ts +5 -4
  438. package/src/simple-tree/core/treeNode.ts +163 -0
  439. package/src/simple-tree/core/treeNodeKernel.ts +2 -1
  440. package/src/simple-tree/core/treeNodeSchema.ts +3 -1
  441. package/src/simple-tree/core/types.ts +0 -234
  442. package/src/simple-tree/core/unhydratedFlexTree.ts +6 -1
  443. package/src/simple-tree/core/withType.ts +1 -1
  444. package/src/simple-tree/index.ts +2 -1
  445. package/src/simple-tree/schemaTypes.ts +1 -0
  446. package/src/simple-tree/toStoredSchema.ts +42 -41
  447. package/src/tableSchema.ts +713 -259
  448. package/src/treeFactory.ts +56 -173
  449. package/dist/core/schema-stored/format.d.ts.map +0 -1
  450. package/dist/core/schema-stored/format.js.map +0 -1
  451. package/dist/feature-libraries/schema-index/format.d.ts.map +0 -1
  452. package/dist/feature-libraries/schema-index/format.js.map +0 -1
  453. package/lib/core/schema-stored/format.d.ts.map +0 -1
  454. package/lib/core/schema-stored/format.js.map +0 -1
  455. package/lib/feature-libraries/schema-index/format.d.ts.map +0 -1
  456. package/lib/feature-libraries/schema-index/format.js.map +0 -1
  457. /package/src/core/schema-stored/{format.ts → formatV1.ts} +0 -0
@@ -4,20 +4,20 @@
4
4
  */
5
5
  import type { IChannelStorageService } from "@fluidframework/datastore-definitions/internal";
6
6
  import type { IExperimentalIncrementalSummaryContext, ISummaryTreeWithStats, ITelemetryContext } from "@fluidframework/runtime-definitions/internal";
7
- import type { ICodecOptions } from "../../codec/index.js";
7
+ import type { IJsonCodec } from "../../codec/index.js";
8
8
  import { type MutableTreeStoredSchema, type TreeStoredSchema } from "../../core/index.js";
9
9
  import type { Summarizable, SummaryElementParser, SummaryElementStringifier } from "../../shared-tree-core/index.js";
10
10
  import type { CollabWindow } from "../incrementalSummarizationUtils.js";
11
- import type { Format } from "./format.js";
11
+ import type { JsonCompatible } from "../../util/index.js";
12
12
  /**
13
13
  * Provides methods for summarizing and loading a schema repository.
14
14
  */
15
15
  export declare class SchemaSummarizer implements Summarizable {
16
16
  private readonly schema;
17
- readonly key = "Schema";
18
17
  private readonly codec;
18
+ readonly key = "Schema";
19
19
  private schemaIndexLastChangedSeq;
20
- constructor(schema: MutableTreeStoredSchema, options: ICodecOptions, collabWindow: CollabWindow);
20
+ constructor(schema: MutableTreeStoredSchema, collabWindow: CollabWindow, codec: IJsonCodec<TreeStoredSchema>);
21
21
  getAttachSummary(stringify: SummaryElementStringifier, fullTree?: boolean, trackState?: boolean, telemetryContext?: ITelemetryContext, incrementalSummaryContext?: IExperimentalIncrementalSummaryContext | undefined): ISummaryTreeWithStats;
22
22
  summarize(stringify: SummaryElementStringifier, fullTree?: boolean, trackState?: boolean, telemetryContext?: ITelemetryContext, incrementalSummaryContext?: IExperimentalIncrementalSummaryContext | undefined): Promise<ISummaryTreeWithStats>;
23
23
  load(services: IChannelStorageService, parse: SummaryElementParser): Promise<void>;
@@ -28,5 +28,5 @@ export declare class SchemaSummarizer implements Summarizable {
28
28
  * @remarks
29
29
  * This can be used to help inspect schema for debugging, and to save a snapshot of schema to help detect and review changes to an applications schema.
30
30
  */
31
- export declare function encodeTreeSchema(schema: TreeStoredSchema): Format;
31
+ export declare function encodeTreeSchema(schema: TreeStoredSchema, writeVersion: number): JsonCompatible;
32
32
  //# sourceMappingURL=schemaSummarizer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemaSummarizer.d.ts","sourceRoot":"","sources":["../../../src/feature-libraries/schema-index/schemaSummarizer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AAE7F,OAAO,KAAK,EACX,sCAAsC,EACtC,qBAAqB,EACrB,iBAAiB,EACjB,MAAM,8CAA8C,CAAC;AAGtD,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,sBAAsB,CAAC;AACtE,OAAO,EACN,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EAErB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACX,YAAY,EACZ,oBAAoB,EACpB,yBAAyB,EACzB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGxE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C;;GAEG;AACH,qBAAa,gBAAiB,YAAW,YAAY;IAQnD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAPxB,SAAgB,GAAG,YAAY;IAE/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuC;IAE7D,OAAO,CAAC,yBAAyB,CAAqB;gBAGpC,MAAM,EAAE,uBAAuB,EAChD,OAAO,EAAE,aAAa,EACtB,YAAY,EAAE,YAAY;IAUpB,gBAAgB,CACtB,SAAS,EAAE,yBAAyB,EACpC,QAAQ,CAAC,EAAE,OAAO,EAClB,UAAU,CAAC,EAAE,OAAO,EACpB,gBAAgB,CAAC,EAAE,iBAAiB,EACpC,yBAAyB,CAAC,EAAE,sCAAsC,GAAG,SAAS,GAC5E,qBAAqB;IAmBX,SAAS,CACrB,SAAS,EAAE,yBAAyB,EACpC,QAAQ,CAAC,EAAE,OAAO,EAClB,UAAU,CAAC,EAAE,OAAO,EACpB,gBAAgB,CAAC,EAAE,iBAAiB,EACpC,yBAAyB,CAAC,EAAE,sCAAsC,GAAG,SAAS,GAC5E,OAAO,CAAC,qBAAqB,CAAC;IAIpB,IAAI,CAChB,QAAQ,EAAE,sBAAsB,EAChC,KAAK,EAAE,oBAAoB,GACzB,OAAO,CAAC,IAAI,CAAC;CAgBhB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAEjE"}
1
+ {"version":3,"file":"schemaSummarizer.d.ts","sourceRoot":"","sources":["../../../src/feature-libraries/schema-index/schemaSummarizer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AAE7F,OAAO,KAAK,EACX,sCAAsC,EACtC,qBAAqB,EACrB,iBAAiB,EACjB,MAAM,8CAA8C,CAAC;AAGtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACN,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EAErB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACX,YAAY,EACZ,oBAAoB,EACpB,yBAAyB,EACzB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG1D;;GAEG;AACH,qBAAa,gBAAiB,YAAW,YAAY;IAMnD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAPvB,SAAgB,GAAG,YAAY;IAE/B,OAAO,CAAC,yBAAyB,CAAqB;gBAGpC,MAAM,EAAE,uBAAuB,EAChD,YAAY,EAAE,YAAY,EACT,KAAK,EAAE,UAAU,CAAC,gBAAgB,CAAC;IAS9C,gBAAgB,CACtB,SAAS,EAAE,yBAAyB,EACpC,QAAQ,CAAC,EAAE,OAAO,EAClB,UAAU,CAAC,EAAE,OAAO,EACpB,gBAAgB,CAAC,EAAE,iBAAiB,EACpC,yBAAyB,CAAC,EAAE,sCAAsC,GAAG,SAAS,GAC5E,qBAAqB;IAmBX,SAAS,CACrB,SAAS,EAAE,yBAAyB,EACpC,QAAQ,CAAC,EAAE,OAAO,EAClB,UAAU,CAAC,EAAE,OAAO,EACpB,gBAAgB,CAAC,EAAE,iBAAiB,EACpC,yBAAyB,CAAC,EAAE,sCAAsC,GAAG,SAAS,GAC5E,OAAO,CAAC,qBAAqB,CAAC;IAIpB,IAAI,CAChB,QAAQ,EAAE,sBAAsB,EAChC,KAAK,EAAE,oBAAoB,GACzB,OAAO,CAAC,IAAI,CAAC;CAgBhB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC/B,MAAM,EAAE,gBAAgB,EACxB,YAAY,EAAE,MAAM,GAClB,cAAc,CAEhB"}
@@ -16,10 +16,10 @@ const schemaStringKey = "SchemaString";
16
16
  * Provides methods for summarizing and loading a schema repository.
17
17
  */
18
18
  class SchemaSummarizer {
19
- constructor(schema, options, collabWindow) {
19
+ constructor(schema, collabWindow, codec) {
20
20
  this.schema = schema;
21
+ this.codec = codec;
21
22
  this.key = "Schema";
22
- this.codec = (0, codec_js_1.makeSchemaCodec)(options);
23
23
  this.schema.events.on("afterSchemaChange", () => {
24
24
  // Invalidate the cache, as we need to regenerate the blob if the schema changes
25
25
  // We are assuming that schema changes from remote ops are valid, as we are in a summarization context.
@@ -62,8 +62,8 @@ exports.SchemaSummarizer = SchemaSummarizer;
62
62
  * @remarks
63
63
  * This can be used to help inspect schema for debugging, and to save a snapshot of schema to help detect and review changes to an applications schema.
64
64
  */
65
- function encodeTreeSchema(schema) {
66
- return (0, codec_js_1.encodeRepo)(schema);
65
+ function encodeTreeSchema(schema, writeVersion) {
66
+ return (0, codec_js_1.encodeRepo)(schema, writeVersion);
67
67
  }
68
68
  exports.encodeTreeSchema = encodeTreeSchema;
69
69
  //# sourceMappingURL=schemaSummarizer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemaSummarizer.js","sourceRoot":"","sources":["../../../src/feature-libraries/schema-index/schemaSummarizer.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,+DAA8D;AAC9D,kEAA6D;AAE7D,2EAAiE;AAMjE,qEAA4E;AAG5E,kDAI6B;AAQ7B,yCAAyD;AAGzD,MAAM,eAAe,GAAG,cAAc,CAAC;AACvC;;GAEG;AACH,MAAa,gBAAgB;IAO5B,YACkB,MAA+B,EAChD,OAAsB,EACtB,YAA0B;QAFT,WAAM,GAAN,MAAM,CAAyB;QAPjC,QAAG,GAAG,QAAQ,CAAC;QAW9B,IAAI,CAAC,KAAK,GAAG,IAAA,0BAAe,EAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;YAC/C,gFAAgF;YAChF,uGAAuG;YACvG,IAAI,CAAC,yBAAyB,GAAG,YAAY,CAAC,aAAa,EAAE,CAAC;QAC/D,CAAC,CAAC,CAAC;IACJ,CAAC;IAEM,gBAAgB,CACtB,SAAoC,EACpC,QAAkB,EAClB,UAAoB,EACpB,gBAAoC,EACpC,yBAA8E;QAE9E,MAAM,OAAO,GAAG,IAAI,6BAAkB,EAAE,CAAC;QACzC,IACC,yBAAyB,KAAK,SAAS;YACvC,IAAI,CAAC,yBAAyB,KAAK,SAAS;YAC5C,yBAAyB,CAAC,2BAA2B,IAAI,IAAI,CAAC,yBAAyB,EACtF,CAAC;YACF,OAAO,CAAC,SAAS,CAChB,eAAe,EACf,gCAAW,CAAC,IAAI,EAChB,GAAG,yBAAyB,CAAC,WAAW,YAAY,IAAI,CAAC,GAAG,IAAI,eAAe,EAAE,CACjF,CAAC;QACH,CAAC;aAAM,CAAC;YACP,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAClE,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,OAAO,CAAC,cAAc,EAAE,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,SAAS,CACrB,SAAoC,EACpC,QAAkB,EAClB,UAAoB,EACpB,gBAAoC,EACpC,yBAA8E;QAE9E,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IAEM,KAAK,CAAC,IAAI,CAChB,QAAgC,EAChC,KAA2B;QAE3B,MAAM,YAAY,GAAoB,MAAM,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC/E,kEAAkE;QAClE,0EAA0E;QAC1E,iDAAiD;QACjD,IAAA,iBAAM,EACL,IAAA,4BAAiB,EAAC,IAAI,CAAC,MAAM,CAAC,EAC9B,KAAK,CAAC,0EAA0E,CAChF,CAAC;QAEF,MAAM,YAAY,GAAG,IAAA,6BAAc,EAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC3D,+DAA+D;QAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,IAAI,CAAC,yBAAyB,GAAG,CAAC,CAAC;IACpC,CAAC;CACD;AA1ED,4CA0EC;AAED;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,MAAwB;IACxD,OAAO,IAAA,qBAAU,EAAC,MAAM,CAAC,CAAC;AAC3B,CAAC;AAFD,4CAEC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { bufferToString } from \"@fluid-internal/client-utils\";\nimport { assert } from \"@fluidframework/core-utils/internal\";\nimport type { IChannelStorageService } from \"@fluidframework/datastore-definitions/internal\";\nimport { SummaryType } from \"@fluidframework/driver-definitions\";\nimport type {\n\tIExperimentalIncrementalSummaryContext,\n\tISummaryTreeWithStats,\n\tITelemetryContext,\n} from \"@fluidframework/runtime-definitions/internal\";\nimport { SummaryTreeBuilder } from \"@fluidframework/runtime-utils/internal\";\n\nimport type { ICodecOptions, IJsonCodec } from \"../../codec/index.js\";\nimport {\n\ttype MutableTreeStoredSchema,\n\ttype TreeStoredSchema,\n\tschemaDataIsEmpty,\n} from \"../../core/index.js\";\nimport type {\n\tSummarizable,\n\tSummaryElementParser,\n\tSummaryElementStringifier,\n} from \"../../shared-tree-core/index.js\";\nimport type { CollabWindow } from \"../incrementalSummarizationUtils.js\";\n\nimport { encodeRepo, makeSchemaCodec } from \"./codec.js\";\nimport type { Format } from \"./format.js\";\n\nconst schemaStringKey = \"SchemaString\";\n/**\n * Provides methods for summarizing and loading a schema repository.\n */\nexport class SchemaSummarizer implements Summarizable {\n\tpublic readonly key = \"Schema\";\n\n\tprivate readonly codec: IJsonCodec<TreeStoredSchema, Format>;\n\n\tprivate schemaIndexLastChangedSeq: number | undefined;\n\n\tpublic constructor(\n\t\tprivate readonly schema: MutableTreeStoredSchema,\n\t\toptions: ICodecOptions,\n\t\tcollabWindow: CollabWindow,\n\t) {\n\t\tthis.codec = makeSchemaCodec(options);\n\t\tthis.schema.events.on(\"afterSchemaChange\", () => {\n\t\t\t// Invalidate the cache, as we need to regenerate the blob if the schema changes\n\t\t\t// We are assuming that schema changes from remote ops are valid, as we are in a summarization context.\n\t\t\tthis.schemaIndexLastChangedSeq = collabWindow.getCurrentSeq();\n\t\t});\n\t}\n\n\tpublic getAttachSummary(\n\t\tstringify: SummaryElementStringifier,\n\t\tfullTree?: boolean,\n\t\ttrackState?: boolean,\n\t\ttelemetryContext?: ITelemetryContext,\n\t\tincrementalSummaryContext?: IExperimentalIncrementalSummaryContext | undefined,\n\t): ISummaryTreeWithStats {\n\t\tconst builder = new SummaryTreeBuilder();\n\t\tif (\n\t\t\tincrementalSummaryContext !== undefined &&\n\t\t\tthis.schemaIndexLastChangedSeq !== undefined &&\n\t\t\tincrementalSummaryContext.latestSummarySequenceNumber >= this.schemaIndexLastChangedSeq\n\t\t) {\n\t\t\tbuilder.addHandle(\n\t\t\t\tschemaStringKey,\n\t\t\t\tSummaryType.Blob,\n\t\t\t\t`${incrementalSummaryContext.summaryPath}/indexes/${this.key}/${schemaStringKey}`,\n\t\t\t);\n\t\t} else {\n\t\t\tconst dataString = JSON.stringify(this.codec.encode(this.schema));\n\t\t\tbuilder.addBlob(schemaStringKey, dataString);\n\t\t}\n\t\treturn builder.getSummaryTree();\n\t}\n\n\tpublic async summarize(\n\t\tstringify: SummaryElementStringifier,\n\t\tfullTree?: boolean,\n\t\ttrackState?: boolean,\n\t\ttelemetryContext?: ITelemetryContext,\n\t\tincrementalSummaryContext?: IExperimentalIncrementalSummaryContext | undefined,\n\t): Promise<ISummaryTreeWithStats> {\n\t\tthrow new Error(\"Method not implemented.\");\n\t}\n\n\tpublic async load(\n\t\tservices: IChannelStorageService,\n\t\tparse: SummaryElementParser,\n\t): Promise<void> {\n\t\tconst schemaBuffer: ArrayBufferLike = await services.readBlob(schemaStringKey);\n\t\t// After the awaits, validate that the schema is in a clean state.\n\t\t// This detects any schema that could have been accidentally added through\n\t\t// invalid means and are about to be overwritten.\n\t\tassert(\n\t\t\tschemaDataIsEmpty(this.schema),\n\t\t\t0x3da /* there should not already be stored schema when loading stored schema */,\n\t\t);\n\n\t\tconst schemaString = bufferToString(schemaBuffer, \"utf-8\");\n\t\t// Currently no Fluid handles are used, so just use JSON.parse.\n\t\tconst decoded = this.codec.decode(JSON.parse(schemaString));\n\t\tthis.schema.apply(decoded);\n\t\tthis.schemaIndexLastChangedSeq = 0;\n\t}\n}\n\n/**\n * Dumps schema into a deterministic JSON compatible semi-human readable format.\n *\n * @remarks\n * This can be used to help inspect schema for debugging, and to save a snapshot of schema to help detect and review changes to an applications schema.\n */\nexport function encodeTreeSchema(schema: TreeStoredSchema): Format {\n\treturn encodeRepo(schema);\n}\n"]}
1
+ {"version":3,"file":"schemaSummarizer.js","sourceRoot":"","sources":["../../../src/feature-libraries/schema-index/schemaSummarizer.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,+DAA8D;AAC9D,kEAA6D;AAE7D,2EAAiE;AAMjE,qEAA4E;AAG5E,kDAI6B;AAQ7B,yCAAwC;AAGxC,MAAM,eAAe,GAAG,cAAc,CAAC;AACvC;;GAEG;AACH,MAAa,gBAAgB;IAK5B,YACkB,MAA+B,EAChD,YAA0B,EACT,KAAmC;QAFnC,WAAM,GAAN,MAAM,CAAyB;QAE/B,UAAK,GAAL,KAAK,CAA8B;QAPrC,QAAG,GAAG,QAAQ,CAAC;QAS9B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;YAC/C,gFAAgF;YAChF,uGAAuG;YACvG,IAAI,CAAC,yBAAyB,GAAG,YAAY,CAAC,aAAa,EAAE,CAAC;QAC/D,CAAC,CAAC,CAAC;IACJ,CAAC;IAEM,gBAAgB,CACtB,SAAoC,EACpC,QAAkB,EAClB,UAAoB,EACpB,gBAAoC,EACpC,yBAA8E;QAE9E,MAAM,OAAO,GAAG,IAAI,6BAAkB,EAAE,CAAC;QACzC,IACC,yBAAyB,KAAK,SAAS;YACvC,IAAI,CAAC,yBAAyB,KAAK,SAAS;YAC5C,yBAAyB,CAAC,2BAA2B,IAAI,IAAI,CAAC,yBAAyB,EACtF,CAAC;YACF,OAAO,CAAC,SAAS,CAChB,eAAe,EACf,gCAAW,CAAC,IAAI,EAChB,GAAG,yBAAyB,CAAC,WAAW,YAAY,IAAI,CAAC,GAAG,IAAI,eAAe,EAAE,CACjF,CAAC;QACH,CAAC;aAAM,CAAC;YACP,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAClE,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,OAAO,CAAC,cAAc,EAAE,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,SAAS,CACrB,SAAoC,EACpC,QAAkB,EAClB,UAAoB,EACpB,gBAAoC,EACpC,yBAA8E;QAE9E,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IAEM,KAAK,CAAC,IAAI,CAChB,QAAgC,EAChC,KAA2B;QAE3B,MAAM,YAAY,GAAoB,MAAM,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC/E,kEAAkE;QAClE,0EAA0E;QAC1E,iDAAiD;QACjD,IAAA,iBAAM,EACL,IAAA,4BAAiB,EAAC,IAAI,CAAC,MAAM,CAAC,EAC9B,KAAK,CAAC,0EAA0E,CAChF,CAAC;QAEF,MAAM,YAAY,GAAG,IAAA,6BAAc,EAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC3D,+DAA+D;QAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,IAAI,CAAC,yBAAyB,GAAG,CAAC,CAAC;IACpC,CAAC;CACD;AAvED,4CAuEC;AAED;;;;;GAKG;AACH,SAAgB,gBAAgB,CAC/B,MAAwB,EACxB,YAAoB;IAEpB,OAAO,IAAA,qBAAU,EAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AACzC,CAAC;AALD,4CAKC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { bufferToString } from \"@fluid-internal/client-utils\";\nimport { assert } from \"@fluidframework/core-utils/internal\";\nimport type { IChannelStorageService } from \"@fluidframework/datastore-definitions/internal\";\nimport { SummaryType } from \"@fluidframework/driver-definitions\";\nimport type {\n\tIExperimentalIncrementalSummaryContext,\n\tISummaryTreeWithStats,\n\tITelemetryContext,\n} from \"@fluidframework/runtime-definitions/internal\";\nimport { SummaryTreeBuilder } from \"@fluidframework/runtime-utils/internal\";\n\nimport type { IJsonCodec } from \"../../codec/index.js\";\nimport {\n\ttype MutableTreeStoredSchema,\n\ttype TreeStoredSchema,\n\tschemaDataIsEmpty,\n} from \"../../core/index.js\";\nimport type {\n\tSummarizable,\n\tSummaryElementParser,\n\tSummaryElementStringifier,\n} from \"../../shared-tree-core/index.js\";\nimport type { CollabWindow } from \"../incrementalSummarizationUtils.js\";\n\nimport { encodeRepo } from \"./codec.js\";\nimport type { JsonCompatible } from \"../../util/index.js\";\n\nconst schemaStringKey = \"SchemaString\";\n/**\n * Provides methods for summarizing and loading a schema repository.\n */\nexport class SchemaSummarizer implements Summarizable {\n\tpublic readonly key = \"Schema\";\n\n\tprivate schemaIndexLastChangedSeq: number | undefined;\n\n\tpublic constructor(\n\t\tprivate readonly schema: MutableTreeStoredSchema,\n\t\tcollabWindow: CollabWindow,\n\t\tprivate readonly codec: IJsonCodec<TreeStoredSchema>,\n\t) {\n\t\tthis.schema.events.on(\"afterSchemaChange\", () => {\n\t\t\t// Invalidate the cache, as we need to regenerate the blob if the schema changes\n\t\t\t// We are assuming that schema changes from remote ops are valid, as we are in a summarization context.\n\t\t\tthis.schemaIndexLastChangedSeq = collabWindow.getCurrentSeq();\n\t\t});\n\t}\n\n\tpublic getAttachSummary(\n\t\tstringify: SummaryElementStringifier,\n\t\tfullTree?: boolean,\n\t\ttrackState?: boolean,\n\t\ttelemetryContext?: ITelemetryContext,\n\t\tincrementalSummaryContext?: IExperimentalIncrementalSummaryContext | undefined,\n\t): ISummaryTreeWithStats {\n\t\tconst builder = new SummaryTreeBuilder();\n\t\tif (\n\t\t\tincrementalSummaryContext !== undefined &&\n\t\t\tthis.schemaIndexLastChangedSeq !== undefined &&\n\t\t\tincrementalSummaryContext.latestSummarySequenceNumber >= this.schemaIndexLastChangedSeq\n\t\t) {\n\t\t\tbuilder.addHandle(\n\t\t\t\tschemaStringKey,\n\t\t\t\tSummaryType.Blob,\n\t\t\t\t`${incrementalSummaryContext.summaryPath}/indexes/${this.key}/${schemaStringKey}`,\n\t\t\t);\n\t\t} else {\n\t\t\tconst dataString = JSON.stringify(this.codec.encode(this.schema));\n\t\t\tbuilder.addBlob(schemaStringKey, dataString);\n\t\t}\n\t\treturn builder.getSummaryTree();\n\t}\n\n\tpublic async summarize(\n\t\tstringify: SummaryElementStringifier,\n\t\tfullTree?: boolean,\n\t\ttrackState?: boolean,\n\t\ttelemetryContext?: ITelemetryContext,\n\t\tincrementalSummaryContext?: IExperimentalIncrementalSummaryContext | undefined,\n\t): Promise<ISummaryTreeWithStats> {\n\t\tthrow new Error(\"Method not implemented.\");\n\t}\n\n\tpublic async load(\n\t\tservices: IChannelStorageService,\n\t\tparse: SummaryElementParser,\n\t): Promise<void> {\n\t\tconst schemaBuffer: ArrayBufferLike = await services.readBlob(schemaStringKey);\n\t\t// After the awaits, validate that the schema is in a clean state.\n\t\t// This detects any schema that could have been accidentally added through\n\t\t// invalid means and are about to be overwritten.\n\t\tassert(\n\t\t\tschemaDataIsEmpty(this.schema),\n\t\t\t0x3da /* there should not already be stored schema when loading stored schema */,\n\t\t);\n\n\t\tconst schemaString = bufferToString(schemaBuffer, \"utf-8\");\n\t\t// Currently no Fluid handles are used, so just use JSON.parse.\n\t\tconst decoded = this.codec.decode(JSON.parse(schemaString));\n\t\tthis.schema.apply(decoded);\n\t\tthis.schemaIndexLastChangedSeq = 0;\n\t}\n}\n\n/**\n * Dumps schema into a deterministic JSON compatible semi-human readable format.\n *\n * @remarks\n * This can be used to help inspect schema for debugging, and to save a snapshot of schema to help detect and review changes to an applications schema.\n */\nexport function encodeTreeSchema(\n\tschema: TreeStoredSchema,\n\twriteVersion: number,\n): JsonCompatible {\n\treturn encodeRepo(schema, writeVersion);\n}\n"]}
package/dist/index.d.ts CHANGED
@@ -33,6 +33,7 @@ export { type ITreeInternal, type SharedTreeOptions, type ForestType, type Share
33
33
  export { TreeArrayNode, type Unhydrated, IterableTreeArrayContent, TreeNode, type ViewableTree, type ITree, type TreeNodeSchema, TreeViewConfiguration, type ITreeViewConfiguration, type ITreeConfigurationOptions, type TreeView, type TreeViewEvents, SchemaFactory, SchemaFactoryAlpha, type SchemaFactoryObjectOptions, type ImplicitFieldSchema, type TreeFieldFromImplicitField, type TreeChangeEvents, type NodeFromSchema, type TreeMapNode, type InsertableTreeNodeFromImplicitAllowedTypes, type TreeLeafValue, FieldKind, FieldSchema, type FieldSchemaAlpha, type FieldSchemaMetadata, type ImplicitAllowedTypes, type InsertableTreeFieldFromImplicitField, type InsertableTypedNode, NodeKind, type TreeObjectNode, ObjectNodeSchema, type TreeNodeFromImplicitAllowedTypes, type TreeNodeSchemaClass, type SchemaCompatibilityStatus, type FieldProps, type InternalTreeNode, type WithType, type NodeChangedData, type TreeNodeApi, type TreeNodeSchemaCore, type AllowedTypes, type System_Unsafe, type FieldSchemaAlphaUnsafe, type ArrayNodeCustomizableSchemaUnsafe, type MapNodeCustomizableSchemaUnsafe, type typeSchemaSymbol, type TreeNodeSchemaNonClass, type ValidateRecursiveSchema, type FixRecursiveArraySchema, type SimpleTreeIndex, type IdentifierIndex, createSimpleTreeIndex, createIdentifierIndex, adaptEnum, enumFromStrings, singletonSchema, type UnsafeUnknownSchema, type TreeViewAlpha, type InsertableField, type Insertable, type InsertableContent, type FactoryContent, type FactoryContentObject, type ReadableField, type ReadSchema, type ImplicitAnnotatedAllowedTypes, type ImplicitAnnotatedFieldSchema, type AnnotatedAllowedType, type AnnotatedAllowedTypes, type AllowedTypeMetadata, type AllowedTypesMetadata, type InsertableObjectFromAnnotatedSchemaRecord, type UnannotateImplicitAllowedTypes, type UnannotateAllowedTypes, type UnannotateAllowedType, type UnannotateAllowedTypesList, type UnannotateAllowedTypeOrLazyItem, type UnannotateImplicitFieldSchema, type UnannotateSchemaRecord, test_RecursiveObject, test_RecursiveObject_base, test_RecursiveObjectPojoMode, TreeBeta, type TreeChangeEventsBeta, type VerboseTreeNode, type TreeEncodingOptions, type TreeSchemaEncodingOptions, type TreeSchema, TreeViewConfigurationAlpha, type VerboseTree, extractPersistedSchema, comparePersistedSchema, type ConciseTree, type JsonTreeSchema, type JsonSchemaId, type JsonNodeSchema, type JsonNodeSchemaBase, type JsonLeafNodeSchema, type JsonMapNodeSchema, type JsonArrayNodeSchema, type JsonObjectNodeSchema, type JsonFieldSchema, type JsonSchemaRef, type JsonRefPath, type JsonSchemaType, type JsonLeafSchemaType, getJsonSchema, type LazyItem, type Unenforced, type SimpleNodeSchemaBase, type SimpleTreeSchema, type SimpleNodeSchema, type SimpleFieldSchema, type SimpleLeafNodeSchema, type SimpleMapNodeSchema, type SimpleArrayNodeSchema, type SimpleObjectNodeSchema, type SimpleObjectFieldSchema, normalizeAllowedTypes, getSimpleSchema, type ReadonlyArrayNode, type InsertableTreeNodeFromAllowedTypes, type Input, type TreeBranch, type TreeBranchEvents, asTreeViewAlpha, type NodeSchemaOptions, type NodeSchemaMetadata, type SchemaStatics, type ITreeAlpha, type TransactionConstraint, type NodeInDocumentConstraint, type RunTransactionParams, type VoidTransactionCallbackStatus, type TransactionCallbackStatus, type TransactionResult, type TransactionResultExt, type TransactionResultSuccess, type TransactionResultFailed, rollback, generateSchemaFromSimpleSchema, evaluateLazySchema, replaceConciseTreeHandles, replaceHandles, replaceVerboseTreeHandles, type HandleConverter, allowUnused, type LeafSchema, type ArrayNodeCustomizableSchema, type ArrayNodePojoEmulationSchema, ArrayNodeSchema, type MapNodeCustomizableSchema, type MapNodePojoEmulationSchema, MapNodeSchema, type ObjectFromSchemaRecord, type ValidateRecursiveSchemaTemplate, type FixRecursiveRecursionLimit, } from "./simple-tree/index.js";
34
34
  export { SharedTree, configuredSharedTree, } from "./treeFactory.js";
35
35
  export { SharedTreeAttributes, SharedTreeFactoryType } from "./sharedTreeAttributes.js";
36
+ export { persistedToSimpleSchema } from "./shared-tree/index.js";
36
37
  export { type ICodecOptions, type JsonValidator, type SchemaValidationFunction, FluidClientVersion, } from "./codec/index.js";
37
38
  export { noopValidator } from "./codec/index.js";
38
39
  export { typeboxValidator } from "./external-utilities/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACN,WAAW,EACX,KAAK,UAAU,EACf,UAAU,EACV,gBAAgB,EAChB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,eAAe,GACpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EACX,SAAS,IAAI,cAAc,EAC3B,UAAU,IAAI,eAAe,EAC7B,UAAU,IAAI,eAAe,EAC7B,GAAG,IAAI,QAAQ,EACf,MAAM,iCAAiC,CAAC;AAEzC;;;;GAIG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC;AAC5D;;;;GAIG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;AAC/C;;;;GAIG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;AAC9D;;;;GAIG;AACH,MAAM,MAAM,GAAG,GAAG,QAAQ,CAAC;AAE3B,OAAO,EACN,UAAU,EACV,uBAAuB,EACvB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,cAAc,GACnB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACN,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,uBAAuB,EAC5B,uBAAuB,EACvB,IAAI,EACJ,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,SAAS,EACT,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,0BAA0B,EAC1B,KAAK,WAAW,EAChB,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,mBAAmB,GACnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACN,aAAa,EACb,KAAK,UAAU,EACf,wBAAwB,EACxB,QAAQ,EACR,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,KAAK,cAAc,EACnB,qBAAqB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,aAAa,EACb,kBAAkB,EAClB,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,0CAA0C,EAC/C,KAAK,aAAa,EAClB,SAAS,EACT,WAAW,EACX,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,oCAAoC,EACzC,KAAK,mBAAmB,EACxB,QAAQ,EACR,KAAK,cAAc,EACnB,gBAAgB,EAChB,KAAK,gCAAgC,EACrC,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,QAAQ,EACb,KAAK,eAAe,EAIpB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EAIvB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,iCAAiC,EACtC,KAAK,+BAA+B,EAEpC,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAE3B,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAE5B,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,qBAAqB,EACrB,qBAAqB,EAErB,SAAS,EACT,eAAe,EACf,eAAe,EACf,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,yCAAyC,EAC9C,KAAK,8BAA8B,EACnC,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,EAC/B,KAAK,+BAA+B,EACpC,KAAK,6BAA6B,EAClC,KAAK,sBAAsB,EAE3B,oBAAoB,EACpB,yBAAyB,EACzB,4BAA4B,EAE5B,QAAQ,EACR,KAAK,oBAAoB,EAEzB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,UAAU,EACf,0BAA0B,EAC1B,KAAK,WAAW,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,KAAK,WAAW,EAEhB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,aAAa,EACb,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,qBAAqB,EACrB,eAAe,EACf,KAAK,iBAAiB,EACtB,KAAK,kCAAkC,EACvC,KAAK,KAAK,EACV,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,eAAe,EACf,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,6BAA6B,EAClC,KAAK,yBAAyB,EAC9B,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,QAAQ,EACR,8BAA8B,EAC9B,kBAAkB,EAClB,yBAAyB,EACzB,cAAc,EACd,yBAAyB,EACzB,KAAK,eAAe,EACpB,WAAW,EACX,KAAK,UAAU,EACf,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,eAAe,EACf,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,aAAa,EACb,KAAK,sBAAsB,EAC3B,KAAK,+BAA+B,EACpC,KAAK,0BAA0B,GAC/B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,UAAU,EACV,oBAAoB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACxF,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EACN,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,kBAAkB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,YAAY,EAEX,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,KAAK,EACL,WAAW,EAEX,yBAAyB,EACzB,uBAAuB,EACvB,WAAW,EACX,OAAO,EACP,mBAAmB,EACnB,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,oBAAoB,GACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO;AACN;;;GAGG;AACH,aAAa,GACb,CAAC;AAKF,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -28,7 +28,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
28
28
  };
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
30
  exports.configuredSharedTree = exports.SharedTree = exports.MapNodeSchema = exports.ArrayNodeSchema = exports.allowUnused = exports.replaceVerboseTreeHandles = exports.replaceHandles = exports.replaceConciseTreeHandles = exports.evaluateLazySchema = exports.generateSchemaFromSimpleSchema = exports.rollback = exports.asTreeViewAlpha = exports.getSimpleSchema = exports.normalizeAllowedTypes = exports.getJsonSchema = exports.comparePersistedSchema = exports.extractPersistedSchema = exports.TreeViewConfigurationAlpha = exports.TreeBeta = exports.test_RecursiveObjectPojoMode = exports.test_RecursiveObject_base = exports.test_RecursiveObject = exports.singletonSchema = exports.enumFromStrings = exports.adaptEnum = exports.createIdentifierIndex = exports.createSimpleTreeIndex = exports.ObjectNodeSchema = exports.NodeKind = exports.FieldSchema = exports.FieldKind = exports.SchemaFactoryAlpha = exports.SchemaFactory = exports.TreeViewConfiguration = exports.IterableTreeArrayContent = exports.TreeArrayNode = exports.ForestTypeReference = exports.ForestTypeExpensiveDebug = exports.ForestTypeOptimized = exports.independentView = exports.TreeAlpha = exports.independentInitializedView = exports.getBranch = exports.Tree = exports.SharedTreeFormatVersion = exports.TreeCompressionStrategy = exports.TreeStatus = exports.RevertibleStatus = exports.CommitKind = exports.ValueSchema = void 0;
31
- exports.TableSchema = exports.FluidSerializableAsTree = exports.JsonAsTree = exports.InternalTypes = exports.cloneWithReplacements = exports.typeboxValidator = exports.noopValidator = exports.FluidClientVersion = exports.SharedTreeFactoryType = exports.SharedTreeAttributes = void 0;
31
+ exports.TableSchema = exports.FluidSerializableAsTree = exports.JsonAsTree = exports.InternalTypes = exports.cloneWithReplacements = exports.typeboxValidator = exports.noopValidator = exports.FluidClientVersion = exports.persistedToSimpleSchema = exports.SharedTreeFactoryType = exports.SharedTreeAttributes = void 0;
32
32
  var index_js_1 = require("./core/index.js");
33
33
  Object.defineProperty(exports, "ValueSchema", { enumerable: true, get: function () { return index_js_1.ValueSchema; } });
34
34
  Object.defineProperty(exports, "CommitKind", { enumerable: true, get: function () { return index_js_1.CommitKind; } });
@@ -90,14 +90,16 @@ Object.defineProperty(exports, "configuredSharedTree", { enumerable: true, get:
90
90
  var sharedTreeAttributes_js_1 = require("./sharedTreeAttributes.js");
91
91
  Object.defineProperty(exports, "SharedTreeAttributes", { enumerable: true, get: function () { return sharedTreeAttributes_js_1.SharedTreeAttributes; } });
92
92
  Object.defineProperty(exports, "SharedTreeFactoryType", { enumerable: true, get: function () { return sharedTreeAttributes_js_1.SharedTreeFactoryType; } });
93
- var index_js_5 = require("./codec/index.js");
94
- Object.defineProperty(exports, "FluidClientVersion", { enumerable: true, get: function () { return index_js_5.FluidClientVersion; } });
93
+ var index_js_5 = require("./shared-tree/index.js");
94
+ Object.defineProperty(exports, "persistedToSimpleSchema", { enumerable: true, get: function () { return index_js_5.persistedToSimpleSchema; } });
95
95
  var index_js_6 = require("./codec/index.js");
96
- Object.defineProperty(exports, "noopValidator", { enumerable: true, get: function () { return index_js_6.noopValidator; } });
97
- var index_js_7 = require("./external-utilities/index.js");
98
- Object.defineProperty(exports, "typeboxValidator", { enumerable: true, get: function () { return index_js_7.typeboxValidator; } });
99
- var index_js_8 = require("./util/index.js");
100
- Object.defineProperty(exports, "cloneWithReplacements", { enumerable: true, get: function () { return index_js_8.cloneWithReplacements; } });
96
+ Object.defineProperty(exports, "FluidClientVersion", { enumerable: true, get: function () { return index_js_6.FluidClientVersion; } });
97
+ var index_js_7 = require("./codec/index.js");
98
+ Object.defineProperty(exports, "noopValidator", { enumerable: true, get: function () { return index_js_7.noopValidator; } });
99
+ var index_js_8 = require("./external-utilities/index.js");
100
+ Object.defineProperty(exports, "typeboxValidator", { enumerable: true, get: function () { return index_js_8.typeboxValidator; } });
101
+ var index_js_9 = require("./util/index.js");
102
+ Object.defineProperty(exports, "cloneWithReplacements", { enumerable: true, get: function () { return index_js_9.cloneWithReplacements; } });
101
103
  const InternalTypes = __importStar(require("./internalTypes.js"));
102
104
  exports.InternalTypes = InternalTypes;
103
105
  var jsonDomainSchema_js_1 = require("./jsonDomainSchema.js");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,4CASyB;AARxB,uGAAA,WAAW,OAAA;AAEX,sGAAA,UAAU,OAAA;AACV,4GAAA,gBAAgB,OAAA;AAuCjB,yDAMsC;AALrC,sGAAA,UAAU,OAAA;AACV,mHAAA,uBAAuB,OAAA;AAMxB,mDAmBgC;AAd/B,mHAAA,uBAAuB,OAAA;AACvB,gGAAA,IAAI,OAAA;AAGJ,qGAAA,SAAS,OAAA;AAGT,sHAAA,0BAA0B,OAAA;AAE1B,qGAAA,SAAS,OAAA;AACT,2GAAA,eAAe,OAAA;AACf,+GAAA,mBAAmB,OAAA;AACnB,oHAAA,wBAAwB,OAAA;AACxB,+GAAA,mBAAmB,OAAA;AAGpB,mDA6KgC;AA5K/B,yGAAA,aAAa,OAAA;AAEb,oHAAA,wBAAwB,OAAA;AAKxB,iHAAA,qBAAqB,OAAA;AAKrB,yGAAA,aAAa,OAAA;AACb,8GAAA,kBAAkB,OAAA;AASlB,qGAAA,SAAS,OAAA;AACT,uGAAA,WAAW,OAAA;AAMX,oGAAA,QAAQ,OAAA;AAER,4GAAA,gBAAgB,OAAA;AA8BhB,iHAAA,qBAAqB,OAAA;AACrB,iHAAA,qBAAqB,OAAA;AACrB,4BAA4B;AAC5B,qGAAA,SAAS,OAAA;AACT,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AAwBf,8EAA8E;AAC9E,gHAAA,oBAAoB,OAAA;AACpB,qHAAA,yBAAyB,OAAA;AACzB,wHAAA,4BAA4B,OAAA;AAC5B,YAAY;AACZ,oGAAA,QAAQ,OAAA;AAOR,sHAAA,0BAA0B,OAAA;AAE1B,kHAAA,sBAAsB,OAAA;AACtB,kHAAA,sBAAsB,OAAA;AAgBtB,yGAAA,aAAa,OAAA;AAYb,iHAAA,qBAAqB,OAAA;AACrB,2GAAA,eAAe,OAAA;AAMf,2GAAA,eAAe,OAAA;AAcf,oGAAA,QAAQ,OAAA;AACR,0HAAA,8BAA8B,OAAA;AAC9B,8GAAA,kBAAkB,OAAA;AAClB,qHAAA,yBAAyB,OAAA;AACzB,0GAAA,cAAc,OAAA;AACd,qHAAA,yBAAyB,OAAA;AAEzB,uGAAA,WAAW,OAAA;AAIX,2GAAA,eAAe,OAAA;AAGf,yGAAA,aAAa,OAAA;AAKd,mDAG0B;AAFzB,4GAAA,UAAU,OAAA;AACV,sHAAA,oBAAoB,OAAA;AAErB,qEAAwF;AAA/E,+HAAA,oBAAoB,OAAA;AAAE,gIAAA,qBAAqB,OAAA;AAEpD,6CAK0B;AADzB,8GAAA,kBAAkB,OAAA;AAEnB,6CAAiD;AAAxC,yGAAA,aAAa,OAAA;AACtB,0DAAiE;AAAxD,4GAAA,gBAAgB,OAAA;AAsBzB,4CAAwD;AAA/C,iHAAA,qBAAqB,OAAA;AAE9B,kEAAoD;AAMnD,sCAAa;AAQd,6DAAmD;AAA1C,iHAAA,UAAU,OAAA;AACnB,6EAAwE;AAA/D,sIAAA,uBAAuB,OAAA;AAChC,mDAAwE;AAA/D,6GAAA,WAAW,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport {\n\tValueSchema,\n\ttype Revertible,\n\tCommitKind,\n\tRevertibleStatus,\n\ttype CommitMetadata,\n\ttype RevertibleFactory,\n\ttype RevertibleAlphaFactory,\n\ttype RevertibleAlpha,\n} from \"./core/index.js\";\n\nimport type {\n\tListeners as EventListeners,\n\tIsListener as EventIsListener,\n\tListenable as EventListenable,\n\tOff as EventOff,\n} from \"@fluidframework/core-interfaces\";\n\n/**\n * {@inheritdoc @fluidframework/core-interfaces#Listeners}\n * @public\n * @deprecated Deprecated in `@fluidframework/tree`. Consider importing from `fluid-framework` or `@fluidframework/core-interfaces` instead.\n */\nexport type Listeners<T extends object> = EventListeners<T>;\n/**\n * {@inheritdoc @fluidframework/core-interfaces#IsListener}\n * @public\n * @deprecated Deprecated in `@fluidframework/tree`. Consider importing from `fluid-framework` or `@fluidframework/core-interfaces` instead.\n */\nexport type IsListener<T> = EventIsListener<T>;\n/**\n * {@inheritdoc @fluidframework/core-interfaces#Listenable}\n * @public\n * @deprecated Deprecated in `@fluidframework/tree`. Consider importing from `fluid-framework` or `@fluidframework/core-interfaces` instead.\n */\nexport type Listenable<T extends object> = EventListenable<T>;\n/**\n * {@inheritdoc @fluidframework/core-interfaces#Off}\n * @public\n * @deprecated Deprecated in `@fluidframework/tree`. Consider importing from `fluid-framework` or `@fluidframework/core-interfaces` instead.\n */\nexport type Off = EventOff;\n\nexport {\n\tTreeStatus,\n\tTreeCompressionStrategy,\n\ttype TreeIndex,\n\ttype TreeIndexKey,\n\ttype TreeIndexNodes,\n} from \"./feature-libraries/index.js\";\n\nexport {\n\ttype ITreeInternal,\n\ttype SharedTreeOptions,\n\ttype ForestType,\n\ttype SharedTreeFormatOptions,\n\tSharedTreeFormatVersion,\n\tTree,\n\ttype RunTransaction,\n\ttype ForestOptions,\n\tgetBranch,\n\ttype BranchableTree,\n\ttype TreeBranchFork,\n\tindependentInitializedView,\n\ttype ViewContent,\n\tTreeAlpha,\n\tindependentView,\n\tForestTypeOptimized,\n\tForestTypeExpensiveDebug,\n\tForestTypeReference,\n} from \"./shared-tree/index.js\";\n\nexport {\n\tTreeArrayNode,\n\ttype Unhydrated,\n\tIterableTreeArrayContent,\n\tTreeNode,\n\ttype ViewableTree,\n\ttype ITree,\n\ttype TreeNodeSchema,\n\tTreeViewConfiguration,\n\ttype ITreeViewConfiguration,\n\ttype ITreeConfigurationOptions,\n\ttype TreeView,\n\ttype TreeViewEvents,\n\tSchemaFactory,\n\tSchemaFactoryAlpha,\n\ttype SchemaFactoryObjectOptions,\n\ttype ImplicitFieldSchema,\n\ttype TreeFieldFromImplicitField,\n\ttype TreeChangeEvents,\n\ttype NodeFromSchema,\n\ttype TreeMapNode,\n\ttype InsertableTreeNodeFromImplicitAllowedTypes,\n\ttype TreeLeafValue,\n\tFieldKind,\n\tFieldSchema,\n\ttype FieldSchemaAlpha,\n\ttype FieldSchemaMetadata,\n\ttype ImplicitAllowedTypes,\n\ttype InsertableTreeFieldFromImplicitField,\n\ttype InsertableTypedNode,\n\tNodeKind,\n\ttype TreeObjectNode,\n\tObjectNodeSchema,\n\ttype TreeNodeFromImplicitAllowedTypes,\n\ttype TreeNodeSchemaClass,\n\ttype SchemaCompatibilityStatus,\n\ttype FieldProps,\n\ttype InternalTreeNode,\n\ttype WithType,\n\ttype NodeChangedData,\n\t// Types not really intended for public use, but used in links.\n\t// Can not be moved to internalTypes since doing so causes app code to throw errors like:\n\t// Error: src/simple-tree/objectNode.ts:72:1 - (ae-unresolved-link) The @link reference could not be resolved: The package \"@fluidframework/tree\" does not have an export \"TreeNodeApi\"\n\ttype TreeNodeApi,\n\ttype TreeNodeSchemaCore,\n\t// Types not really intended for public use, but used in inferred types exposed in the public API.\n\t// Can not be moved to internalTypes since doing so causes app code to throw errors like:\n\t// error TS2742: The inferred type of 'Inventory' cannot be named without a reference to '../node_modules/@fluidframework/tree/lib/internalTypes.js'. This is likely not portable. A type annotation is necessary.\n\ttype AllowedTypes,\n\ttype System_Unsafe,\n\ttype FieldSchemaAlphaUnsafe,\n\ttype ArrayNodeCustomizableSchemaUnsafe,\n\ttype MapNodeCustomizableSchemaUnsafe,\n\t// System types (not in Internal types for various reasons, like doc links or cannot be named errors).\n\ttype typeSchemaSymbol,\n\ttype TreeNodeSchemaNonClass,\n\t// Recursive Schema APIs\n\ttype ValidateRecursiveSchema,\n\ttype FixRecursiveArraySchema,\n\t// Index APIs\n\ttype SimpleTreeIndex,\n\ttype IdentifierIndex,\n\tcreateSimpleTreeIndex,\n\tcreateIdentifierIndex,\n\t// experimental @alpha APIs:\n\tadaptEnum,\n\tenumFromStrings,\n\tsingletonSchema,\n\ttype UnsafeUnknownSchema,\n\ttype TreeViewAlpha,\n\ttype InsertableField,\n\ttype Insertable,\n\ttype InsertableContent,\n\ttype FactoryContent,\n\ttype FactoryContentObject,\n\ttype ReadableField,\n\ttype ReadSchema,\n\ttype ImplicitAnnotatedAllowedTypes,\n\ttype ImplicitAnnotatedFieldSchema,\n\ttype AnnotatedAllowedType,\n\ttype AnnotatedAllowedTypes,\n\ttype AllowedTypeMetadata,\n\ttype AllowedTypesMetadata,\n\ttype InsertableObjectFromAnnotatedSchemaRecord,\n\ttype UnannotateImplicitAllowedTypes,\n\ttype UnannotateAllowedTypes,\n\ttype UnannotateAllowedType,\n\ttype UnannotateAllowedTypesList,\n\ttype UnannotateAllowedTypeOrLazyItem,\n\ttype UnannotateImplicitFieldSchema,\n\ttype UnannotateSchemaRecord,\n\t// test recursive schema for checking that d.ts files handles schema correctly\n\ttest_RecursiveObject,\n\ttest_RecursiveObject_base,\n\ttest_RecursiveObjectPojoMode,\n\t// Beta APIs\n\tTreeBeta,\n\ttype TreeChangeEventsBeta,\n\t// Other\n\ttype VerboseTreeNode,\n\ttype TreeEncodingOptions,\n\ttype TreeSchemaEncodingOptions,\n\ttype TreeSchema,\n\tTreeViewConfigurationAlpha,\n\ttype VerboseTree,\n\textractPersistedSchema,\n\tcomparePersistedSchema,\n\ttype ConciseTree,\n\t// Back to normal types\n\ttype JsonTreeSchema,\n\ttype JsonSchemaId,\n\ttype JsonNodeSchema,\n\ttype JsonNodeSchemaBase,\n\ttype JsonLeafNodeSchema,\n\ttype JsonMapNodeSchema,\n\ttype JsonArrayNodeSchema,\n\ttype JsonObjectNodeSchema,\n\ttype JsonFieldSchema,\n\ttype JsonSchemaRef,\n\ttype JsonRefPath,\n\ttype JsonSchemaType,\n\ttype JsonLeafSchemaType,\n\tgetJsonSchema,\n\ttype LazyItem,\n\ttype Unenforced,\n\ttype SimpleNodeSchemaBase,\n\ttype SimpleTreeSchema,\n\ttype SimpleNodeSchema,\n\ttype SimpleFieldSchema,\n\ttype SimpleLeafNodeSchema,\n\ttype SimpleMapNodeSchema,\n\ttype SimpleArrayNodeSchema,\n\ttype SimpleObjectNodeSchema,\n\ttype SimpleObjectFieldSchema,\n\tnormalizeAllowedTypes,\n\tgetSimpleSchema,\n\ttype ReadonlyArrayNode,\n\ttype InsertableTreeNodeFromAllowedTypes,\n\ttype Input,\n\ttype TreeBranch,\n\ttype TreeBranchEvents,\n\tasTreeViewAlpha,\n\ttype NodeSchemaOptions,\n\ttype NodeSchemaMetadata,\n\ttype SchemaStatics,\n\ttype ITreeAlpha,\n\ttype TransactionConstraint,\n\ttype NodeInDocumentConstraint,\n\ttype RunTransactionParams,\n\ttype VoidTransactionCallbackStatus,\n\ttype TransactionCallbackStatus,\n\ttype TransactionResult,\n\ttype TransactionResultExt,\n\ttype TransactionResultSuccess,\n\ttype TransactionResultFailed,\n\trollback,\n\tgenerateSchemaFromSimpleSchema,\n\tevaluateLazySchema,\n\treplaceConciseTreeHandles,\n\treplaceHandles,\n\treplaceVerboseTreeHandles,\n\ttype HandleConverter,\n\tallowUnused,\n\ttype LeafSchema,\n\ttype ArrayNodeCustomizableSchema,\n\ttype ArrayNodePojoEmulationSchema,\n\tArrayNodeSchema,\n\ttype MapNodeCustomizableSchema,\n\ttype MapNodePojoEmulationSchema,\n\tMapNodeSchema,\n\ttype ObjectFromSchemaRecord,\n\ttype ValidateRecursiveSchemaTemplate,\n\ttype FixRecursiveRecursionLimit,\n} from \"./simple-tree/index.js\";\nexport {\n\tSharedTree,\n\tconfiguredSharedTree,\n} from \"./treeFactory.js\";\nexport { SharedTreeAttributes, SharedTreeFactoryType } from \"./sharedTreeAttributes.js\";\n\nexport {\n\ttype ICodecOptions,\n\ttype JsonValidator,\n\ttype SchemaValidationFunction,\n\tFluidClientVersion,\n} from \"./codec/index.js\";\nexport { noopValidator } from \"./codec/index.js\";\nexport { typeboxValidator } from \"./external-utilities/index.js\";\n\nexport type {\n\t// Type Testing\n\trequireTrue,\n\trequireFalse,\n\trequireAssignableTo,\n\tareSafelyAssignable,\n\tisAssignableTo,\n\tisAny,\n\teitherIsAny,\n\t// Other\n\tRestrictiveReadonlyRecord,\n\tRestrictiveStringRecord,\n\tMakeNominal,\n\tIsUnion,\n\tUnionToIntersection,\n\tUnionToTuple,\n\tPopUnion,\n\tJsonCompatible,\n\tJsonCompatibleObject,\n} from \"./util/index.js\";\nexport { cloneWithReplacements } from \"./util/index.js\";\n\nimport * as InternalTypes from \"./internalTypes.js\";\nexport {\n\t/**\n\t * Contains types used by the API, but which serve mechanical purposes and do not represent semantic concepts.\n\t * They are used internally to implement API aspects, but are not intended for use by external consumers.\n\t */\n\tInternalTypes,\n};\n\n// Internal/System types:\n// These would be put in `internalTypes` except doing so tents to cause errors like:\n// The inferred type of 'NodeMap' cannot be named without a reference to '../../node_modules/@fluidframework/tree/lib/internalTypes.js'. This is likely not portable. A type annotation is necessary.\nexport type { MapNodeInsertableData } from \"./simple-tree/index.js\";\n\nexport { JsonAsTree } from \"./jsonDomainSchema.js\";\nexport { FluidSerializableAsTree } from \"./serializableDomainSchema.js\";\nexport { TableSchema, type System_TableSchema } from \"./tableSchema.js\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,4CASyB;AARxB,uGAAA,WAAW,OAAA;AAEX,sGAAA,UAAU,OAAA;AACV,4GAAA,gBAAgB,OAAA;AAuCjB,yDAMsC;AALrC,sGAAA,UAAU,OAAA;AACV,mHAAA,uBAAuB,OAAA;AAMxB,mDAmBgC;AAd/B,mHAAA,uBAAuB,OAAA;AACvB,gGAAA,IAAI,OAAA;AAGJ,qGAAA,SAAS,OAAA;AAGT,sHAAA,0BAA0B,OAAA;AAE1B,qGAAA,SAAS,OAAA;AACT,2GAAA,eAAe,OAAA;AACf,+GAAA,mBAAmB,OAAA;AACnB,oHAAA,wBAAwB,OAAA;AACxB,+GAAA,mBAAmB,OAAA;AAGpB,mDA6KgC;AA5K/B,yGAAA,aAAa,OAAA;AAEb,oHAAA,wBAAwB,OAAA;AAKxB,iHAAA,qBAAqB,OAAA;AAKrB,yGAAA,aAAa,OAAA;AACb,8GAAA,kBAAkB,OAAA;AASlB,qGAAA,SAAS,OAAA;AACT,uGAAA,WAAW,OAAA;AAMX,oGAAA,QAAQ,OAAA;AAER,4GAAA,gBAAgB,OAAA;AA8BhB,iHAAA,qBAAqB,OAAA;AACrB,iHAAA,qBAAqB,OAAA;AACrB,4BAA4B;AAC5B,qGAAA,SAAS,OAAA;AACT,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AAwBf,8EAA8E;AAC9E,gHAAA,oBAAoB,OAAA;AACpB,qHAAA,yBAAyB,OAAA;AACzB,wHAAA,4BAA4B,OAAA;AAC5B,YAAY;AACZ,oGAAA,QAAQ,OAAA;AAOR,sHAAA,0BAA0B,OAAA;AAE1B,kHAAA,sBAAsB,OAAA;AACtB,kHAAA,sBAAsB,OAAA;AAgBtB,yGAAA,aAAa,OAAA;AAYb,iHAAA,qBAAqB,OAAA;AACrB,2GAAA,eAAe,OAAA;AAMf,2GAAA,eAAe,OAAA;AAcf,oGAAA,QAAQ,OAAA;AACR,0HAAA,8BAA8B,OAAA;AAC9B,8GAAA,kBAAkB,OAAA;AAClB,qHAAA,yBAAyB,OAAA;AACzB,0GAAA,cAAc,OAAA;AACd,qHAAA,yBAAyB,OAAA;AAEzB,uGAAA,WAAW,OAAA;AAIX,2GAAA,eAAe,OAAA;AAGf,yGAAA,aAAa,OAAA;AAKd,mDAG0B;AAFzB,4GAAA,UAAU,OAAA;AACV,sHAAA,oBAAoB,OAAA;AAErB,qEAAwF;AAA/E,+HAAA,oBAAoB,OAAA;AAAE,gIAAA,qBAAqB,OAAA;AACpD,mDAAiE;AAAxD,mHAAA,uBAAuB,OAAA;AAEhC,6CAK0B;AADzB,8GAAA,kBAAkB,OAAA;AAEnB,6CAAiD;AAAxC,yGAAA,aAAa,OAAA;AACtB,0DAAiE;AAAxD,4GAAA,gBAAgB,OAAA;AAsBzB,4CAAwD;AAA/C,iHAAA,qBAAqB,OAAA;AAE9B,kEAAoD;AAMnD,sCAAa;AAQd,6DAAmD;AAA1C,iHAAA,UAAU,OAAA;AACnB,6EAAwE;AAA/D,sIAAA,uBAAuB,OAAA;AAChC,mDAAwE;AAA/D,6GAAA,WAAW,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport {\n\tValueSchema,\n\ttype Revertible,\n\tCommitKind,\n\tRevertibleStatus,\n\ttype CommitMetadata,\n\ttype RevertibleFactory,\n\ttype RevertibleAlphaFactory,\n\ttype RevertibleAlpha,\n} from \"./core/index.js\";\n\nimport type {\n\tListeners as EventListeners,\n\tIsListener as EventIsListener,\n\tListenable as EventListenable,\n\tOff as EventOff,\n} from \"@fluidframework/core-interfaces\";\n\n/**\n * {@inheritdoc @fluidframework/core-interfaces#Listeners}\n * @public\n * @deprecated Deprecated in `@fluidframework/tree`. Consider importing from `fluid-framework` or `@fluidframework/core-interfaces` instead.\n */\nexport type Listeners<T extends object> = EventListeners<T>;\n/**\n * {@inheritdoc @fluidframework/core-interfaces#IsListener}\n * @public\n * @deprecated Deprecated in `@fluidframework/tree`. Consider importing from `fluid-framework` or `@fluidframework/core-interfaces` instead.\n */\nexport type IsListener<T> = EventIsListener<T>;\n/**\n * {@inheritdoc @fluidframework/core-interfaces#Listenable}\n * @public\n * @deprecated Deprecated in `@fluidframework/tree`. Consider importing from `fluid-framework` or `@fluidframework/core-interfaces` instead.\n */\nexport type Listenable<T extends object> = EventListenable<T>;\n/**\n * {@inheritdoc @fluidframework/core-interfaces#Off}\n * @public\n * @deprecated Deprecated in `@fluidframework/tree`. Consider importing from `fluid-framework` or `@fluidframework/core-interfaces` instead.\n */\nexport type Off = EventOff;\n\nexport {\n\tTreeStatus,\n\tTreeCompressionStrategy,\n\ttype TreeIndex,\n\ttype TreeIndexKey,\n\ttype TreeIndexNodes,\n} from \"./feature-libraries/index.js\";\n\nexport {\n\ttype ITreeInternal,\n\ttype SharedTreeOptions,\n\ttype ForestType,\n\ttype SharedTreeFormatOptions,\n\tSharedTreeFormatVersion,\n\tTree,\n\ttype RunTransaction,\n\ttype ForestOptions,\n\tgetBranch,\n\ttype BranchableTree,\n\ttype TreeBranchFork,\n\tindependentInitializedView,\n\ttype ViewContent,\n\tTreeAlpha,\n\tindependentView,\n\tForestTypeOptimized,\n\tForestTypeExpensiveDebug,\n\tForestTypeReference,\n} from \"./shared-tree/index.js\";\n\nexport {\n\tTreeArrayNode,\n\ttype Unhydrated,\n\tIterableTreeArrayContent,\n\tTreeNode,\n\ttype ViewableTree,\n\ttype ITree,\n\ttype TreeNodeSchema,\n\tTreeViewConfiguration,\n\ttype ITreeViewConfiguration,\n\ttype ITreeConfigurationOptions,\n\ttype TreeView,\n\ttype TreeViewEvents,\n\tSchemaFactory,\n\tSchemaFactoryAlpha,\n\ttype SchemaFactoryObjectOptions,\n\ttype ImplicitFieldSchema,\n\ttype TreeFieldFromImplicitField,\n\ttype TreeChangeEvents,\n\ttype NodeFromSchema,\n\ttype TreeMapNode,\n\ttype InsertableTreeNodeFromImplicitAllowedTypes,\n\ttype TreeLeafValue,\n\tFieldKind,\n\tFieldSchema,\n\ttype FieldSchemaAlpha,\n\ttype FieldSchemaMetadata,\n\ttype ImplicitAllowedTypes,\n\ttype InsertableTreeFieldFromImplicitField,\n\ttype InsertableTypedNode,\n\tNodeKind,\n\ttype TreeObjectNode,\n\tObjectNodeSchema,\n\ttype TreeNodeFromImplicitAllowedTypes,\n\ttype TreeNodeSchemaClass,\n\ttype SchemaCompatibilityStatus,\n\ttype FieldProps,\n\ttype InternalTreeNode,\n\ttype WithType,\n\ttype NodeChangedData,\n\t// Types not really intended for public use, but used in links.\n\t// Can not be moved to internalTypes since doing so causes app code to throw errors like:\n\t// Error: src/simple-tree/objectNode.ts:72:1 - (ae-unresolved-link) The @link reference could not be resolved: The package \"@fluidframework/tree\" does not have an export \"TreeNodeApi\"\n\ttype TreeNodeApi,\n\ttype TreeNodeSchemaCore,\n\t// Types not really intended for public use, but used in inferred types exposed in the public API.\n\t// Can not be moved to internalTypes since doing so causes app code to throw errors like:\n\t// error TS2742: The inferred type of 'Inventory' cannot be named without a reference to '../node_modules/@fluidframework/tree/lib/internalTypes.js'. This is likely not portable. A type annotation is necessary.\n\ttype AllowedTypes,\n\ttype System_Unsafe,\n\ttype FieldSchemaAlphaUnsafe,\n\ttype ArrayNodeCustomizableSchemaUnsafe,\n\ttype MapNodeCustomizableSchemaUnsafe,\n\t// System types (not in Internal types for various reasons, like doc links or cannot be named errors).\n\ttype typeSchemaSymbol,\n\ttype TreeNodeSchemaNonClass,\n\t// Recursive Schema APIs\n\ttype ValidateRecursiveSchema,\n\ttype FixRecursiveArraySchema,\n\t// Index APIs\n\ttype SimpleTreeIndex,\n\ttype IdentifierIndex,\n\tcreateSimpleTreeIndex,\n\tcreateIdentifierIndex,\n\t// experimental @alpha APIs:\n\tadaptEnum,\n\tenumFromStrings,\n\tsingletonSchema,\n\ttype UnsafeUnknownSchema,\n\ttype TreeViewAlpha,\n\ttype InsertableField,\n\ttype Insertable,\n\ttype InsertableContent,\n\ttype FactoryContent,\n\ttype FactoryContentObject,\n\ttype ReadableField,\n\ttype ReadSchema,\n\ttype ImplicitAnnotatedAllowedTypes,\n\ttype ImplicitAnnotatedFieldSchema,\n\ttype AnnotatedAllowedType,\n\ttype AnnotatedAllowedTypes,\n\ttype AllowedTypeMetadata,\n\ttype AllowedTypesMetadata,\n\ttype InsertableObjectFromAnnotatedSchemaRecord,\n\ttype UnannotateImplicitAllowedTypes,\n\ttype UnannotateAllowedTypes,\n\ttype UnannotateAllowedType,\n\ttype UnannotateAllowedTypesList,\n\ttype UnannotateAllowedTypeOrLazyItem,\n\ttype UnannotateImplicitFieldSchema,\n\ttype UnannotateSchemaRecord,\n\t// test recursive schema for checking that d.ts files handles schema correctly\n\ttest_RecursiveObject,\n\ttest_RecursiveObject_base,\n\ttest_RecursiveObjectPojoMode,\n\t// Beta APIs\n\tTreeBeta,\n\ttype TreeChangeEventsBeta,\n\t// Other\n\ttype VerboseTreeNode,\n\ttype TreeEncodingOptions,\n\ttype TreeSchemaEncodingOptions,\n\ttype TreeSchema,\n\tTreeViewConfigurationAlpha,\n\ttype VerboseTree,\n\textractPersistedSchema,\n\tcomparePersistedSchema,\n\ttype ConciseTree,\n\t// Back to normal types\n\ttype JsonTreeSchema,\n\ttype JsonSchemaId,\n\ttype JsonNodeSchema,\n\ttype JsonNodeSchemaBase,\n\ttype JsonLeafNodeSchema,\n\ttype JsonMapNodeSchema,\n\ttype JsonArrayNodeSchema,\n\ttype JsonObjectNodeSchema,\n\ttype JsonFieldSchema,\n\ttype JsonSchemaRef,\n\ttype JsonRefPath,\n\ttype JsonSchemaType,\n\ttype JsonLeafSchemaType,\n\tgetJsonSchema,\n\ttype LazyItem,\n\ttype Unenforced,\n\ttype SimpleNodeSchemaBase,\n\ttype SimpleTreeSchema,\n\ttype SimpleNodeSchema,\n\ttype SimpleFieldSchema,\n\ttype SimpleLeafNodeSchema,\n\ttype SimpleMapNodeSchema,\n\ttype SimpleArrayNodeSchema,\n\ttype SimpleObjectNodeSchema,\n\ttype SimpleObjectFieldSchema,\n\tnormalizeAllowedTypes,\n\tgetSimpleSchema,\n\ttype ReadonlyArrayNode,\n\ttype InsertableTreeNodeFromAllowedTypes,\n\ttype Input,\n\ttype TreeBranch,\n\ttype TreeBranchEvents,\n\tasTreeViewAlpha,\n\ttype NodeSchemaOptions,\n\ttype NodeSchemaMetadata,\n\ttype SchemaStatics,\n\ttype ITreeAlpha,\n\ttype TransactionConstraint,\n\ttype NodeInDocumentConstraint,\n\ttype RunTransactionParams,\n\ttype VoidTransactionCallbackStatus,\n\ttype TransactionCallbackStatus,\n\ttype TransactionResult,\n\ttype TransactionResultExt,\n\ttype TransactionResultSuccess,\n\ttype TransactionResultFailed,\n\trollback,\n\tgenerateSchemaFromSimpleSchema,\n\tevaluateLazySchema,\n\treplaceConciseTreeHandles,\n\treplaceHandles,\n\treplaceVerboseTreeHandles,\n\ttype HandleConverter,\n\tallowUnused,\n\ttype LeafSchema,\n\ttype ArrayNodeCustomizableSchema,\n\ttype ArrayNodePojoEmulationSchema,\n\tArrayNodeSchema,\n\ttype MapNodeCustomizableSchema,\n\ttype MapNodePojoEmulationSchema,\n\tMapNodeSchema,\n\ttype ObjectFromSchemaRecord,\n\ttype ValidateRecursiveSchemaTemplate,\n\ttype FixRecursiveRecursionLimit,\n} from \"./simple-tree/index.js\";\nexport {\n\tSharedTree,\n\tconfiguredSharedTree,\n} from \"./treeFactory.js\";\nexport { SharedTreeAttributes, SharedTreeFactoryType } from \"./sharedTreeAttributes.js\";\nexport { persistedToSimpleSchema } from \"./shared-tree/index.js\";\n\nexport {\n\ttype ICodecOptions,\n\ttype JsonValidator,\n\ttype SchemaValidationFunction,\n\tFluidClientVersion,\n} from \"./codec/index.js\";\nexport { noopValidator } from \"./codec/index.js\";\nexport { typeboxValidator } from \"./external-utilities/index.js\";\n\nexport type {\n\t// Type Testing\n\trequireTrue,\n\trequireFalse,\n\trequireAssignableTo,\n\tareSafelyAssignable,\n\tisAssignableTo,\n\tisAny,\n\teitherIsAny,\n\t// Other\n\tRestrictiveReadonlyRecord,\n\tRestrictiveStringRecord,\n\tMakeNominal,\n\tIsUnion,\n\tUnionToIntersection,\n\tUnionToTuple,\n\tPopUnion,\n\tJsonCompatible,\n\tJsonCompatibleObject,\n} from \"./util/index.js\";\nexport { cloneWithReplacements } from \"./util/index.js\";\n\nimport * as InternalTypes from \"./internalTypes.js\";\nexport {\n\t/**\n\t * Contains types used by the API, but which serve mechanical purposes and do not represent semantic concepts.\n\t * They are used internally to implement API aspects, but are not intended for use by external consumers.\n\t */\n\tInternalTypes,\n};\n\n// Internal/System types:\n// These would be put in `internalTypes` except doing so tents to cause errors like:\n// The inferred type of 'NodeMap' cannot be named without a reference to '../../node_modules/@fluidframework/tree/lib/internalTypes.js'. This is likely not portable. A type annotation is necessary.\nexport type { MapNodeInsertableData } from \"./simple-tree/index.js\";\n\nexport { JsonAsTree } from \"./jsonDomainSchema.js\";\nexport { FluidSerializableAsTree } from \"./serializableDomainSchema.js\";\nexport { TableSchema, type System_TableSchema } from \"./tableSchema.js\";\n"]}
@@ -5,5 +5,5 @@
5
5
  * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY
6
6
  */
7
7
  export declare const pkgName = "@fluidframework/tree";
8
- export declare const pkgVersion = "2.40.0-336023";
8
+ export declare const pkgVersion = "2.41.0-337492";
9
9
  //# sourceMappingURL=packageVersion.d.ts.map
@@ -8,5 +8,5 @@
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.pkgVersion = exports.pkgName = void 0;
10
10
  exports.pkgName = "@fluidframework/tree";
11
- exports.pkgVersion = "2.40.0-336023";
11
+ exports.pkgVersion = "2.41.0-337492";
12
12
  //# sourceMappingURL=packageVersion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEU,QAAA,OAAO,GAAG,sBAAsB,CAAC;AACjC,QAAA,UAAU,GAAG,eAAe,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n *\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY\n */\n\nexport const pkgName = \"@fluidframework/tree\";\nexport const pkgVersion = \"2.40.0-336023\";\n"]}
1
+ {"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEU,QAAA,OAAO,GAAG,sBAAsB,CAAC;AACjC,QAAA,UAAU,GAAG,eAAe,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n *\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY\n */\n\nexport const pkgName = \"@fluidframework/tree\";\nexport const pkgVersion = \"2.41.0-337492\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"independentView.d.ts","sourceRoot":"","sources":["../../src/shared-tree/independentView.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EACN,KAAK,aAAa,EAElB,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAiBvD,OAAO,KAAK,EACX,qBAAqB,EACrB,mBAAmB,EACnB,aAAa,EACb,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAA0B,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAGN,KAAK,aAAa,EAClB,MAAM,iBAAiB,CAAC;AAIzB;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,KAAK,CAAC,OAAO,SAAS,mBAAmB,EACxE,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,EACtC,OAAO,EAAE,aAAa,GAAG;IAAE,YAAY,CAAC,EAAE,aAAa,GAAG,SAAS,CAAA;CAAE,GACnE,aAAa,CAAC,OAAO,CAAC,CAoBxB;AACD;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,CAAC,OAAO,SAAS,mBAAmB,EACnF,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,EACtC,OAAO,EAAE,aAAa,GAAG,aAAa,EACtC,OAAO,EAAE,WAAW,GAClB,aAAa,CAAC,OAAO,CAAC,CAsCxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;IAC5C;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC;CACrC"}
1
+ {"version":3,"file":"independentView.d.ts","sourceRoot":"","sources":["../../src/shared-tree/independentView.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EACN,KAAK,aAAa,EAElB,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAkBvD,OAAO,KAAK,EACX,qBAAqB,EACrB,mBAAmB,EACnB,aAAa,EACb,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAA0B,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAGN,KAAK,aAAa,EAClB,MAAM,iBAAiB,CAAC;AAIzB;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,KAAK,CAAC,OAAO,SAAS,mBAAmB,EACxE,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,EACtC,OAAO,EAAE,aAAa,GAAG;IAAE,YAAY,CAAC,EAAE,aAAa,GAAG,SAAS,CAAA;CAAE,GACnE,aAAa,CAAC,OAAO,CAAC,CAoBxB;AACD;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,CAAC,OAAO,SAAS,mBAAmB,EACnF,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,EACtC,OAAO,EAAE,aAAa,GAAG,aAAa,EACtC,OAAO,EAAE,WAAW,GAClB,aAAa,CAAC,OAAO,CAAC,CAsCxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;IAC5C;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC;CACrC"}
@@ -49,7 +49,7 @@ function independentInitializedView(config, options, content) {
49
49
  const mintRevisionTag = () => idCompressor.generateCompressedId();
50
50
  const revisionTagCodec = new index_js_1.RevisionTagCodec(idCompressor);
51
51
  const fieldBatchCodec = (0, index_js_2.makeFieldBatchCodec)(options, 1);
52
- const schemaCodec = (0, index_js_2.makeSchemaCodec)(options);
52
+ const schemaCodec = (0, index_js_2.makeSchemaCodec)(options, index_js_2.SchemaCodecVersion.v1);
53
53
  const schema = new index_js_1.TreeStoredSchemaRepository(schemaCodec.decode(content.schema));
54
54
  const forest = (0, sharedTree_js_1.buildConfiguredForest)(options.forest ?? sharedTree_js_1.defaultSharedTreeOptions.forest, schema, idCompressor);
55
55
  const context = {
@@ -1 +1 @@
1
- {"version":3,"file":"independentView.js","sourceRoot":"","sources":["../../src/shared-tree/independentView.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,kEAA6D;AAC7D,qEAGgD;AAEhD,+CAI0B;AAC1B,4DAQuC;AASvC,mDAIyB;AACzB,uDAAuD;AACvD,uEAAuE;AAEvE;;;;;;;;GAQG;AACH,SAAgB,eAAe,CAC9B,MAAsC,EACtC,OAAqE;IAErE,MAAM,YAAY,GAAkB,OAAO,CAAC,YAAY,IAAI,IAAA,6BAAkB,GAAE,CAAC;IACjF,MAAM,eAAe,GAAG,GAAgB,EAAE,CAAC,YAAY,CAAC,oBAAoB,EAAE,CAAC;IAC/E,MAAM,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,YAAY,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,IAAI,qCAA0B,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,IAAA,qCAAqB,EACnC,OAAO,CAAC,MAAM,IAAI,wCAAwB,CAAC,MAAM,EACjD,MAAM,EACN,YAAY,CACZ,CAAC;IACF,MAAM,QAAQ,GAAG,IAAA,oCAAkB,EAAC,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE;QACpF,MAAM;QACN,MAAM;KACN,CAAC,CAAC;IACH,MAAM,GAAG,GAA2B,IAAI,oDAA0B,CACjE,QAAQ,EACR,MAAM,EACN,IAAA,sCAA2B,EAAC,YAAY,CAAC,CACzC,CAAC;IACF,OAAO,GAAG,CAAC;AACZ,CAAC;AAvBD,0CAuBC;AACD;;;;;;;;GAQG;AACH,SAAgB,0BAA0B,CACzC,MAAsC,EACtC,OAAsC,EACtC,OAAoB;IAEpB,MAAM,YAAY,GAAkB,OAAO,CAAC,YAAY,CAAC;IACzD,MAAM,eAAe,GAAG,GAAgB,EAAE,CAAC,YAAY,CAAC,oBAAoB,EAAE,CAAC;IAC/E,MAAM,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,YAAY,CAAC,CAAC;IAE5D,MAAM,eAAe,GAAG,IAAA,8BAAmB,EAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,IAAA,0BAAe,EAAC,OAAO,CAAC,CAAC;IAE7C,MAAM,MAAM,GAAG,IAAI,qCAA0B,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAgB,CAAC,CAAC,CAAC;IAC5F,MAAM,MAAM,GAAG,IAAA,qCAAqB,EACnC,OAAO,CAAC,MAAM,IAAI,wCAAwB,CAAC,MAAM,EACjD,MAAM,EACN,YAAY,CACZ,CAAC;IAEF,MAAM,OAAO,GAA8B;QAC1C,UAAU,EAAE,kCAAuB,CAAC,UAAU;QAC9C,YAAY;QACZ,YAAY,EAAE,YAAY,CAAC,cAAc,EAAE,0CAA0C;QACrF,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,8BAAmB,EAAE;KAC/C,CAAC;IAEF,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,IAA8B,EAAE,OAAO,CAAC,CAAC;IAC7F,IAAA,iBAAM,EAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAClF,iBAAiB;IACjB,oEAAoE;IACpE,IAAA,2BAAgB,EAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAE,EAAE,gBAAgB,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IAElF,MAAM,QAAQ,GAAG,IAAA,oCAAkB,EAAC,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE;QACpF,MAAM;QACN,MAAM;KACN,CAAC,CAAC;IACH,MAAM,GAAG,GAA2B,IAAI,oDAA0B,CACjE,QAAQ,EACR,MAAM,EACN,IAAA,sCAA2B,EAAC,YAAY,CAAC,CACzC,CAAC;IACF,OAAO,GAAG,CAAC;AACZ,CAAC;AA1CD,gEA0CC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { IFluidHandle } from \"@fluidframework/core-interfaces\";\nimport { assert } from \"@fluidframework/core-utils/internal\";\nimport {\n\ttype IIdCompressor,\n\tcreateIdCompressor,\n} from \"@fluidframework/id-compressor/internal\";\nimport type { ICodecOptions } from \"../codec/index.js\";\nimport {\n\ttype RevisionTag,\n\tRevisionTagCodec,\n\tTreeStoredSchemaRepository,\n} from \"../core/index.js\";\nimport {\n\tcreateNodeIdentifierManager,\n\tmakeFieldBatchCodec,\n\tmakeSchemaCodec,\n\ttype FieldBatchEncodingContext,\n\tdefaultSchemaPolicy,\n\tTreeCompressionStrategy,\n\tinitializeForest,\n} from \"../feature-libraries/index.js\";\n// eslint-disable-next-line import/no-internal-modules\nimport type { Format } from \"../feature-libraries/schema-index/format.js\";\nimport type {\n\tTreeViewConfiguration,\n\tImplicitFieldSchema,\n\tTreeViewAlpha,\n} from \"../simple-tree/index.js\";\nimport type { JsonCompatibleReadOnly, JsonCompatible } from \"../util/index.js\";\nimport {\n\tbuildConfiguredForest,\n\tdefaultSharedTreeOptions,\n\ttype ForestOptions,\n} from \"./sharedTree.js\";\nimport { createTreeCheckout } from \"./treeCheckout.js\";\nimport { SchematizingSimpleTreeView } from \"./schematizingTreeView.js\";\n\n/**\n * Create an uninitialized {@link TreeView} that is not tied to any {@link ITree} instance.\n *\n * @remarks\n * Such a view can never experience collaboration or be persisted to to a Fluid Container.\n *\n * This can be useful for testing, as well as use-cases like working on local files instead of documents stored in some Fluid service.\n * @alpha\n */\nexport function independentView<const TSchema extends ImplicitFieldSchema>(\n\tconfig: TreeViewConfiguration<TSchema>,\n\toptions: ForestOptions & { idCompressor?: IIdCompressor | undefined },\n): TreeViewAlpha<TSchema> {\n\tconst idCompressor: IIdCompressor = options.idCompressor ?? createIdCompressor();\n\tconst mintRevisionTag = (): RevisionTag => idCompressor.generateCompressedId();\n\tconst revisionTagCodec = new RevisionTagCodec(idCompressor);\n\tconst schema = new TreeStoredSchemaRepository();\n\tconst forest = buildConfiguredForest(\n\t\toptions.forest ?? defaultSharedTreeOptions.forest,\n\t\tschema,\n\t\tidCompressor,\n\t);\n\tconst checkout = createTreeCheckout(idCompressor, mintRevisionTag, revisionTagCodec, {\n\t\tforest,\n\t\tschema,\n\t});\n\tconst out: TreeViewAlpha<TSchema> = new SchematizingSimpleTreeView<TSchema>(\n\t\tcheckout,\n\t\tconfig,\n\t\tcreateNodeIdentifierManager(idCompressor),\n\t);\n\treturn out;\n}\n/**\n * Create an initialized {@link TreeView} that is not tied to any {@link ITree} instance.\n *\n * @remarks\n * Such a view can never experience collaboration or be persisted to to a Fluid Container.\n *\n * This can be useful for testing, as well as use-cases like working on local files instead of documents stored in some Fluid service.\n * @alpha\n */\nexport function independentInitializedView<const TSchema extends ImplicitFieldSchema>(\n\tconfig: TreeViewConfiguration<TSchema>,\n\toptions: ForestOptions & ICodecOptions,\n\tcontent: ViewContent,\n): TreeViewAlpha<TSchema> {\n\tconst idCompressor: IIdCompressor = content.idCompressor;\n\tconst mintRevisionTag = (): RevisionTag => idCompressor.generateCompressedId();\n\tconst revisionTagCodec = new RevisionTagCodec(idCompressor);\n\n\tconst fieldBatchCodec = makeFieldBatchCodec(options, 1);\n\tconst schemaCodec = makeSchemaCodec(options);\n\n\tconst schema = new TreeStoredSchemaRepository(schemaCodec.decode(content.schema as Format));\n\tconst forest = buildConfiguredForest(\n\t\toptions.forest ?? defaultSharedTreeOptions.forest,\n\t\tschema,\n\t\tidCompressor,\n\t);\n\n\tconst context: FieldBatchEncodingContext = {\n\t\tencodeType: TreeCompressionStrategy.Compressed,\n\t\tidCompressor,\n\t\toriginatorId: idCompressor.localSessionId, // Is this right? If so, why is is needed?\n\t\tschema: { schema, policy: defaultSchemaPolicy },\n\t};\n\n\tconst fieldCursors = fieldBatchCodec.decode(content.tree as JsonCompatibleReadOnly, context);\n\tassert(fieldCursors.length === 1, 0xa5b /* must have exactly 1 field in batch */);\n\t// Checked above.\n\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\tinitializeForest(forest, fieldCursors[0]!, revisionTagCodec, idCompressor, false);\n\n\tconst checkout = createTreeCheckout(idCompressor, mintRevisionTag, revisionTagCodec, {\n\t\tforest,\n\t\tschema,\n\t});\n\tconst out: TreeViewAlpha<TSchema> = new SchematizingSimpleTreeView<TSchema>(\n\t\tcheckout,\n\t\tconfig,\n\t\tcreateNodeIdentifierManager(idCompressor),\n\t);\n\treturn out;\n}\n\n/**\n * The portion of SharedTree data typically persisted by the container.\n * Usable with {@link independentInitializedView} to create a {@link TreeView}\n * without loading a container.\n * @alpha\n */\nexport interface ViewContent {\n\t/**\n\t * Compressed tree from {@link (TreeAlpha:interface).exportCompressed}.\n\t * @remarks\n\t * This is an owning reference:\n\t * consumers of this content might modify this data in place (for example when applying edits) to avoid copying.\n\t */\n\treadonly tree: JsonCompatible<IFluidHandle>;\n\t/**\n\t * Persisted schema from {@link extractPersistedSchema}.\n\t */\n\treadonly schema: JsonCompatible;\n\t/**\n\t * IIdCompressor which will be used to decompress any compressed identifiers in `tree`\n\t * as well as for any other identifiers added to the view.\n\t */\n\treadonly idCompressor: IIdCompressor;\n}\n"]}
1
+ {"version":3,"file":"independentView.js","sourceRoot":"","sources":["../../src/shared-tree/independentView.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,kEAA6D;AAC7D,qEAGgD;AAEhD,+CAI0B;AAC1B,4DASuC;AASvC,mDAIyB;AACzB,uDAAuD;AACvD,uEAAuE;AAEvE;;;;;;;;GAQG;AACH,SAAgB,eAAe,CAC9B,MAAsC,EACtC,OAAqE;IAErE,MAAM,YAAY,GAAkB,OAAO,CAAC,YAAY,IAAI,IAAA,6BAAkB,GAAE,CAAC;IACjF,MAAM,eAAe,GAAG,GAAgB,EAAE,CAAC,YAAY,CAAC,oBAAoB,EAAE,CAAC;IAC/E,MAAM,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,YAAY,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,IAAI,qCAA0B,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,IAAA,qCAAqB,EACnC,OAAO,CAAC,MAAM,IAAI,wCAAwB,CAAC,MAAM,EACjD,MAAM,EACN,YAAY,CACZ,CAAC;IACF,MAAM,QAAQ,GAAG,IAAA,oCAAkB,EAAC,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE;QACpF,MAAM;QACN,MAAM;KACN,CAAC,CAAC;IACH,MAAM,GAAG,GAA2B,IAAI,oDAA0B,CACjE,QAAQ,EACR,MAAM,EACN,IAAA,sCAA2B,EAAC,YAAY,CAAC,CACzC,CAAC;IACF,OAAO,GAAG,CAAC;AACZ,CAAC;AAvBD,0CAuBC;AACD;;;;;;;;GAQG;AACH,SAAgB,0BAA0B,CACzC,MAAsC,EACtC,OAAsC,EACtC,OAAoB;IAEpB,MAAM,YAAY,GAAkB,OAAO,CAAC,YAAY,CAAC;IACzD,MAAM,eAAe,GAAG,GAAgB,EAAE,CAAC,YAAY,CAAC,oBAAoB,EAAE,CAAC;IAC/E,MAAM,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,YAAY,CAAC,CAAC;IAE5D,MAAM,eAAe,GAAG,IAAA,8BAAmB,EAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,IAAA,0BAAe,EAAC,OAAO,EAAE,6BAAkB,CAAC,EAAE,CAAC,CAAC;IAEpE,MAAM,MAAM,GAAG,IAAI,qCAA0B,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAgB,CAAC,CAAC,CAAC;IAC5F,MAAM,MAAM,GAAG,IAAA,qCAAqB,EACnC,OAAO,CAAC,MAAM,IAAI,wCAAwB,CAAC,MAAM,EACjD,MAAM,EACN,YAAY,CACZ,CAAC;IAEF,MAAM,OAAO,GAA8B;QAC1C,UAAU,EAAE,kCAAuB,CAAC,UAAU;QAC9C,YAAY;QACZ,YAAY,EAAE,YAAY,CAAC,cAAc,EAAE,0CAA0C;QACrF,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,8BAAmB,EAAE;KAC/C,CAAC;IAEF,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,IAA8B,EAAE,OAAO,CAAC,CAAC;IAC7F,IAAA,iBAAM,EAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAClF,iBAAiB;IACjB,oEAAoE;IACpE,IAAA,2BAAgB,EAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAE,EAAE,gBAAgB,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IAElF,MAAM,QAAQ,GAAG,IAAA,oCAAkB,EAAC,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE;QACpF,MAAM;QACN,MAAM;KACN,CAAC,CAAC;IACH,MAAM,GAAG,GAA2B,IAAI,oDAA0B,CACjE,QAAQ,EACR,MAAM,EACN,IAAA,sCAA2B,EAAC,YAAY,CAAC,CACzC,CAAC;IACF,OAAO,GAAG,CAAC;AACZ,CAAC;AA1CD,gEA0CC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { IFluidHandle } from \"@fluidframework/core-interfaces\";\nimport { assert } from \"@fluidframework/core-utils/internal\";\nimport {\n\ttype IIdCompressor,\n\tcreateIdCompressor,\n} from \"@fluidframework/id-compressor/internal\";\nimport type { ICodecOptions } from \"../codec/index.js\";\nimport {\n\ttype RevisionTag,\n\tRevisionTagCodec,\n\tTreeStoredSchemaRepository,\n} from \"../core/index.js\";\nimport {\n\tcreateNodeIdentifierManager,\n\tmakeFieldBatchCodec,\n\tmakeSchemaCodec,\n\ttype FieldBatchEncodingContext,\n\tdefaultSchemaPolicy,\n\tTreeCompressionStrategy,\n\tinitializeForest,\n\tSchemaCodecVersion,\n} from \"../feature-libraries/index.js\";\n// eslint-disable-next-line import/no-internal-modules\nimport type { Format } from \"../feature-libraries/schema-index/formatV1.js\";\nimport type {\n\tTreeViewConfiguration,\n\tImplicitFieldSchema,\n\tTreeViewAlpha,\n} from \"../simple-tree/index.js\";\nimport type { JsonCompatibleReadOnly, JsonCompatible } from \"../util/index.js\";\nimport {\n\tbuildConfiguredForest,\n\tdefaultSharedTreeOptions,\n\ttype ForestOptions,\n} from \"./sharedTree.js\";\nimport { createTreeCheckout } from \"./treeCheckout.js\";\nimport { SchematizingSimpleTreeView } from \"./schematizingTreeView.js\";\n\n/**\n * Create an uninitialized {@link TreeView} that is not tied to any {@link ITree} instance.\n *\n * @remarks\n * Such a view can never experience collaboration or be persisted to to a Fluid Container.\n *\n * This can be useful for testing, as well as use-cases like working on local files instead of documents stored in some Fluid service.\n * @alpha\n */\nexport function independentView<const TSchema extends ImplicitFieldSchema>(\n\tconfig: TreeViewConfiguration<TSchema>,\n\toptions: ForestOptions & { idCompressor?: IIdCompressor | undefined },\n): TreeViewAlpha<TSchema> {\n\tconst idCompressor: IIdCompressor = options.idCompressor ?? createIdCompressor();\n\tconst mintRevisionTag = (): RevisionTag => idCompressor.generateCompressedId();\n\tconst revisionTagCodec = new RevisionTagCodec(idCompressor);\n\tconst schema = new TreeStoredSchemaRepository();\n\tconst forest = buildConfiguredForest(\n\t\toptions.forest ?? defaultSharedTreeOptions.forest,\n\t\tschema,\n\t\tidCompressor,\n\t);\n\tconst checkout = createTreeCheckout(idCompressor, mintRevisionTag, revisionTagCodec, {\n\t\tforest,\n\t\tschema,\n\t});\n\tconst out: TreeViewAlpha<TSchema> = new SchematizingSimpleTreeView<TSchema>(\n\t\tcheckout,\n\t\tconfig,\n\t\tcreateNodeIdentifierManager(idCompressor),\n\t);\n\treturn out;\n}\n/**\n * Create an initialized {@link TreeView} that is not tied to any {@link ITree} instance.\n *\n * @remarks\n * Such a view can never experience collaboration or be persisted to to a Fluid Container.\n *\n * This can be useful for testing, as well as use-cases like working on local files instead of documents stored in some Fluid service.\n * @alpha\n */\nexport function independentInitializedView<const TSchema extends ImplicitFieldSchema>(\n\tconfig: TreeViewConfiguration<TSchema>,\n\toptions: ForestOptions & ICodecOptions,\n\tcontent: ViewContent,\n): TreeViewAlpha<TSchema> {\n\tconst idCompressor: IIdCompressor = content.idCompressor;\n\tconst mintRevisionTag = (): RevisionTag => idCompressor.generateCompressedId();\n\tconst revisionTagCodec = new RevisionTagCodec(idCompressor);\n\n\tconst fieldBatchCodec = makeFieldBatchCodec(options, 1);\n\tconst schemaCodec = makeSchemaCodec(options, SchemaCodecVersion.v1);\n\n\tconst schema = new TreeStoredSchemaRepository(schemaCodec.decode(content.schema as Format));\n\tconst forest = buildConfiguredForest(\n\t\toptions.forest ?? defaultSharedTreeOptions.forest,\n\t\tschema,\n\t\tidCompressor,\n\t);\n\n\tconst context: FieldBatchEncodingContext = {\n\t\tencodeType: TreeCompressionStrategy.Compressed,\n\t\tidCompressor,\n\t\toriginatorId: idCompressor.localSessionId, // Is this right? If so, why is is needed?\n\t\tschema: { schema, policy: defaultSchemaPolicy },\n\t};\n\n\tconst fieldCursors = fieldBatchCodec.decode(content.tree as JsonCompatibleReadOnly, context);\n\tassert(fieldCursors.length === 1, 0xa5b /* must have exactly 1 field in batch */);\n\t// Checked above.\n\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\tinitializeForest(forest, fieldCursors[0]!, revisionTagCodec, idCompressor, false);\n\n\tconst checkout = createTreeCheckout(idCompressor, mintRevisionTag, revisionTagCodec, {\n\t\tforest,\n\t\tschema,\n\t});\n\tconst out: TreeViewAlpha<TSchema> = new SchematizingSimpleTreeView<TSchema>(\n\t\tcheckout,\n\t\tconfig,\n\t\tcreateNodeIdentifierManager(idCompressor),\n\t);\n\treturn out;\n}\n\n/**\n * The portion of SharedTree data typically persisted by the container.\n * Usable with {@link independentInitializedView} to create a {@link TreeView}\n * without loading a container.\n * @alpha\n */\nexport interface ViewContent {\n\t/**\n\t * Compressed tree from {@link (TreeAlpha:interface).exportCompressed}.\n\t * @remarks\n\t * This is an owning reference:\n\t * consumers of this content might modify this data in place (for example when applying edits) to avoid copying.\n\t */\n\treadonly tree: JsonCompatible<IFluidHandle>;\n\t/**\n\t * Persisted schema from {@link extractPersistedSchema}.\n\t */\n\treadonly schema: JsonCompatible;\n\t/**\n\t * IIdCompressor which will be used to decompress any compressed identifiers in `tree`\n\t * as well as for any other identifiers added to the view.\n\t */\n\treadonly idCompressor: IIdCompressor;\n}\n"]}
@@ -2,7 +2,7 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- export { type ITreePrivate, type SharedTreeOptionsInternal, type SharedTreeOptions, SharedTreeKernel, getBranch, type ForestType, type SharedTreeContentSnapshot, type SharedTreeFormatOptions, SharedTreeFormatVersion, buildConfiguredForest, defaultSharedTreeOptions, type ForestOptions, type ITreeInternal, ForestTypeOptimized, ForestTypeExpensiveDebug, ForestTypeReference, exportSimpleSchema, } from "./sharedTree.js";
5
+ export { type ITreePrivate, type SharedTreeOptionsInternal, type SharedTreeOptions, SharedTreeKernel, getBranch, type ForestType, type SharedTreeContentSnapshot, type SharedTreeFormatOptions, SharedTreeFormatVersion, buildConfiguredForest, defaultSharedTreeOptions, type ForestOptions, type ITreeInternal, ForestTypeOptimized, ForestTypeExpensiveDebug, ForestTypeReference, exportSimpleSchema, type SharedTreeKernelView, persistedToSimpleSchema, } from "./sharedTree.js";
6
6
  export { createTreeCheckout, TreeCheckout, type ITreeCheckout, type CheckoutEvents, type ITreeCheckoutFork, type BranchableTree, type TreeBranchFork, } from "./treeCheckout.js";
7
7
  export { type TreeStoredContent } from "./schematizeTree.js";
8
8
  export { SchematizingSimpleTreeView } from "./schematizingTreeView.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared-tree/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,yBAAyB,EAC9B,KAAK,iBAAiB,EACtB,gBAAgB,EAChB,SAAS,EACT,KAAK,UAAU,EACf,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAC5B,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,GAClB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACN,kBAAkB,EAClB,YAAY,EACZ,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,cAAc,GACnB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAEvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,YAAY,EACX,iBAAiB,EACjB,aAAa,EACb,qBAAqB,GACrB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EACN,0BAA0B,EAC1B,KAAK,WAAW,EAChB,eAAe,GACf,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared-tree/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,yBAAyB,EAC9B,KAAK,iBAAiB,EACtB,gBAAgB,EAChB,SAAS,EACT,KAAK,UAAU,EACf,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAC5B,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,uBAAuB,GACvB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACN,kBAAkB,EAClB,YAAY,EACZ,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,cAAc,GACnB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAEvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,YAAY,EACX,iBAAiB,EACjB,aAAa,EACb,qBAAqB,GACrB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EACN,0BAA0B,EAC1B,KAAK,WAAW,EAChB,eAAe,GACf,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * Licensed under the MIT License.
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.independentView = exports.independentInitializedView = exports.TreeAlpha = exports.Tree = exports.CheckoutFlexTreeView = exports.SchematizingSimpleTreeView = exports.TreeCheckout = exports.createTreeCheckout = exports.exportSimpleSchema = exports.ForestTypeReference = exports.ForestTypeExpensiveDebug = exports.ForestTypeOptimized = exports.defaultSharedTreeOptions = exports.buildConfiguredForest = exports.SharedTreeFormatVersion = exports.getBranch = exports.SharedTreeKernel = void 0;
7
+ exports.independentView = exports.independentInitializedView = exports.TreeAlpha = exports.Tree = exports.CheckoutFlexTreeView = exports.SchematizingSimpleTreeView = exports.TreeCheckout = exports.createTreeCheckout = exports.persistedToSimpleSchema = exports.exportSimpleSchema = exports.ForestTypeReference = exports.ForestTypeExpensiveDebug = exports.ForestTypeOptimized = exports.defaultSharedTreeOptions = exports.buildConfiguredForest = exports.SharedTreeFormatVersion = exports.getBranch = exports.SharedTreeKernel = void 0;
8
8
  var sharedTree_js_1 = require("./sharedTree.js");
9
9
  Object.defineProperty(exports, "SharedTreeKernel", { enumerable: true, get: function () { return sharedTree_js_1.SharedTreeKernel; } });
10
10
  Object.defineProperty(exports, "getBranch", { enumerable: true, get: function () { return sharedTree_js_1.getBranch; } });
@@ -15,6 +15,7 @@ Object.defineProperty(exports, "ForestTypeOptimized", { enumerable: true, get: f
15
15
  Object.defineProperty(exports, "ForestTypeExpensiveDebug", { enumerable: true, get: function () { return sharedTree_js_1.ForestTypeExpensiveDebug; } });
16
16
  Object.defineProperty(exports, "ForestTypeReference", { enumerable: true, get: function () { return sharedTree_js_1.ForestTypeReference; } });
17
17
  Object.defineProperty(exports, "exportSimpleSchema", { enumerable: true, get: function () { return sharedTree_js_1.exportSimpleSchema; } });
18
+ Object.defineProperty(exports, "persistedToSimpleSchema", { enumerable: true, get: function () { return sharedTree_js_1.persistedToSimpleSchema; } });
18
19
  var treeCheckout_js_1 = require("./treeCheckout.js");
19
20
  Object.defineProperty(exports, "createTreeCheckout", { enumerable: true, get: function () { return treeCheckout_js_1.createTreeCheckout; } });
20
21
  Object.defineProperty(exports, "TreeCheckout", { enumerable: true, get: function () { return treeCheckout_js_1.TreeCheckout; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shared-tree/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,iDAkByB;AAdxB,iHAAA,gBAAgB,OAAA;AAChB,0GAAA,SAAS,OAAA;AAIT,wHAAA,uBAAuB,OAAA;AACvB,sHAAA,qBAAqB,OAAA;AACrB,yHAAA,wBAAwB,OAAA;AAGxB,oHAAA,mBAAmB,OAAA;AACnB,yHAAA,wBAAwB,OAAA;AACxB,oHAAA,mBAAmB,OAAA;AACnB,mHAAA,kBAAkB,OAAA;AAGnB,qDAQ2B;AAP1B,qHAAA,kBAAkB,OAAA;AAClB,+GAAA,YAAY,OAAA;AAUb,qEAAuE;AAA9D,qIAAA,0BAA0B,OAAA;AAEnC,qEAAiE;AAAxD,+HAAA,oBAAoB,OAAA;AAQ7B,qCAAiC;AAAxB,+FAAA,IAAI,OAAA;AAGb,+CAA2C;AAAlC,yGAAA,SAAS,OAAA;AAElB,2DAI8B;AAH7B,gIAAA,0BAA0B,OAAA;AAE1B,qHAAA,eAAe,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport {\n\ttype ITreePrivate,\n\ttype SharedTreeOptionsInternal,\n\ttype SharedTreeOptions,\n\tSharedTreeKernel,\n\tgetBranch,\n\ttype ForestType,\n\ttype SharedTreeContentSnapshot,\n\ttype SharedTreeFormatOptions,\n\tSharedTreeFormatVersion,\n\tbuildConfiguredForest,\n\tdefaultSharedTreeOptions,\n\ttype ForestOptions,\n\ttype ITreeInternal,\n\tForestTypeOptimized,\n\tForestTypeExpensiveDebug,\n\tForestTypeReference,\n\texportSimpleSchema,\n} from \"./sharedTree.js\";\n\nexport {\n\tcreateTreeCheckout,\n\tTreeCheckout,\n\ttype ITreeCheckout,\n\ttype CheckoutEvents,\n\ttype ITreeCheckoutFork,\n\ttype BranchableTree,\n\ttype TreeBranchFork,\n} from \"./treeCheckout.js\";\n\nexport { type TreeStoredContent } from \"./schematizeTree.js\";\n\nexport { SchematizingSimpleTreeView } from \"./schematizingTreeView.js\";\n\nexport { CheckoutFlexTreeView } from \"./checkoutFlexTreeView.js\";\n\nexport type {\n\tISharedTreeEditor,\n\tISchemaEditor,\n\tSharedTreeEditBuilder,\n} from \"./sharedTreeEditBuilder.js\";\n\nexport { Tree } from \"./tree.js\";\nexport type { RunTransaction } from \"./tree.js\";\n\nexport { TreeAlpha } from \"./treeAlpha.js\";\n\nexport {\n\tindependentInitializedView,\n\ttype ViewContent,\n\tindependentView,\n} from \"./independentView.js\";\n\nexport type { SharedTreeChange } from \"./sharedTreeChangeTypes.js\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shared-tree/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,iDAoByB;AAhBxB,iHAAA,gBAAgB,OAAA;AAChB,0GAAA,SAAS,OAAA;AAIT,wHAAA,uBAAuB,OAAA;AACvB,sHAAA,qBAAqB,OAAA;AACrB,yHAAA,wBAAwB,OAAA;AAGxB,oHAAA,mBAAmB,OAAA;AACnB,yHAAA,wBAAwB,OAAA;AACxB,oHAAA,mBAAmB,OAAA;AACnB,mHAAA,kBAAkB,OAAA;AAElB,wHAAA,uBAAuB,OAAA;AAGxB,qDAQ2B;AAP1B,qHAAA,kBAAkB,OAAA;AAClB,+GAAA,YAAY,OAAA;AAUb,qEAAuE;AAA9D,qIAAA,0BAA0B,OAAA;AAEnC,qEAAiE;AAAxD,+HAAA,oBAAoB,OAAA;AAQ7B,qCAAiC;AAAxB,+FAAA,IAAI,OAAA;AAGb,+CAA2C;AAAlC,yGAAA,SAAS,OAAA;AAElB,2DAI8B;AAH7B,gIAAA,0BAA0B,OAAA;AAE1B,qHAAA,eAAe,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport {\n\ttype ITreePrivate,\n\ttype SharedTreeOptionsInternal,\n\ttype SharedTreeOptions,\n\tSharedTreeKernel,\n\tgetBranch,\n\ttype ForestType,\n\ttype SharedTreeContentSnapshot,\n\ttype SharedTreeFormatOptions,\n\tSharedTreeFormatVersion,\n\tbuildConfiguredForest,\n\tdefaultSharedTreeOptions,\n\ttype ForestOptions,\n\ttype ITreeInternal,\n\tForestTypeOptimized,\n\tForestTypeExpensiveDebug,\n\tForestTypeReference,\n\texportSimpleSchema,\n\ttype SharedTreeKernelView,\n\tpersistedToSimpleSchema,\n} from \"./sharedTree.js\";\n\nexport {\n\tcreateTreeCheckout,\n\tTreeCheckout,\n\ttype ITreeCheckout,\n\ttype CheckoutEvents,\n\ttype ITreeCheckoutFork,\n\ttype BranchableTree,\n\ttype TreeBranchFork,\n} from \"./treeCheckout.js\";\n\nexport { type TreeStoredContent } from \"./schematizeTree.js\";\n\nexport { SchematizingSimpleTreeView } from \"./schematizingTreeView.js\";\n\nexport { CheckoutFlexTreeView } from \"./checkoutFlexTreeView.js\";\n\nexport type {\n\tISharedTreeEditor,\n\tISchemaEditor,\n\tSharedTreeEditBuilder,\n} from \"./sharedTreeEditBuilder.js\";\n\nexport { Tree } from \"./tree.js\";\nexport type { RunTransaction } from \"./tree.js\";\n\nexport { TreeAlpha } from \"./treeAlpha.js\";\n\nexport {\n\tindependentInitializedView,\n\ttype ViewContent,\n\tindependentView,\n} from \"./independentView.js\";\n\nexport type { SharedTreeChange } from \"./sharedTreeChangeTypes.js\";\n"]}
@@ -2,7 +2,7 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- import { AllowedUpdateType, type ITreeCursorSynchronous, type TreeStoredSchema } from "../core/index.js";
5
+ import { type ITreeCursorSynchronous, type TreeStoredSchema } from "../core/index.js";
6
6
  import type { ITreeCheckout } from "./treeCheckout.js";
7
7
  import type { SchemaCompatibilityTester } from "../simple-tree/index.js";
8
8
  /**
@@ -26,27 +26,26 @@ export declare enum UpdateType {
26
26
  * Already compatible, no update needed.
27
27
  */
28
28
  None = 0,
29
- /**
30
- * Empty: needs initializing.
31
- */
32
- Initialize = 1,
33
29
  /**
34
30
  * Schema can be upgraded leaving tree as is.
35
31
  */
36
- SchemaCompatible = 2,
32
+ SchemaCompatible = 1,
37
33
  /**
38
34
  * No update currently supported.
39
35
  */
40
- Incompatible = 3
36
+ Incompatible = 2
41
37
  }
42
- export declare function evaluateUpdate(viewSchema: SchemaCompatibilityTester, allowedSchemaModifications: AllowedUpdateType, checkout: ITreeCheckout): UpdateType;
38
+ /**
39
+ * Returns how compatible updating checkout's schema is with the viewSchema.
40
+ */
41
+ export declare function evaluateUpdate(viewSchema: SchemaCompatibilityTester, checkout: ITreeCheckout): UpdateType;
43
42
  export declare function canInitialize(checkout: ITreeCheckout): boolean;
44
43
  /**
45
44
  * Initialize a checkout with a schema and tree content.
46
45
  * This function should only be called when the tree is uninitialized (no schema or content).
47
46
  * @remarks
48
47
  *
49
- * If the proposed schema (from `treeContent`) is not compatible with the emptry tree, this function handles using an intermediate schema
48
+ * If the proposed schema (from `treeContent`) is not compatible with the empty tree, this function handles using an intermediate schema
50
49
  * which supports the empty tree as well as the final tree content.
51
50
  */
52
51
  export declare function initialize(checkout: ITreeCheckout, treeContent: TreeStoredContent): void;
@@ -62,7 +61,7 @@ export declare function initialize(checkout: ITreeCheckout, treeContent: TreeSto
62
61
  * @param treeContent - Content to be used to initialize `checkout`'s the tree if needed and allowed.
63
62
  * @returns true iff checkout now is compatible with `viewSchema`.
64
63
  */
65
- export declare function ensureSchema(viewSchema: SchemaCompatibilityTester, allowedSchemaModifications: AllowedUpdateType, checkout: ITreeCheckout, treeContent: TreeStoredContent | undefined): boolean;
64
+ export declare function ensureSchema(viewSchema: SchemaCompatibilityTester, checkout: ITreeCheckout): boolean;
66
65
  /**
67
66
  * Content that can populate a `SharedTree`.
68
67
  */
@@ -1 +1 @@
1
- {"version":3,"file":"schematizeTree.d.ts","sourceRoot":"","sources":["../../src/shared-tree/schematizeTree.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EACN,iBAAiB,EAEjB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EAGrB,MAAM,kBAAkB,CAAC;AAU1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEzE;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAChC,gBAAgB,EAAE;IACjB,YAAY,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAC5C,YAAY,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;CAC5C,EACD,SAAS,EAAE,gBAAgB,EAC3B,cAAc,EAAE,MAAM,IAAI,GACxB,IAAI,CA+CN;AAED,oBAAY,UAAU;IACrB;;OAEG;IACH,IAAI,IAAA;IACJ;;OAEG;IACH,UAAU,IAAA;IACV;;OAEG;IACH,gBAAgB,IAAA;IAChB;;OAEG;IACH,YAAY,IAAA;CACZ;AAED,wBAAgB,cAAc,CAC7B,UAAU,EAAE,yBAAyB,EACrC,0BAA0B,EAAE,iBAAiB,EAC7C,QAAQ,EAAE,aAAa,GACrB,UAAU,CAyBZ;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAG9D;AAoBD;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,GAAG,IAAI,CAgCxF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAC3B,UAAU,EAAE,yBAAyB,EACrC,0BAA0B,EAAE,iBAAiB,EAC7C,QAAQ,EAAE,aAAa,EACvB,WAAW,EAAE,iBAAiB,GAAG,SAAS,GACxC,OAAO,CAiCT;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAElC;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,SAAS,sBAAsB,EAAE,GAAG,sBAAsB,GAAG,SAAS,CAAC;CAC7F"}
1
+ {"version":3,"file":"schematizeTree.d.ts","sourceRoot":"","sources":["../../src/shared-tree/schematizeTree.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAEN,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EAGrB,MAAM,kBAAkB,CAAC;AAS1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEzE;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAChC,gBAAgB,EAAE;IACjB,YAAY,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAC5C,YAAY,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;CAC5C,EACD,SAAS,EAAE,gBAAgB,EAC3B,cAAc,EAAE,MAAM,IAAI,GACxB,IAAI,CA+CN;AAED,oBAAY,UAAU;IACrB;;OAEG;IACH,IAAI,IAAA;IACJ;;OAEG;IACH,gBAAgB,IAAA;IAChB;;OAEG;IACH,YAAY,IAAA;CACZ;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC7B,UAAU,EAAE,yBAAyB,EACrC,QAAQ,EAAE,aAAa,GACrB,UAAU,CAiBZ;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAG9D;AAoBD;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,GAAG,IAAI,CAgCxF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAC3B,UAAU,EAAE,yBAAyB,EACrC,QAAQ,EAAE,aAAa,GACrB,OAAO,CAiBT;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAElC;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,SAAS,sBAAsB,EAAE,GAAG,sBAAsB,GAAG,SAAS,CAAC;CAC7F"}
@@ -65,39 +65,31 @@ var UpdateType;
65
65
  * Already compatible, no update needed.
66
66
  */
67
67
  UpdateType[UpdateType["None"] = 0] = "None";
68
- /**
69
- * Empty: needs initializing.
70
- */
71
- UpdateType[UpdateType["Initialize"] = 1] = "Initialize";
72
68
  /**
73
69
  * Schema can be upgraded leaving tree as is.
74
70
  */
75
- UpdateType[UpdateType["SchemaCompatible"] = 2] = "SchemaCompatible";
71
+ UpdateType[UpdateType["SchemaCompatible"] = 1] = "SchemaCompatible";
76
72
  /**
77
73
  * No update currently supported.
78
74
  */
79
- UpdateType[UpdateType["Incompatible"] = 3] = "Incompatible";
75
+ UpdateType[UpdateType["Incompatible"] = 2] = "Incompatible";
80
76
  })(UpdateType || (exports.UpdateType = UpdateType = {}));
81
- function evaluateUpdate(viewSchema, allowedSchemaModifications, checkout) {
77
+ /**
78
+ * Returns how compatible updating checkout's schema is with the viewSchema.
79
+ */
80
+ function evaluateUpdate(viewSchema, checkout) {
82
81
  const compatibility = viewSchema.checkCompatibility(checkout.storedSchema);
83
82
  if (compatibility.canUpgrade && compatibility.canView) {
84
83
  // Compatible as is
85
84
  return UpdateType.None;
86
85
  }
87
- // eslint-disable-next-line no-bitwise
88
- if (allowedSchemaModifications & index_js_1.AllowedUpdateType.Initialize && canInitialize(checkout)) {
89
- return UpdateType.Initialize;
90
- }
91
86
  if (!compatibility.canUpgrade) {
92
87
  // Existing stored schema permits trees which are incompatible with the view schema, so schema can not be updated
93
88
  return UpdateType.Incompatible;
94
89
  }
95
90
  (0, internal_1.assert)(!compatibility.canView, 0x8bd /* unexpected case */);
96
91
  (0, internal_1.assert)(compatibility.canUpgrade, 0x8be /* unexpected case */);
97
- // eslint-disable-next-line no-bitwise
98
- return allowedSchemaModifications & index_js_1.AllowedUpdateType.SchemaCompatible
99
- ? UpdateType.SchemaCompatible
100
- : UpdateType.Incompatible;
92
+ return UpdateType.SchemaCompatible;
101
93
  }
102
94
  exports.evaluateUpdate = evaluateUpdate;
103
95
  function canInitialize(checkout) {
@@ -122,7 +114,7 @@ function normalizeNewFieldContent(content) {
122
114
  * This function should only be called when the tree is uninitialized (no schema or content).
123
115
  * @remarks
124
116
  *
125
- * If the proposed schema (from `treeContent`) is not compatible with the emptry tree, this function handles using an intermediate schema
117
+ * If the proposed schema (from `treeContent`) is not compatible with the empty tree, this function handles using an intermediate schema
126
118
  * which supports the empty tree as well as the final tree content.
127
119
  */
128
120
  function initialize(checkout, treeContent) {
@@ -168,14 +160,8 @@ exports.initialize = initialize;
168
160
  * @param treeContent - Content to be used to initialize `checkout`'s the tree if needed and allowed.
169
161
  * @returns true iff checkout now is compatible with `viewSchema`.
170
162
  */
171
- function ensureSchema(viewSchema, allowedSchemaModifications, checkout, treeContent) {
172
- let possibleModifications = allowedSchemaModifications;
173
- if (treeContent === undefined) {
174
- // Clear bit for Initialize if initial tree is not provided.
175
- // eslint-disable-next-line no-bitwise
176
- possibleModifications &= ~index_js_1.AllowedUpdateType.Initialize;
177
- }
178
- const updatedNeeded = evaluateUpdate(viewSchema, possibleModifications, checkout);
163
+ function ensureSchema(viewSchema, checkout) {
164
+ const updatedNeeded = evaluateUpdate(viewSchema, checkout);
179
165
  switch (updatedNeeded) {
180
166
  case UpdateType.None: {
181
167
  return true;
@@ -187,16 +173,6 @@ function ensureSchema(viewSchema, allowedSchemaModifications, checkout, treeCont
187
173
  checkout.updateSchema(viewSchema.viewSchemaAsStored);
188
174
  return true;
189
175
  }
190
- case UpdateType.Initialize: {
191
- if (treeContent === undefined) {
192
- return false;
193
- }
194
- // TODO:
195
- // When this becomes a more proper out of schema adapter, editing should be made lazy.
196
- // This will improve support for readonly documents, cross version collaboration and attribution.
197
- initialize(checkout, treeContent);
198
- return true;
199
- }
200
176
  default: {
201
177
  (0, internal_1.unreachableCase)(updatedNeeded);
202
178
  }