@fluidframework/tree 2.40.0-336023 → 2.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (445) 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/forest-summary/format.d.ts +2 -2
  44. package/dist/feature-libraries/forest-summary/format.d.ts.map +1 -1
  45. package/dist/feature-libraries/forest-summary/format.js +1 -1
  46. package/dist/feature-libraries/forest-summary/format.js.map +1 -1
  47. package/dist/feature-libraries/index.d.ts +1 -1
  48. package/dist/feature-libraries/index.d.ts.map +1 -1
  49. package/dist/feature-libraries/index.js +4 -2
  50. package/dist/feature-libraries/index.js.map +1 -1
  51. package/dist/feature-libraries/mapTreeCursor.d.ts +3 -3
  52. package/dist/feature-libraries/mapTreeCursor.d.ts.map +1 -1
  53. package/dist/feature-libraries/mapTreeCursor.js +2 -2
  54. package/dist/feature-libraries/mapTreeCursor.js.map +1 -1
  55. package/dist/feature-libraries/modular-schema/modularChangeFormat.d.ts +9 -9
  56. package/dist/feature-libraries/modular-schema/modularChangeFormat.d.ts.map +1 -1
  57. package/dist/feature-libraries/modular-schema/modularChangeFormat.js +2 -2
  58. package/dist/feature-libraries/modular-schema/modularChangeFormat.js.map +1 -1
  59. package/dist/feature-libraries/schema-edits/schemaChangeCodecs.d.ts +14 -1
  60. package/dist/feature-libraries/schema-edits/schemaChangeCodecs.d.ts.map +1 -1
  61. package/dist/feature-libraries/schema-edits/schemaChangeCodecs.js +26 -5
  62. package/dist/feature-libraries/schema-edits/schemaChangeCodecs.js.map +1 -1
  63. package/dist/feature-libraries/schema-edits/schemaChangeFormat.d.ts +2 -2
  64. package/dist/feature-libraries/schema-edits/schemaChangeFormat.d.ts.map +1 -1
  65. package/dist/feature-libraries/schema-edits/schemaChangeFormat.js.map +1 -1
  66. package/dist/feature-libraries/schema-index/codec.d.ts +34 -5
  67. package/dist/feature-libraries/schema-index/codec.d.ts.map +1 -1
  68. package/dist/feature-libraries/schema-index/codec.js +63 -9
  69. package/dist/feature-libraries/schema-index/codec.js.map +1 -1
  70. package/{lib/feature-libraries/schema-index/format.d.ts → dist/feature-libraries/schema-index/formatV1.d.ts} +9 -9
  71. package/dist/feature-libraries/schema-index/formatV1.d.ts.map +1 -0
  72. package/dist/feature-libraries/schema-index/{format.js → formatV1.js} +4 -4
  73. package/dist/feature-libraries/schema-index/formatV1.js.map +1 -0
  74. package/dist/feature-libraries/schema-index/index.d.ts +2 -2
  75. package/dist/feature-libraries/schema-index/index.d.ts.map +1 -1
  76. package/dist/feature-libraries/schema-index/index.js +6 -3
  77. package/dist/feature-libraries/schema-index/index.js.map +1 -1
  78. package/dist/feature-libraries/schema-index/schemaSummarizer.d.ts +5 -5
  79. package/dist/feature-libraries/schema-index/schemaSummarizer.d.ts.map +1 -1
  80. package/dist/feature-libraries/schema-index/schemaSummarizer.js +4 -4
  81. package/dist/feature-libraries/schema-index/schemaSummarizer.js.map +1 -1
  82. package/dist/index.d.ts +1 -0
  83. package/dist/index.d.ts.map +1 -1
  84. package/dist/index.js +10 -8
  85. package/dist/index.js.map +1 -1
  86. package/dist/packageVersion.d.ts +1 -1
  87. package/dist/packageVersion.d.ts.map +1 -1
  88. package/dist/packageVersion.js +1 -1
  89. package/dist/packageVersion.js.map +1 -1
  90. package/dist/shared-tree/independentView.d.ts.map +1 -1
  91. package/dist/shared-tree/independentView.js +1 -1
  92. package/dist/shared-tree/independentView.js.map +1 -1
  93. package/dist/shared-tree/index.d.ts +1 -1
  94. package/dist/shared-tree/index.d.ts.map +1 -1
  95. package/dist/shared-tree/index.js +2 -1
  96. package/dist/shared-tree/index.js.map +1 -1
  97. package/dist/shared-tree/schematizeTree.d.ts +8 -9
  98. package/dist/shared-tree/schematizeTree.d.ts.map +1 -1
  99. package/dist/shared-tree/schematizeTree.js +9 -33
  100. package/dist/shared-tree/schematizeTree.js.map +1 -1
  101. package/dist/shared-tree/schematizingTreeView.d.ts.map +1 -1
  102. package/dist/shared-tree/schematizingTreeView.js +1 -4
  103. package/dist/shared-tree/schematizingTreeView.js.map +1 -1
  104. package/dist/shared-tree/sharedTree.d.ts +28 -3
  105. package/dist/shared-tree/sharedTree.d.ts.map +1 -1
  106. package/dist/shared-tree/sharedTree.js +29 -3
  107. package/dist/shared-tree/sharedTree.js.map +1 -1
  108. package/dist/shared-tree/tree.d.ts +24 -0
  109. package/dist/shared-tree/tree.d.ts.map +1 -1
  110. package/dist/shared-tree/tree.js.map +1 -1
  111. package/dist/shared-tree/treeAlpha.d.ts +2 -0
  112. package/dist/shared-tree/treeAlpha.d.ts.map +1 -1
  113. package/dist/shared-tree/treeAlpha.js +3 -2
  114. package/dist/shared-tree/treeAlpha.js.map +1 -1
  115. package/dist/shared-tree-core/branchCommitEnricher.d.ts +0 -1
  116. package/dist/shared-tree-core/branchCommitEnricher.d.ts.map +1 -1
  117. package/dist/shared-tree-core/branchCommitEnricher.js +0 -1
  118. package/dist/shared-tree-core/branchCommitEnricher.js.map +1 -1
  119. package/dist/shared-tree-core/transactionEnricher.d.ts +1 -1
  120. package/dist/shared-tree-core/transactionEnricher.d.ts.map +1 -1
  121. package/dist/shared-tree-core/transactionEnricher.js +4 -1
  122. package/dist/shared-tree-core/transactionEnricher.js.map +1 -1
  123. package/dist/simple-tree/api/index.d.ts +2 -1
  124. package/dist/simple-tree/api/index.d.ts.map +1 -1
  125. package/dist/simple-tree/api/index.js +2 -1
  126. package/dist/simple-tree/api/index.js.map +1 -1
  127. package/dist/simple-tree/api/schemaFactory.d.ts +9 -0
  128. package/dist/simple-tree/api/schemaFactory.d.ts.map +1 -1
  129. package/dist/simple-tree/api/schemaFactory.js +7 -0
  130. package/dist/simple-tree/api/schemaFactory.js.map +1 -1
  131. package/dist/simple-tree/api/storedSchema.d.ts +8 -7
  132. package/dist/simple-tree/api/storedSchema.d.ts.map +1 -1
  133. package/dist/simple-tree/api/storedSchema.js +13 -9
  134. package/dist/simple-tree/api/storedSchema.js.map +1 -1
  135. package/dist/simple-tree/api/tree.d.ts +25 -0
  136. package/dist/simple-tree/api/tree.d.ts.map +1 -1
  137. package/dist/simple-tree/api/tree.js.map +1 -1
  138. package/dist/simple-tree/api/treeBeta.d.ts +4 -1
  139. package/dist/simple-tree/api/treeBeta.d.ts.map +1 -1
  140. package/dist/simple-tree/api/treeBeta.js.map +1 -1
  141. package/dist/simple-tree/api/treeChangeEvents.d.ts +83 -0
  142. package/dist/simple-tree/api/treeChangeEvents.d.ts.map +1 -0
  143. package/dist/simple-tree/api/treeChangeEvents.js +7 -0
  144. package/dist/simple-tree/api/treeChangeEvents.js.map +1 -0
  145. package/dist/simple-tree/api/treeNodeApi.d.ts +2 -1
  146. package/dist/simple-tree/api/treeNodeApi.d.ts.map +1 -1
  147. package/dist/simple-tree/api/treeNodeApi.js.map +1 -1
  148. package/dist/simple-tree/arrayNode.d.ts +28 -0
  149. package/dist/simple-tree/arrayNode.d.ts.map +1 -1
  150. package/dist/simple-tree/arrayNode.js.map +1 -1
  151. package/dist/simple-tree/core/getOrCreateNode.d.ts +1 -1
  152. package/dist/simple-tree/core/getOrCreateNode.d.ts.map +1 -1
  153. package/dist/simple-tree/core/getOrCreateNode.js.map +1 -1
  154. package/dist/simple-tree/core/index.d.ts +2 -1
  155. package/dist/simple-tree/core/index.d.ts.map +1 -1
  156. package/dist/simple-tree/core/index.js +5 -5
  157. package/dist/simple-tree/core/index.js.map +1 -1
  158. package/dist/simple-tree/core/treeNode.d.ts +94 -0
  159. package/dist/simple-tree/core/treeNode.d.ts.map +1 -0
  160. package/dist/simple-tree/core/treeNode.js +123 -0
  161. package/dist/simple-tree/core/treeNode.js.map +1 -0
  162. package/dist/simple-tree/core/treeNodeKernel.d.ts +2 -1
  163. package/dist/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
  164. package/dist/simple-tree/core/treeNodeKernel.js.map +1 -1
  165. package/dist/simple-tree/core/treeNodeSchema.d.ts +3 -1
  166. package/dist/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
  167. package/dist/simple-tree/core/treeNodeSchema.js.map +1 -1
  168. package/dist/simple-tree/core/types.d.ts +0 -165
  169. package/dist/simple-tree/core/types.d.ts.map +1 -1
  170. package/dist/simple-tree/core/types.js +1 -113
  171. package/dist/simple-tree/core/types.js.map +1 -1
  172. package/dist/simple-tree/core/withType.d.ts +1 -1
  173. package/dist/simple-tree/core/withType.d.ts.map +1 -1
  174. package/dist/simple-tree/core/withType.js.map +1 -1
  175. package/dist/simple-tree/index.d.ts +2 -2
  176. package/dist/simple-tree/index.d.ts.map +1 -1
  177. package/dist/simple-tree/index.js +3 -2
  178. package/dist/simple-tree/index.js.map +1 -1
  179. package/dist/simple-tree/schemaTypes.d.ts +1 -0
  180. package/dist/simple-tree/schemaTypes.d.ts.map +1 -1
  181. package/dist/simple-tree/schemaTypes.js.map +1 -1
  182. package/dist/simple-tree/toStoredSchema.d.ts +8 -8
  183. package/dist/simple-tree/toStoredSchema.d.ts.map +1 -1
  184. package/dist/simple-tree/toStoredSchema.js +27 -32
  185. package/dist/simple-tree/toStoredSchema.js.map +1 -1
  186. package/dist/tableSchema.d.ts +302 -83
  187. package/dist/tableSchema.d.ts.map +1 -1
  188. package/dist/tableSchema.js +299 -57
  189. package/dist/tableSchema.js.map +1 -1
  190. package/dist/treeFactory.d.ts +1 -1
  191. package/dist/treeFactory.d.ts.map +1 -1
  192. package/dist/treeFactory.js +30 -75
  193. package/dist/treeFactory.js.map +1 -1
  194. package/lib/alpha.d.ts +1 -0
  195. package/lib/codec/codec.d.ts +5 -1
  196. package/lib/codec/codec.d.ts.map +1 -1
  197. package/lib/codec/codec.js +5 -1
  198. package/lib/codec/codec.js.map +1 -1
  199. package/lib/codec/index.d.ts +1 -1
  200. package/lib/codec/index.d.ts.map +1 -1
  201. package/lib/codec/index.js +1 -1
  202. package/lib/codec/index.js.map +1 -1
  203. package/lib/core/index.d.ts +2 -2
  204. package/lib/core/index.d.ts.map +1 -1
  205. package/lib/core/index.js +2 -2
  206. package/lib/core/index.js.map +1 -1
  207. package/lib/core/schema-stored/{format.d.ts → formatV1.d.ts} +1 -1
  208. package/lib/core/schema-stored/formatV1.d.ts.map +1 -0
  209. package/lib/core/schema-stored/{format.js → formatV1.js} +1 -1
  210. package/lib/core/schema-stored/formatV1.js.map +1 -0
  211. package/lib/core/schema-stored/index.d.ts +3 -3
  212. package/lib/core/schema-stored/index.d.ts.map +1 -1
  213. package/lib/core/schema-stored/index.js +2 -2
  214. package/lib/core/schema-stored/index.js.map +1 -1
  215. package/lib/core/schema-stored/schema.d.ts +3 -1
  216. package/lib/core/schema-stored/schema.d.ts.map +1 -1
  217. package/lib/core/schema-stored/schema.js +3 -1
  218. package/lib/core/schema-stored/schema.js.map +1 -1
  219. package/lib/core/schema-stored/storedSchemaRepository.d.ts +1 -1
  220. package/lib/core/schema-stored/storedSchemaRepository.d.ts.map +1 -1
  221. package/lib/core/schema-stored/storedSchemaRepository.js.map +1 -1
  222. package/lib/core/schema-view/index.d.ts +1 -1
  223. package/lib/core/schema-view/index.d.ts.map +1 -1
  224. package/lib/core/schema-view/index.js +1 -1
  225. package/lib/core/schema-view/index.js.map +1 -1
  226. package/lib/core/schema-view/view.d.ts +0 -27
  227. package/lib/core/schema-view/view.d.ts.map +1 -1
  228. package/lib/core/schema-view/view.js +0 -34
  229. package/lib/core/schema-view/view.js.map +1 -1
  230. package/lib/core/tree/persistedTreeTextFormat.d.ts +4 -4
  231. package/lib/core/tree/persistedTreeTextFormat.d.ts.map +1 -1
  232. package/lib/core/tree/persistedTreeTextFormat.js +2 -2
  233. package/lib/core/tree/persistedTreeTextFormat.js.map +1 -1
  234. package/lib/feature-libraries/forest-summary/format.d.ts +2 -2
  235. package/lib/feature-libraries/forest-summary/format.d.ts.map +1 -1
  236. package/lib/feature-libraries/forest-summary/format.js +2 -2
  237. package/lib/feature-libraries/forest-summary/format.js.map +1 -1
  238. package/lib/feature-libraries/index.d.ts +1 -1
  239. package/lib/feature-libraries/index.d.ts.map +1 -1
  240. package/lib/feature-libraries/index.js +1 -1
  241. package/lib/feature-libraries/index.js.map +1 -1
  242. package/lib/feature-libraries/mapTreeCursor.d.ts +3 -3
  243. package/lib/feature-libraries/mapTreeCursor.d.ts.map +1 -1
  244. package/lib/feature-libraries/mapTreeCursor.js +2 -2
  245. package/lib/feature-libraries/mapTreeCursor.js.map +1 -1
  246. package/lib/feature-libraries/modular-schema/modularChangeFormat.d.ts +9 -9
  247. package/lib/feature-libraries/modular-schema/modularChangeFormat.d.ts.map +1 -1
  248. package/lib/feature-libraries/modular-schema/modularChangeFormat.js +3 -3
  249. package/lib/feature-libraries/modular-schema/modularChangeFormat.js.map +1 -1
  250. package/lib/feature-libraries/schema-edits/schemaChangeCodecs.d.ts +14 -1
  251. package/lib/feature-libraries/schema-edits/schemaChangeCodecs.d.ts.map +1 -1
  252. package/lib/feature-libraries/schema-edits/schemaChangeCodecs.js +26 -6
  253. package/lib/feature-libraries/schema-edits/schemaChangeCodecs.js.map +1 -1
  254. package/lib/feature-libraries/schema-edits/schemaChangeFormat.d.ts +2 -2
  255. package/lib/feature-libraries/schema-edits/schemaChangeFormat.d.ts.map +1 -1
  256. package/lib/feature-libraries/schema-edits/schemaChangeFormat.js +3 -3
  257. package/lib/feature-libraries/schema-edits/schemaChangeFormat.js.map +1 -1
  258. package/lib/feature-libraries/schema-index/codec.d.ts +34 -5
  259. package/lib/feature-libraries/schema-index/codec.d.ts.map +1 -1
  260. package/lib/feature-libraries/schema-index/codec.js +61 -9
  261. package/lib/feature-libraries/schema-index/codec.js.map +1 -1
  262. package/{dist/feature-libraries/schema-index/format.d.ts → lib/feature-libraries/schema-index/formatV1.d.ts} +9 -9
  263. package/lib/feature-libraries/schema-index/formatV1.d.ts.map +1 -0
  264. package/lib/feature-libraries/schema-index/{format.js → formatV1.js} +5 -5
  265. package/lib/feature-libraries/schema-index/formatV1.js.map +1 -0
  266. package/lib/feature-libraries/schema-index/index.d.ts +2 -2
  267. package/lib/feature-libraries/schema-index/index.d.ts.map +1 -1
  268. package/lib/feature-libraries/schema-index/index.js +2 -2
  269. package/lib/feature-libraries/schema-index/index.js.map +1 -1
  270. package/lib/feature-libraries/schema-index/schemaSummarizer.d.ts +5 -5
  271. package/lib/feature-libraries/schema-index/schemaSummarizer.d.ts.map +1 -1
  272. package/lib/feature-libraries/schema-index/schemaSummarizer.js +5 -5
  273. package/lib/feature-libraries/schema-index/schemaSummarizer.js.map +1 -1
  274. package/lib/index.d.ts +1 -0
  275. package/lib/index.d.ts.map +1 -1
  276. package/lib/index.js +1 -0
  277. package/lib/index.js.map +1 -1
  278. package/lib/packageVersion.d.ts +1 -1
  279. package/lib/packageVersion.d.ts.map +1 -1
  280. package/lib/packageVersion.js +1 -1
  281. package/lib/packageVersion.js.map +1 -1
  282. package/lib/shared-tree/independentView.d.ts.map +1 -1
  283. package/lib/shared-tree/independentView.js +2 -2
  284. package/lib/shared-tree/independentView.js.map +1 -1
  285. package/lib/shared-tree/index.d.ts +1 -1
  286. package/lib/shared-tree/index.d.ts.map +1 -1
  287. package/lib/shared-tree/index.js +1 -1
  288. package/lib/shared-tree/index.js.map +1 -1
  289. package/lib/shared-tree/schematizeTree.d.ts +8 -9
  290. package/lib/shared-tree/schematizeTree.d.ts.map +1 -1
  291. package/lib/shared-tree/schematizeTree.js +10 -34
  292. package/lib/shared-tree/schematizeTree.js.map +1 -1
  293. package/lib/shared-tree/schematizingTreeView.d.ts.map +1 -1
  294. package/lib/shared-tree/schematizingTreeView.js +2 -5
  295. package/lib/shared-tree/schematizingTreeView.js.map +1 -1
  296. package/lib/shared-tree/sharedTree.d.ts +28 -3
  297. package/lib/shared-tree/sharedTree.d.ts.map +1 -1
  298. package/lib/shared-tree/sharedTree.js +29 -4
  299. package/lib/shared-tree/sharedTree.js.map +1 -1
  300. package/lib/shared-tree/tree.d.ts +24 -0
  301. package/lib/shared-tree/tree.d.ts.map +1 -1
  302. package/lib/shared-tree/tree.js.map +1 -1
  303. package/lib/shared-tree/treeAlpha.d.ts +2 -0
  304. package/lib/shared-tree/treeAlpha.d.ts.map +1 -1
  305. package/lib/shared-tree/treeAlpha.js +4 -3
  306. package/lib/shared-tree/treeAlpha.js.map +1 -1
  307. package/lib/shared-tree-core/branchCommitEnricher.d.ts +0 -1
  308. package/lib/shared-tree-core/branchCommitEnricher.d.ts.map +1 -1
  309. package/lib/shared-tree-core/branchCommitEnricher.js +0 -1
  310. package/lib/shared-tree-core/branchCommitEnricher.js.map +1 -1
  311. package/lib/shared-tree-core/transactionEnricher.d.ts +1 -1
  312. package/lib/shared-tree-core/transactionEnricher.d.ts.map +1 -1
  313. package/lib/shared-tree-core/transactionEnricher.js +4 -1
  314. package/lib/shared-tree-core/transactionEnricher.js.map +1 -1
  315. package/lib/simple-tree/api/index.d.ts +2 -1
  316. package/lib/simple-tree/api/index.d.ts.map +1 -1
  317. package/lib/simple-tree/api/index.js +1 -1
  318. package/lib/simple-tree/api/index.js.map +1 -1
  319. package/lib/simple-tree/api/schemaFactory.d.ts +9 -0
  320. package/lib/simple-tree/api/schemaFactory.d.ts.map +1 -1
  321. package/lib/simple-tree/api/schemaFactory.js +7 -0
  322. package/lib/simple-tree/api/schemaFactory.js.map +1 -1
  323. package/lib/simple-tree/api/storedSchema.d.ts +8 -7
  324. package/lib/simple-tree/api/storedSchema.d.ts.map +1 -1
  325. package/lib/simple-tree/api/storedSchema.js +17 -11
  326. package/lib/simple-tree/api/storedSchema.js.map +1 -1
  327. package/lib/simple-tree/api/tree.d.ts +25 -0
  328. package/lib/simple-tree/api/tree.d.ts.map +1 -1
  329. package/lib/simple-tree/api/tree.js.map +1 -1
  330. package/lib/simple-tree/api/treeBeta.d.ts +4 -1
  331. package/lib/simple-tree/api/treeBeta.d.ts.map +1 -1
  332. package/lib/simple-tree/api/treeBeta.js.map +1 -1
  333. package/lib/simple-tree/api/treeChangeEvents.d.ts +83 -0
  334. package/lib/simple-tree/api/treeChangeEvents.d.ts.map +1 -0
  335. package/lib/simple-tree/api/treeChangeEvents.js +6 -0
  336. package/lib/simple-tree/api/treeChangeEvents.js.map +1 -0
  337. package/lib/simple-tree/api/treeNodeApi.d.ts +2 -1
  338. package/lib/simple-tree/api/treeNodeApi.d.ts.map +1 -1
  339. package/lib/simple-tree/api/treeNodeApi.js.map +1 -1
  340. package/lib/simple-tree/arrayNode.d.ts +28 -0
  341. package/lib/simple-tree/arrayNode.d.ts.map +1 -1
  342. package/lib/simple-tree/arrayNode.js.map +1 -1
  343. package/lib/simple-tree/core/getOrCreateNode.d.ts +1 -1
  344. package/lib/simple-tree/core/getOrCreateNode.d.ts.map +1 -1
  345. package/lib/simple-tree/core/getOrCreateNode.js.map +1 -1
  346. package/lib/simple-tree/core/index.d.ts +2 -1
  347. package/lib/simple-tree/core/index.d.ts.map +1 -1
  348. package/lib/simple-tree/core/index.js +1 -1
  349. package/lib/simple-tree/core/index.js.map +1 -1
  350. package/lib/simple-tree/core/treeNode.d.ts +94 -0
  351. package/lib/simple-tree/core/treeNode.d.ts.map +1 -0
  352. package/lib/simple-tree/core/treeNode.js +118 -0
  353. package/lib/simple-tree/core/treeNode.js.map +1 -0
  354. package/lib/simple-tree/core/treeNodeKernel.d.ts +2 -1
  355. package/lib/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
  356. package/lib/simple-tree/core/treeNodeKernel.js.map +1 -1
  357. package/lib/simple-tree/core/treeNodeSchema.d.ts +3 -1
  358. package/lib/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
  359. package/lib/simple-tree/core/treeNodeSchema.js.map +1 -1
  360. package/lib/simple-tree/core/types.d.ts +0 -165
  361. package/lib/simple-tree/core/types.d.ts.map +1 -1
  362. package/lib/simple-tree/core/types.js +0 -110
  363. package/lib/simple-tree/core/types.js.map +1 -1
  364. package/lib/simple-tree/core/withType.d.ts +1 -1
  365. package/lib/simple-tree/core/withType.d.ts.map +1 -1
  366. package/lib/simple-tree/core/withType.js.map +1 -1
  367. package/lib/simple-tree/index.d.ts +2 -2
  368. package/lib/simple-tree/index.d.ts.map +1 -1
  369. package/lib/simple-tree/index.js +1 -1
  370. package/lib/simple-tree/index.js.map +1 -1
  371. package/lib/simple-tree/schemaTypes.d.ts +1 -0
  372. package/lib/simple-tree/schemaTypes.d.ts.map +1 -1
  373. package/lib/simple-tree/schemaTypes.js.map +1 -1
  374. package/lib/simple-tree/toStoredSchema.d.ts +8 -8
  375. package/lib/simple-tree/toStoredSchema.d.ts.map +1 -1
  376. package/lib/simple-tree/toStoredSchema.js +26 -31
  377. package/lib/simple-tree/toStoredSchema.js.map +1 -1
  378. package/lib/tableSchema.d.ts +302 -83
  379. package/lib/tableSchema.d.ts.map +1 -1
  380. package/lib/tableSchema.js +299 -57
  381. package/lib/tableSchema.js.map +1 -1
  382. package/lib/treeFactory.d.ts +1 -1
  383. package/lib/treeFactory.d.ts.map +1 -1
  384. package/lib/treeFactory.js +30 -75
  385. package/lib/treeFactory.js.map +1 -1
  386. package/package.json +21 -21
  387. package/src/codec/codec.ts +6 -1
  388. package/src/codec/index.ts +1 -0
  389. package/src/core/index.ts +1 -2
  390. package/src/core/schema-stored/index.ts +3 -3
  391. package/src/core/schema-stored/schema.ts +3 -1
  392. package/src/core/schema-stored/storedSchemaRepository.ts +1 -1
  393. package/src/core/schema-view/index.ts +0 -1
  394. package/src/core/schema-view/view.ts +0 -31
  395. package/src/core/tree/persistedTreeTextFormat.ts +2 -2
  396. package/src/feature-libraries/forest-summary/format.ts +2 -2
  397. package/src/feature-libraries/index.ts +7 -1
  398. package/src/feature-libraries/mapTreeCursor.ts +3 -3
  399. package/src/feature-libraries/modular-schema/modularChangeFormat.ts +3 -3
  400. package/src/feature-libraries/schema-edits/schemaChangeCodecs.ts +38 -9
  401. package/src/feature-libraries/schema-edits/schemaChangeFormat.ts +3 -4
  402. package/src/feature-libraries/schema-index/codec.ts +80 -12
  403. package/src/feature-libraries/schema-index/{format.ts → formatV1.ts} +4 -4
  404. package/src/feature-libraries/schema-index/index.ts +7 -2
  405. package/src/feature-libraries/schema-index/schemaSummarizer.ts +9 -9
  406. package/src/index.ts +1 -0
  407. package/src/packageVersion.ts +1 -1
  408. package/src/shared-tree/independentView.ts +3 -2
  409. package/src/shared-tree/index.ts +2 -0
  410. package/src/shared-tree/schematizeTree.ts +5 -35
  411. package/src/shared-tree/schematizingTreeView.ts +2 -10
  412. package/src/shared-tree/sharedTree.ts +67 -6
  413. package/src/shared-tree/tree.ts +24 -0
  414. package/src/shared-tree/treeAlpha.ts +6 -3
  415. package/src/shared-tree-core/branchCommitEnricher.ts +0 -1
  416. package/src/shared-tree-core/transactionEnricher.ts +4 -1
  417. package/src/simple-tree/api/index.ts +2 -0
  418. package/src/simple-tree/api/schemaFactory.ts +9 -0
  419. package/src/simple-tree/api/storedSchema.ts +24 -13
  420. package/src/simple-tree/api/tree.ts +25 -0
  421. package/src/simple-tree/api/treeBeta.ts +3 -1
  422. package/src/simple-tree/api/treeChangeEvents.ts +84 -0
  423. package/src/simple-tree/api/treeNodeApi.ts +1 -1
  424. package/src/simple-tree/arrayNode.ts +28 -0
  425. package/src/simple-tree/core/getOrCreateNode.ts +1 -1
  426. package/src/simple-tree/core/index.ts +5 -4
  427. package/src/simple-tree/core/treeNode.ts +163 -0
  428. package/src/simple-tree/core/treeNodeKernel.ts +2 -1
  429. package/src/simple-tree/core/treeNodeSchema.ts +3 -1
  430. package/src/simple-tree/core/types.ts +0 -234
  431. package/src/simple-tree/core/withType.ts +1 -1
  432. package/src/simple-tree/index.ts +2 -1
  433. package/src/simple-tree/schemaTypes.ts +1 -0
  434. package/src/simple-tree/toStoredSchema.ts +42 -41
  435. package/src/tableSchema.ts +665 -197
  436. package/src/treeFactory.ts +56 -173
  437. package/dist/core/schema-stored/format.d.ts.map +0 -1
  438. package/dist/core/schema-stored/format.js.map +0 -1
  439. package/dist/feature-libraries/schema-index/format.d.ts.map +0 -1
  440. package/dist/feature-libraries/schema-index/format.js.map +0 -1
  441. package/lib/core/schema-stored/format.d.ts.map +0 -1
  442. package/lib/core/schema-stored/format.js.map +0 -1
  443. package/lib/feature-libraries/schema-index/format.d.ts.map +0 -1
  444. package/lib/feature-libraries/schema-index/format.js.map +0 -1
  445. /package/src/core/schema-stored/{format.ts → formatV1.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"tableSchema.d.ts","sourceRoot":"","sources":["../src/tableSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tableSchema.d.ts","sourceRoot":"","sources":["../src/tableSchema.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,18 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
  import { oob } from "@fluidframework/core-utils/internal";
6
+ import { UsageError } from "@fluidframework/telemetry-utils/internal";
6
7
  import { Tree } from "./shared-tree/index.js";
7
8
  import { TreeArrayNode, SchemaFactory, } from "./simple-tree/index.js";
8
- // Future improvement TODOs (ideally to be done before promoting these APIs to `@alpha`):
9
+ // Future improvement TODOs:
10
+ // - Omit `cells` property from Row insertion type.
9
11
  // - Record-like type parameters / input parameters?
10
12
  // - Omit `props` properties from Row and Column schemas when not provided?
13
+ // Longer-term work:
14
+ // - Add constraint APIs to make it possible to avoid situations that could yield "orphaned" cells.
15
+ /**
16
+ * The sub-scope applied to user-provided {@link SchemaFactory}s by table schema factories.
17
+ */
11
18
  const tableSchemaFactorySubScope = "table";
12
19
  /**
13
20
  * Not intended for use outside of this package.
@@ -115,15 +122,19 @@ export var System_TableSchema;
115
122
  return this.cells.get(columnId);
116
123
  }
117
124
  setCell(columnOrId, value) {
125
+ // TODO: throw if column does not exist in the owning table.
118
126
  const columnId = typeof columnOrId === "string" ? columnOrId : columnOrId.id;
119
127
  this.cells.set(columnId, value);
120
128
  }
121
129
  removeCell(columnOrId) {
130
+ // TODO: throw if column does not exist in the owning table.
122
131
  const columnId = typeof columnOrId === "string" ? columnOrId : columnOrId.id;
123
- if (!this.cells.has(columnId)) {
124
- return;
132
+ const cell = this.cells.get(columnId);
133
+ if (cell === undefined) {
134
+ return undefined;
125
135
  }
126
136
  this.cells.delete(columnId);
137
+ return cell;
127
138
  }
128
139
  }
129
140
  // Returning SingletonSchema without a type conversion results in TypeScript generating something like `readonly "__#124291@#brand": unknown;`
@@ -169,98 +180,245 @@ export var System_TableSchema;
169
180
  return this.rows.find((_row) => _row.id === id);
170
181
  }
171
182
  getCell(key) {
172
- const { columnId, rowId } = key;
173
- const row = this.getRow(rowId);
174
- if (row !== undefined) {
175
- const column = this.getColumn(columnId);
176
- if (column !== undefined) {
177
- return row.getCell(column.id);
178
- }
183
+ const { column: columnOrId, row: rowOrId } = key;
184
+ const row = this._getRow(rowOrId);
185
+ if (row === undefined) {
186
+ return undefined;
179
187
  }
180
- // If the cell does not exist return undefined
181
- return undefined;
188
+ const column = this._getColumn(columnOrId);
189
+ if (column === undefined) {
190
+ return undefined;
191
+ }
192
+ return row.getCell(column);
182
193
  }
183
194
  insertColumn({ column, index, }) {
184
- if (index === undefined) {
185
- // TypeScript is unable to narrow the types correctly here, hence the cast.
195
+ const inserted = this.insertColumns({
196
+ columns: [column],
197
+ index,
198
+ });
199
+ return inserted[0] ?? oob();
200
+ }
201
+ insertColumns({ columns, index, }) {
202
+ // #region Input validation
203
+ // Ensure index is valid
204
+ if (index !== undefined) {
205
+ Table.validateInsertionIndex(index, this.columns);
206
+ }
207
+ // Check all of the columns being inserted an ensure the table does not already contain any with the same ID.
208
+ for (const column of columns) {
209
+ // TypeScript is unable to narrow the type of the column type correctly here, hence the casts below.
186
210
  // See: https://github.com/microsoft/TypeScript/issues/52144
211
+ const maybeId = column.id;
212
+ if (maybeId !== undefined && this.containsColumnWithId(maybeId)) {
213
+ throw new UsageError(`A column with ID "${column.id}" already exists in the table.`);
214
+ }
215
+ }
216
+ // #endregion
217
+ // TypeScript is unable to narrow the column type correctly here, hence the casts below.
218
+ // See: https://github.com/microsoft/TypeScript/issues/52144
219
+ if (index === undefined) {
187
220
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
188
- this.columns.insertAtEnd(column);
221
+ this.columns.insertAtEnd(TreeArrayNode.spread(columns));
189
222
  }
190
223
  else {
191
- // TypeScript is unable to narrow the types correctly here, hence the cast.
192
- // See: https://github.com/microsoft/TypeScript/issues/52144
193
224
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
194
- this.columns.insertAt(index, column);
225
+ this.columns.insertAt(index, TreeArrayNode.spread(columns));
195
226
  }
196
- // Inserting the input node into the tree hydrates it, making it usable as a node.
197
- return column;
227
+ // Inserting the input nodes into the tree hydrates them, making them usable as nodes.
228
+ return columns;
229
+ }
230
+ insertRow({ row, index, }) {
231
+ const inserted = this.insertRows({
232
+ rows: [row],
233
+ index,
234
+ });
235
+ return inserted[0] ?? oob();
198
236
  }
199
237
  insertRows({ index, rows, }) {
238
+ // #region Input validation
239
+ // Ensure index is valid
240
+ if (index !== undefined) {
241
+ Table.validateInsertionIndex(index, this.rows);
242
+ }
243
+ // Note: TypeScript is unable to narrow the type of the row type correctly here, hence the casts below.
244
+ // See: https://github.com/microsoft/TypeScript/issues/52144
245
+ for (const newRow of rows) {
246
+ // Check all of the rows being inserted an ensure the table does not already contain any with the same ID.
247
+ const maybeId = newRow.id;
248
+ if (maybeId !== undefined && this.containsRowWithId(maybeId)) {
249
+ throw new UsageError(`A row with ID "${newRow.id}" already exists in the table.`);
250
+ }
251
+ // If the row contains cells, verify that the table contains the columns for those cells.
252
+ // Note: we intentionally hide `cells` on `IRow` to avoid leaking the internal data representation as much as possible, so we have to cast here.
253
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
254
+ if (newRow.cells !== undefined) {
255
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
256
+ const keys = Object.keys(newRow.cells);
257
+ for (const key of keys) {
258
+ if (!this.containsColumnWithId(key)) {
259
+ throw new UsageError(`Attempted to insert row a cell under column ID "${key}", but the table does not contain a column with that ID.`);
260
+ }
261
+ }
262
+ }
263
+ }
264
+ // #endregion
265
+ // TypeScript is unable to narrow the row type correctly here, hence the casts below.
266
+ // See: https://github.com/microsoft/TypeScript/issues/52144
200
267
  if (index === undefined) {
201
- // TypeScript is unable to narrow the types correctly here, hence the cast.
202
- // See: https://github.com/microsoft/TypeScript/issues/52144
203
268
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
204
269
  this.rows.insertAtEnd(TreeArrayNode.spread(rows));
205
270
  }
206
271
  else {
207
- // TypeScript is unable to narrow the types correctly here, hence the cast.
208
- // See: https://github.com/microsoft/TypeScript/issues/52144
209
272
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
210
273
  this.rows.insertAt(index, TreeArrayNode.spread(rows));
211
274
  }
212
275
  // Inserting the input nodes into the tree hydrates them, making them usable as nodes.
213
276
  return rows;
214
277
  }
215
- setCell({ key, cell }) {
216
- const { columnId, rowId } = key;
217
- const row = this.getRow(rowId);
218
- if (row !== undefined) {
219
- const column = this.getColumn(columnId);
220
- if (column !== undefined) {
221
- row.setCell(column.id, cell);
222
- }
278
+ setCell({ key, cell, }) {
279
+ const { column: columnOrId, row: rowOrId } = key;
280
+ const row = this._getRow(rowOrId);
281
+ if (row === undefined) {
282
+ const rowId = this._getRowId(rowOrId);
283
+ throw new UsageError(`No row with ID "${rowId}" exists in the table.`);
284
+ }
285
+ const column = this._getColumn(columnOrId);
286
+ if (column === undefined) {
287
+ const columnId = this._getColumnId(columnOrId);
288
+ throw new UsageError(`No column with ID "${columnId}" exists in the table.`);
223
289
  }
290
+ row.setCell(column, cell);
224
291
  }
225
- removeColumn(column) {
226
- const index = this.columns.indexOf(column);
227
- // If the column is not in the table, do nothing
228
- if (index === -1)
229
- return;
292
+ removeColumns(columns) {
293
+ // If there are no columns to remove, do nothing
294
+ if (columns.length === 0) {
295
+ return [];
296
+ }
297
+ // If there is only one column to remove, remove it (and don't incur cost of transaction)
298
+ if (columns.length === 1) {
299
+ const removedColumn = this.removeColumn(columns[0] ?? oob());
300
+ return [removedColumn];
301
+ }
302
+ // If there are multiple columns to remove, remove them in a transaction.
303
+ const removedColumns = [];
304
+ Tree.runTransaction(this, () => {
305
+ // Note, throwing an error within a transaction will abort the entire transaction.
306
+ // So if we throw an error here for any row, no columns will be removed.
307
+ for (const columnToRemove of columns) {
308
+ const removedRow = this.removeColumn(columnToRemove);
309
+ removedColumns.push(removedRow);
310
+ }
311
+ });
312
+ return removedColumns;
313
+ }
314
+ removeColumn(columnOrId) {
315
+ const column = this._getColumn(columnOrId);
316
+ const index = column === undefined ? -1 : this.columns.indexOf(column);
317
+ if (index === -1) {
318
+ const columnId = this._getColumnId(columnOrId);
319
+ throw new UsageError(`Specified column with ID "${columnId}" does not exist in the table.`);
320
+ }
230
321
  this.columns.removeAt(index);
322
+ return column;
323
+ }
324
+ removeAllColumns() {
325
+ // TypeScript is unable to narrow the row type correctly here, hence the cast.
326
+ // See: https://github.com/microsoft/TypeScript/issues/52144
327
+ return this.removeColumns(this.columns);
231
328
  }
232
329
  removeRows(rows) {
233
330
  // If there are no rows to remove, do nothing
234
331
  if (rows.length === 0) {
235
- return;
332
+ return [];
236
333
  }
237
- // If there is only one row to remove, remove it
334
+ // If there is only one row to remove, remove it (and don't incur cost of transaction)
238
335
  if (rows.length === 1) {
239
- const index = this.rows.indexOf(rows[0] ?? oob());
240
- this.rows.removeAt(index);
241
- return;
336
+ const removedRow = this.removeRow(rows[0] ?? oob());
337
+ return [removedRow];
242
338
  }
243
- // If there are multiple rows to remove, remove them in a transaction
244
- // This is to avoid the performance issues of deleting multiple rows at once
339
+ // If there are multiple rows to remove, remove them in a transaction.
340
+ const removedRows = [];
245
341
  Tree.runTransaction(this, () => {
246
- // Iterate over the rows and remove them
247
- for (const row of rows) {
248
- const index = this.rows.indexOf(row);
249
- this.rows.removeAt(index);
342
+ // Note, throwing an error within a transaction will abort the entire transaction.
343
+ // So if we throw an error here for any row, no rows will be removed.
344
+ for (const rowToRemove of rows) {
345
+ const removedRow = this.removeRow(rowToRemove);
346
+ removedRows.push(removedRow);
250
347
  }
251
348
  });
349
+ return removedRows;
350
+ }
351
+ removeRow(rowOrId) {
352
+ const rowToRemove = this._getRow(rowOrId);
353
+ const index = rowToRemove === undefined ? -1 : this.rows.indexOf(rowToRemove);
354
+ // If the row does not exist in the table, throw an error.
355
+ if (index === -1) {
356
+ const rowId = this._getRowId(rowOrId);
357
+ throw new UsageError(`Specified row with ID "${rowId}" does not exist in the table.`);
358
+ }
359
+ this.rows.removeAt(index);
360
+ return rowToRemove;
252
361
  }
253
362
  removeAllRows() {
254
- this.rows.removeRange();
363
+ // TypeScript is unable to narrow the row type correctly here, hence the cast.
364
+ // See: https://github.com/microsoft/TypeScript/issues/52144
365
+ return this.removeRows(this.rows);
255
366
  }
256
367
  removeCell(key) {
257
- const { columnId, rowId } = key;
258
- const row = this.getRow(rowId);
259
- if (row !== undefined) {
260
- const column = this.getColumn(columnId);
261
- if (column !== undefined) {
262
- row.removeCell(column.id);
263
- }
368
+ const { column: columnOrId, row: rowOrId } = key;
369
+ const row = this._getRow(rowOrId);
370
+ if (row === undefined) {
371
+ const rowId = this._getRowId(rowOrId);
372
+ throw new UsageError(`Specified row with ID "${rowId}" does not exist in the table.`);
373
+ }
374
+ const column = this._getColumn(columnOrId);
375
+ if (column === undefined) {
376
+ const columnId = this._getColumnId(columnOrId);
377
+ throw new UsageError(`Specified column with ID "${columnId}" does not exist in the table.`);
378
+ }
379
+ const cell = row.getCell(column.id);
380
+ if (cell === undefined) {
381
+ return undefined;
382
+ }
383
+ row.removeCell(column.id);
384
+ return cell;
385
+ }
386
+ _getColumn(columnOrId) {
387
+ return typeof columnOrId === "string" ? this.getColumn(columnOrId) : columnOrId;
388
+ }
389
+ _getColumnId(columnOrId) {
390
+ return typeof columnOrId === "string" ? columnOrId : columnOrId.id;
391
+ }
392
+ _getRow(rowOrId) {
393
+ return typeof rowOrId === "string" ? this.getRow(rowOrId) : rowOrId;
394
+ }
395
+ _getRowId(rowOrId) {
396
+ return typeof rowOrId === "string" ? rowOrId : rowOrId.id;
397
+ }
398
+ containsColumnWithId(columnId) {
399
+ // TypeScript is unable to narrow the types correctly here, hence the cast.
400
+ // See: https://github.com/microsoft/TypeScript/issues/52144
401
+ return (this.columns.find((column) => column.id === columnId) !==
402
+ undefined);
403
+ }
404
+ containsRowWithId(rowId) {
405
+ // TypeScript is unable to narrow the types correctly here, hence the cast.
406
+ // See: https://github.com/microsoft/TypeScript/issues/52144
407
+ return this.rows.find((row) => row.id === rowId) !== undefined;
408
+ }
409
+ /**
410
+ * Ensure that the specified index is a valid location for item insertion in the destination list.
411
+ * @throws Throws a usage error if the destination is invalid.
412
+ */
413
+ static validateInsertionIndex(index, destinationList) {
414
+ if (index < 0) {
415
+ throw new UsageError("The index must be greater than or equal to 0.");
416
+ }
417
+ if (index > destinationList.length) {
418
+ throw new UsageError("The index specified for insertion is out of bounds.");
419
+ }
420
+ if (!Number.isInteger(index)) {
421
+ throw new UsageError("The index must be an integer.");
264
422
  }
265
423
  }
266
424
  }
@@ -278,7 +436,91 @@ export var System_TableSchema;
278
436
  })(System_TableSchema || (System_TableSchema = {}));
279
437
  /**
280
438
  * Contains types and factories for creating schema to represent dynamic tabular data.
281
- * @privateRemarks TODO: document in more detail and add `@example`s.
439
+ *
440
+ * @remarks
441
+ *
442
+ * Tables created using these APIs are...
443
+ *
444
+ * - sparse, meaning that cells may be omitted, and new rows are empty by default.
445
+ *
446
+ * - dynamic, meaning that their structure can be modified at runtime.
447
+ * Columns and rows can be inserted, removed, modified, and reordered.
448
+ * Cells can be inserted, removed, and modified.
449
+ *
450
+ * - row-major, meaning that operating on rows (including inserts, removal, moves, and traversal) is more efficient than operating on columns.
451
+ *
452
+ * Column and Row schema created using these APIs are extensible via the `props` field.
453
+ * This allows association of additional properties with column and row nodes.
454
+ *
455
+ * Note: for now it is possible for table cells to become "orphaned".
456
+ * That is, it is possible to enter a state where one or more rows contain cells with no corresponding column.
457
+ * To help avoid this situation, you can manually remove corresponding cells when removing columns.
458
+ * Either way, it is possible to enter such a state via the merging of edits.
459
+ * For example: one client might add a row while another concurrently removes a column, orphaning the cell where the column and row intersected.
460
+ *
461
+ * @example Using default Column and Row schema
462
+ *
463
+ * ```typescript
464
+ * class Cell extends schemaFactory.object("TableCell", {
465
+ * value: schemaFactory.string,
466
+ * }) {}
467
+ *
468
+ * class Table extends TableSchema.createTable({
469
+ * schemaFactory,
470
+ * cell: Cell,
471
+ * }) {}
472
+ *
473
+ * const table = new Table({
474
+ * columns: [{ id: "column-0" }],
475
+ * rows: [{ id: "row-0", cells: {} }],
476
+ * });
477
+ * ```
478
+ *
479
+ * @example Customizing Column and Row schema
480
+ *
481
+ * ```typescript
482
+ * class Cell extends schemaFactory.object("TableCell", {
483
+ * value: schemaFactory.string,
484
+ * }) {}
485
+ *
486
+ * class ColumnProps extends schemaFactory.object("TableColumnProps", {
487
+ * // Column label to display.
488
+ * label: schemaFactory.string,
489
+ * // The type of data represented by the cells. Default: string.
490
+ * dataType: schemaFactory.optional(schemaFactory.string),
491
+ * }) {}
492
+ *
493
+ * class Column extends TableSchema.createColumn({
494
+ * schemaFactory,
495
+ * props: ColumnProps,
496
+ * }) {}
497
+ *
498
+ * class Row extends TableSchema.createRow({
499
+ * schemaFactory,
500
+ * cell: Cell,
501
+ * }) {}
502
+ *
503
+ * class Table extends TableSchema.createTable({
504
+ * schemaFactory,
505
+ * cell: Cell,
506
+ * column: Column,
507
+ * row: Row,
508
+ * }) {}
509
+ *
510
+ * const table = new Table({
511
+ * columns: [
512
+ * new Column({ props: { label: "Entry", dataType: "string" } }),
513
+ * new Column({ props: { label: "Date", dataType: "date" } }),
514
+ * new Column({ props: { label: "Amount", dataType: "number" } }),
515
+ * ],
516
+ * rows: [],
517
+ * });
518
+ * ```
519
+ *
520
+ * @privateRemarks
521
+ * The above examples are backed by tests in `tableSchema.spec.ts`.
522
+ * Those tests and these examples should be kept in-sync to ensure that the examples are correct.
523
+ *
282
524
  * @internal
283
525
  */
284
526
  export var TableSchema;