@fluidframework/tree 2.0.0-dev-rc.1.0.0.224419

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 (2212) hide show
  1. package/.dependency-cruiser-known-violations.json +111 -0
  2. package/.dependency-cruiser.js +442 -0
  3. package/.eslintrc.js +34 -0
  4. package/.mocharc.js +13 -0
  5. package/.vscode/Tree.code-workspace +15 -0
  6. package/.vscode/extensions.json +7 -0
  7. package/.vscode/launch.json +16 -0
  8. package/.vscode/settings.json +16 -0
  9. package/CHANGELOG.md +302 -0
  10. package/DEV.md +3 -0
  11. package/LICENSE +21 -0
  12. package/README.md +388 -0
  13. package/api-extractor-lint.json +13 -0
  14. package/api-extractor.json +4 -0
  15. package/api-report/tree.api.md +2022 -0
  16. package/dist/class-tree/index.d.ts +15 -0
  17. package/dist/class-tree/index.d.ts.map +1 -0
  18. package/dist/class-tree/index.js +57 -0
  19. package/dist/class-tree/index.js.map +1 -0
  20. package/dist/class-tree/integerIndexable.d.ts +31 -0
  21. package/dist/class-tree/integerIndexable.d.ts.map +1 -0
  22. package/dist/class-tree/integerIndexable.js +97 -0
  23. package/dist/class-tree/integerIndexable.js.map +1 -0
  24. package/dist/class-tree/internal.d.ts +6 -0
  25. package/dist/class-tree/internal.d.ts.map +1 -0
  26. package/dist/class-tree/internal.js +12 -0
  27. package/dist/class-tree/internal.js.map +1 -0
  28. package/dist/class-tree/schemaCreationUtilities.d.ts +96 -0
  29. package/dist/class-tree/schemaCreationUtilities.d.ts.map +1 -0
  30. package/dist/class-tree/schemaCreationUtilities.js +137 -0
  31. package/dist/class-tree/schemaCreationUtilities.js.map +1 -0
  32. package/dist/class-tree/schemaFactory.d.ts +225 -0
  33. package/dist/class-tree/schemaFactory.d.ts.map +1 -0
  34. package/dist/class-tree/schemaFactory.js +330 -0
  35. package/dist/class-tree/schemaFactory.js.map +1 -0
  36. package/dist/class-tree/schemaFactoryRecursive.d.ts +41 -0
  37. package/dist/class-tree/schemaFactoryRecursive.d.ts.map +1 -0
  38. package/dist/class-tree/schemaFactoryRecursive.js +66 -0
  39. package/dist/class-tree/schemaFactoryRecursive.js.map +1 -0
  40. package/dist/class-tree/schemaTypes.d.ts +237 -0
  41. package/dist/class-tree/schemaTypes.d.ts.map +1 -0
  42. package/dist/class-tree/schemaTypes.js +71 -0
  43. package/dist/class-tree/schemaTypes.js.map +1 -0
  44. package/dist/class-tree/testRecursiveDomain.d.ts +28 -0
  45. package/dist/class-tree/testRecursiveDomain.d.ts.map +1 -0
  46. package/dist/class-tree/testRecursiveDomain.js +40 -0
  47. package/dist/class-tree/testRecursiveDomain.js.map +1 -0
  48. package/dist/class-tree/toFlexSchema.d.ts +58 -0
  49. package/dist/class-tree/toFlexSchema.d.ts.map +1 -0
  50. package/dist/class-tree/toFlexSchema.js +207 -0
  51. package/dist/class-tree/toFlexSchema.js.map +1 -0
  52. package/dist/class-tree/tree.d.ts +98 -0
  53. package/dist/class-tree/tree.d.ts.map +1 -0
  54. package/dist/class-tree/tree.js +46 -0
  55. package/dist/class-tree/tree.js.map +1 -0
  56. package/dist/class-tree/treeApi.d.ts +69 -0
  57. package/dist/class-tree/treeApi.d.ts.map +1 -0
  58. package/dist/class-tree/treeApi.js +56 -0
  59. package/dist/class-tree/treeApi.js.map +1 -0
  60. package/dist/codec/codec.d.ts +214 -0
  61. package/dist/codec/codec.d.ts.map +1 -0
  62. package/dist/codec/codec.js +168 -0
  63. package/dist/codec/codec.js.map +1 -0
  64. package/dist/codec/discriminatedUnions.d.ts +82 -0
  65. package/dist/codec/discriminatedUnions.d.ts.map +1 -0
  66. package/dist/codec/discriminatedUnions.js +91 -0
  67. package/dist/codec/discriminatedUnions.js.map +1 -0
  68. package/dist/codec/index.d.ts +8 -0
  69. package/dist/codec/index.d.ts.map +1 -0
  70. package/dist/codec/index.js +19 -0
  71. package/dist/codec/index.js.map +1 -0
  72. package/dist/codec/noopValidator.d.ts +13 -0
  73. package/dist/codec/noopValidator.d.ts.map +1 -0
  74. package/dist/codec/noopValidator.js +17 -0
  75. package/dist/codec/noopValidator.js.map +1 -0
  76. package/dist/core/change-family/changeFamily.d.ts +32 -0
  77. package/dist/core/change-family/changeFamily.d.ts.map +1 -0
  78. package/dist/core/change-family/changeFamily.js +7 -0
  79. package/dist/core/change-family/changeFamily.js.map +1 -0
  80. package/dist/core/change-family/editBuilder.d.ts +19 -0
  81. package/dist/core/change-family/editBuilder.d.ts.map +1 -0
  82. package/dist/core/change-family/editBuilder.js +25 -0
  83. package/dist/core/change-family/editBuilder.js.map +1 -0
  84. package/dist/core/change-family/index.d.ts +7 -0
  85. package/dist/core/change-family/index.d.ts.map +1 -0
  86. package/dist/core/change-family/index.js +10 -0
  87. package/dist/core/change-family/index.js.map +1 -0
  88. package/dist/core/forest/editableForest.d.ts +54 -0
  89. package/dist/core/forest/editableForest.d.ts.map +1 -0
  90. package/dist/core/forest/editableForest.js +27 -0
  91. package/dist/core/forest/editableForest.js.map +1 -0
  92. package/dist/core/forest/forest.d.ts +200 -0
  93. package/dist/core/forest/forest.d.ts.map +1 -0
  94. package/dist/core/forest/forest.js +66 -0
  95. package/dist/core/forest/forest.js.map +1 -0
  96. package/dist/core/forest/index.d.ts +7 -0
  97. package/dist/core/forest/index.d.ts.map +1 -0
  98. package/dist/core/forest/index.js +15 -0
  99. package/dist/core/forest/index.js.map +1 -0
  100. package/dist/core/index.d.ts +12 -0
  101. package/dist/core/index.d.ts.map +1 -0
  102. package/dist/core/index.js +106 -0
  103. package/dist/core/index.js.map +1 -0
  104. package/dist/core/rebase/changeRebaser.d.ts +132 -0
  105. package/dist/core/rebase/changeRebaser.d.ts.map +1 -0
  106. package/dist/core/rebase/changeRebaser.js +34 -0
  107. package/dist/core/rebase/changeRebaser.js.map +1 -0
  108. package/dist/core/rebase/index.d.ts +9 -0
  109. package/dist/core/rebase/index.d.ts.map +1 -0
  110. package/dist/core/rebase/index.js +32 -0
  111. package/dist/core/rebase/index.js.map +1 -0
  112. package/dist/core/rebase/types.d.ts +93 -0
  113. package/dist/core/rebase/types.d.ts.map +1 -0
  114. package/dist/core/rebase/types.js +59 -0
  115. package/dist/core/rebase/types.js.map +1 -0
  116. package/dist/core/rebase/utils.d.ts +215 -0
  117. package/dist/core/rebase/utils.d.ts.map +1 -0
  118. package/dist/core/rebase/utils.js +297 -0
  119. package/dist/core/rebase/utils.js.map +1 -0
  120. package/dist/core/rebase/verifyChangeRebaser.d.ts +76 -0
  121. package/dist/core/rebase/verifyChangeRebaser.d.ts.map +1 -0
  122. package/dist/core/rebase/verifyChangeRebaser.js +291 -0
  123. package/dist/core/rebase/verifyChangeRebaser.js.map +1 -0
  124. package/dist/core/revertible/index.d.ts +6 -0
  125. package/dist/core/revertible/index.d.ts.map +1 -0
  126. package/dist/core/revertible/index.js +12 -0
  127. package/dist/core/revertible/index.js.map +1 -0
  128. package/dist/core/revertible/revertible.d.ts +72 -0
  129. package/dist/core/revertible/revertible.d.ts.map +1 -0
  130. package/dist/core/revertible/revertible.js +51 -0
  131. package/dist/core/revertible/revertible.js.map +1 -0
  132. package/dist/core/schema-stored/format.d.ts +97 -0
  133. package/dist/core/schema-stored/format.d.ts.map +1 -0
  134. package/dist/core/schema-stored/format.js +65 -0
  135. package/dist/core/schema-stored/format.js.map +1 -0
  136. package/dist/core/schema-stored/index.d.ts +10 -0
  137. package/dist/core/schema-stored/index.d.ts.map +1 -0
  138. package/dist/core/schema-stored/index.js +47 -0
  139. package/dist/core/schema-stored/index.js.map +1 -0
  140. package/dist/core/schema-stored/schema.d.ts +195 -0
  141. package/dist/core/schema-stored/schema.d.ts.map +1 -0
  142. package/dist/core/schema-stored/schema.js +174 -0
  143. package/dist/core/schema-stored/schema.js.map +1 -0
  144. package/dist/core/schema-stored/storedSchemaRepository.d.ts +71 -0
  145. package/dist/core/schema-stored/storedSchemaRepository.d.ts.map +1 -0
  146. package/dist/core/schema-stored/storedSchemaRepository.js +81 -0
  147. package/dist/core/schema-stored/storedSchemaRepository.js.map +1 -0
  148. package/dist/core/schema-view/index.d.ts +6 -0
  149. package/dist/core/schema-view/index.d.ts.map +1 -0
  150. package/dist/core/schema-view/index.js +12 -0
  151. package/dist/core/schema-view/index.js.map +1 -0
  152. package/dist/core/schema-view/view.d.ts +64 -0
  153. package/dist/core/schema-view/view.d.ts.map +1 -0
  154. package/dist/core/schema-view/view.js +55 -0
  155. package/dist/core/schema-view/view.js.map +1 -0
  156. package/dist/core/tree/anchorSet.d.ts +318 -0
  157. package/dist/core/tree/anchorSet.d.ts.map +1 -0
  158. package/dist/core/tree/anchorSet.js +895 -0
  159. package/dist/core/tree/anchorSet.js.map +1 -0
  160. package/dist/core/tree/cursor.d.ts +358 -0
  161. package/dist/core/tree/cursor.d.ts.map +1 -0
  162. package/dist/core/tree/cursor.js +169 -0
  163. package/dist/core/tree/cursor.js.map +1 -0
  164. package/dist/core/tree/delta.d.ts +241 -0
  165. package/dist/core/tree/delta.d.ts.map +1 -0
  166. package/dist/core/tree/delta.js +7 -0
  167. package/dist/core/tree/delta.js.map +1 -0
  168. package/dist/core/tree/deltaUtil.d.ts +19 -0
  169. package/dist/core/tree/deltaUtil.d.ts.map +1 -0
  170. package/dist/core/tree/deltaUtil.js +82 -0
  171. package/dist/core/tree/deltaUtil.js.map +1 -0
  172. package/dist/core/tree/detachedFieldIndex.d.ts +64 -0
  173. package/dist/core/tree/detachedFieldIndex.d.ts.map +1 -0
  174. package/dist/core/tree/detachedFieldIndex.js +119 -0
  175. package/dist/core/tree/detachedFieldIndex.js.map +1 -0
  176. package/dist/core/tree/detachedFieldIndexCodec.d.ts +8 -0
  177. package/dist/core/tree/detachedFieldIndexCodec.d.ts.map +1 -0
  178. package/dist/core/tree/detachedFieldIndexCodec.js +53 -0
  179. package/dist/core/tree/detachedFieldIndexCodec.js.map +1 -0
  180. package/dist/core/tree/detachedFieldIndexFormat.d.ts +18 -0
  181. package/dist/core/tree/detachedFieldIndexFormat.d.ts.map +1 -0
  182. package/dist/core/tree/detachedFieldIndexFormat.js +25 -0
  183. package/dist/core/tree/detachedFieldIndexFormat.js.map +1 -0
  184. package/dist/core/tree/detachedFieldIndexTypes.d.ts +13 -0
  185. package/dist/core/tree/detachedFieldIndexTypes.d.ts.map +1 -0
  186. package/dist/core/tree/detachedFieldIndexTypes.js +7 -0
  187. package/dist/core/tree/detachedFieldIndexTypes.js.map +1 -0
  188. package/dist/core/tree/index.d.ts +19 -0
  189. package/dist/core/tree/index.d.ts.map +1 -0
  190. package/dist/core/tree/index.js +67 -0
  191. package/dist/core/tree/index.js.map +1 -0
  192. package/dist/core/tree/mapTree.d.ts +22 -0
  193. package/dist/core/tree/mapTree.d.ts.map +1 -0
  194. package/dist/core/tree/mapTree.js +25 -0
  195. package/dist/core/tree/mapTree.js.map +1 -0
  196. package/dist/core/tree/pathTree.d.ts +156 -0
  197. package/dist/core/tree/pathTree.d.ts.map +1 -0
  198. package/dist/core/tree/pathTree.js +99 -0
  199. package/dist/core/tree/pathTree.js.map +1 -0
  200. package/dist/core/tree/persistedTreeTextFormat.d.ts +93 -0
  201. package/dist/core/tree/persistedTreeTextFormat.d.ts.map +1 -0
  202. package/dist/core/tree/persistedTreeTextFormat.js +23 -0
  203. package/dist/core/tree/persistedTreeTextFormat.js.map +1 -0
  204. package/dist/core/tree/sparseTree.d.ts +91 -0
  205. package/dist/core/tree/sparseTree.d.ts.map +1 -0
  206. package/dist/core/tree/sparseTree.js +149 -0
  207. package/dist/core/tree/sparseTree.js.map +1 -0
  208. package/dist/core/tree/treeTextFormat.d.ts +94 -0
  209. package/dist/core/tree/treeTextFormat.d.ts.map +1 -0
  210. package/dist/core/tree/treeTextFormat.js +88 -0
  211. package/dist/core/tree/treeTextFormat.js.map +1 -0
  212. package/dist/core/tree/types.d.ts +145 -0
  213. package/dist/core/tree/types.d.ts.map +1 -0
  214. package/dist/core/tree/types.js +60 -0
  215. package/dist/core/tree/types.js.map +1 -0
  216. package/dist/core/tree/visitDelta.d.ts +135 -0
  217. package/dist/core/tree/visitDelta.d.ts.map +1 -0
  218. package/dist/core/tree/visitDelta.js +304 -0
  219. package/dist/core/tree/visitDelta.js.map +1 -0
  220. package/dist/core/tree/visitPath.d.ts +103 -0
  221. package/dist/core/tree/visitPath.d.ts.map +1 -0
  222. package/dist/core/tree/visitPath.js +3 -0
  223. package/dist/core/tree/visitPath.js.map +1 -0
  224. package/dist/core/tree/visitorUtils.d.ts +37 -0
  225. package/dist/core/tree/visitorUtils.d.ts.map +1 -0
  226. package/dist/core/tree/visitorUtils.js +60 -0
  227. package/dist/core/tree/visitorUtils.js.map +1 -0
  228. package/dist/domains/index.d.ts +9 -0
  229. package/dist/domains/index.d.ts.map +1 -0
  230. package/dist/domains/index.js +23 -0
  231. package/dist/domains/index.js.map +1 -0
  232. package/dist/domains/json/index.d.ts +7 -0
  233. package/dist/domains/json/index.d.ts.map +1 -0
  234. package/dist/domains/json/index.js +16 -0
  235. package/dist/domains/json/index.js.map +1 -0
  236. package/dist/domains/json/jsonCursor.d.ts +18 -0
  237. package/dist/domains/json/jsonCursor.d.ts.map +1 -0
  238. package/dist/domains/json/jsonCursor.js +125 -0
  239. package/dist/domains/json/jsonCursor.js.map +1 -0
  240. package/dist/domains/json/jsonDomainSchema.d.ts +14 -0
  241. package/dist/domains/json/jsonDomainSchema.d.ts.map +1 -0
  242. package/dist/domains/json/jsonDomainSchema.js +24 -0
  243. package/dist/domains/json/jsonDomainSchema.js.map +1 -0
  244. package/dist/domains/leafDomain.d.ts +73 -0
  245. package/dist/domains/leafDomain.d.ts.map +1 -0
  246. package/dist/domains/leafDomain.js +89 -0
  247. package/dist/domains/leafDomain.js.map +1 -0
  248. package/dist/domains/nodeKey/index.d.ts +6 -0
  249. package/dist/domains/nodeKey/index.d.ts.map +1 -0
  250. package/dist/domains/nodeKey/index.js +12 -0
  251. package/dist/domains/nodeKey/index.js.map +1 -0
  252. package/dist/domains/nodeKey/nodeKeySchema.d.ts +30 -0
  253. package/dist/domains/nodeKey/nodeKeySchema.d.ts.map +1 -0
  254. package/dist/domains/nodeKey/nodeKeySchema.js +36 -0
  255. package/dist/domains/nodeKey/nodeKeySchema.js.map +1 -0
  256. package/dist/domains/schemaBuilder.d.ts +190 -0
  257. package/dist/domains/schemaBuilder.d.ts.map +1 -0
  258. package/dist/domains/schemaBuilder.js +204 -0
  259. package/dist/domains/schemaBuilder.js.map +1 -0
  260. package/dist/domains/testRecursiveDomain.d.ts +21 -0
  261. package/dist/domains/testRecursiveDomain.d.ts.map +1 -0
  262. package/dist/domains/testRecursiveDomain.js +42 -0
  263. package/dist/domains/testRecursiveDomain.js.map +1 -0
  264. package/dist/events/events.d.ts +187 -0
  265. package/dist/events/events.d.ts.map +1 -0
  266. package/dist/events/events.js +124 -0
  267. package/dist/events/events.js.map +1 -0
  268. package/dist/events/index.d.ts +6 -0
  269. package/dist/events/index.d.ts.map +1 -0
  270. package/dist/events/index.js +11 -0
  271. package/dist/events/index.js.map +1 -0
  272. package/dist/external-utilities/index.d.ts +6 -0
  273. package/dist/external-utilities/index.d.ts.map +1 -0
  274. package/dist/external-utilities/index.js +10 -0
  275. package/dist/external-utilities/index.js.map +1 -0
  276. package/dist/external-utilities/typeboxValidator.d.ts +18 -0
  277. package/dist/external-utilities/typeboxValidator.d.ts.map +1 -0
  278. package/dist/external-utilities/typeboxValidator.js +30 -0
  279. package/dist/external-utilities/typeboxValidator.js.map +1 -0
  280. package/dist/feature-libraries/chunked-forest/basicChunk.d.ts +111 -0
  281. package/dist/feature-libraries/chunked-forest/basicChunk.d.ts.map +1 -0
  282. package/dist/feature-libraries/chunked-forest/basicChunk.js +460 -0
  283. package/dist/feature-libraries/chunked-forest/basicChunk.js.map +1 -0
  284. package/dist/feature-libraries/chunked-forest/chunk.d.ts +89 -0
  285. package/dist/feature-libraries/chunked-forest/chunk.d.ts.map +1 -0
  286. package/dist/feature-libraries/chunked-forest/chunk.js +28 -0
  287. package/dist/feature-libraries/chunked-forest/chunk.js.map +1 -0
  288. package/dist/feature-libraries/chunked-forest/chunkTree.d.ts +156 -0
  289. package/dist/feature-libraries/chunked-forest/chunkTree.d.ts.map +1 -0
  290. package/dist/feature-libraries/chunked-forest/chunkTree.js +357 -0
  291. package/dist/feature-libraries/chunked-forest/chunkTree.js.map +1 -0
  292. package/dist/feature-libraries/chunked-forest/chunkedForest.d.ts +57 -0
  293. package/dist/feature-libraries/chunked-forest/chunkedForest.d.ts.map +1 -0
  294. package/dist/feature-libraries/chunked-forest/chunkedForest.js +300 -0
  295. package/dist/feature-libraries/chunked-forest/chunkedForest.js.map +1 -0
  296. package/dist/feature-libraries/chunked-forest/codec/chunkCodecUtilities.d.ts +114 -0
  297. package/dist/feature-libraries/chunked-forest/codec/chunkCodecUtilities.d.ts.map +1 -0
  298. package/dist/feature-libraries/chunked-forest/codec/chunkCodecUtilities.js +135 -0
  299. package/dist/feature-libraries/chunked-forest/codec/chunkCodecUtilities.js.map +1 -0
  300. package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts +61 -0
  301. package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts.map +1 -0
  302. package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.js +219 -0
  303. package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.js.map +1 -0
  304. package/dist/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.d.ts +30 -0
  305. package/dist/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.d.ts.map +1 -0
  306. package/dist/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.js +53 -0
  307. package/dist/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.js.map +1 -0
  308. package/dist/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts +81 -0
  309. package/dist/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts.map +1 -0
  310. package/dist/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.js +126 -0
  311. package/dist/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.js.map +1 -0
  312. package/dist/feature-libraries/chunked-forest/codec/codecs.d.ts +32 -0
  313. package/dist/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -0
  314. package/dist/feature-libraries/chunked-forest/codec/codecs.js +68 -0
  315. package/dist/feature-libraries/chunked-forest/codec/codecs.js.map +1 -0
  316. package/dist/feature-libraries/chunked-forest/codec/compressedEncode.d.ts +149 -0
  317. package/dist/feature-libraries/chunked-forest/codec/compressedEncode.d.ts.map +1 -0
  318. package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js +280 -0
  319. package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -0
  320. package/dist/feature-libraries/chunked-forest/codec/fieldBatch.d.ts +11 -0
  321. package/dist/feature-libraries/chunked-forest/codec/fieldBatch.d.ts.map +1 -0
  322. package/dist/feature-libraries/chunked-forest/codec/fieldBatch.js +7 -0
  323. package/dist/feature-libraries/chunked-forest/codec/fieldBatch.js.map +1 -0
  324. package/dist/feature-libraries/chunked-forest/codec/format.d.ts +208 -0
  325. package/dist/feature-libraries/chunked-forest/codec/format.d.ts.map +1 -0
  326. package/dist/feature-libraries/chunked-forest/codec/format.js +138 -0
  327. package/dist/feature-libraries/chunked-forest/codec/format.js.map +1 -0
  328. package/dist/feature-libraries/chunked-forest/codec/formatGeneric.d.ts +43 -0
  329. package/dist/feature-libraries/chunked-forest/codec/formatGeneric.d.ts.map +1 -0
  330. package/dist/feature-libraries/chunked-forest/codec/formatGeneric.js +45 -0
  331. package/dist/feature-libraries/chunked-forest/codec/formatGeneric.js.map +1 -0
  332. package/dist/feature-libraries/chunked-forest/codec/index.d.ts +8 -0
  333. package/dist/feature-libraries/chunked-forest/codec/index.d.ts.map +1 -0
  334. package/dist/feature-libraries/chunked-forest/codec/index.js +13 -0
  335. package/dist/feature-libraries/chunked-forest/codec/index.js.map +1 -0
  336. package/dist/feature-libraries/chunked-forest/codec/nodeShape.d.ts +23 -0
  337. package/dist/feature-libraries/chunked-forest/codec/nodeShape.d.ts.map +1 -0
  338. package/dist/feature-libraries/chunked-forest/codec/nodeShape.js +94 -0
  339. package/dist/feature-libraries/chunked-forest/codec/nodeShape.js.map +1 -0
  340. package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncoding.d.ts +28 -0
  341. package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncoding.d.ts.map +1 -0
  342. package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncoding.js +99 -0
  343. package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncoding.js.map +1 -0
  344. package/dist/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts +16 -0
  345. package/dist/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts.map +1 -0
  346. package/dist/feature-libraries/chunked-forest/codec/uncompressedEncode.js +61 -0
  347. package/dist/feature-libraries/chunked-forest/codec/uncompressedEncode.js.map +1 -0
  348. package/dist/feature-libraries/chunked-forest/emptyChunk.d.ts +19 -0
  349. package/dist/feature-libraries/chunked-forest/emptyChunk.d.ts.map +1 -0
  350. package/dist/feature-libraries/chunked-forest/emptyChunk.js +107 -0
  351. package/dist/feature-libraries/chunked-forest/emptyChunk.js.map +1 -0
  352. package/dist/feature-libraries/chunked-forest/index.d.ts +10 -0
  353. package/dist/feature-libraries/chunked-forest/index.d.ts.map +1 -0
  354. package/dist/feature-libraries/chunked-forest/index.js +25 -0
  355. package/dist/feature-libraries/chunked-forest/index.js.map +1 -0
  356. package/dist/feature-libraries/chunked-forest/sequenceChunk.d.ts +26 -0
  357. package/dist/feature-libraries/chunked-forest/sequenceChunk.d.ts.map +1 -0
  358. package/dist/feature-libraries/chunked-forest/sequenceChunk.js +51 -0
  359. package/dist/feature-libraries/chunked-forest/sequenceChunk.js.map +1 -0
  360. package/dist/feature-libraries/chunked-forest/uniformChunk.d.ts +186 -0
  361. package/dist/feature-libraries/chunked-forest/uniformChunk.d.ts.map +1 -0
  362. package/dist/feature-libraries/chunked-forest/uniformChunk.js +397 -0
  363. package/dist/feature-libraries/chunked-forest/uniformChunk.js.map +1 -0
  364. package/dist/feature-libraries/contextuallyTyped.d.ts +212 -0
  365. package/dist/feature-libraries/contextuallyTyped.d.ts.map +1 -0
  366. package/dist/feature-libraries/contextuallyTyped.js +342 -0
  367. package/dist/feature-libraries/contextuallyTyped.js.map +1 -0
  368. package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts +136 -0
  369. package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -0
  370. package/dist/feature-libraries/default-schema/defaultEditBuilder.js +245 -0
  371. package/dist/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -0
  372. package/dist/feature-libraries/default-schema/defaultFieldKinds.d.ts +112 -0
  373. package/dist/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -0
  374. package/dist/feature-libraries/default-schema/defaultFieldKinds.js +110 -0
  375. package/dist/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -0
  376. package/dist/feature-libraries/default-schema/defaultSchema.d.ts +11 -0
  377. package/dist/feature-libraries/default-schema/defaultSchema.d.ts.map +1 -0
  378. package/dist/feature-libraries/default-schema/defaultSchema.js +16 -0
  379. package/dist/feature-libraries/default-schema/defaultSchema.js.map +1 -0
  380. package/dist/feature-libraries/default-schema/index.d.ts +8 -0
  381. package/dist/feature-libraries/default-schema/index.d.ts.map +1 -0
  382. package/dist/feature-libraries/default-schema/index.js +18 -0
  383. package/dist/feature-libraries/default-schema/index.js.map +1 -0
  384. package/dist/feature-libraries/deltaUtils.d.ts +62 -0
  385. package/dist/feature-libraries/deltaUtils.d.ts.map +1 -0
  386. package/dist/feature-libraries/deltaUtils.js +126 -0
  387. package/dist/feature-libraries/deltaUtils.js.map +1 -0
  388. package/dist/feature-libraries/detachedFieldIndexSummarizer.d.ts +21 -0
  389. package/dist/feature-libraries/detachedFieldIndexSummarizer.d.ts.map +1 -0
  390. package/dist/feature-libraries/detachedFieldIndexSummarizer.js +46 -0
  391. package/dist/feature-libraries/detachedFieldIndexSummarizer.js.map +1 -0
  392. package/dist/feature-libraries/editableTreeBinder.d.ts +325 -0
  393. package/dist/feature-libraries/editableTreeBinder.d.ts.map +1 -0
  394. package/dist/feature-libraries/editableTreeBinder.js +578 -0
  395. package/dist/feature-libraries/editableTreeBinder.js.map +1 -0
  396. package/dist/feature-libraries/fieldGenerator.d.ts +46 -0
  397. package/dist/feature-libraries/fieldGenerator.d.ts.map +1 -0
  398. package/dist/feature-libraries/fieldGenerator.js +14 -0
  399. package/dist/feature-libraries/fieldGenerator.js.map +1 -0
  400. package/dist/feature-libraries/flex-tree/context.d.ts +87 -0
  401. package/dist/feature-libraries/flex-tree/context.d.ts.map +1 -0
  402. package/dist/feature-libraries/flex-tree/context.js +110 -0
  403. package/dist/feature-libraries/flex-tree/context.js.map +1 -0
  404. package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts +793 -0
  405. package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -0
  406. package/dist/feature-libraries/flex-tree/flexTreeTypes.js +57 -0
  407. package/dist/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -0
  408. package/dist/feature-libraries/flex-tree/index.d.ts +11 -0
  409. package/dist/feature-libraries/flex-tree/index.d.ts.map +1 -0
  410. package/dist/feature-libraries/flex-tree/index.js +24 -0
  411. package/dist/feature-libraries/flex-tree/index.js.map +1 -0
  412. package/dist/feature-libraries/flex-tree/lazyEntity.d.ts +49 -0
  413. package/dist/feature-libraries/flex-tree/lazyEntity.d.ts.map +1 -0
  414. package/dist/feature-libraries/flex-tree/lazyEntity.js +104 -0
  415. package/dist/feature-libraries/flex-tree/lazyEntity.js.map +1 -0
  416. package/dist/feature-libraries/flex-tree/lazyField.d.ts +87 -0
  417. package/dist/feature-libraries/flex-tree/lazyField.d.ts.map +1 -0
  418. package/dist/feature-libraries/flex-tree/lazyField.js +341 -0
  419. package/dist/feature-libraries/flex-tree/lazyField.js.map +1 -0
  420. package/dist/feature-libraries/flex-tree/lazyNode.d.ts +75 -0
  421. package/dist/feature-libraries/flex-tree/lazyNode.d.ts.map +1 -0
  422. package/dist/feature-libraries/flex-tree/lazyNode.js +426 -0
  423. package/dist/feature-libraries/flex-tree/lazyNode.js.map +1 -0
  424. package/dist/feature-libraries/flex-tree/navigation.d.ts +46 -0
  425. package/dist/feature-libraries/flex-tree/navigation.d.ts.map +1 -0
  426. package/dist/feature-libraries/flex-tree/navigation.js +104 -0
  427. package/dist/feature-libraries/flex-tree/navigation.js.map +1 -0
  428. package/dist/feature-libraries/flex-tree/nodeKeys.d.ts +42 -0
  429. package/dist/feature-libraries/flex-tree/nodeKeys.d.ts.map +1 -0
  430. package/dist/feature-libraries/flex-tree/nodeKeys.js +24 -0
  431. package/dist/feature-libraries/flex-tree/nodeKeys.js.map +1 -0
  432. package/dist/feature-libraries/flex-tree/treeEvents.d.ts +111 -0
  433. package/dist/feature-libraries/flex-tree/treeEvents.d.ts.map +1 -0
  434. package/dist/feature-libraries/flex-tree/treeEvents.js +7 -0
  435. package/dist/feature-libraries/flex-tree/treeEvents.js.map +1 -0
  436. package/dist/feature-libraries/flex-tree/unboxed.d.ts +24 -0
  437. package/dist/feature-libraries/flex-tree/unboxed.d.ts.map +1 -0
  438. package/dist/feature-libraries/flex-tree/unboxed.js +54 -0
  439. package/dist/feature-libraries/flex-tree/unboxed.js.map +1 -0
  440. package/dist/feature-libraries/flex-tree/utilities.d.ts +29 -0
  441. package/dist/feature-libraries/flex-tree/utilities.d.ts.map +1 -0
  442. package/dist/feature-libraries/flex-tree/utilities.js +58 -0
  443. package/dist/feature-libraries/flex-tree/utilities.js.map +1 -0
  444. package/dist/feature-libraries/forest-summary/codec.d.ts +16 -0
  445. package/dist/feature-libraries/forest-summary/codec.d.ts.map +1 -0
  446. package/dist/feature-libraries/forest-summary/codec.js +39 -0
  447. package/dist/feature-libraries/forest-summary/codec.js.map +1 -0
  448. package/dist/feature-libraries/forest-summary/forestSummarizer.d.ts +40 -0
  449. package/dist/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -0
  450. package/dist/feature-libraries/forest-summary/forestSummarizer.js +112 -0
  451. package/dist/feature-libraries/forest-summary/forestSummarizer.js.map +1 -0
  452. package/dist/feature-libraries/forest-summary/format.d.ts +16 -0
  453. package/dist/feature-libraries/forest-summary/format.d.ts.map +1 -0
  454. package/dist/feature-libraries/forest-summary/format.js +17 -0
  455. package/dist/feature-libraries/forest-summary/format.js.map +1 -0
  456. package/dist/feature-libraries/forest-summary/index.d.ts +6 -0
  457. package/dist/feature-libraries/forest-summary/index.d.ts.map +1 -0
  458. package/dist/feature-libraries/forest-summary/index.js +10 -0
  459. package/dist/feature-libraries/forest-summary/index.js.map +1 -0
  460. package/dist/feature-libraries/incrementalSummarizationUtils.d.ts +20 -0
  461. package/dist/feature-libraries/incrementalSummarizationUtils.d.ts.map +1 -0
  462. package/dist/feature-libraries/incrementalSummarizationUtils.js +7 -0
  463. package/dist/feature-libraries/incrementalSummarizationUtils.js.map +1 -0
  464. package/dist/feature-libraries/index.d.ts +35 -0
  465. package/dist/feature-libraries/index.d.ts.map +1 -0
  466. package/dist/feature-libraries/index.js +181 -0
  467. package/dist/feature-libraries/index.js.map +1 -0
  468. package/dist/feature-libraries/mapTreeCursor.d.ts +19 -0
  469. package/dist/feature-libraries/mapTreeCursor.d.ts.map +1 -0
  470. package/dist/feature-libraries/mapTreeCursor.js +53 -0
  471. package/dist/feature-libraries/mapTreeCursor.js.map +1 -0
  472. package/dist/feature-libraries/memoizedIdRangeAllocator.d.ts +42 -0
  473. package/dist/feature-libraries/memoizedIdRangeAllocator.d.ts.map +1 -0
  474. package/dist/feature-libraries/memoizedIdRangeAllocator.js +75 -0
  475. package/dist/feature-libraries/memoizedIdRangeAllocator.js.map +1 -0
  476. package/dist/feature-libraries/mitigatedChangeFamily.d.ts +22 -0
  477. package/dist/feature-libraries/mitigatedChangeFamily.d.ts.map +1 -0
  478. package/dist/feature-libraries/mitigatedChangeFamily.js +55 -0
  479. package/dist/feature-libraries/mitigatedChangeFamily.js.map +1 -0
  480. package/dist/feature-libraries/modular-schema/comparison.d.ts +63 -0
  481. package/dist/feature-libraries/modular-schema/comparison.d.ts.map +1 -0
  482. package/dist/feature-libraries/modular-schema/comparison.js +203 -0
  483. package/dist/feature-libraries/modular-schema/comparison.js.map +1 -0
  484. package/dist/feature-libraries/modular-schema/crossFieldQueries.d.ts +37 -0
  485. package/dist/feature-libraries/modular-schema/crossFieldQueries.d.ts.map +1 -0
  486. package/dist/feature-libraries/modular-schema/crossFieldQueries.js +29 -0
  487. package/dist/feature-libraries/modular-schema/crossFieldQueries.js.map +1 -0
  488. package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts +140 -0
  489. package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -0
  490. package/dist/feature-libraries/modular-schema/fieldChangeHandler.js +44 -0
  491. package/dist/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -0
  492. package/dist/feature-libraries/modular-schema/fieldKind.d.ts +94 -0
  493. package/dist/feature-libraries/modular-schema/fieldKind.d.ts.map +1 -0
  494. package/dist/feature-libraries/modular-schema/fieldKind.js +101 -0
  495. package/dist/feature-libraries/modular-schema/fieldKind.js.map +1 -0
  496. package/dist/feature-libraries/modular-schema/genericFieldKind.d.ts +27 -0
  497. package/dist/feature-libraries/modular-schema/genericFieldKind.d.ts.map +1 -0
  498. package/dist/feature-libraries/modular-schema/genericFieldKind.js +168 -0
  499. package/dist/feature-libraries/modular-schema/genericFieldKind.js.map +1 -0
  500. package/dist/feature-libraries/modular-schema/genericFieldKindCodecs.d.ts +9 -0
  501. package/dist/feature-libraries/modular-schema/genericFieldKindCodecs.d.ts.map +1 -0
  502. package/dist/feature-libraries/modular-schema/genericFieldKindCodecs.js +33 -0
  503. package/dist/feature-libraries/modular-schema/genericFieldKindCodecs.js.map +1 -0
  504. package/dist/feature-libraries/modular-schema/genericFieldKindFormat.d.ts +34 -0
  505. package/dist/feature-libraries/modular-schema/genericFieldKindFormat.d.ts.map +1 -0
  506. package/dist/feature-libraries/modular-schema/genericFieldKindFormat.js +31 -0
  507. package/dist/feature-libraries/modular-schema/genericFieldKindFormat.js.map +1 -0
  508. package/dist/feature-libraries/modular-schema/genericFieldKindTypes.d.ts +23 -0
  509. package/dist/feature-libraries/modular-schema/genericFieldKindTypes.d.ts.map +1 -0
  510. package/dist/feature-libraries/modular-schema/genericFieldKindTypes.js +7 -0
  511. package/dist/feature-libraries/modular-schema/genericFieldKindTypes.js.map +1 -0
  512. package/dist/feature-libraries/modular-schema/index.d.ts +15 -0
  513. package/dist/feature-libraries/modular-schema/index.d.ts.map +1 -0
  514. package/dist/feature-libraries/modular-schema/index.js +43 -0
  515. package/dist/feature-libraries/modular-schema/index.js.map +1 -0
  516. package/dist/feature-libraries/modular-schema/modularChangeCodecs.d.ts +12 -0
  517. package/dist/feature-libraries/modular-schema/modularChangeCodecs.d.ts.map +1 -0
  518. package/dist/feature-libraries/modular-schema/modularChangeCodecs.js +188 -0
  519. package/dist/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -0
  520. package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts +125 -0
  521. package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -0
  522. package/dist/feature-libraries/modular-schema/modularChangeFamily.js +733 -0
  523. package/dist/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -0
  524. package/dist/feature-libraries/modular-schema/modularChangeFormat.d.ts +149 -0
  525. package/dist/feature-libraries/modular-schema/modularChangeFormat.d.ts.map +1 -0
  526. package/dist/feature-libraries/modular-schema/modularChangeFormat.js +77 -0
  527. package/dist/feature-libraries/modular-schema/modularChangeFormat.js.map +1 -0
  528. package/dist/feature-libraries/modular-schema/modularChangeTypes.d.ts +69 -0
  529. package/dist/feature-libraries/modular-schema/modularChangeTypes.d.ts.map +1 -0
  530. package/dist/feature-libraries/modular-schema/modularChangeTypes.js +7 -0
  531. package/dist/feature-libraries/modular-schema/modularChangeTypes.js.map +1 -0
  532. package/dist/feature-libraries/multiplicity.d.ts +55 -0
  533. package/dist/feature-libraries/multiplicity.d.ts.map +1 -0
  534. package/dist/feature-libraries/multiplicity.js +59 -0
  535. package/dist/feature-libraries/multiplicity.js.map +1 -0
  536. package/dist/feature-libraries/node-key/index.d.ts +8 -0
  537. package/dist/feature-libraries/node-key/index.d.ts.map +1 -0
  538. package/dist/feature-libraries/node-key/index.js +17 -0
  539. package/dist/feature-libraries/node-key/index.js.map +1 -0
  540. package/dist/feature-libraries/node-key/nodeKey.d.ts +50 -0
  541. package/dist/feature-libraries/node-key/nodeKey.d.ts.map +1 -0
  542. package/dist/feature-libraries/node-key/nodeKey.js +36 -0
  543. package/dist/feature-libraries/node-key/nodeKey.js.map +1 -0
  544. package/dist/feature-libraries/node-key/nodeKeyIndex.d.ts +41 -0
  545. package/dist/feature-libraries/node-key/nodeKeyIndex.d.ts.map +1 -0
  546. package/dist/feature-libraries/node-key/nodeKeyIndex.js +102 -0
  547. package/dist/feature-libraries/node-key/nodeKeyIndex.js.map +1 -0
  548. package/dist/feature-libraries/node-key/nodeKeyManager.d.ts +36 -0
  549. package/dist/feature-libraries/node-key/nodeKeyManager.d.ts.map +1 -0
  550. package/dist/feature-libraries/node-key/nodeKeyManager.js +66 -0
  551. package/dist/feature-libraries/node-key/nodeKeyManager.js.map +1 -0
  552. package/dist/feature-libraries/object-forest/index.d.ts +6 -0
  553. package/dist/feature-libraries/object-forest/index.d.ts.map +1 -0
  554. package/dist/feature-libraries/object-forest/index.js +10 -0
  555. package/dist/feature-libraries/object-forest/index.js.map +1 -0
  556. package/dist/feature-libraries/object-forest/objectForest.d.ts +86 -0
  557. package/dist/feature-libraries/object-forest/objectForest.d.ts.map +1 -0
  558. package/dist/feature-libraries/object-forest/objectForest.js +382 -0
  559. package/dist/feature-libraries/object-forest/objectForest.js.map +1 -0
  560. package/dist/feature-libraries/optional-field/index.d.ts +8 -0
  561. package/dist/feature-libraries/optional-field/index.d.ts.map +1 -0
  562. package/dist/feature-libraries/optional-field/index.js +16 -0
  563. package/dist/feature-libraries/optional-field/index.js.map +1 -0
  564. package/dist/feature-libraries/optional-field/optionalField.d.ts +31 -0
  565. package/dist/feature-libraries/optional-field/optionalField.d.ts.map +1 -0
  566. package/dist/feature-libraries/optional-field/optionalField.js +448 -0
  567. package/dist/feature-libraries/optional-field/optionalField.js.map +1 -0
  568. package/dist/feature-libraries/optional-field/optionalFieldChangeFormat.d.ts +38 -0
  569. package/dist/feature-libraries/optional-field/optionalFieldChangeFormat.d.ts.map +1 -0
  570. package/dist/feature-libraries/optional-field/optionalFieldChangeFormat.js +26 -0
  571. package/dist/feature-libraries/optional-field/optionalFieldChangeFormat.js.map +1 -0
  572. package/dist/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts +55 -0
  573. package/dist/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts.map +1 -0
  574. package/dist/feature-libraries/optional-field/optionalFieldChangeTypes.js +7 -0
  575. package/dist/feature-libraries/optional-field/optionalFieldChangeTypes.js.map +1 -0
  576. package/dist/feature-libraries/optional-field/optionalFieldCodecs.d.ts +11 -0
  577. package/dist/feature-libraries/optional-field/optionalFieldCodecs.d.ts.map +1 -0
  578. package/dist/feature-libraries/optional-field/optionalFieldCodecs.js +86 -0
  579. package/dist/feature-libraries/optional-field/optionalFieldCodecs.js.map +1 -0
  580. package/dist/feature-libraries/schema-aware/index.d.ts +6 -0
  581. package/dist/feature-libraries/schema-aware/index.d.ts.map +1 -0
  582. package/dist/feature-libraries/schema-aware/index.js +7 -0
  583. package/dist/feature-libraries/schema-aware/index.js.map +1 -0
  584. package/dist/feature-libraries/schema-aware/schemaAware.d.ts +77 -0
  585. package/dist/feature-libraries/schema-aware/schemaAware.d.ts.map +1 -0
  586. package/dist/feature-libraries/schema-aware/schemaAware.js +9 -0
  587. package/dist/feature-libraries/schema-aware/schemaAware.js.map +1 -0
  588. package/dist/feature-libraries/schema-edits/index.d.ts +8 -0
  589. package/dist/feature-libraries/schema-edits/index.d.ts.map +1 -0
  590. package/dist/feature-libraries/schema-edits/index.js +12 -0
  591. package/dist/feature-libraries/schema-edits/index.js.map +1 -0
  592. package/dist/feature-libraries/schema-edits/schemaChangeCodecs.d.ts +9 -0
  593. package/dist/feature-libraries/schema-edits/schemaChangeCodecs.d.ts.map +1 -0
  594. package/dist/feature-libraries/schema-edits/schemaChangeCodecs.js +31 -0
  595. package/dist/feature-libraries/schema-edits/schemaChangeCodecs.js.map +1 -0
  596. package/dist/feature-libraries/schema-edits/schemaChangeFormat.d.ts +53 -0
  597. package/dist/feature-libraries/schema-edits/schemaChangeFormat.d.ts.map +1 -0
  598. package/dist/feature-libraries/schema-edits/schemaChangeFormat.js +14 -0
  599. package/dist/feature-libraries/schema-edits/schemaChangeFormat.js.map +1 -0
  600. package/dist/feature-libraries/schema-edits/schemaChangeTypes.d.ts +18 -0
  601. package/dist/feature-libraries/schema-edits/schemaChangeTypes.d.ts.map +1 -0
  602. package/dist/feature-libraries/schema-edits/schemaChangeTypes.js +7 -0
  603. package/dist/feature-libraries/schema-edits/schemaChangeTypes.js.map +1 -0
  604. package/dist/feature-libraries/schema-index/codec.d.ts +13 -0
  605. package/dist/feature-libraries/schema-index/codec.d.ts.map +1 -0
  606. package/dist/feature-libraries/schema-index/codec.js +56 -0
  607. package/dist/feature-libraries/schema-index/codec.js.map +1 -0
  608. package/dist/feature-libraries/schema-index/format.d.ts +60 -0
  609. package/dist/feature-libraries/schema-index/format.d.ts.map +1 -0
  610. package/dist/feature-libraries/schema-index/format.js +33 -0
  611. package/dist/feature-libraries/schema-index/format.js.map +1 -0
  612. package/dist/feature-libraries/schema-index/index.d.ts +8 -0
  613. package/dist/feature-libraries/schema-index/index.d.ts.map +1 -0
  614. package/dist/feature-libraries/schema-index/index.js +15 -0
  615. package/dist/feature-libraries/schema-index/index.js.map +1 -0
  616. package/dist/feature-libraries/schema-index/schemaSummarizer.d.ts +41 -0
  617. package/dist/feature-libraries/schema-index/schemaSummarizer.d.ts.map +1 -0
  618. package/dist/feature-libraries/schema-index/schemaSummarizer.js +86 -0
  619. package/dist/feature-libraries/schema-index/schemaSummarizer.js.map +1 -0
  620. package/dist/feature-libraries/schemaBuilder.d.ts +31 -0
  621. package/dist/feature-libraries/schemaBuilder.d.ts.map +1 -0
  622. package/dist/feature-libraries/schemaBuilder.js +40 -0
  623. package/dist/feature-libraries/schemaBuilder.js.map +1 -0
  624. package/dist/feature-libraries/schemaBuilderBase.d.ts +217 -0
  625. package/dist/feature-libraries/schemaBuilderBase.d.ts.map +1 -0
  626. package/dist/feature-libraries/schemaBuilderBase.js +227 -0
  627. package/dist/feature-libraries/schemaBuilderBase.js.map +1 -0
  628. package/dist/feature-libraries/sequence-field/compose.d.ts +45 -0
  629. package/dist/feature-libraries/sequence-field/compose.d.ts.map +1 -0
  630. package/dist/feature-libraries/sequence-field/compose.js +438 -0
  631. package/dist/feature-libraries/sequence-field/compose.js.map +1 -0
  632. package/dist/feature-libraries/sequence-field/format.d.ts +427 -0
  633. package/dist/feature-libraries/sequence-field/format.d.ts.map +1 -0
  634. package/dist/feature-libraries/sequence-field/format.js +78 -0
  635. package/dist/feature-libraries/sequence-field/format.js.map +1 -0
  636. package/dist/feature-libraries/sequence-field/helperTypes.d.ts +34 -0
  637. package/dist/feature-libraries/sequence-field/helperTypes.d.ts.map +1 -0
  638. package/dist/feature-libraries/sequence-field/helperTypes.js +18 -0
  639. package/dist/feature-libraries/sequence-field/helperTypes.js.map +1 -0
  640. package/dist/feature-libraries/sequence-field/index.d.ts +18 -0
  641. package/dist/feature-libraries/sequence-field/index.d.ts.map +1 -0
  642. package/dist/feature-libraries/sequence-field/index.js +41 -0
  643. package/dist/feature-libraries/sequence-field/index.js.map +1 -0
  644. package/dist/feature-libraries/sequence-field/invert.d.ts +19 -0
  645. package/dist/feature-libraries/sequence-field/invert.d.ts.map +1 -0
  646. package/dist/feature-libraries/sequence-field/invert.js +221 -0
  647. package/dist/feature-libraries/sequence-field/invert.js.map +1 -0
  648. package/dist/feature-libraries/sequence-field/markListFactory.d.ts +21 -0
  649. package/dist/feature-libraries/sequence-field/markListFactory.d.ts.map +1 -0
  650. package/dist/feature-libraries/sequence-field/markListFactory.js +55 -0
  651. package/dist/feature-libraries/sequence-field/markListFactory.js.map +1 -0
  652. package/dist/feature-libraries/sequence-field/markQueue.d.ts +30 -0
  653. package/dist/feature-libraries/sequence-field/markQueue.d.ts.map +1 -0
  654. package/dist/feature-libraries/sequence-field/markQueue.js +74 -0
  655. package/dist/feature-libraries/sequence-field/markQueue.js.map +1 -0
  656. package/dist/feature-libraries/sequence-field/moveEffectTable.d.ts +48 -0
  657. package/dist/feature-libraries/sequence-field/moveEffectTable.d.ts.map +1 -0
  658. package/dist/feature-libraries/sequence-field/moveEffectTable.js +253 -0
  659. package/dist/feature-libraries/sequence-field/moveEffectTable.js.map +1 -0
  660. package/dist/feature-libraries/sequence-field/prune.d.ts +8 -0
  661. package/dist/feature-libraries/sequence-field/prune.d.ts.map +1 -0
  662. package/dist/feature-libraries/sequence-field/prune.js +25 -0
  663. package/dist/feature-libraries/sequence-field/prune.js.map +1 -0
  664. package/dist/feature-libraries/sequence-field/rebase.d.ts +26 -0
  665. package/dist/feature-libraries/sequence-field/rebase.d.ts.map +1 -0
  666. package/dist/feature-libraries/sequence-field/rebase.js +619 -0
  667. package/dist/feature-libraries/sequence-field/rebase.js.map +1 -0
  668. package/dist/feature-libraries/sequence-field/relevantRemovedRoots.d.ts +9 -0
  669. package/dist/feature-libraries/sequence-field/relevantRemovedRoots.d.ts.map +1 -0
  670. package/dist/feature-libraries/sequence-field/relevantRemovedRoots.js +50 -0
  671. package/dist/feature-libraries/sequence-field/relevantRemovedRoots.js.map +1 -0
  672. package/dist/feature-libraries/sequence-field/sequenceFieldChangeHandler.d.ts +10 -0
  673. package/dist/feature-libraries/sequence-field/sequenceFieldChangeHandler.d.ts.map +1 -0
  674. package/dist/feature-libraries/sequence-field/sequenceFieldChangeHandler.js +22 -0
  675. package/dist/feature-libraries/sequence-field/sequenceFieldChangeHandler.js.map +1 -0
  676. package/dist/feature-libraries/sequence-field/sequenceFieldChangeRebaser.d.ts +19 -0
  677. package/dist/feature-libraries/sequence-field/sequenceFieldChangeRebaser.d.ts.map +1 -0
  678. package/dist/feature-libraries/sequence-field/sequenceFieldChangeRebaser.js +19 -0
  679. package/dist/feature-libraries/sequence-field/sequenceFieldChangeRebaser.js.map +1 -0
  680. package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts +10 -0
  681. package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts.map +1 -0
  682. package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.js +239 -0
  683. package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.js.map +1 -0
  684. package/dist/feature-libraries/sequence-field/sequenceFieldEditor.d.ts +33 -0
  685. package/dist/feature-libraries/sequence-field/sequenceFieldEditor.d.ts.map +1 -0
  686. package/dist/feature-libraries/sequence-field/sequenceFieldEditor.js +113 -0
  687. package/dist/feature-libraries/sequence-field/sequenceFieldEditor.js.map +1 -0
  688. package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts +9 -0
  689. package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts.map +1 -0
  690. package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.js +165 -0
  691. package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.js.map +1 -0
  692. package/dist/feature-libraries/sequence-field/types.d.ts +182 -0
  693. package/dist/feature-libraries/sequence-field/types.d.ts.map +1 -0
  694. package/dist/feature-libraries/sequence-field/types.js +9 -0
  695. package/dist/feature-libraries/sequence-field/types.js.map +1 -0
  696. package/dist/feature-libraries/sequence-field/utils.d.ts +198 -0
  697. package/dist/feature-libraries/sequence-field/utils.d.ts.map +1 -0
  698. package/dist/feature-libraries/sequence-field/utils.js +977 -0
  699. package/dist/feature-libraries/sequence-field/utils.js.map +1 -0
  700. package/dist/feature-libraries/storedToViewSchema.d.ts +18 -0
  701. package/dist/feature-libraries/storedToViewSchema.d.ts.map +1 -0
  702. package/dist/feature-libraries/storedToViewSchema.js +70 -0
  703. package/dist/feature-libraries/storedToViewSchema.js.map +1 -0
  704. package/dist/feature-libraries/treeCompressionUtils.d.ts +23 -0
  705. package/dist/feature-libraries/treeCompressionUtils.d.ts.map +1 -0
  706. package/dist/feature-libraries/treeCompressionUtils.js +27 -0
  707. package/dist/feature-libraries/treeCompressionUtils.js.map +1 -0
  708. package/dist/feature-libraries/treeCursorUtils.d.ts +101 -0
  709. package/dist/feature-libraries/treeCursorUtils.d.ts.map +1 -0
  710. package/dist/feature-libraries/treeCursorUtils.js +374 -0
  711. package/dist/feature-libraries/treeCursorUtils.js.map +1 -0
  712. package/dist/feature-libraries/treeTextCursor.d.ts +62 -0
  713. package/dist/feature-libraries/treeTextCursor.d.ts.map +1 -0
  714. package/dist/feature-libraries/treeTextCursor.js +104 -0
  715. package/dist/feature-libraries/treeTextCursor.js.map +1 -0
  716. package/dist/feature-libraries/typed-schema/flexList.d.ts +97 -0
  717. package/dist/feature-libraries/typed-schema/flexList.d.ts.map +1 -0
  718. package/dist/feature-libraries/typed-schema/flexList.js +58 -0
  719. package/dist/feature-libraries/typed-schema/flexList.js.map +1 -0
  720. package/dist/feature-libraries/typed-schema/index.d.ts +11 -0
  721. package/dist/feature-libraries/typed-schema/index.d.ts.map +1 -0
  722. package/dist/feature-libraries/typed-schema/index.js +61 -0
  723. package/dist/feature-libraries/typed-schema/index.js.map +1 -0
  724. package/dist/feature-libraries/typed-schema/internal.d.ts +7 -0
  725. package/dist/feature-libraries/typed-schema/internal.d.ts.map +1 -0
  726. package/dist/feature-libraries/typed-schema/internal.js +7 -0
  727. package/dist/feature-libraries/typed-schema/internal.js.map +1 -0
  728. package/dist/feature-libraries/typed-schema/schemaCollection.d.ts +67 -0
  729. package/dist/feature-libraries/typed-schema/schemaCollection.d.ts.map +1 -0
  730. package/dist/feature-libraries/typed-schema/schemaCollection.js +207 -0
  731. package/dist/feature-libraries/typed-schema/schemaCollection.js.map +1 -0
  732. package/dist/feature-libraries/typed-schema/typeUtils.d.ts +22 -0
  733. package/dist/feature-libraries/typed-schema/typeUtils.d.ts.map +1 -0
  734. package/dist/feature-libraries/typed-schema/typeUtils.js +14 -0
  735. package/dist/feature-libraries/typed-schema/typeUtils.js.map +1 -0
  736. package/dist/feature-libraries/typed-schema/typedTreeSchema.d.ts +294 -0
  737. package/dist/feature-libraries/typed-schema/typedTreeSchema.d.ts.map +1 -0
  738. package/dist/feature-libraries/typed-schema/typedTreeSchema.js +334 -0
  739. package/dist/feature-libraries/typed-schema/typedTreeSchema.js.map +1 -0
  740. package/dist/feature-libraries/typed-schema/view.d.ts +55 -0
  741. package/dist/feature-libraries/typed-schema/view.d.ts.map +1 -0
  742. package/dist/feature-libraries/typed-schema/view.js +117 -0
  743. package/dist/feature-libraries/typed-schema/view.js.map +1 -0
  744. package/dist/feature-libraries/utils.d.ts +9 -0
  745. package/dist/feature-libraries/utils.d.ts.map +1 -0
  746. package/dist/feature-libraries/utils.js +28 -0
  747. package/dist/feature-libraries/utils.js.map +1 -0
  748. package/dist/feature-libraries/valueUtilities.d.ts +21 -0
  749. package/dist/feature-libraries/valueUtilities.d.ts.map +1 -0
  750. package/dist/feature-libraries/valueUtilities.js +70 -0
  751. package/dist/feature-libraries/valueUtilities.js.map +1 -0
  752. package/dist/feature-libraries/versioned/codec.d.ts +11 -0
  753. package/dist/feature-libraries/versioned/codec.d.ts.map +1 -0
  754. package/dist/feature-libraries/versioned/codec.js +31 -0
  755. package/dist/feature-libraries/versioned/codec.js.map +1 -0
  756. package/dist/feature-libraries/versioned/format.d.ts +10 -0
  757. package/dist/feature-libraries/versioned/format.d.ts.map +1 -0
  758. package/dist/feature-libraries/versioned/format.js +12 -0
  759. package/dist/feature-libraries/versioned/format.js.map +1 -0
  760. package/dist/feature-libraries/versioned/index.d.ts +7 -0
  761. package/dist/feature-libraries/versioned/index.d.ts.map +1 -0
  762. package/dist/feature-libraries/versioned/index.js +13 -0
  763. package/dist/feature-libraries/versioned/index.js.map +1 -0
  764. package/dist/index.d.ts +21 -0
  765. package/dist/index.d.ts.map +1 -0
  766. package/dist/index.js +133 -0
  767. package/dist/index.js.map +1 -0
  768. package/dist/internal.d.ts +8 -0
  769. package/dist/internal.d.ts.map +1 -0
  770. package/dist/internal.js +11 -0
  771. package/dist/internal.js.map +1 -0
  772. package/dist/shared-tree/index.d.ts +10 -0
  773. package/dist/shared-tree/index.d.ts.map +1 -0
  774. package/dist/shared-tree/index.js +19 -0
  775. package/dist/shared-tree/index.js.map +1 -0
  776. package/dist/shared-tree/schematizedTree.d.ts +94 -0
  777. package/dist/shared-tree/schematizedTree.d.ts.map +1 -0
  778. package/dist/shared-tree/schematizedTree.js +158 -0
  779. package/dist/shared-tree/schematizedTree.js.map +1 -0
  780. package/dist/shared-tree/sharedTree.d.ts +143 -0
  781. package/dist/shared-tree/sharedTree.d.ts.map +1 -0
  782. package/dist/shared-tree/sharedTree.js +220 -0
  783. package/dist/shared-tree/sharedTree.js.map +1 -0
  784. package/dist/shared-tree/sharedTreeChangeCodecs.d.ts +11 -0
  785. package/dist/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -0
  786. package/dist/shared-tree/sharedTreeChangeCodecs.js +59 -0
  787. package/dist/shared-tree/sharedTreeChangeCodecs.js.map +1 -0
  788. package/dist/shared-tree/sharedTreeChangeFamily.d.ts +25 -0
  789. package/dist/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -0
  790. package/dist/shared-tree/sharedTreeChangeFamily.js +120 -0
  791. package/dist/shared-tree/sharedTreeChangeFamily.js.map +1 -0
  792. package/dist/shared-tree/sharedTreeChangeFormat.d.ts +178 -0
  793. package/dist/shared-tree/sharedTreeChangeFormat.d.ts.map +1 -0
  794. package/dist/shared-tree/sharedTreeChangeFormat.js +15 -0
  795. package/dist/shared-tree/sharedTreeChangeFormat.js.map +1 -0
  796. package/dist/shared-tree/sharedTreeChangeTypes.d.ts +26 -0
  797. package/dist/shared-tree/sharedTreeChangeTypes.d.ts.map +1 -0
  798. package/dist/shared-tree/sharedTreeChangeTypes.js +7 -0
  799. package/dist/shared-tree/sharedTreeChangeTypes.js.map +1 -0
  800. package/dist/shared-tree/sharedTreeEditBuilder.d.ts +42 -0
  801. package/dist/shared-tree/sharedTreeEditBuilder.d.ts.map +1 -0
  802. package/dist/shared-tree/sharedTreeEditBuilder.js +34 -0
  803. package/dist/shared-tree/sharedTreeEditBuilder.js.map +1 -0
  804. package/dist/shared-tree/treeCheckout.d.ts +228 -0
  805. package/dist/shared-tree/treeCheckout.d.ts.map +1 -0
  806. package/dist/shared-tree/treeCheckout.js +190 -0
  807. package/dist/shared-tree/treeCheckout.js.map +1 -0
  808. package/dist/shared-tree/treeView.d.ts +66 -0
  809. package/dist/shared-tree/treeView.d.ts.map +1 -0
  810. package/dist/shared-tree/treeView.js +33 -0
  811. package/dist/shared-tree/treeView.js.map +1 -0
  812. package/dist/shared-tree-core/branch.d.ts +199 -0
  813. package/dist/shared-tree-core/branch.d.ts.map +1 -0
  814. package/dist/shared-tree-core/branch.js +413 -0
  815. package/dist/shared-tree-core/branch.js.map +1 -0
  816. package/dist/shared-tree-core/editManager.d.ts +126 -0
  817. package/dist/shared-tree-core/editManager.d.ts.map +1 -0
  818. package/dist/shared-tree-core/editManager.js +435 -0
  819. package/dist/shared-tree-core/editManager.js.map +1 -0
  820. package/dist/shared-tree-core/editManagerCodecs.d.ts +9 -0
  821. package/dist/shared-tree-core/editManagerCodecs.d.ts.map +1 -0
  822. package/dist/shared-tree-core/editManagerCodecs.js +52 -0
  823. package/dist/shared-tree-core/editManagerCodecs.js.map +1 -0
  824. package/dist/shared-tree-core/editManagerFormat.d.ts +68 -0
  825. package/dist/shared-tree-core/editManagerFormat.d.ts.map +1 -0
  826. package/dist/shared-tree-core/editManagerFormat.js +58 -0
  827. package/dist/shared-tree-core/editManagerFormat.js.map +1 -0
  828. package/dist/shared-tree-core/editManagerSummarizer.d.ts +25 -0
  829. package/dist/shared-tree-core/editManagerSummarizer.d.ts.map +1 -0
  830. package/dist/shared-tree-core/editManagerSummarizer.js +56 -0
  831. package/dist/shared-tree-core/editManagerSummarizer.js.map +1 -0
  832. package/dist/shared-tree-core/index.d.ts +13 -0
  833. package/dist/shared-tree-core/index.d.ts.map +1 -0
  834. package/dist/shared-tree-core/index.js +25 -0
  835. package/dist/shared-tree-core/index.js.map +1 -0
  836. package/dist/shared-tree-core/messageCodecs.d.ts +9 -0
  837. package/dist/shared-tree-core/messageCodecs.d.ts.map +1 -0
  838. package/dist/shared-tree-core/messageCodecs.js +35 -0
  839. package/dist/shared-tree-core/messageCodecs.js.map +1 -0
  840. package/dist/shared-tree-core/messageFormat.d.ts +30 -0
  841. package/dist/shared-tree-core/messageFormat.d.ts.map +1 -0
  842. package/dist/shared-tree-core/messageFormat.js +16 -0
  843. package/dist/shared-tree-core/messageFormat.js.map +1 -0
  844. package/dist/shared-tree-core/messageTypes.d.ts +10 -0
  845. package/dist/shared-tree-core/messageTypes.d.ts.map +1 -0
  846. package/dist/shared-tree-core/messageTypes.js +7 -0
  847. package/dist/shared-tree-core/messageTypes.js.map +1 -0
  848. package/dist/shared-tree-core/revisionTagCodecs.d.ts +11 -0
  849. package/dist/shared-tree-core/revisionTagCodecs.d.ts.map +1 -0
  850. package/dist/shared-tree-core/revisionTagCodecs.js +17 -0
  851. package/dist/shared-tree-core/revisionTagCodecs.js.map +1 -0
  852. package/dist/shared-tree-core/sharedTreeCore.d.ts +112 -0
  853. package/dist/shared-tree-core/sharedTreeCore.d.ts.map +1 -0
  854. package/dist/shared-tree-core/sharedTreeCore.js +197 -0
  855. package/dist/shared-tree-core/sharedTreeCore.js.map +1 -0
  856. package/dist/shared-tree-core/transactionStack.d.ts +30 -0
  857. package/dist/shared-tree-core/transactionStack.d.ts.map +1 -0
  858. package/dist/shared-tree-core/transactionStack.js +42 -0
  859. package/dist/shared-tree-core/transactionStack.js.map +1 -0
  860. package/dist/simple-tree/flexNode.d.ts +34 -0
  861. package/dist/simple-tree/flexNode.d.ts.map +1 -0
  862. package/dist/simple-tree/flexNode.js +57 -0
  863. package/dist/simple-tree/flexNode.js.map +1 -0
  864. package/dist/simple-tree/index.d.ts +10 -0
  865. package/dist/simple-tree/index.d.ts.map +1 -0
  866. package/dist/simple-tree/index.js +17 -0
  867. package/dist/simple-tree/index.js.map +1 -0
  868. package/dist/simple-tree/insertable.d.ts +44 -0
  869. package/dist/simple-tree/insertable.d.ts.map +1 -0
  870. package/dist/simple-tree/insertable.js +7 -0
  871. package/dist/simple-tree/insertable.js.map +1 -0
  872. package/dist/simple-tree/objectFactory.d.ts +30 -0
  873. package/dist/simple-tree/objectFactory.d.ts.map +1 -0
  874. package/dist/simple-tree/objectFactory.js +20 -0
  875. package/dist/simple-tree/objectFactory.js.map +1 -0
  876. package/dist/simple-tree/proxies.d.ts +112 -0
  877. package/dist/simple-tree/proxies.d.ts.map +1 -0
  878. package/dist/simple-tree/proxies.js +811 -0
  879. package/dist/simple-tree/proxies.js.map +1 -0
  880. package/dist/simple-tree/rawNode.d.ts +96 -0
  881. package/dist/simple-tree/rawNode.d.ts.map +1 -0
  882. package/dist/simple-tree/rawNode.js +141 -0
  883. package/dist/simple-tree/rawNode.js.map +1 -0
  884. package/dist/simple-tree/toMapTree.d.ts +101 -0
  885. package/dist/simple-tree/toMapTree.d.ts.map +1 -0
  886. package/dist/simple-tree/toMapTree.js +299 -0
  887. package/dist/simple-tree/toMapTree.js.map +1 -0
  888. package/dist/simple-tree/treeListNode.d.ts +60 -0
  889. package/dist/simple-tree/treeListNode.d.ts.map +1 -0
  890. package/dist/simple-tree/treeListNode.js +53 -0
  891. package/dist/simple-tree/treeListNode.js.map +1 -0
  892. package/dist/simple-tree/types.d.ts +243 -0
  893. package/dist/simple-tree/types.d.ts.map +1 -0
  894. package/dist/simple-tree/types.js +21 -0
  895. package/dist/simple-tree/types.js.map +1 -0
  896. package/dist/tree-alpha.d.ts +1789 -0
  897. package/dist/tree-beta.d.ts +1789 -0
  898. package/dist/tree-public.d.ts +728 -0
  899. package/dist/tree-untrimmed.d.ts +6411 -0
  900. package/dist/treeFactory.d.ts +55 -0
  901. package/dist/treeFactory.d.ts.map +1 -0
  902. package/dist/treeFactory.js +85 -0
  903. package/dist/treeFactory.js.map +1 -0
  904. package/dist/tsdoc-metadata.json +11 -0
  905. package/dist/util/brand.d.ts +179 -0
  906. package/dist/util/brand.d.ts.map +1 -0
  907. package/dist/util/brand.js +130 -0
  908. package/dist/util/brand.js.map +1 -0
  909. package/dist/util/brandedMap.d.ts +46 -0
  910. package/dist/util/brandedMap.d.ts.map +1 -0
  911. package/dist/util/brandedMap.js +32 -0
  912. package/dist/util/brandedMap.js.map +1 -0
  913. package/dist/util/idAllocator.d.ts +29 -0
  914. package/dist/util/idAllocator.d.ts.map +1 -0
  915. package/dist/util/idAllocator.js +34 -0
  916. package/dist/util/idAllocator.js.map +1 -0
  917. package/dist/util/index.d.ts +18 -0
  918. package/dist/util/index.d.ts.map +1 -0
  919. package/dist/util/index.js +82 -0
  920. package/dist/util/index.js.map +1 -0
  921. package/dist/util/nestedMap.d.ts +129 -0
  922. package/dist/util/nestedMap.d.ts.map +1 -0
  923. package/dist/util/nestedMap.js +239 -0
  924. package/dist/util/nestedMap.js.map +1 -0
  925. package/dist/util/nestedSet.d.ts +9 -0
  926. package/dist/util/nestedSet.d.ts.map +1 -0
  927. package/dist/util/nestedSet.js +17 -0
  928. package/dist/util/nestedSet.js.map +1 -0
  929. package/dist/util/offsetList.d.ts +22 -0
  930. package/dist/util/offsetList.d.ts.map +1 -0
  931. package/dist/util/offsetList.js +44 -0
  932. package/dist/util/offsetList.js.map +1 -0
  933. package/dist/util/rangeMap.d.ts +40 -0
  934. package/dist/util/rangeMap.d.ts.map +1 -0
  935. package/dist/util/rangeMap.js +103 -0
  936. package/dist/util/rangeMap.js.map +1 -0
  937. package/dist/util/referenceCounting.d.ts +30 -0
  938. package/dist/util/referenceCounting.d.ts.map +1 -0
  939. package/dist/util/referenceCounting.js +34 -0
  940. package/dist/util/referenceCounting.js.map +1 -0
  941. package/dist/util/stackyIterator.d.ts +20 -0
  942. package/dist/util/stackyIterator.d.ts.map +1 -0
  943. package/dist/util/stackyIterator.js +49 -0
  944. package/dist/util/stackyIterator.js.map +1 -0
  945. package/dist/util/transactionResult.d.ts +20 -0
  946. package/dist/util/transactionResult.d.ts.map +1 -0
  947. package/dist/util/transactionResult.js +24 -0
  948. package/dist/util/transactionResult.js.map +1 -0
  949. package/dist/util/typeCheck.d.ts +183 -0
  950. package/dist/util/typeCheck.d.ts.map +1 -0
  951. package/dist/util/typeCheck.js +7 -0
  952. package/dist/util/typeCheck.js.map +1 -0
  953. package/dist/util/typeCheckTests.d.ts +60 -0
  954. package/dist/util/typeCheckTests.d.ts.map +1 -0
  955. package/dist/util/typeCheckTests.js +7 -0
  956. package/dist/util/typeCheckTests.js.map +1 -0
  957. package/dist/util/typeUtils.d.ts +129 -0
  958. package/dist/util/typeUtils.d.ts.map +1 -0
  959. package/dist/util/typeUtils.js +11 -0
  960. package/dist/util/typeUtils.js.map +1 -0
  961. package/dist/util/utils.d.ts +287 -0
  962. package/dist/util/utils.d.ts.map +1 -0
  963. package/dist/util/utils.js +376 -0
  964. package/dist/util/utils.js.map +1 -0
  965. package/docs/.attachments/UndoAfterCollab.png +0 -0
  966. package/docs/.attachments/UndoAfterCollabFast.png +0 -0
  967. package/docs/.attachments/UndoDangerZone.drawio +1 -0
  968. package/docs/.attachments/UndoDuringCollab.png +0 -0
  969. package/docs/.attachments/children.drawio.svg +297 -0
  970. package/docs/.attachments/data-model.drawio.svg +654 -0
  971. package/docs/.attachments/explicit-sequence.drawio.svg +180 -0
  972. package/docs/.attachments/implicit-sequence.drawio.svg +106 -0
  973. package/docs/.attachments/root.drawio.svg +32 -0
  974. package/docs/.attachments/scalar-nodes.drawio.svg +87 -0
  975. package/docs/.markdownlint.json +4 -0
  976. package/docs/README.md +22 -0
  977. package/docs/main/cell-model-of-collaborative-editing.md +225 -0
  978. package/docs/main/compatibility.md +149 -0
  979. package/docs/main/data-model.md +191 -0
  980. package/docs/main/indexes-and-branches.md +143 -0
  981. package/docs/main/modular-change-family.md +125 -0
  982. package/docs/main/repair-data.md +275 -0
  983. package/docs/main/schema2.md +141 -0
  984. package/docs/main/semantic-format.md +315 -0
  985. package/docs/main/stored-and-view-schema-options.md +120 -0
  986. package/docs/main/stored-and-view-schema.md +331 -0
  987. package/docs/main/tree-content-apis.md +104 -0
  988. package/docs/main/tree-storage.md +816 -0
  989. package/docs/main/undo.md +191 -0
  990. package/docs/main/v1-undo-example-flow.md +273 -0
  991. package/docs/main/v1-undo.md +591 -0
  992. package/docs/roadmap.md +419 -0
  993. package/docs/wip/anchorInterfaces.ts +81 -0
  994. package/docs/wip/changeset.ts +1239 -0
  995. package/docs/wip/inverse-changes.md +876 -0
  996. package/lib/class-tree/index.d.ts +15 -0
  997. package/lib/class-tree/index.d.ts.map +1 -0
  998. package/lib/class-tree/index.js +18 -0
  999. package/lib/class-tree/index.js.map +1 -0
  1000. package/lib/class-tree/integerIndexable.d.ts +31 -0
  1001. package/lib/class-tree/integerIndexable.d.ts.map +1 -0
  1002. package/lib/class-tree/integerIndexable.js +92 -0
  1003. package/lib/class-tree/integerIndexable.js.map +1 -0
  1004. package/lib/class-tree/internal.d.ts +6 -0
  1005. package/lib/class-tree/internal.d.ts.map +1 -0
  1006. package/lib/class-tree/internal.js +7 -0
  1007. package/lib/class-tree/internal.js.map +1 -0
  1008. package/lib/class-tree/schemaCreationUtilities.d.ts +96 -0
  1009. package/lib/class-tree/schemaCreationUtilities.d.ts.map +1 -0
  1010. package/lib/class-tree/schemaCreationUtilities.js +130 -0
  1011. package/lib/class-tree/schemaCreationUtilities.js.map +1 -0
  1012. package/lib/class-tree/schemaFactory.d.ts +225 -0
  1013. package/lib/class-tree/schemaFactory.d.ts.map +1 -0
  1014. package/lib/class-tree/schemaFactory.js +325 -0
  1015. package/lib/class-tree/schemaFactory.js.map +1 -0
  1016. package/lib/class-tree/schemaFactoryRecursive.d.ts +41 -0
  1017. package/lib/class-tree/schemaFactoryRecursive.d.ts.map +1 -0
  1018. package/lib/class-tree/schemaFactoryRecursive.js +62 -0
  1019. package/lib/class-tree/schemaFactoryRecursive.js.map +1 -0
  1020. package/lib/class-tree/schemaTypes.d.ts +237 -0
  1021. package/lib/class-tree/schemaTypes.d.ts.map +1 -0
  1022. package/lib/class-tree/schemaTypes.js +67 -0
  1023. package/lib/class-tree/schemaTypes.js.map +1 -0
  1024. package/lib/class-tree/testRecursiveDomain.d.ts +28 -0
  1025. package/lib/class-tree/testRecursiveDomain.d.ts.map +1 -0
  1026. package/lib/class-tree/testRecursiveDomain.js +36 -0
  1027. package/lib/class-tree/testRecursiveDomain.js.map +1 -0
  1028. package/lib/class-tree/toFlexSchema.d.ts +58 -0
  1029. package/lib/class-tree/toFlexSchema.d.ts.map +1 -0
  1030. package/lib/class-tree/toFlexSchema.js +195 -0
  1031. package/lib/class-tree/toFlexSchema.js.map +1 -0
  1032. package/lib/class-tree/tree.d.ts +98 -0
  1033. package/lib/class-tree/tree.d.ts.map +1 -0
  1034. package/lib/class-tree/tree.js +41 -0
  1035. package/lib/class-tree/tree.js.map +1 -0
  1036. package/lib/class-tree/treeApi.d.ts +69 -0
  1037. package/lib/class-tree/treeApi.d.ts.map +1 -0
  1038. package/lib/class-tree/treeApi.js +53 -0
  1039. package/lib/class-tree/treeApi.js.map +1 -0
  1040. package/lib/codec/codec.d.ts +214 -0
  1041. package/lib/codec/codec.d.ts.map +1 -0
  1042. package/lib/codec/codec.js +160 -0
  1043. package/lib/codec/codec.js.map +1 -0
  1044. package/lib/codec/discriminatedUnions.d.ts +82 -0
  1045. package/lib/codec/discriminatedUnions.d.ts.map +1 -0
  1046. package/lib/codec/discriminatedUnions.js +87 -0
  1047. package/lib/codec/discriminatedUnions.js.map +1 -0
  1048. package/lib/codec/index.d.ts +8 -0
  1049. package/lib/codec/index.d.ts.map +1 -0
  1050. package/lib/codec/index.js +8 -0
  1051. package/lib/codec/index.js.map +1 -0
  1052. package/lib/codec/noopValidator.d.ts +13 -0
  1053. package/lib/codec/noopValidator.d.ts.map +1 -0
  1054. package/lib/codec/noopValidator.js +14 -0
  1055. package/lib/codec/noopValidator.js.map +1 -0
  1056. package/lib/core/change-family/changeFamily.d.ts +32 -0
  1057. package/lib/core/change-family/changeFamily.d.ts.map +1 -0
  1058. package/lib/core/change-family/changeFamily.js +6 -0
  1059. package/lib/core/change-family/changeFamily.js.map +1 -0
  1060. package/lib/core/change-family/editBuilder.d.ts +19 -0
  1061. package/lib/core/change-family/editBuilder.d.ts.map +1 -0
  1062. package/lib/core/change-family/editBuilder.js +21 -0
  1063. package/lib/core/change-family/editBuilder.js.map +1 -0
  1064. package/lib/core/change-family/index.d.ts +7 -0
  1065. package/lib/core/change-family/index.d.ts.map +1 -0
  1066. package/lib/core/change-family/index.js +6 -0
  1067. package/lib/core/change-family/index.js.map +1 -0
  1068. package/lib/core/forest/editableForest.d.ts +54 -0
  1069. package/lib/core/forest/editableForest.d.ts.map +1 -0
  1070. package/lib/core/forest/editableForest.js +22 -0
  1071. package/lib/core/forest/editableForest.js.map +1 -0
  1072. package/lib/core/forest/forest.d.ts +200 -0
  1073. package/lib/core/forest/forest.d.ts.map +1 -0
  1074. package/lib/core/forest/forest.js +61 -0
  1075. package/lib/core/forest/forest.js.map +1 -0
  1076. package/lib/core/forest/index.d.ts +7 -0
  1077. package/lib/core/forest/index.d.ts.map +1 -0
  1078. package/lib/core/forest/index.js +7 -0
  1079. package/lib/core/forest/index.js.map +1 -0
  1080. package/lib/core/index.d.ts +12 -0
  1081. package/lib/core/index.d.ts.map +1 -0
  1082. package/lib/core/index.js +12 -0
  1083. package/lib/core/index.js.map +1 -0
  1084. package/lib/core/rebase/changeRebaser.d.ts +132 -0
  1085. package/lib/core/rebase/changeRebaser.d.ts.map +1 -0
  1086. package/lib/core/rebase/changeRebaser.js +27 -0
  1087. package/lib/core/rebase/changeRebaser.js.map +1 -0
  1088. package/lib/core/rebase/index.d.ts +9 -0
  1089. package/lib/core/rebase/index.d.ts.map +1 -0
  1090. package/lib/core/rebase/index.js +9 -0
  1091. package/lib/core/rebase/index.js.map +1 -0
  1092. package/lib/core/rebase/types.d.ts +93 -0
  1093. package/lib/core/rebase/types.d.ts.map +1 -0
  1094. package/lib/core/rebase/types.js +51 -0
  1095. package/lib/core/rebase/types.js.map +1 -0
  1096. package/lib/core/rebase/utils.d.ts +215 -0
  1097. package/lib/core/rebase/utils.d.ts.map +1 -0
  1098. package/lib/core/rebase/utils.js +288 -0
  1099. package/lib/core/rebase/utils.js.map +1 -0
  1100. package/lib/core/rebase/verifyChangeRebaser.d.ts +76 -0
  1101. package/lib/core/rebase/verifyChangeRebaser.d.ts.map +1 -0
  1102. package/lib/core/rebase/verifyChangeRebaser.js +287 -0
  1103. package/lib/core/rebase/verifyChangeRebaser.js.map +1 -0
  1104. package/lib/core/revertible/index.d.ts +6 -0
  1105. package/lib/core/revertible/index.d.ts.map +1 -0
  1106. package/lib/core/revertible/index.js +6 -0
  1107. package/lib/core/revertible/index.js.map +1 -0
  1108. package/lib/core/revertible/revertible.d.ts +72 -0
  1109. package/lib/core/revertible/revertible.d.ts.map +1 -0
  1110. package/lib/core/revertible/revertible.js +48 -0
  1111. package/lib/core/revertible/revertible.js.map +1 -0
  1112. package/lib/core/schema-stored/format.d.ts +97 -0
  1113. package/lib/core/schema-stored/format.d.ts.map +1 -0
  1114. package/lib/core/schema-stored/format.js +62 -0
  1115. package/lib/core/schema-stored/format.js.map +1 -0
  1116. package/lib/core/schema-stored/index.d.ts +10 -0
  1117. package/lib/core/schema-stored/index.d.ts.map +1 -0
  1118. package/lib/core/schema-stored/index.js +9 -0
  1119. package/lib/core/schema-stored/index.js.map +1 -0
  1120. package/lib/core/schema-stored/schema.d.ts +195 -0
  1121. package/lib/core/schema-stored/schema.d.ts.map +1 -0
  1122. package/lib/core/schema-stored/schema.js +165 -0
  1123. package/lib/core/schema-stored/schema.js.map +1 -0
  1124. package/lib/core/schema-stored/storedSchemaRepository.d.ts +71 -0
  1125. package/lib/core/schema-stored/storedSchemaRepository.d.ts.map +1 -0
  1126. package/lib/core/schema-stored/storedSchemaRepository.js +73 -0
  1127. package/lib/core/schema-stored/storedSchemaRepository.js.map +1 -0
  1128. package/lib/core/schema-view/index.d.ts +6 -0
  1129. package/lib/core/schema-view/index.d.ts.map +1 -0
  1130. package/lib/core/schema-view/index.js +6 -0
  1131. package/lib/core/schema-view/index.js.map +1 -0
  1132. package/lib/core/schema-view/view.d.ts +64 -0
  1133. package/lib/core/schema-view/view.d.ts.map +1 -0
  1134. package/lib/core/schema-view/view.js +51 -0
  1135. package/lib/core/schema-view/view.js.map +1 -0
  1136. package/lib/core/tree/anchorSet.d.ts +318 -0
  1137. package/lib/core/tree/anchorSet.d.ts.map +1 -0
  1138. package/lib/core/tree/anchorSet.js +890 -0
  1139. package/lib/core/tree/anchorSet.js.map +1 -0
  1140. package/lib/core/tree/cursor.d.ts +358 -0
  1141. package/lib/core/tree/cursor.d.ts.map +1 -0
  1142. package/lib/core/tree/cursor.js +156 -0
  1143. package/lib/core/tree/cursor.js.map +1 -0
  1144. package/lib/core/tree/delta.d.ts +241 -0
  1145. package/lib/core/tree/delta.d.ts.map +1 -0
  1146. package/lib/core/tree/delta.js +6 -0
  1147. package/lib/core/tree/delta.js.map +1 -0
  1148. package/lib/core/tree/deltaUtil.d.ts +19 -0
  1149. package/lib/core/tree/deltaUtil.d.ts.map +1 -0
  1150. package/lib/core/tree/deltaUtil.js +70 -0
  1151. package/lib/core/tree/deltaUtil.js.map +1 -0
  1152. package/lib/core/tree/detachedFieldIndex.d.ts +64 -0
  1153. package/lib/core/tree/detachedFieldIndex.d.ts.map +1 -0
  1154. package/lib/core/tree/detachedFieldIndex.js +115 -0
  1155. package/lib/core/tree/detachedFieldIndex.js.map +1 -0
  1156. package/lib/core/tree/detachedFieldIndexCodec.d.ts +8 -0
  1157. package/lib/core/tree/detachedFieldIndexCodec.d.ts.map +1 -0
  1158. package/lib/core/tree/detachedFieldIndexCodec.js +49 -0
  1159. package/lib/core/tree/detachedFieldIndexCodec.js.map +1 -0
  1160. package/lib/core/tree/detachedFieldIndexFormat.d.ts +18 -0
  1161. package/lib/core/tree/detachedFieldIndexFormat.d.ts.map +1 -0
  1162. package/lib/core/tree/detachedFieldIndexFormat.js +22 -0
  1163. package/lib/core/tree/detachedFieldIndexFormat.js.map +1 -0
  1164. package/lib/core/tree/detachedFieldIndexTypes.d.ts +13 -0
  1165. package/lib/core/tree/detachedFieldIndexTypes.d.ts.map +1 -0
  1166. package/lib/core/tree/detachedFieldIndexTypes.js +6 -0
  1167. package/lib/core/tree/detachedFieldIndexTypes.js.map +1 -0
  1168. package/lib/core/tree/index.d.ts +19 -0
  1169. package/lib/core/tree/index.d.ts.map +1 -0
  1170. package/lib/core/tree/index.js +17 -0
  1171. package/lib/core/tree/index.js.map +1 -0
  1172. package/lib/core/tree/mapTree.d.ts +22 -0
  1173. package/lib/core/tree/mapTree.d.ts.map +1 -0
  1174. package/lib/core/tree/mapTree.js +21 -0
  1175. package/lib/core/tree/mapTree.js.map +1 -0
  1176. package/lib/core/tree/pathTree.d.ts +156 -0
  1177. package/lib/core/tree/pathTree.d.ts.map +1 -0
  1178. package/lib/core/tree/pathTree.js +90 -0
  1179. package/lib/core/tree/pathTree.js.map +1 -0
  1180. package/lib/core/tree/persistedTreeTextFormat.d.ts +93 -0
  1181. package/lib/core/tree/persistedTreeTextFormat.d.ts.map +1 -0
  1182. package/lib/core/tree/persistedTreeTextFormat.js +20 -0
  1183. package/lib/core/tree/persistedTreeTextFormat.js.map +1 -0
  1184. package/lib/core/tree/sparseTree.d.ts +91 -0
  1185. package/lib/core/tree/sparseTree.d.ts.map +1 -0
  1186. package/lib/core/tree/sparseTree.js +144 -0
  1187. package/lib/core/tree/sparseTree.js.map +1 -0
  1188. package/lib/core/tree/treeTextFormat.d.ts +94 -0
  1189. package/lib/core/tree/treeTextFormat.d.ts.map +1 -0
  1190. package/lib/core/tree/treeTextFormat.js +81 -0
  1191. package/lib/core/tree/treeTextFormat.js.map +1 -0
  1192. package/lib/core/tree/types.d.ts +145 -0
  1193. package/lib/core/tree/types.d.ts.map +1 -0
  1194. package/lib/core/tree/types.js +55 -0
  1195. package/lib/core/tree/types.js.map +1 -0
  1196. package/lib/core/tree/visitDelta.d.ts +135 -0
  1197. package/lib/core/tree/visitDelta.d.ts.map +1 -0
  1198. package/lib/core/tree/visitDelta.js +300 -0
  1199. package/lib/core/tree/visitDelta.js.map +1 -0
  1200. package/lib/core/tree/visitPath.d.ts +103 -0
  1201. package/lib/core/tree/visitPath.d.ts.map +1 -0
  1202. package/lib/core/tree/visitPath.js +2 -0
  1203. package/lib/core/tree/visitPath.js.map +1 -0
  1204. package/lib/core/tree/visitorUtils.d.ts +37 -0
  1205. package/lib/core/tree/visitorUtils.d.ts.map +1 -0
  1206. package/lib/core/tree/visitorUtils.js +53 -0
  1207. package/lib/core/tree/visitorUtils.js.map +1 -0
  1208. package/lib/domains/index.d.ts +9 -0
  1209. package/lib/domains/index.d.ts.map +1 -0
  1210. package/lib/domains/index.js +9 -0
  1211. package/lib/domains/index.js.map +1 -0
  1212. package/lib/domains/json/index.d.ts +7 -0
  1213. package/lib/domains/json/index.d.ts.map +1 -0
  1214. package/lib/domains/json/index.js +7 -0
  1215. package/lib/domains/json/index.js.map +1 -0
  1216. package/lib/domains/json/jsonCursor.d.ts +18 -0
  1217. package/lib/domains/json/jsonCursor.d.ts.map +1 -0
  1218. package/lib/domains/json/jsonCursor.js +120 -0
  1219. package/lib/domains/json/jsonCursor.js.map +1 -0
  1220. package/lib/domains/json/jsonDomainSchema.d.ts +14 -0
  1221. package/lib/domains/json/jsonDomainSchema.d.ts.map +1 -0
  1222. package/lib/domains/json/jsonDomainSchema.js +21 -0
  1223. package/lib/domains/json/jsonDomainSchema.js.map +1 -0
  1224. package/lib/domains/leafDomain.d.ts +73 -0
  1225. package/lib/domains/leafDomain.d.ts.map +1 -0
  1226. package/lib/domains/leafDomain.js +86 -0
  1227. package/lib/domains/leafDomain.js.map +1 -0
  1228. package/lib/domains/nodeKey/index.d.ts +6 -0
  1229. package/lib/domains/nodeKey/index.d.ts.map +1 -0
  1230. package/lib/domains/nodeKey/index.js +6 -0
  1231. package/lib/domains/nodeKey/index.js.map +1 -0
  1232. package/lib/domains/nodeKey/nodeKeySchema.d.ts +30 -0
  1233. package/lib/domains/nodeKey/nodeKeySchema.d.ts.map +1 -0
  1234. package/lib/domains/nodeKey/nodeKeySchema.js +33 -0
  1235. package/lib/domains/nodeKey/nodeKeySchema.js.map +1 -0
  1236. package/lib/domains/schemaBuilder.d.ts +190 -0
  1237. package/lib/domains/schemaBuilder.d.ts.map +1 -0
  1238. package/lib/domains/schemaBuilder.js +199 -0
  1239. package/lib/domains/schemaBuilder.js.map +1 -0
  1240. package/lib/domains/testRecursiveDomain.d.ts +21 -0
  1241. package/lib/domains/testRecursiveDomain.d.ts.map +1 -0
  1242. package/lib/domains/testRecursiveDomain.js +39 -0
  1243. package/lib/domains/testRecursiveDomain.js.map +1 -0
  1244. package/lib/events/events.d.ts +187 -0
  1245. package/lib/events/events.d.ts.map +1 -0
  1246. package/lib/events/events.js +119 -0
  1247. package/lib/events/events.js.map +1 -0
  1248. package/lib/events/index.d.ts +6 -0
  1249. package/lib/events/index.d.ts.map +1 -0
  1250. package/lib/events/index.js +6 -0
  1251. package/lib/events/index.js.map +1 -0
  1252. package/lib/external-utilities/index.d.ts +6 -0
  1253. package/lib/external-utilities/index.d.ts.map +1 -0
  1254. package/lib/external-utilities/index.js +6 -0
  1255. package/lib/external-utilities/index.js.map +1 -0
  1256. package/lib/external-utilities/typeboxValidator.d.ts +18 -0
  1257. package/lib/external-utilities/typeboxValidator.d.ts.map +1 -0
  1258. package/lib/external-utilities/typeboxValidator.js +27 -0
  1259. package/lib/external-utilities/typeboxValidator.js.map +1 -0
  1260. package/lib/feature-libraries/chunked-forest/basicChunk.d.ts +111 -0
  1261. package/lib/feature-libraries/chunked-forest/basicChunk.d.ts.map +1 -0
  1262. package/lib/feature-libraries/chunked-forest/basicChunk.js +455 -0
  1263. package/lib/feature-libraries/chunked-forest/basicChunk.js.map +1 -0
  1264. package/lib/feature-libraries/chunked-forest/chunk.d.ts +89 -0
  1265. package/lib/feature-libraries/chunked-forest/chunk.d.ts.map +1 -0
  1266. package/lib/feature-libraries/chunked-forest/chunk.js +24 -0
  1267. package/lib/feature-libraries/chunked-forest/chunk.js.map +1 -0
  1268. package/lib/feature-libraries/chunked-forest/chunkTree.d.ts +156 -0
  1269. package/lib/feature-libraries/chunked-forest/chunkTree.d.ts.map +1 -0
  1270. package/lib/feature-libraries/chunked-forest/chunkTree.js +340 -0
  1271. package/lib/feature-libraries/chunked-forest/chunkTree.js.map +1 -0
  1272. package/lib/feature-libraries/chunked-forest/chunkedForest.d.ts +57 -0
  1273. package/lib/feature-libraries/chunked-forest/chunkedForest.d.ts.map +1 -0
  1274. package/lib/feature-libraries/chunked-forest/chunkedForest.js +295 -0
  1275. package/lib/feature-libraries/chunked-forest/chunkedForest.js.map +1 -0
  1276. package/lib/feature-libraries/chunked-forest/codec/chunkCodecUtilities.d.ts +114 -0
  1277. package/lib/feature-libraries/chunked-forest/codec/chunkCodecUtilities.d.ts.map +1 -0
  1278. package/lib/feature-libraries/chunked-forest/codec/chunkCodecUtilities.js +124 -0
  1279. package/lib/feature-libraries/chunked-forest/codec/chunkCodecUtilities.js.map +1 -0
  1280. package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts +61 -0
  1281. package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts.map +1 -0
  1282. package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.js +209 -0
  1283. package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.js.map +1 -0
  1284. package/lib/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.d.ts +30 -0
  1285. package/lib/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.d.ts.map +1 -0
  1286. package/lib/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.js +47 -0
  1287. package/lib/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.js.map +1 -0
  1288. package/lib/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts +81 -0
  1289. package/lib/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts.map +1 -0
  1290. package/lib/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.js +120 -0
  1291. package/lib/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.js.map +1 -0
  1292. package/lib/feature-libraries/chunked-forest/codec/codecs.d.ts +32 -0
  1293. package/lib/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -0
  1294. package/lib/feature-libraries/chunked-forest/codec/codecs.js +63 -0
  1295. package/lib/feature-libraries/chunked-forest/codec/codecs.js.map +1 -0
  1296. package/lib/feature-libraries/chunked-forest/codec/compressedEncode.d.ts +149 -0
  1297. package/lib/feature-libraries/chunked-forest/codec/compressedEncode.d.ts.map +1 -0
  1298. package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js +269 -0
  1299. package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -0
  1300. package/lib/feature-libraries/chunked-forest/codec/fieldBatch.d.ts +11 -0
  1301. package/lib/feature-libraries/chunked-forest/codec/fieldBatch.d.ts.map +1 -0
  1302. package/lib/feature-libraries/chunked-forest/codec/fieldBatch.js +6 -0
  1303. package/lib/feature-libraries/chunked-forest/codec/fieldBatch.js.map +1 -0
  1304. package/lib/feature-libraries/chunked-forest/codec/format.d.ts +208 -0
  1305. package/lib/feature-libraries/chunked-forest/codec/format.d.ts.map +1 -0
  1306. package/lib/feature-libraries/chunked-forest/codec/format.js +135 -0
  1307. package/lib/feature-libraries/chunked-forest/codec/format.js.map +1 -0
  1308. package/lib/feature-libraries/chunked-forest/codec/formatGeneric.d.ts +43 -0
  1309. package/lib/feature-libraries/chunked-forest/codec/formatGeneric.d.ts.map +1 -0
  1310. package/lib/feature-libraries/chunked-forest/codec/formatGeneric.js +41 -0
  1311. package/lib/feature-libraries/chunked-forest/codec/formatGeneric.js.map +1 -0
  1312. package/lib/feature-libraries/chunked-forest/codec/index.d.ts +8 -0
  1313. package/lib/feature-libraries/chunked-forest/codec/index.d.ts.map +1 -0
  1314. package/lib/feature-libraries/chunked-forest/codec/index.js +7 -0
  1315. package/lib/feature-libraries/chunked-forest/codec/index.js.map +1 -0
  1316. package/lib/feature-libraries/chunked-forest/codec/nodeShape.d.ts +23 -0
  1317. package/lib/feature-libraries/chunked-forest/codec/nodeShape.d.ts.map +1 -0
  1318. package/lib/feature-libraries/chunked-forest/codec/nodeShape.js +89 -0
  1319. package/lib/feature-libraries/chunked-forest/codec/nodeShape.js.map +1 -0
  1320. package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncoding.d.ts +28 -0
  1321. package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncoding.d.ts.map +1 -0
  1322. package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncoding.js +91 -0
  1323. package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncoding.js.map +1 -0
  1324. package/lib/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts +16 -0
  1325. package/lib/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts.map +1 -0
  1326. package/lib/feature-libraries/chunked-forest/codec/uncompressedEncode.js +57 -0
  1327. package/lib/feature-libraries/chunked-forest/codec/uncompressedEncode.js.map +1 -0
  1328. package/lib/feature-libraries/chunked-forest/emptyChunk.d.ts +19 -0
  1329. package/lib/feature-libraries/chunked-forest/emptyChunk.d.ts.map +1 -0
  1330. package/lib/feature-libraries/chunked-forest/emptyChunk.js +104 -0
  1331. package/lib/feature-libraries/chunked-forest/emptyChunk.js.map +1 -0
  1332. package/lib/feature-libraries/chunked-forest/index.d.ts +10 -0
  1333. package/lib/feature-libraries/chunked-forest/index.d.ts.map +1 -0
  1334. package/lib/feature-libraries/chunked-forest/index.js +10 -0
  1335. package/lib/feature-libraries/chunked-forest/index.js.map +1 -0
  1336. package/lib/feature-libraries/chunked-forest/sequenceChunk.d.ts +26 -0
  1337. package/lib/feature-libraries/chunked-forest/sequenceChunk.d.ts.map +1 -0
  1338. package/lib/feature-libraries/chunked-forest/sequenceChunk.js +47 -0
  1339. package/lib/feature-libraries/chunked-forest/sequenceChunk.js.map +1 -0
  1340. package/lib/feature-libraries/chunked-forest/uniformChunk.d.ts +186 -0
  1341. package/lib/feature-libraries/chunked-forest/uniformChunk.d.ts.map +1 -0
  1342. package/lib/feature-libraries/chunked-forest/uniformChunk.js +390 -0
  1343. package/lib/feature-libraries/chunked-forest/uniformChunk.js.map +1 -0
  1344. package/lib/feature-libraries/contextuallyTyped.d.ts +212 -0
  1345. package/lib/feature-libraries/contextuallyTyped.d.ts.map +1 -0
  1346. package/lib/feature-libraries/contextuallyTyped.js +324 -0
  1347. package/lib/feature-libraries/contextuallyTyped.js.map +1 -0
  1348. package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts +136 -0
  1349. package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -0
  1350. package/lib/feature-libraries/default-schema/defaultEditBuilder.js +238 -0
  1351. package/lib/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -0
  1352. package/lib/feature-libraries/default-schema/defaultFieldKinds.d.ts +112 -0
  1353. package/lib/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -0
  1354. package/lib/feature-libraries/default-schema/defaultFieldKinds.js +107 -0
  1355. package/lib/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -0
  1356. package/lib/feature-libraries/default-schema/defaultSchema.d.ts +11 -0
  1357. package/lib/feature-libraries/default-schema/defaultSchema.d.ts.map +1 -0
  1358. package/lib/feature-libraries/default-schema/defaultSchema.js +13 -0
  1359. package/lib/feature-libraries/default-schema/defaultSchema.js.map +1 -0
  1360. package/lib/feature-libraries/default-schema/index.d.ts +8 -0
  1361. package/lib/feature-libraries/default-schema/index.d.ts.map +1 -0
  1362. package/lib/feature-libraries/default-schema/index.js +8 -0
  1363. package/lib/feature-libraries/default-schema/index.js.map +1 -0
  1364. package/lib/feature-libraries/deltaUtils.d.ts +62 -0
  1365. package/lib/feature-libraries/deltaUtils.d.ts.map +1 -0
  1366. package/lib/feature-libraries/deltaUtils.js +117 -0
  1367. package/lib/feature-libraries/deltaUtils.js.map +1 -0
  1368. package/lib/feature-libraries/detachedFieldIndexSummarizer.d.ts +21 -0
  1369. package/lib/feature-libraries/detachedFieldIndexSummarizer.d.ts.map +1 -0
  1370. package/lib/feature-libraries/detachedFieldIndexSummarizer.js +42 -0
  1371. package/lib/feature-libraries/detachedFieldIndexSummarizer.js.map +1 -0
  1372. package/lib/feature-libraries/editableTreeBinder.d.ts +325 -0
  1373. package/lib/feature-libraries/editableTreeBinder.d.ts.map +1 -0
  1374. package/lib/feature-libraries/editableTreeBinder.js +567 -0
  1375. package/lib/feature-libraries/editableTreeBinder.js.map +1 -0
  1376. package/lib/feature-libraries/fieldGenerator.d.ts +46 -0
  1377. package/lib/feature-libraries/fieldGenerator.d.ts.map +1 -0
  1378. package/lib/feature-libraries/fieldGenerator.js +13 -0
  1379. package/lib/feature-libraries/fieldGenerator.js.map +1 -0
  1380. package/lib/feature-libraries/flex-tree/context.d.ts +87 -0
  1381. package/lib/feature-libraries/flex-tree/context.d.ts.map +1 -0
  1382. package/lib/feature-libraries/flex-tree/context.js +105 -0
  1383. package/lib/feature-libraries/flex-tree/context.js.map +1 -0
  1384. package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts +793 -0
  1385. package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -0
  1386. package/lib/feature-libraries/flex-tree/flexTreeTypes.js +52 -0
  1387. package/lib/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -0
  1388. package/lib/feature-libraries/flex-tree/index.d.ts +11 -0
  1389. package/lib/feature-libraries/flex-tree/index.d.ts.map +1 -0
  1390. package/lib/feature-libraries/flex-tree/index.js +8 -0
  1391. package/lib/feature-libraries/flex-tree/index.js.map +1 -0
  1392. package/lib/feature-libraries/flex-tree/lazyEntity.d.ts +49 -0
  1393. package/lib/feature-libraries/flex-tree/lazyEntity.d.ts.map +1 -0
  1394. package/lib/feature-libraries/flex-tree/lazyEntity.js +97 -0
  1395. package/lib/feature-libraries/flex-tree/lazyEntity.js.map +1 -0
  1396. package/lib/feature-libraries/flex-tree/lazyField.d.ts +87 -0
  1397. package/lib/feature-libraries/flex-tree/lazyField.d.ts.map +1 -0
  1398. package/lib/feature-libraries/flex-tree/lazyField.js +331 -0
  1399. package/lib/feature-libraries/flex-tree/lazyField.js.map +1 -0
  1400. package/lib/feature-libraries/flex-tree/lazyNode.d.ts +75 -0
  1401. package/lib/feature-libraries/flex-tree/lazyNode.d.ts.map +1 -0
  1402. package/lib/feature-libraries/flex-tree/lazyNode.js +415 -0
  1403. package/lib/feature-libraries/flex-tree/lazyNode.js.map +1 -0
  1404. package/lib/feature-libraries/flex-tree/navigation.d.ts +46 -0
  1405. package/lib/feature-libraries/flex-tree/navigation.d.ts.map +1 -0
  1406. package/lib/feature-libraries/flex-tree/navigation.js +97 -0
  1407. package/lib/feature-libraries/flex-tree/navigation.js.map +1 -0
  1408. package/lib/feature-libraries/flex-tree/nodeKeys.d.ts +42 -0
  1409. package/lib/feature-libraries/flex-tree/nodeKeys.d.ts.map +1 -0
  1410. package/lib/feature-libraries/flex-tree/nodeKeys.js +20 -0
  1411. package/lib/feature-libraries/flex-tree/nodeKeys.js.map +1 -0
  1412. package/lib/feature-libraries/flex-tree/treeEvents.d.ts +111 -0
  1413. package/lib/feature-libraries/flex-tree/treeEvents.d.ts.map +1 -0
  1414. package/lib/feature-libraries/flex-tree/treeEvents.js +6 -0
  1415. package/lib/feature-libraries/flex-tree/treeEvents.js.map +1 -0
  1416. package/lib/feature-libraries/flex-tree/unboxed.d.ts +24 -0
  1417. package/lib/feature-libraries/flex-tree/unboxed.d.ts.map +1 -0
  1418. package/lib/feature-libraries/flex-tree/unboxed.js +48 -0
  1419. package/lib/feature-libraries/flex-tree/unboxed.js.map +1 -0
  1420. package/lib/feature-libraries/flex-tree/utilities.d.ts +29 -0
  1421. package/lib/feature-libraries/flex-tree/utilities.d.ts.map +1 -0
  1422. package/lib/feature-libraries/flex-tree/utilities.js +53 -0
  1423. package/lib/feature-libraries/flex-tree/utilities.js.map +1 -0
  1424. package/lib/feature-libraries/forest-summary/codec.d.ts +16 -0
  1425. package/lib/feature-libraries/forest-summary/codec.d.ts.map +1 -0
  1426. package/lib/feature-libraries/forest-summary/codec.js +35 -0
  1427. package/lib/feature-libraries/forest-summary/codec.js.map +1 -0
  1428. package/lib/feature-libraries/forest-summary/forestSummarizer.d.ts +40 -0
  1429. package/lib/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -0
  1430. package/lib/feature-libraries/forest-summary/forestSummarizer.js +108 -0
  1431. package/lib/feature-libraries/forest-summary/forestSummarizer.js.map +1 -0
  1432. package/lib/feature-libraries/forest-summary/format.d.ts +16 -0
  1433. package/lib/feature-libraries/forest-summary/format.d.ts.map +1 -0
  1434. package/lib/feature-libraries/forest-summary/format.js +14 -0
  1435. package/lib/feature-libraries/forest-summary/format.js.map +1 -0
  1436. package/lib/feature-libraries/forest-summary/index.d.ts +6 -0
  1437. package/lib/feature-libraries/forest-summary/index.d.ts.map +1 -0
  1438. package/lib/feature-libraries/forest-summary/index.js +6 -0
  1439. package/lib/feature-libraries/forest-summary/index.js.map +1 -0
  1440. package/lib/feature-libraries/incrementalSummarizationUtils.d.ts +20 -0
  1441. package/lib/feature-libraries/incrementalSummarizationUtils.d.ts.map +1 -0
  1442. package/lib/feature-libraries/incrementalSummarizationUtils.js +6 -0
  1443. package/lib/feature-libraries/incrementalSummarizationUtils.js.map +1 -0
  1444. package/lib/feature-libraries/index.d.ts +35 -0
  1445. package/lib/feature-libraries/index.d.ts.map +1 -0
  1446. package/lib/feature-libraries/index.js +34 -0
  1447. package/lib/feature-libraries/index.js.map +1 -0
  1448. package/lib/feature-libraries/mapTreeCursor.d.ts +19 -0
  1449. package/lib/feature-libraries/mapTreeCursor.d.ts.map +1 -0
  1450. package/lib/feature-libraries/mapTreeCursor.js +47 -0
  1451. package/lib/feature-libraries/mapTreeCursor.js.map +1 -0
  1452. package/lib/feature-libraries/memoizedIdRangeAllocator.d.ts +42 -0
  1453. package/lib/feature-libraries/memoizedIdRangeAllocator.d.ts.map +1 -0
  1454. package/lib/feature-libraries/memoizedIdRangeAllocator.js +72 -0
  1455. package/lib/feature-libraries/memoizedIdRangeAllocator.js.map +1 -0
  1456. package/lib/feature-libraries/mitigatedChangeFamily.d.ts +22 -0
  1457. package/lib/feature-libraries/mitigatedChangeFamily.d.ts.map +1 -0
  1458. package/lib/feature-libraries/mitigatedChangeFamily.js +50 -0
  1459. package/lib/feature-libraries/mitigatedChangeFamily.js.map +1 -0
  1460. package/lib/feature-libraries/modular-schema/comparison.d.ts +63 -0
  1461. package/lib/feature-libraries/modular-schema/comparison.d.ts.map +1 -0
  1462. package/lib/feature-libraries/modular-schema/comparison.js +190 -0
  1463. package/lib/feature-libraries/modular-schema/comparison.js.map +1 -0
  1464. package/lib/feature-libraries/modular-schema/crossFieldQueries.d.ts +37 -0
  1465. package/lib/feature-libraries/modular-schema/crossFieldQueries.d.ts.map +1 -0
  1466. package/lib/feature-libraries/modular-schema/crossFieldQueries.js +23 -0
  1467. package/lib/feature-libraries/modular-schema/crossFieldQueries.js.map +1 -0
  1468. package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts +140 -0
  1469. package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -0
  1470. package/lib/feature-libraries/modular-schema/fieldChangeHandler.js +38 -0
  1471. package/lib/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -0
  1472. package/lib/feature-libraries/modular-schema/fieldKind.d.ts +94 -0
  1473. package/lib/feature-libraries/modular-schema/fieldKind.d.ts.map +1 -0
  1474. package/lib/feature-libraries/modular-schema/fieldKind.js +95 -0
  1475. package/lib/feature-libraries/modular-schema/fieldKind.js.map +1 -0
  1476. package/lib/feature-libraries/modular-schema/genericFieldKind.d.ts +27 -0
  1477. package/lib/feature-libraries/modular-schema/genericFieldKind.d.ts.map +1 -0
  1478. package/lib/feature-libraries/modular-schema/genericFieldKind.js +163 -0
  1479. package/lib/feature-libraries/modular-schema/genericFieldKind.js.map +1 -0
  1480. package/lib/feature-libraries/modular-schema/genericFieldKindCodecs.d.ts +9 -0
  1481. package/lib/feature-libraries/modular-schema/genericFieldKindCodecs.d.ts.map +1 -0
  1482. package/lib/feature-libraries/modular-schema/genericFieldKindCodecs.js +29 -0
  1483. package/lib/feature-libraries/modular-schema/genericFieldKindCodecs.js.map +1 -0
  1484. package/lib/feature-libraries/modular-schema/genericFieldKindFormat.d.ts +34 -0
  1485. package/lib/feature-libraries/modular-schema/genericFieldKindFormat.d.ts.map +1 -0
  1486. package/lib/feature-libraries/modular-schema/genericFieldKindFormat.js +26 -0
  1487. package/lib/feature-libraries/modular-schema/genericFieldKindFormat.js.map +1 -0
  1488. package/lib/feature-libraries/modular-schema/genericFieldKindTypes.d.ts +23 -0
  1489. package/lib/feature-libraries/modular-schema/genericFieldKindTypes.d.ts.map +1 -0
  1490. package/lib/feature-libraries/modular-schema/genericFieldKindTypes.js +6 -0
  1491. package/lib/feature-libraries/modular-schema/genericFieldKindTypes.js.map +1 -0
  1492. package/lib/feature-libraries/modular-schema/index.d.ts +15 -0
  1493. package/lib/feature-libraries/modular-schema/index.d.ts.map +1 -0
  1494. package/lib/feature-libraries/modular-schema/index.js +13 -0
  1495. package/lib/feature-libraries/modular-schema/index.js.map +1 -0
  1496. package/lib/feature-libraries/modular-schema/modularChangeCodecs.d.ts +12 -0
  1497. package/lib/feature-libraries/modular-schema/modularChangeCodecs.d.ts.map +1 -0
  1498. package/lib/feature-libraries/modular-schema/modularChangeCodecs.js +184 -0
  1499. package/lib/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -0
  1500. package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts +125 -0
  1501. package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -0
  1502. package/lib/feature-libraries/modular-schema/modularChangeFamily.js +723 -0
  1503. package/lib/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -0
  1504. package/lib/feature-libraries/modular-schema/modularChangeFormat.d.ts +149 -0
  1505. package/lib/feature-libraries/modular-schema/modularChangeFormat.d.ts.map +1 -0
  1506. package/lib/feature-libraries/modular-schema/modularChangeFormat.js +74 -0
  1507. package/lib/feature-libraries/modular-schema/modularChangeFormat.js.map +1 -0
  1508. package/lib/feature-libraries/modular-schema/modularChangeTypes.d.ts +69 -0
  1509. package/lib/feature-libraries/modular-schema/modularChangeTypes.d.ts.map +1 -0
  1510. package/lib/feature-libraries/modular-schema/modularChangeTypes.js +6 -0
  1511. package/lib/feature-libraries/modular-schema/modularChangeTypes.js.map +1 -0
  1512. package/lib/feature-libraries/multiplicity.d.ts +55 -0
  1513. package/lib/feature-libraries/multiplicity.d.ts.map +1 -0
  1514. package/lib/feature-libraries/multiplicity.js +56 -0
  1515. package/lib/feature-libraries/multiplicity.js.map +1 -0
  1516. package/lib/feature-libraries/node-key/index.d.ts +8 -0
  1517. package/lib/feature-libraries/node-key/index.d.ts.map +1 -0
  1518. package/lib/feature-libraries/node-key/index.js +8 -0
  1519. package/lib/feature-libraries/node-key/index.js.map +1 -0
  1520. package/lib/feature-libraries/node-key/nodeKey.d.ts +50 -0
  1521. package/lib/feature-libraries/node-key/nodeKey.d.ts.map +1 -0
  1522. package/lib/feature-libraries/node-key/nodeKey.js +32 -0
  1523. package/lib/feature-libraries/node-key/nodeKey.js.map +1 -0
  1524. package/lib/feature-libraries/node-key/nodeKeyIndex.d.ts +41 -0
  1525. package/lib/feature-libraries/node-key/nodeKeyIndex.d.ts.map +1 -0
  1526. package/lib/feature-libraries/node-key/nodeKeyIndex.js +98 -0
  1527. package/lib/feature-libraries/node-key/nodeKeyIndex.js.map +1 -0
  1528. package/lib/feature-libraries/node-key/nodeKeyManager.d.ts +36 -0
  1529. package/lib/feature-libraries/node-key/nodeKeyManager.d.ts.map +1 -0
  1530. package/lib/feature-libraries/node-key/nodeKeyManager.js +61 -0
  1531. package/lib/feature-libraries/node-key/nodeKeyManager.js.map +1 -0
  1532. package/lib/feature-libraries/object-forest/index.d.ts +6 -0
  1533. package/lib/feature-libraries/object-forest/index.d.ts.map +1 -0
  1534. package/lib/feature-libraries/object-forest/index.js +6 -0
  1535. package/lib/feature-libraries/object-forest/index.js.map +1 -0
  1536. package/lib/feature-libraries/object-forest/objectForest.d.ts +86 -0
  1537. package/lib/feature-libraries/object-forest/objectForest.d.ts.map +1 -0
  1538. package/lib/feature-libraries/object-forest/objectForest.js +377 -0
  1539. package/lib/feature-libraries/object-forest/objectForest.js.map +1 -0
  1540. package/lib/feature-libraries/optional-field/index.d.ts +8 -0
  1541. package/lib/feature-libraries/optional-field/index.d.ts.map +1 -0
  1542. package/lib/feature-libraries/optional-field/index.js +7 -0
  1543. package/lib/feature-libraries/optional-field/index.js.map +1 -0
  1544. package/lib/feature-libraries/optional-field/optionalField.d.ts +31 -0
  1545. package/lib/feature-libraries/optional-field/optionalField.d.ts.map +1 -0
  1546. package/lib/feature-libraries/optional-field/optionalField.js +444 -0
  1547. package/lib/feature-libraries/optional-field/optionalField.js.map +1 -0
  1548. package/lib/feature-libraries/optional-field/optionalFieldChangeFormat.d.ts +38 -0
  1549. package/lib/feature-libraries/optional-field/optionalFieldChangeFormat.d.ts.map +1 -0
  1550. package/lib/feature-libraries/optional-field/optionalFieldChangeFormat.js +22 -0
  1551. package/lib/feature-libraries/optional-field/optionalFieldChangeFormat.js.map +1 -0
  1552. package/lib/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts +55 -0
  1553. package/lib/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts.map +1 -0
  1554. package/lib/feature-libraries/optional-field/optionalFieldChangeTypes.js +6 -0
  1555. package/lib/feature-libraries/optional-field/optionalFieldChangeTypes.js.map +1 -0
  1556. package/lib/feature-libraries/optional-field/optionalFieldCodecs.d.ts +11 -0
  1557. package/lib/feature-libraries/optional-field/optionalFieldCodecs.d.ts.map +1 -0
  1558. package/lib/feature-libraries/optional-field/optionalFieldCodecs.js +82 -0
  1559. package/lib/feature-libraries/optional-field/optionalFieldCodecs.js.map +1 -0
  1560. package/lib/feature-libraries/schema-aware/index.d.ts +6 -0
  1561. package/lib/feature-libraries/schema-aware/index.d.ts.map +1 -0
  1562. package/lib/feature-libraries/schema-aware/index.js +6 -0
  1563. package/lib/feature-libraries/schema-aware/index.js.map +1 -0
  1564. package/lib/feature-libraries/schema-aware/schemaAware.d.ts +77 -0
  1565. package/lib/feature-libraries/schema-aware/schemaAware.d.ts.map +1 -0
  1566. package/lib/feature-libraries/schema-aware/schemaAware.js +7 -0
  1567. package/lib/feature-libraries/schema-aware/schemaAware.js.map +1 -0
  1568. package/lib/feature-libraries/schema-edits/index.d.ts +8 -0
  1569. package/lib/feature-libraries/schema-edits/index.d.ts.map +1 -0
  1570. package/lib/feature-libraries/schema-edits/index.js +7 -0
  1571. package/lib/feature-libraries/schema-edits/index.js.map +1 -0
  1572. package/lib/feature-libraries/schema-edits/schemaChangeCodecs.d.ts +9 -0
  1573. package/lib/feature-libraries/schema-edits/schemaChangeCodecs.d.ts.map +1 -0
  1574. package/lib/feature-libraries/schema-edits/schemaChangeCodecs.js +27 -0
  1575. package/lib/feature-libraries/schema-edits/schemaChangeCodecs.js.map +1 -0
  1576. package/lib/feature-libraries/schema-edits/schemaChangeFormat.d.ts +53 -0
  1577. package/lib/feature-libraries/schema-edits/schemaChangeFormat.d.ts.map +1 -0
  1578. package/lib/feature-libraries/schema-edits/schemaChangeFormat.js +11 -0
  1579. package/lib/feature-libraries/schema-edits/schemaChangeFormat.js.map +1 -0
  1580. package/lib/feature-libraries/schema-edits/schemaChangeTypes.d.ts +18 -0
  1581. package/lib/feature-libraries/schema-edits/schemaChangeTypes.d.ts.map +1 -0
  1582. package/lib/feature-libraries/schema-edits/schemaChangeTypes.js +6 -0
  1583. package/lib/feature-libraries/schema-edits/schemaChangeTypes.js.map +1 -0
  1584. package/lib/feature-libraries/schema-index/codec.d.ts +13 -0
  1585. package/lib/feature-libraries/schema-index/codec.d.ts.map +1 -0
  1586. package/lib/feature-libraries/schema-index/codec.js +51 -0
  1587. package/lib/feature-libraries/schema-index/codec.js.map +1 -0
  1588. package/lib/feature-libraries/schema-index/format.d.ts +60 -0
  1589. package/lib/feature-libraries/schema-index/format.d.ts.map +1 -0
  1590. package/lib/feature-libraries/schema-index/format.js +30 -0
  1591. package/lib/feature-libraries/schema-index/format.js.map +1 -0
  1592. package/lib/feature-libraries/schema-index/index.d.ts +8 -0
  1593. package/lib/feature-libraries/schema-index/index.d.ts.map +1 -0
  1594. package/lib/feature-libraries/schema-index/index.js +8 -0
  1595. package/lib/feature-libraries/schema-index/index.js.map +1 -0
  1596. package/lib/feature-libraries/schema-index/schemaSummarizer.d.ts +41 -0
  1597. package/lib/feature-libraries/schema-index/schemaSummarizer.d.ts.map +1 -0
  1598. package/lib/feature-libraries/schema-index/schemaSummarizer.js +81 -0
  1599. package/lib/feature-libraries/schema-index/schemaSummarizer.js.map +1 -0
  1600. package/lib/feature-libraries/schemaBuilder.d.ts +31 -0
  1601. package/lib/feature-libraries/schemaBuilder.d.ts.map +1 -0
  1602. package/lib/feature-libraries/schemaBuilder.js +36 -0
  1603. package/lib/feature-libraries/schemaBuilder.js.map +1 -0
  1604. package/lib/feature-libraries/schemaBuilderBase.d.ts +217 -0
  1605. package/lib/feature-libraries/schemaBuilderBase.d.ts.map +1 -0
  1606. package/lib/feature-libraries/schemaBuilderBase.js +221 -0
  1607. package/lib/feature-libraries/schemaBuilderBase.js.map +1 -0
  1608. package/lib/feature-libraries/sequence-field/compose.d.ts +45 -0
  1609. package/lib/feature-libraries/sequence-field/compose.d.ts.map +1 -0
  1610. package/lib/feature-libraries/sequence-field/compose.js +432 -0
  1611. package/lib/feature-libraries/sequence-field/compose.js.map +1 -0
  1612. package/lib/feature-libraries/sequence-field/format.d.ts +427 -0
  1613. package/lib/feature-libraries/sequence-field/format.d.ts.map +1 -0
  1614. package/lib/feature-libraries/sequence-field/format.js +74 -0
  1615. package/lib/feature-libraries/sequence-field/format.js.map +1 -0
  1616. package/lib/feature-libraries/sequence-field/helperTypes.d.ts +34 -0
  1617. package/lib/feature-libraries/sequence-field/helperTypes.d.ts.map +1 -0
  1618. package/lib/feature-libraries/sequence-field/helperTypes.js +13 -0
  1619. package/lib/feature-libraries/sequence-field/helperTypes.js.map +1 -0
  1620. package/lib/feature-libraries/sequence-field/index.d.ts +18 -0
  1621. package/lib/feature-libraries/sequence-field/index.d.ts.map +1 -0
  1622. package/lib/feature-libraries/sequence-field/index.js +17 -0
  1623. package/lib/feature-libraries/sequence-field/index.js.map +1 -0
  1624. package/lib/feature-libraries/sequence-field/invert.d.ts +19 -0
  1625. package/lib/feature-libraries/sequence-field/invert.d.ts.map +1 -0
  1626. package/lib/feature-libraries/sequence-field/invert.js +217 -0
  1627. package/lib/feature-libraries/sequence-field/invert.js.map +1 -0
  1628. package/lib/feature-libraries/sequence-field/markListFactory.d.ts +21 -0
  1629. package/lib/feature-libraries/sequence-field/markListFactory.d.ts.map +1 -0
  1630. package/lib/feature-libraries/sequence-field/markListFactory.js +51 -0
  1631. package/lib/feature-libraries/sequence-field/markListFactory.js.map +1 -0
  1632. package/lib/feature-libraries/sequence-field/markQueue.d.ts +30 -0
  1633. package/lib/feature-libraries/sequence-field/markQueue.d.ts.map +1 -0
  1634. package/lib/feature-libraries/sequence-field/markQueue.js +70 -0
  1635. package/lib/feature-libraries/sequence-field/markQueue.js.map +1 -0
  1636. package/lib/feature-libraries/sequence-field/moveEffectTable.d.ts +48 -0
  1637. package/lib/feature-libraries/sequence-field/moveEffectTable.d.ts.map +1 -0
  1638. package/lib/feature-libraries/sequence-field/moveEffectTable.js +242 -0
  1639. package/lib/feature-libraries/sequence-field/moveEffectTable.js.map +1 -0
  1640. package/lib/feature-libraries/sequence-field/prune.d.ts +8 -0
  1641. package/lib/feature-libraries/sequence-field/prune.d.ts.map +1 -0
  1642. package/lib/feature-libraries/sequence-field/prune.js +21 -0
  1643. package/lib/feature-libraries/sequence-field/prune.js.map +1 -0
  1644. package/lib/feature-libraries/sequence-field/rebase.d.ts +26 -0
  1645. package/lib/feature-libraries/sequence-field/rebase.d.ts.map +1 -0
  1646. package/lib/feature-libraries/sequence-field/rebase.js +615 -0
  1647. package/lib/feature-libraries/sequence-field/rebase.js.map +1 -0
  1648. package/lib/feature-libraries/sequence-field/relevantRemovedRoots.d.ts +9 -0
  1649. package/lib/feature-libraries/sequence-field/relevantRemovedRoots.d.ts.map +1 -0
  1650. package/lib/feature-libraries/sequence-field/relevantRemovedRoots.js +46 -0
  1651. package/lib/feature-libraries/sequence-field/relevantRemovedRoots.js.map +1 -0
  1652. package/lib/feature-libraries/sequence-field/sequenceFieldChangeHandler.d.ts +10 -0
  1653. package/lib/feature-libraries/sequence-field/sequenceFieldChangeHandler.d.ts.map +1 -0
  1654. package/lib/feature-libraries/sequence-field/sequenceFieldChangeHandler.js +19 -0
  1655. package/lib/feature-libraries/sequence-field/sequenceFieldChangeHandler.js.map +1 -0
  1656. package/lib/feature-libraries/sequence-field/sequenceFieldChangeRebaser.d.ts +19 -0
  1657. package/lib/feature-libraries/sequence-field/sequenceFieldChangeRebaser.d.ts.map +1 -0
  1658. package/lib/feature-libraries/sequence-field/sequenceFieldChangeRebaser.js +16 -0
  1659. package/lib/feature-libraries/sequence-field/sequenceFieldChangeRebaser.js.map +1 -0
  1660. package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts +10 -0
  1661. package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts.map +1 -0
  1662. package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.js +235 -0
  1663. package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.js.map +1 -0
  1664. package/lib/feature-libraries/sequence-field/sequenceFieldEditor.d.ts +33 -0
  1665. package/lib/feature-libraries/sequence-field/sequenceFieldEditor.d.ts.map +1 -0
  1666. package/lib/feature-libraries/sequence-field/sequenceFieldEditor.js +110 -0
  1667. package/lib/feature-libraries/sequence-field/sequenceFieldEditor.js.map +1 -0
  1668. package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts +9 -0
  1669. package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts.map +1 -0
  1670. package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.js +161 -0
  1671. package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.js.map +1 -0
  1672. package/lib/feature-libraries/sequence-field/types.d.ts +182 -0
  1673. package/lib/feature-libraries/sequence-field/types.d.ts.map +1 -0
  1674. package/lib/feature-libraries/sequence-field/types.js +6 -0
  1675. package/lib/feature-libraries/sequence-field/types.js.map +1 -0
  1676. package/lib/feature-libraries/sequence-field/utils.d.ts +198 -0
  1677. package/lib/feature-libraries/sequence-field/utils.d.ts.map +1 -0
  1678. package/lib/feature-libraries/sequence-field/utils.js +924 -0
  1679. package/lib/feature-libraries/sequence-field/utils.js.map +1 -0
  1680. package/lib/feature-libraries/storedToViewSchema.d.ts +18 -0
  1681. package/lib/feature-libraries/storedToViewSchema.d.ts.map +1 -0
  1682. package/lib/feature-libraries/storedToViewSchema.js +65 -0
  1683. package/lib/feature-libraries/storedToViewSchema.js.map +1 -0
  1684. package/lib/feature-libraries/treeCompressionUtils.d.ts +23 -0
  1685. package/lib/feature-libraries/treeCompressionUtils.d.ts.map +1 -0
  1686. package/lib/feature-libraries/treeCompressionUtils.js +24 -0
  1687. package/lib/feature-libraries/treeCompressionUtils.js.map +1 -0
  1688. package/lib/feature-libraries/treeCursorUtils.d.ts +101 -0
  1689. package/lib/feature-libraries/treeCursorUtils.d.ts.map +1 -0
  1690. package/lib/feature-libraries/treeCursorUtils.js +364 -0
  1691. package/lib/feature-libraries/treeCursorUtils.js.map +1 -0
  1692. package/lib/feature-libraries/treeTextCursor.d.ts +62 -0
  1693. package/lib/feature-libraries/treeTextCursor.d.ts.map +1 -0
  1694. package/lib/feature-libraries/treeTextCursor.js +96 -0
  1695. package/lib/feature-libraries/treeTextCursor.js.map +1 -0
  1696. package/lib/feature-libraries/typed-schema/flexList.d.ts +97 -0
  1697. package/lib/feature-libraries/typed-schema/flexList.d.ts.map +1 -0
  1698. package/lib/feature-libraries/typed-schema/flexList.js +51 -0
  1699. package/lib/feature-libraries/typed-schema/flexList.js.map +1 -0
  1700. package/lib/feature-libraries/typed-schema/index.d.ts +11 -0
  1701. package/lib/feature-libraries/typed-schema/index.d.ts.map +1 -0
  1702. package/lib/feature-libraries/typed-schema/index.js +12 -0
  1703. package/lib/feature-libraries/typed-schema/index.js.map +1 -0
  1704. package/lib/feature-libraries/typed-schema/internal.d.ts +7 -0
  1705. package/lib/feature-libraries/typed-schema/internal.d.ts.map +1 -0
  1706. package/lib/feature-libraries/typed-schema/internal.js +6 -0
  1707. package/lib/feature-libraries/typed-schema/internal.js.map +1 -0
  1708. package/lib/feature-libraries/typed-schema/schemaCollection.d.ts +67 -0
  1709. package/lib/feature-libraries/typed-schema/schemaCollection.d.ts.map +1 -0
  1710. package/lib/feature-libraries/typed-schema/schemaCollection.js +199 -0
  1711. package/lib/feature-libraries/typed-schema/schemaCollection.js.map +1 -0
  1712. package/lib/feature-libraries/typed-schema/typeUtils.d.ts +22 -0
  1713. package/lib/feature-libraries/typed-schema/typeUtils.d.ts.map +1 -0
  1714. package/lib/feature-libraries/typed-schema/typeUtils.js +10 -0
  1715. package/lib/feature-libraries/typed-schema/typeUtils.js.map +1 -0
  1716. package/lib/feature-libraries/typed-schema/typedTreeSchema.d.ts +294 -0
  1717. package/lib/feature-libraries/typed-schema/typedTreeSchema.d.ts.map +1 -0
  1718. package/lib/feature-libraries/typed-schema/typedTreeSchema.js +316 -0
  1719. package/lib/feature-libraries/typed-schema/typedTreeSchema.js.map +1 -0
  1720. package/lib/feature-libraries/typed-schema/view.d.ts +55 -0
  1721. package/lib/feature-libraries/typed-schema/view.d.ts.map +1 -0
  1722. package/lib/feature-libraries/typed-schema/view.js +113 -0
  1723. package/lib/feature-libraries/typed-schema/view.js.map +1 -0
  1724. package/lib/feature-libraries/utils.d.ts +9 -0
  1725. package/lib/feature-libraries/utils.d.ts.map +1 -0
  1726. package/lib/feature-libraries/utils.js +23 -0
  1727. package/lib/feature-libraries/utils.js.map +1 -0
  1728. package/lib/feature-libraries/valueUtilities.d.ts +21 -0
  1729. package/lib/feature-libraries/valueUtilities.d.ts.map +1 -0
  1730. package/lib/feature-libraries/valueUtilities.js +62 -0
  1731. package/lib/feature-libraries/valueUtilities.js.map +1 -0
  1732. package/lib/feature-libraries/versioned/codec.d.ts +11 -0
  1733. package/lib/feature-libraries/versioned/codec.d.ts.map +1 -0
  1734. package/lib/feature-libraries/versioned/codec.js +26 -0
  1735. package/lib/feature-libraries/versioned/codec.js.map +1 -0
  1736. package/lib/feature-libraries/versioned/format.d.ts +10 -0
  1737. package/lib/feature-libraries/versioned/format.d.ts.map +1 -0
  1738. package/lib/feature-libraries/versioned/format.js +9 -0
  1739. package/lib/feature-libraries/versioned/format.js.map +1 -0
  1740. package/lib/feature-libraries/versioned/index.d.ts +7 -0
  1741. package/lib/feature-libraries/versioned/index.d.ts.map +1 -0
  1742. package/lib/feature-libraries/versioned/index.js +7 -0
  1743. package/lib/feature-libraries/versioned/index.js.map +1 -0
  1744. package/lib/index.d.ts +21 -0
  1745. package/lib/index.d.ts.map +1 -0
  1746. package/lib/index.js +26 -0
  1747. package/lib/index.js.map +1 -0
  1748. package/lib/internal.d.ts +8 -0
  1749. package/lib/internal.d.ts.map +1 -0
  1750. package/lib/internal.js +6 -0
  1751. package/lib/internal.js.map +1 -0
  1752. package/lib/shared-tree/index.d.ts +10 -0
  1753. package/lib/shared-tree/index.d.ts.map +1 -0
  1754. package/lib/shared-tree/index.js +9 -0
  1755. package/lib/shared-tree/index.js.map +1 -0
  1756. package/lib/shared-tree/schematizedTree.d.ts +94 -0
  1757. package/lib/shared-tree/schematizedTree.d.ts.map +1 -0
  1758. package/lib/shared-tree/schematizedTree.js +151 -0
  1759. package/lib/shared-tree/schematizedTree.js.map +1 -0
  1760. package/lib/shared-tree/sharedTree.d.ts +143 -0
  1761. package/lib/shared-tree/sharedTree.d.ts.map +1 -0
  1762. package/lib/shared-tree/sharedTree.js +215 -0
  1763. package/lib/shared-tree/sharedTree.js.map +1 -0
  1764. package/lib/shared-tree/sharedTreeChangeCodecs.d.ts +11 -0
  1765. package/lib/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -0
  1766. package/lib/shared-tree/sharedTreeChangeCodecs.js +54 -0
  1767. package/lib/shared-tree/sharedTreeChangeCodecs.js.map +1 -0
  1768. package/lib/shared-tree/sharedTreeChangeFamily.d.ts +25 -0
  1769. package/lib/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -0
  1770. package/lib/shared-tree/sharedTreeChangeFamily.js +116 -0
  1771. package/lib/shared-tree/sharedTreeChangeFamily.js.map +1 -0
  1772. package/lib/shared-tree/sharedTreeChangeFormat.d.ts +178 -0
  1773. package/lib/shared-tree/sharedTreeChangeFormat.d.ts.map +1 -0
  1774. package/lib/shared-tree/sharedTreeChangeFormat.js +12 -0
  1775. package/lib/shared-tree/sharedTreeChangeFormat.js.map +1 -0
  1776. package/lib/shared-tree/sharedTreeChangeTypes.d.ts +26 -0
  1777. package/lib/shared-tree/sharedTreeChangeTypes.d.ts.map +1 -0
  1778. package/lib/shared-tree/sharedTreeChangeTypes.js +6 -0
  1779. package/lib/shared-tree/sharedTreeChangeTypes.js.map +1 -0
  1780. package/lib/shared-tree/sharedTreeEditBuilder.d.ts +42 -0
  1781. package/lib/shared-tree/sharedTreeEditBuilder.d.ts.map +1 -0
  1782. package/lib/shared-tree/sharedTreeEditBuilder.js +30 -0
  1783. package/lib/shared-tree/sharedTreeEditBuilder.js.map +1 -0
  1784. package/lib/shared-tree/treeCheckout.d.ts +228 -0
  1785. package/lib/shared-tree/treeCheckout.d.ts.map +1 -0
  1786. package/lib/shared-tree/treeCheckout.js +184 -0
  1787. package/lib/shared-tree/treeCheckout.js.map +1 -0
  1788. package/lib/shared-tree/treeView.d.ts +66 -0
  1789. package/lib/shared-tree/treeView.d.ts.map +1 -0
  1790. package/lib/shared-tree/treeView.js +29 -0
  1791. package/lib/shared-tree/treeView.js.map +1 -0
  1792. package/lib/shared-tree-core/branch.d.ts +199 -0
  1793. package/lib/shared-tree-core/branch.d.ts.map +1 -0
  1794. package/lib/shared-tree-core/branch.js +407 -0
  1795. package/lib/shared-tree-core/branch.js.map +1 -0
  1796. package/lib/shared-tree-core/editManager.d.ts +126 -0
  1797. package/lib/shared-tree-core/editManager.d.ts.map +1 -0
  1798. package/lib/shared-tree-core/editManager.js +428 -0
  1799. package/lib/shared-tree-core/editManager.js.map +1 -0
  1800. package/lib/shared-tree-core/editManagerCodecs.d.ts +9 -0
  1801. package/lib/shared-tree-core/editManagerCodecs.d.ts.map +1 -0
  1802. package/lib/shared-tree-core/editManagerCodecs.js +48 -0
  1803. package/lib/shared-tree-core/editManagerCodecs.js.map +1 -0
  1804. package/lib/shared-tree-core/editManagerFormat.d.ts +68 -0
  1805. package/lib/shared-tree-core/editManagerFormat.d.ts.map +1 -0
  1806. package/lib/shared-tree-core/editManagerFormat.js +49 -0
  1807. package/lib/shared-tree-core/editManagerFormat.js.map +1 -0
  1808. package/lib/shared-tree-core/editManagerSummarizer.d.ts +25 -0
  1809. package/lib/shared-tree-core/editManagerSummarizer.d.ts.map +1 -0
  1810. package/lib/shared-tree-core/editManagerSummarizer.js +52 -0
  1811. package/lib/shared-tree-core/editManagerSummarizer.js.map +1 -0
  1812. package/lib/shared-tree-core/index.d.ts +13 -0
  1813. package/lib/shared-tree-core/index.d.ts.map +1 -0
  1814. package/lib/shared-tree-core/index.js +12 -0
  1815. package/lib/shared-tree-core/index.js.map +1 -0
  1816. package/lib/shared-tree-core/messageCodecs.d.ts +9 -0
  1817. package/lib/shared-tree-core/messageCodecs.d.ts.map +1 -0
  1818. package/lib/shared-tree-core/messageCodecs.js +31 -0
  1819. package/lib/shared-tree-core/messageCodecs.js.map +1 -0
  1820. package/lib/shared-tree-core/messageFormat.d.ts +30 -0
  1821. package/lib/shared-tree-core/messageFormat.d.ts.map +1 -0
  1822. package/lib/shared-tree-core/messageFormat.js +12 -0
  1823. package/lib/shared-tree-core/messageFormat.js.map +1 -0
  1824. package/lib/shared-tree-core/messageTypes.d.ts +10 -0
  1825. package/lib/shared-tree-core/messageTypes.d.ts.map +1 -0
  1826. package/lib/shared-tree-core/messageTypes.js +6 -0
  1827. package/lib/shared-tree-core/messageTypes.js.map +1 -0
  1828. package/lib/shared-tree-core/revisionTagCodecs.d.ts +11 -0
  1829. package/lib/shared-tree-core/revisionTagCodecs.d.ts.map +1 -0
  1830. package/lib/shared-tree-core/revisionTagCodecs.js +13 -0
  1831. package/lib/shared-tree-core/revisionTagCodecs.js.map +1 -0
  1832. package/lib/shared-tree-core/sharedTreeCore.d.ts +112 -0
  1833. package/lib/shared-tree-core/sharedTreeCore.d.ts.map +1 -0
  1834. package/lib/shared-tree-core/sharedTreeCore.js +193 -0
  1835. package/lib/shared-tree-core/sharedTreeCore.js.map +1 -0
  1836. package/lib/shared-tree-core/transactionStack.d.ts +30 -0
  1837. package/lib/shared-tree-core/transactionStack.d.ts.map +1 -0
  1838. package/lib/shared-tree-core/transactionStack.js +38 -0
  1839. package/lib/shared-tree-core/transactionStack.js.map +1 -0
  1840. package/lib/simple-tree/flexNode.d.ts +34 -0
  1841. package/lib/simple-tree/flexNode.d.ts.map +1 -0
  1842. package/lib/simple-tree/flexNode.js +50 -0
  1843. package/lib/simple-tree/flexNode.js.map +1 -0
  1844. package/lib/simple-tree/index.d.ts +10 -0
  1845. package/lib/simple-tree/index.d.ts.map +1 -0
  1846. package/lib/simple-tree/index.js +9 -0
  1847. package/lib/simple-tree/index.js.map +1 -0
  1848. package/lib/simple-tree/insertable.d.ts +44 -0
  1849. package/lib/simple-tree/insertable.d.ts.map +1 -0
  1850. package/lib/simple-tree/insertable.js +6 -0
  1851. package/lib/simple-tree/insertable.js.map +1 -0
  1852. package/lib/simple-tree/objectFactory.d.ts +30 -0
  1853. package/lib/simple-tree/objectFactory.d.ts.map +1 -0
  1854. package/lib/simple-tree/objectFactory.js +16 -0
  1855. package/lib/simple-tree/objectFactory.js.map +1 -0
  1856. package/lib/simple-tree/proxies.d.ts +112 -0
  1857. package/lib/simple-tree/proxies.d.ts.map +1 -0
  1858. package/lib/simple-tree/proxies.js +800 -0
  1859. package/lib/simple-tree/proxies.js.map +1 -0
  1860. package/lib/simple-tree/rawNode.d.ts +96 -0
  1861. package/lib/simple-tree/rawNode.d.ts.map +1 -0
  1862. package/lib/simple-tree/rawNode.js +132 -0
  1863. package/lib/simple-tree/rawNode.js.map +1 -0
  1864. package/lib/simple-tree/toMapTree.d.ts +101 -0
  1865. package/lib/simple-tree/toMapTree.d.ts.map +1 -0
  1866. package/lib/simple-tree/toMapTree.js +291 -0
  1867. package/lib/simple-tree/toMapTree.js.map +1 -0
  1868. package/lib/simple-tree/treeListNode.d.ts +60 -0
  1869. package/lib/simple-tree/treeListNode.d.ts.map +1 -0
  1870. package/lib/simple-tree/treeListNode.js +49 -0
  1871. package/lib/simple-tree/treeListNode.js.map +1 -0
  1872. package/lib/simple-tree/types.d.ts +243 -0
  1873. package/lib/simple-tree/types.d.ts.map +1 -0
  1874. package/lib/simple-tree/types.js +17 -0
  1875. package/lib/simple-tree/types.js.map +1 -0
  1876. package/lib/treeFactory.d.ts +55 -0
  1877. package/lib/treeFactory.d.ts.map +1 -0
  1878. package/lib/treeFactory.js +80 -0
  1879. package/lib/treeFactory.js.map +1 -0
  1880. package/lib/util/brand.d.ts +179 -0
  1881. package/lib/util/brand.d.ts.map +1 -0
  1882. package/lib/util/brand.js +118 -0
  1883. package/lib/util/brand.js.map +1 -0
  1884. package/lib/util/brandedMap.d.ts +46 -0
  1885. package/lib/util/brandedMap.d.ts.map +1 -0
  1886. package/lib/util/brandedMap.js +27 -0
  1887. package/lib/util/brandedMap.js.map +1 -0
  1888. package/lib/util/idAllocator.d.ts +29 -0
  1889. package/lib/util/idAllocator.d.ts.map +1 -0
  1890. package/lib/util/idAllocator.js +29 -0
  1891. package/lib/util/idAllocator.js.map +1 -0
  1892. package/lib/util/index.d.ts +18 -0
  1893. package/lib/util/index.d.ts.map +1 -0
  1894. package/lib/util/index.js +16 -0
  1895. package/lib/util/index.js.map +1 -0
  1896. package/lib/util/nestedMap.d.ts +129 -0
  1897. package/lib/util/nestedMap.d.ts.map +1 -0
  1898. package/lib/util/nestedMap.js +224 -0
  1899. package/lib/util/nestedMap.js.map +1 -0
  1900. package/lib/util/nestedSet.d.ts +9 -0
  1901. package/lib/util/nestedSet.d.ts.map +1 -0
  1902. package/lib/util/nestedSet.js +12 -0
  1903. package/lib/util/nestedSet.js.map +1 -0
  1904. package/lib/util/offsetList.d.ts +22 -0
  1905. package/lib/util/offsetList.d.ts.map +1 -0
  1906. package/lib/util/offsetList.js +40 -0
  1907. package/lib/util/offsetList.js.map +1 -0
  1908. package/lib/util/rangeMap.d.ts +40 -0
  1909. package/lib/util/rangeMap.d.ts.map +1 -0
  1910. package/lib/util/rangeMap.js +97 -0
  1911. package/lib/util/rangeMap.js.map +1 -0
  1912. package/lib/util/referenceCounting.d.ts +30 -0
  1913. package/lib/util/referenceCounting.d.ts.map +1 -0
  1914. package/lib/util/referenceCounting.js +30 -0
  1915. package/lib/util/referenceCounting.js.map +1 -0
  1916. package/lib/util/stackyIterator.d.ts +20 -0
  1917. package/lib/util/stackyIterator.d.ts.map +1 -0
  1918. package/lib/util/stackyIterator.js +45 -0
  1919. package/lib/util/stackyIterator.js.map +1 -0
  1920. package/lib/util/transactionResult.d.ts +20 -0
  1921. package/lib/util/transactionResult.d.ts.map +1 -0
  1922. package/lib/util/transactionResult.js +21 -0
  1923. package/lib/util/transactionResult.js.map +1 -0
  1924. package/lib/util/typeCheck.d.ts +183 -0
  1925. package/lib/util/typeCheck.d.ts.map +1 -0
  1926. package/lib/util/typeCheck.js +6 -0
  1927. package/lib/util/typeCheck.js.map +1 -0
  1928. package/lib/util/typeCheckTests.d.ts +60 -0
  1929. package/lib/util/typeCheckTests.d.ts.map +1 -0
  1930. package/lib/util/typeCheckTests.js +6 -0
  1931. package/lib/util/typeCheckTests.js.map +1 -0
  1932. package/lib/util/typeUtils.d.ts +129 -0
  1933. package/lib/util/typeUtils.d.ts.map +1 -0
  1934. package/lib/util/typeUtils.js +10 -0
  1935. package/lib/util/typeUtils.js.map +1 -0
  1936. package/lib/util/utils.d.ts +287 -0
  1937. package/lib/util/utils.d.ts.map +1 -0
  1938. package/lib/util/utils.js +346 -0
  1939. package/lib/util/utils.js.map +1 -0
  1940. package/package.json +129 -0
  1941. package/prettier.config.cjs +8 -0
  1942. package/src/class-tree/README.md +67 -0
  1943. package/src/class-tree/index.ts +43 -0
  1944. package/src/class-tree/integerIndexable.ts +120 -0
  1945. package/src/class-tree/internal.ts +20 -0
  1946. package/src/class-tree/schemaCreationUtilities.ts +178 -0
  1947. package/src/class-tree/schemaFactory.ts +685 -0
  1948. package/src/class-tree/schemaFactoryRecursive.ts +95 -0
  1949. package/src/class-tree/schemaTypes.ts +334 -0
  1950. package/src/class-tree/testRecursiveDomain.ts +47 -0
  1951. package/src/class-tree/toFlexSchema.ts +279 -0
  1952. package/src/class-tree/tree.ts +123 -0
  1953. package/src/class-tree/treeApi.ts +147 -0
  1954. package/src/codec/README.md +15 -0
  1955. package/src/codec/codec.ts +346 -0
  1956. package/src/codec/discriminatedUnions.ts +114 -0
  1957. package/src/codec/index.ts +23 -0
  1958. package/src/codec/noopValidator.ts +17 -0
  1959. package/src/core/README.md +9 -0
  1960. package/src/core/change-family/README.md +14 -0
  1961. package/src/core/change-family/changeFamily.ts +36 -0
  1962. package/src/core/change-family/editBuilder.ts +25 -0
  1963. package/src/core/change-family/index.ts +7 -0
  1964. package/src/core/forest/README.md +11 -0
  1965. package/src/core/forest/editableForest.ts +81 -0
  1966. package/src/core/forest/forest.ts +263 -0
  1967. package/src/core/forest/index.ts +22 -0
  1968. package/src/core/index.ts +193 -0
  1969. package/src/core/rebase/README.md +5 -0
  1970. package/src/core/rebase/changeRebaser.ts +169 -0
  1971. package/src/core/rebase/index.ts +51 -0
  1972. package/src/core/rebase/types.ts +129 -0
  1973. package/src/core/rebase/utils.ts +538 -0
  1974. package/src/core/rebase/verifyChangeRebaser.ts +385 -0
  1975. package/src/core/revertible/index.ts +6 -0
  1976. package/src/core/revertible/revertible.ts +75 -0
  1977. package/src/core/schema-stored/README.md +11 -0
  1978. package/src/core/schema-stored/format.ts +115 -0
  1979. package/src/core/schema-stored/index.ts +36 -0
  1980. package/src/core/schema-stored/schema.ts +313 -0
  1981. package/src/core/schema-stored/storedSchemaRepository.ts +136 -0
  1982. package/src/core/schema-view/README.md +9 -0
  1983. package/src/core/schema-view/index.ts +6 -0
  1984. package/src/core/schema-view/view.ts +76 -0
  1985. package/src/core/tree/README.md +15 -0
  1986. package/src/core/tree/anchorSet.ts +1219 -0
  1987. package/src/core/tree/cursor.ts +486 -0
  1988. package/src/core/tree/delta.ts +255 -0
  1989. package/src/core/tree/deltaUtil.ts +102 -0
  1990. package/src/core/tree/detachedFieldIndex.ts +170 -0
  1991. package/src/core/tree/detachedFieldIndexCodec.ts +59 -0
  1992. package/src/core/tree/detachedFieldIndexFormat.ts +35 -0
  1993. package/src/core/tree/detachedFieldIndexTypes.ts +15 -0
  1994. package/src/core/tree/index.ts +114 -0
  1995. package/src/core/tree/mapTree.ts +37 -0
  1996. package/src/core/tree/pathTree.ts +228 -0
  1997. package/src/core/tree/persistedTreeTextFormat.ts +93 -0
  1998. package/src/core/tree/sparseTree.ts +160 -0
  1999. package/src/core/tree/treeTextFormat.ts +179 -0
  2000. package/src/core/tree/types.ts +170 -0
  2001. package/src/core/tree/visitDelta.ts +482 -0
  2002. package/src/core/tree/visitPath.ts +125 -0
  2003. package/src/core/tree/visitorUtils.ts +106 -0
  2004. package/src/domains/README.md +6 -0
  2005. package/src/domains/fence.json +5 -0
  2006. package/src/domains/index.ts +18 -0
  2007. package/src/domains/json/fence.json +5 -0
  2008. package/src/domains/json/index.ts +7 -0
  2009. package/src/domains/json/jsonCursor.ts +137 -0
  2010. package/src/domains/json/jsonDomainSchema.ts +49 -0
  2011. package/src/domains/leafDomain.ts +98 -0
  2012. package/src/domains/nodeKey/fence.json +5 -0
  2013. package/src/domains/nodeKey/index.ts +6 -0
  2014. package/src/domains/nodeKey/nodeKeySchema.ts +43 -0
  2015. package/src/domains/schemaBuilder.ts +392 -0
  2016. package/src/domains/testRecursiveDomain.ts +56 -0
  2017. package/src/events/README.md +3 -0
  2018. package/src/events/events.ts +282 -0
  2019. package/src/events/fence.json +5 -0
  2020. package/src/events/index.ts +17 -0
  2021. package/src/external-utilities/README.md +5 -0
  2022. package/src/external-utilities/fence.json +5 -0
  2023. package/src/external-utilities/index.ts +6 -0
  2024. package/src/external-utilities/typeboxValidator.ts +30 -0
  2025. package/src/feature-libraries/README.md +140 -0
  2026. package/src/feature-libraries/chunked-forest/README.md +13 -0
  2027. package/src/feature-libraries/chunked-forest/basicChunk.ts +564 -0
  2028. package/src/feature-libraries/chunked-forest/chunk.ts +109 -0
  2029. package/src/feature-libraries/chunked-forest/chunkTree.ts +506 -0
  2030. package/src/feature-libraries/chunked-forest/chunkedForest.ts +443 -0
  2031. package/src/feature-libraries/chunked-forest/codec/README.md +55 -0
  2032. package/src/feature-libraries/chunked-forest/codec/chunkCodecUtilities.ts +183 -0
  2033. package/src/feature-libraries/chunked-forest/codec/chunkDecoding.ts +274 -0
  2034. package/src/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.ts +72 -0
  2035. package/src/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.ts +179 -0
  2036. package/src/feature-libraries/chunked-forest/codec/codecs.ts +101 -0
  2037. package/src/feature-libraries/chunked-forest/codec/compressedEncode.ts +486 -0
  2038. package/src/feature-libraries/chunked-forest/codec/fieldBatch.ts +12 -0
  2039. package/src/feature-libraries/chunked-forest/codec/format.ts +171 -0
  2040. package/src/feature-libraries/chunked-forest/codec/formatGeneric.ts +63 -0
  2041. package/src/feature-libraries/chunked-forest/codec/index.ts +8 -0
  2042. package/src/feature-libraries/chunked-forest/codec/nodeShape.ts +148 -0
  2043. package/src/feature-libraries/chunked-forest/codec/schemaBasedEncoding.ts +148 -0
  2044. package/src/feature-libraries/chunked-forest/codec/uncompressedEncode.ts +65 -0
  2045. package/src/feature-libraries/chunked-forest/emptyChunk.ts +114 -0
  2046. package/src/feature-libraries/chunked-forest/index.ts +23 -0
  2047. package/src/feature-libraries/chunked-forest/sequenceChunk.ts +62 -0
  2048. package/src/feature-libraries/chunked-forest/uniformChunk.ts +524 -0
  2049. package/src/feature-libraries/contextuallyTyped.ts +583 -0
  2050. package/src/feature-libraries/default-schema/README.md +3 -0
  2051. package/src/feature-libraries/default-schema/defaultEditBuilder.ts +428 -0
  2052. package/src/feature-libraries/default-schema/defaultFieldKinds.ts +218 -0
  2053. package/src/feature-libraries/default-schema/defaultSchema.ts +15 -0
  2054. package/src/feature-libraries/default-schema/index.ts +28 -0
  2055. package/src/feature-libraries/deltaUtils.ts +152 -0
  2056. package/src/feature-libraries/detachedFieldIndexSummarizer.ts +68 -0
  2057. package/src/feature-libraries/editableTreeBinder.ts +1018 -0
  2058. package/src/feature-libraries/fieldGenerator.ts +49 -0
  2059. package/src/feature-libraries/flex-tree/README.md +132 -0
  2060. package/src/feature-libraries/flex-tree/context.ts +163 -0
  2061. package/src/feature-libraries/flex-tree/flexTreeTypes.ts +1035 -0
  2062. package/src/feature-libraries/flex-tree/index.ts +59 -0
  2063. package/src/feature-libraries/flex-tree/lazyEntity.ts +152 -0
  2064. package/src/feature-libraries/flex-tree/lazyField.ts +598 -0
  2065. package/src/feature-libraries/flex-tree/lazyNode.ts +690 -0
  2066. package/src/feature-libraries/flex-tree/navigation.ts +121 -0
  2067. package/src/feature-libraries/flex-tree/nodeKeys.ts +51 -0
  2068. package/src/feature-libraries/flex-tree/treeEvents.ts +117 -0
  2069. package/src/feature-libraries/flex-tree/unboxed.ts +77 -0
  2070. package/src/feature-libraries/flex-tree/utilities.ts +74 -0
  2071. package/src/feature-libraries/forest-summary/codec.ts +50 -0
  2072. package/src/feature-libraries/forest-summary/forestSummarizer.ts +176 -0
  2073. package/src/feature-libraries/forest-summary/format.ts +21 -0
  2074. package/src/feature-libraries/forest-summary/index.ts +6 -0
  2075. package/src/feature-libraries/incrementalSummarizationUtils.ts +20 -0
  2076. package/src/feature-libraries/index.ts +299 -0
  2077. package/src/feature-libraries/mapTreeCursor.ts +75 -0
  2078. package/src/feature-libraries/memoizedIdRangeAllocator.ts +120 -0
  2079. package/src/feature-libraries/mitigatedChangeFamily.ts +71 -0
  2080. package/src/feature-libraries/modular-schema/README.md +22 -0
  2081. package/src/feature-libraries/modular-schema/comparison.ts +307 -0
  2082. package/src/feature-libraries/modular-schema/crossFieldQueries.ts +85 -0
  2083. package/src/feature-libraries/modular-schema/fieldChangeHandler.ts +226 -0
  2084. package/src/feature-libraries/modular-schema/fieldKind.ts +149 -0
  2085. package/src/feature-libraries/modular-schema/genericFieldKind.ts +231 -0
  2086. package/src/feature-libraries/modular-schema/genericFieldKindCodecs.ts +39 -0
  2087. package/src/feature-libraries/modular-schema/genericFieldKindFormat.ts +45 -0
  2088. package/src/feature-libraries/modular-schema/genericFieldKindTypes.ts +25 -0
  2089. package/src/feature-libraries/modular-schema/index.ts +65 -0
  2090. package/src/feature-libraries/modular-schema/modularChangeCodecs.ts +284 -0
  2091. package/src/feature-libraries/modular-schema/modularChangeFamily.ts +1359 -0
  2092. package/src/feature-libraries/modular-schema/modularChangeFormat.ts +147 -0
  2093. package/src/feature-libraries/modular-schema/modularChangeTypes.ts +85 -0
  2094. package/src/feature-libraries/multiplicity.ts +54 -0
  2095. package/src/feature-libraries/node-key/README.md +11 -0
  2096. package/src/feature-libraries/node-key/index.ts +16 -0
  2097. package/src/feature-libraries/node-key/nodeKey.ts +58 -0
  2098. package/src/feature-libraries/node-key/nodeKeyIndex.ts +125 -0
  2099. package/src/feature-libraries/node-key/nodeKeyManager.ts +107 -0
  2100. package/src/feature-libraries/object-forest/README.md +7 -0
  2101. package/src/feature-libraries/object-forest/index.ts +6 -0
  2102. package/src/feature-libraries/object-forest/objectForest.ts +505 -0
  2103. package/src/feature-libraries/optional-field/README.md +3 -0
  2104. package/src/feature-libraries/optional-field/index.ts +13 -0
  2105. package/src/feature-libraries/optional-field/optionalField.ts +619 -0
  2106. package/src/feature-libraries/optional-field/optionalFieldChangeFormat.ts +40 -0
  2107. package/src/feature-libraries/optional-field/optionalFieldChangeTypes.ts +59 -0
  2108. package/src/feature-libraries/optional-field/optionalFieldCodecs.ts +114 -0
  2109. package/src/feature-libraries/schema-aware/README.md +19 -0
  2110. package/src/feature-libraries/schema-aware/index.ts +17 -0
  2111. package/src/feature-libraries/schema-aware/schemaAware.ts +123 -0
  2112. package/src/feature-libraries/schema-edits/index.ts +8 -0
  2113. package/src/feature-libraries/schema-edits/schemaChangeCodecs.ts +32 -0
  2114. package/src/feature-libraries/schema-edits/schemaChangeFormat.ts +14 -0
  2115. package/src/feature-libraries/schema-edits/schemaChangeTypes.ts +16 -0
  2116. package/src/feature-libraries/schema-index/codec.ts +68 -0
  2117. package/src/feature-libraries/schema-index/format.ts +45 -0
  2118. package/src/feature-libraries/schema-index/index.ts +8 -0
  2119. package/src/feature-libraries/schema-index/schemaSummarizer.ts +138 -0
  2120. package/src/feature-libraries/schemaBuilder.ts +44 -0
  2121. package/src/feature-libraries/schemaBuilderBase.ts +425 -0
  2122. package/src/feature-libraries/sequence-field/README.md +6 -0
  2123. package/src/feature-libraries/sequence-field/compose.ts +745 -0
  2124. package/src/feature-libraries/sequence-field/format.ts +146 -0
  2125. package/src/feature-libraries/sequence-field/helperTypes.ts +57 -0
  2126. package/src/feature-libraries/sequence-field/index.ts +56 -0
  2127. package/src/feature-libraries/sequence-field/invert.ts +370 -0
  2128. package/src/feature-libraries/sequence-field/markListFactory.ts +55 -0
  2129. package/src/feature-libraries/sequence-field/markQueue.ts +90 -0
  2130. package/src/feature-libraries/sequence-field/moveEffectTable.ts +500 -0
  2131. package/src/feature-libraries/sequence-field/prune.ts +28 -0
  2132. package/src/feature-libraries/sequence-field/rebase.ts +1058 -0
  2133. package/src/feature-libraries/sequence-field/relevantRemovedRoots.ts +58 -0
  2134. package/src/feature-libraries/sequence-field/sequenceFieldChangeHandler.ts +24 -0
  2135. package/src/feature-libraries/sequence-field/sequenceFieldChangeRebaser.ts +21 -0
  2136. package/src/feature-libraries/sequence-field/sequenceFieldCodecs.ts +280 -0
  2137. package/src/feature-libraries/sequence-field/sequenceFieldEditor.ts +181 -0
  2138. package/src/feature-libraries/sequence-field/sequenceFieldToDelta.ts +198 -0
  2139. package/src/feature-libraries/sequence-field/types.ts +210 -0
  2140. package/src/feature-libraries/sequence-field/utils.ts +1238 -0
  2141. package/src/feature-libraries/storedToViewSchema.ts +105 -0
  2142. package/src/feature-libraries/treeCompressionUtils.ts +23 -0
  2143. package/src/feature-libraries/treeCursorUtils.ts +489 -0
  2144. package/src/feature-libraries/treeTextCursor.ts +125 -0
  2145. package/src/feature-libraries/typed-schema/README.md +6 -0
  2146. package/src/feature-libraries/typed-schema/flexList.ts +167 -0
  2147. package/src/feature-libraries/typed-schema/index.ts +51 -0
  2148. package/src/feature-libraries/typed-schema/internal.ts +10 -0
  2149. package/src/feature-libraries/typed-schema/schemaCollection.ts +309 -0
  2150. package/src/feature-libraries/typed-schema/typeUtils.ts +39 -0
  2151. package/src/feature-libraries/typed-schema/typedTreeSchema.ts +594 -0
  2152. package/src/feature-libraries/typed-schema/view.ts +157 -0
  2153. package/src/feature-libraries/utils.ts +35 -0
  2154. package/src/feature-libraries/valueUtilities.ts +93 -0
  2155. package/src/feature-libraries/versioned/codec.ts +62 -0
  2156. package/src/feature-libraries/versioned/format.ts +11 -0
  2157. package/src/feature-libraries/versioned/index.ts +7 -0
  2158. package/src/index.ts +341 -0
  2159. package/src/internal.ts +17 -0
  2160. package/src/shared-tree/README.md +10 -0
  2161. package/src/shared-tree/index.ts +34 -0
  2162. package/src/shared-tree/schematizedTree.ts +272 -0
  2163. package/src/shared-tree/sharedTree.ts +443 -0
  2164. package/src/shared-tree/sharedTreeChangeCodecs.ts +79 -0
  2165. package/src/shared-tree/sharedTreeChangeFamily.ts +170 -0
  2166. package/src/shared-tree/sharedTreeChangeFormat.ts +18 -0
  2167. package/src/shared-tree/sharedTreeChangeTypes.ts +24 -0
  2168. package/src/shared-tree/sharedTreeEditBuilder.ts +70 -0
  2169. package/src/shared-tree/treeCheckout.ts +451 -0
  2170. package/src/shared-tree/treeView.ts +107 -0
  2171. package/src/shared-tree-core/README.md +19 -0
  2172. package/src/shared-tree-core/branch.ts +612 -0
  2173. package/src/shared-tree-core/editManager.ts +655 -0
  2174. package/src/shared-tree-core/editManagerCodecs.ts +63 -0
  2175. package/src/shared-tree-core/editManagerFormat.ts +119 -0
  2176. package/src/shared-tree-core/editManagerSummarizer.ts +103 -0
  2177. package/src/shared-tree-core/index.ts +32 -0
  2178. package/src/shared-tree-core/messageCodecs.ts +43 -0
  2179. package/src/shared-tree-core/messageFormat.ts +33 -0
  2180. package/src/shared-tree-core/messageTypes.ts +11 -0
  2181. package/src/shared-tree-core/revisionTagCodecs.ts +16 -0
  2182. package/src/shared-tree-core/sharedTreeCore.ts +365 -0
  2183. package/src/shared-tree-core/transactionStack.ts +46 -0
  2184. package/src/simple-tree/README.md +3 -0
  2185. package/src/simple-tree/flexNode.ts +88 -0
  2186. package/src/simple-tree/index.ts +30 -0
  2187. package/src/simple-tree/insertable.ts +106 -0
  2188. package/src/simple-tree/objectFactory.ts +46 -0
  2189. package/src/simple-tree/proxies.ts +1165 -0
  2190. package/src/simple-tree/rawNode.ts +276 -0
  2191. package/src/simple-tree/toMapTree.ts +464 -0
  2192. package/src/simple-tree/treeListNode.ts +81 -0
  2193. package/src/simple-tree/types.ts +346 -0
  2194. package/src/treeFactory.ts +149 -0
  2195. package/src/util/README.md +9 -0
  2196. package/src/util/brand.ts +248 -0
  2197. package/src/util/brandedMap.ts +73 -0
  2198. package/src/util/idAllocator.ts +52 -0
  2199. package/src/util/index.ts +131 -0
  2200. package/src/util/nestedMap.ts +297 -0
  2201. package/src/util/nestedSet.ts +24 -0
  2202. package/src/util/offsetList.ts +45 -0
  2203. package/src/util/rangeMap.ts +149 -0
  2204. package/src/util/referenceCounting.ts +51 -0
  2205. package/src/util/stackyIterator.ts +53 -0
  2206. package/src/util/transactionResult.ts +20 -0
  2207. package/src/util/typeCheck.ts +208 -0
  2208. package/src/util/typeCheckTests.ts +237 -0
  2209. package/src/util/typeUtils.ts +168 -0
  2210. package/src/util/utils.ts +538 -0
  2211. package/tsconfig.esnext.json +7 -0
  2212. package/tsconfig.json +17 -0
@@ -0,0 +1,1789 @@
1
+ import { FluidObject } from '@fluidframework/core-interfaces';
2
+ import { IChannel } from '@fluidframework/datastore-definitions';
3
+ import { IChannelAttributes } from '@fluidframework/datastore-definitions';
4
+ import { IChannelFactory } from '@fluidframework/datastore-definitions';
5
+ import { IChannelServices } from '@fluidframework/datastore-definitions';
6
+ import { IExperimentalIncrementalSummaryContext } from '@fluidframework/runtime-definitions';
7
+ import { IFluidDataStoreRuntime } from '@fluidframework/datastore-definitions';
8
+ import { IFluidHandle } from '@fluidframework/core-interfaces';
9
+ import { IFluidLoadable } from '@fluidframework/core-interfaces';
10
+ import { IGarbageCollectionData } from '@fluidframework/runtime-definitions';
11
+ import { ISharedObject } from '@fluidframework/shared-object-base';
12
+ import { ISummaryTreeWithStats } from '@fluidframework/runtime-definitions';
13
+ import { ITelemetryContext } from '@fluidframework/runtime-definitions';
14
+ import { SessionSpaceCompressedId } from '@fluidframework/runtime-definitions';
15
+ import { StableId } from '@fluidframework/runtime-definitions';
16
+ import type { Static } from '@sinclair/typebox';
17
+ import type { TSchema } from '@sinclair/typebox';
18
+
19
+ /* Excluded from this release type: adaptEnum */
20
+
21
+ /* Excluded from this release type: Adapters */
22
+
23
+ /* Excluded from this release type: AllowedTypes */
24
+
25
+ /**
26
+ * Types for use in fields.
27
+ * @beta
28
+ */
29
+ declare type AllowedTypes_2 = readonly LazyItem<TreeNodeSchema>[];
30
+
31
+ /* Excluded from this release type: AllowedTypeSet */
32
+
33
+ /* Excluded from this release type: AllowedTypesToFlexInsertableTree */
34
+
35
+ /* Excluded from this release type: AllowedUpdateType */
36
+
37
+ /* Excluded from this release type: AllowOptional */
38
+
39
+ /* Excluded from this release type: AllowOptionalNotFlattened */
40
+
41
+ /* Excluded from this release type: Anchor */
42
+
43
+ /* Excluded from this release type: AnchorEvents */
44
+
45
+ /* Excluded from this release type: AnchorLocator */
46
+
47
+ /* Excluded from this release type: AnchorNode */
48
+
49
+ /* Excluded from this release type: AnchorSet */
50
+
51
+ /* Excluded from this release type: AnchorSetRootEvents */
52
+
53
+ /* Excluded from this release type: AnchorSlot */
54
+
55
+ /* Excluded from this release type: anchorSlot */
56
+
57
+ /* Excluded from this release type: AnnouncedVisitor */
58
+
59
+ /* Excluded from this release type: Any */
60
+
61
+ /**
62
+ * Suitable for output.
63
+ * For input must error on side of excluding undefined instead.
64
+ * @beta
65
+ */
66
+ declare type ApplyKind<T, Kind extends FieldKind_2> = Kind extends FieldKind_2.Required ? T : undefined | T;
67
+
68
+ /* Excluded from this release type: ApplyMultiplicity */
69
+
70
+ /* Excluded from this release type: arrayLikeMarkerSymbol */
71
+
72
+ /* Excluded from this release type: ArrayLikeMut */
73
+
74
+ /**
75
+ * Convert a Array type into the type of ReadonlySet.
76
+ *
77
+ * Same as `keyof ListToKeys<T, unknown>` but work for values that are not valid keys.
78
+ * @beta
79
+ */
80
+ declare type ArrayToUnion<T extends readonly unknown[]> = T extends readonly (infer TValue)[] ? TValue : never;
81
+
82
+ /* Excluded from this release type: AssignableFieldKinds */
83
+
84
+ /* Excluded from this release type: Assume */
85
+
86
+ /**
87
+ * Allows boxed iteration of a tree/field
88
+ */
89
+ declare const boxedIterator: unique symbol;
90
+
91
+ /* Excluded from this release type: Brand */
92
+
93
+ /* Excluded from this release type: brand */
94
+
95
+ /* Excluded from this release type: BrandedKey */
96
+
97
+ /* Excluded from this release type: BrandedKeyContent */
98
+
99
+ /* Excluded from this release type: BrandedMapSubset */
100
+
101
+ /* Excluded from this release type: BrandedType */
102
+
103
+ /* Excluded from this release type: buildTreeConfiguration */
104
+
105
+ /* Excluded from this release type: ChangesetLocalId */
106
+
107
+ /**
108
+ * Events for {@link ITreeCheckout}.
109
+ * @beta
110
+ */
111
+ export declare interface CheckoutEvents {
112
+ /**
113
+ * A batch of changes has finished processing and the view is in a consistent state.
114
+ * It is once again safe to access the EditableTree, Forest and AnchorSet.
115
+ *
116
+ * @remarks
117
+ * This is mainly useful for knowing when to do followup work scheduled during events from Anchors.
118
+ */
119
+ afterBatch(): void;
120
+ /**
121
+ * A revertible change has been made to this view.
122
+ * Applications which subscribe to this event are expected to revert or discard revertibles they acquire, if they so choose (failure to do so will leak memory).
123
+ * The provided revertible is inherently bound to the view that raised the event, calling `revert` won't apply to forked views.
124
+ *
125
+ * @remarks
126
+ * This event provides a {@link Revertible} object that can be used to revert the change.
127
+ */
128
+ revertible(revertible: Revertible): void;
129
+ }
130
+
131
+ /* Excluded from this release type: CheckTypesOverlap */
132
+
133
+ /* Excluded from this release type: ChildCollection */
134
+
135
+ /* Excluded from this release type: ChildLocation */
136
+
137
+ /* Excluded from this release type: CollectOptions */
138
+
139
+ /* Excluded from this release type: compareLocalNodeKeys */
140
+
141
+ /* Excluded from this release type: ContextuallyTypedFieldData */
142
+
143
+ /* Excluded from this release type: ContextuallyTypedNodeData */
144
+
145
+ /* Excluded from this release type: ContextuallyTypedNodeDataObject */
146
+
147
+ /* Excluded from this release type: Contravariant */
148
+
149
+ /* Excluded from this release type: Covariant */
150
+
151
+ /**
152
+ * Non-exported symbol used to make IterableTreeListContent constructable only from within this file.
153
+ */
154
+ declare const create: unique symbol;
155
+
156
+ /* Excluded from this release type: createEmitter */
157
+
158
+ /* Excluded from this release type: CursorAdapter */
159
+
160
+ /* Excluded from this release type: cursorForTypedTreeData */
161
+
162
+ /* Excluded from this release type: cursorFromContextualData */
163
+
164
+ /* Excluded from this release type: CursorLocationType */
165
+
166
+ /**
167
+ * A symbol for marking an object as an {@link ITreeCursor}.
168
+ *
169
+ * Useful when APIs want to take in tree data in multiple formats, including cursors.
170
+ */
171
+ declare const CursorMarker: unique symbol;
172
+
173
+ /* Excluded from this release type: CursorWithNode */
174
+
175
+ /* Excluded from this release type: defaultSchemaPolicy */
176
+
177
+ /* Excluded from this release type: DeltaDetachedNodeBuild */
178
+
179
+ /* Excluded from this release type: DeltaDetachedNodeChanges */
180
+
181
+ /* Excluded from this release type: DeltaDetachedNodeDestruction */
182
+
183
+ /* Excluded from this release type: DeltaDetachedNodeId */
184
+
185
+ /* Excluded from this release type: DeltaDetachedNodeRename */
186
+
187
+ /* Excluded from this release type: DeltaFieldChanges */
188
+
189
+ /* Excluded from this release type: DeltaFieldMap */
190
+
191
+ /* Excluded from this release type: DeltaMark */
192
+
193
+ /* Excluded from this release type: DeltaProtoNode */
194
+
195
+ /* Excluded from this release type: DeltaRoot */
196
+
197
+ /* Excluded from this release type: DeltaVisitor */
198
+
199
+ /* Excluded from this release type: DetachedField */
200
+
201
+ /* Excluded from this release type: DetachedPlaceUpPath */
202
+
203
+ /* Excluded from this release type: DetachedRangeUpPath */
204
+
205
+ /**
206
+ * The result of a discard operation.
207
+ *
208
+ * @beta
209
+ */
210
+ export declare enum DiscardResult {
211
+ /** The discard was successful. */
212
+ Success = 0,
213
+ /** The discard failed. */
214
+ Failure = 1
215
+ }
216
+
217
+ /**
218
+ * Placeholder for `Symbol.dispose`.
219
+ *
220
+ * Replace this with `Symbol.dispose` when it is available.
221
+ * @beta
222
+ */
223
+ export declare const disposeSymbol: unique symbol;
224
+
225
+ /* Excluded from this release type: EditableTreeEvents */
226
+
227
+ /* Excluded from this release type: EmptyKey */
228
+
229
+ /* Excluded from this release type: EmptyObject */
230
+
231
+ /* Excluded from this release type: encodeTreeSchema */
232
+
233
+ /* Excluded from this release type: enumFromStrings */
234
+
235
+ /* Excluded from this release type: Erased */
236
+
237
+ /* Excluded from this release type: ErasedTreeNodeSchemaDataFormat */
238
+
239
+ /* Excluded from this release type: ErasedType */
240
+
241
+ /**
242
+ * Used to specify the kinds of events emitted by an {@link ISubscribable}.
243
+ *
244
+ * @remarks
245
+ *
246
+ * Any object type is a valid {@link Events}, but only the event-like properties of that
247
+ * type will be included.
248
+ *
249
+ * @example
250
+ *
251
+ * ```typescript
252
+ * interface MyEvents {
253
+ * load: (user: string, data: IUserData) => void;
254
+ * error: (errorCode: number) => void;
255
+ * }
256
+ * ```
257
+ *
258
+ * @beta
259
+ */
260
+ export declare type Events<E> = {
261
+ [P in (string | symbol) & keyof E as IsEvent<E[P]> extends true ? P : never]: E[P];
262
+ };
263
+
264
+ /* Excluded from this release type: ExtractFromOpaque */
265
+
266
+ /* Excluded from this release type: extractFromOpaque */
267
+
268
+ /**
269
+ * Get the `Item` type from a `LazyItem<Item>`.
270
+ * @beta
271
+ */
272
+ declare type ExtractItemType<Item extends LazyItem> = Item extends () => infer Result ? Result : Item;
273
+
274
+ /* Excluded from this release type: fail */
275
+
276
+ /* Excluded from this release type: FieldAnchor */
277
+
278
+ /* Excluded from this release type: FieldGenerator */
279
+
280
+ /* Excluded from this release type: FieldKey */
281
+
282
+ /* Excluded from this release type: FieldKind */
283
+
284
+ /**
285
+ * Kind of a field on a node.
286
+ * @beta
287
+ */
288
+ declare enum FieldKind_2 {
289
+ /**
290
+ * A field which can be empty or filled.
291
+ * @remarks
292
+ * Allows 0 or one child.
293
+ */
294
+ Optional = 0,
295
+ /**
296
+ * A field which must always be filled.
297
+ * @remarks
298
+ * Only allows exactly one child.
299
+ */
300
+ Required = 1
301
+ }
302
+
303
+ /* Excluded from this release type: FieldKindIdentifier */
304
+
305
+ /* Excluded from this release type: FieldKinds */
306
+
307
+ /* Excluded from this release type: FieldKindSpecifier */
308
+
309
+ /* Excluded from this release type: FieldLocation */
310
+
311
+ /* Excluded from this release type: FieldMapObject */
312
+
313
+ /* Excluded from this release type: FieldNodeSchema */
314
+
315
+ /* Excluded from this release type: Fields */
316
+
317
+ /**
318
+ * All policy for a specific field,
319
+ * including functionality that does not have to be kept consistent across versions or deterministic.
320
+ *
321
+ * This can include policy for how to use this schema for "view" purposes, and well as how to expose editing APIs.
322
+ * @sealed @beta
323
+ */
324
+ declare class FieldSchema<out Kind extends FieldKind_2 = FieldKind_2, out Types extends ImplicitAllowedTypes_2 = ImplicitAllowedTypes_2> {
325
+ readonly kind: Kind;
326
+ readonly allowedTypes: Types;
327
+ /**
328
+ * This class is used with instanceof, and therefore should have nominal typing.
329
+ * This field enforces that.
330
+ */
331
+ protected _typeCheck?: MakeNominal;
332
+ /**
333
+ * @param kind - The [kind](https://en.wikipedia.org/wiki/Kind_(type_theory)) of this field.
334
+ * Determine the multiplicity, viewing and editing APIs as well as the merge resolution policy.
335
+ * @param allowedTypes - What types of tree nodes are allowed in this field.
336
+ */
337
+ constructor(kind: Kind, allowedTypes: Types);
338
+ }
339
+
340
+ /* Excluded from this release type: FieldUpPath */
341
+
342
+ /* Excluded from this release type: FlattenKeys */
343
+
344
+ /* Excluded from this release type: FlexibleFieldContent */
345
+
346
+ /* Excluded from this release type: FlexibleNodeContent */
347
+
348
+ /* Excluded from this release type: FlexibleNodeSubSequence */
349
+
350
+ /* Excluded from this release type: FlexImplicitFieldSchema */
351
+
352
+ /**
353
+ * A flexible way to list values.
354
+ * Each item in the list can either be an "eager" **value** or a "lazy" **function that returns a value** (the latter allows cyclic references to work).
355
+ * @privateRemarks
356
+ * By default, items that are of type `"function"` will be considered lazy and all other items will be considered eager.
357
+ * To force a `"function"` item to be treated as an eager item, call `markEager` before putting it in the list.
358
+ * This is necessary e.g. when the eager list items are function types and the lazy items are functions that _return_ function types.
359
+ * `FlexList`s are processed by `normalizeFlexList` and `normalizeFlexListEager`.
360
+ * @beta
361
+ */
362
+ declare type FlexList<Item = unknown> = readonly LazyItem<Item>[];
363
+
364
+ /**
365
+ * Normalize FlexList type to a union.
366
+ * @beta
367
+ */
368
+ declare type FlexListToUnion<TList extends FlexList> = ExtractItemType<ArrayToUnion<TList>>;
369
+
370
+ /* Excluded from this release type: FlexTreeEntity */
371
+
372
+ /* Excluded from this release type: FlexTreeEntityKind */
373
+
374
+ /* Excluded from this release type: FlexTreeField */
375
+
376
+ /* Excluded from this release type: FlexTreeFieldNode */
377
+
378
+ /* Excluded from this release type: FlexTreeLeafNode */
379
+
380
+ /* Excluded from this release type: FlexTreeMapNode */
381
+
382
+ /* Excluded from this release type: flexTreeMarker */
383
+
384
+ /* Excluded from this release type: FlexTreeNode */
385
+
386
+ /* Excluded from this release type: FlexTreeNodeKeyField */
387
+
388
+ /* Excluded from this release type: FlexTreeNodeSchema */
389
+
390
+ /* Excluded from this release type: FlexTreeObjectNode */
391
+
392
+ /* Excluded from this release type: FlexTreeObjectNodeFields */
393
+
394
+ /* Excluded from this release type: FlexTreeObjectNodeTyped */
395
+
396
+ /* Excluded from this release type: FlexTreeOptionalField */
397
+
398
+ /* Excluded from this release type: FlexTreeRequiredField */
399
+
400
+ /* Excluded from this release type: FlexTreeSchema */
401
+
402
+ /* Excluded from this release type: FlexTreeSequenceField */
403
+
404
+ /* Excluded from this release type: FlexTreeTypedField */
405
+
406
+ /* Excluded from this release type: FlexTreeTypedFieldInner */
407
+
408
+ /* Excluded from this release type: FlexTreeTypedNode */
409
+
410
+ /* Excluded from this release type: FlexTreeTypedNodeUnion */
411
+
412
+ /* Excluded from this release type: FlexTreeUnboxField */
413
+
414
+ /* Excluded from this release type: FlexTreeUnboxFieldInner */
415
+
416
+ /* Excluded from this release type: FlexTreeUnboxNode */
417
+
418
+ /* Excluded from this release type: FlexTreeUnboxNodeUnion */
419
+
420
+ /* Excluded from this release type: FlexTreeUnknownUnboxed */
421
+
422
+ /* Excluded from this release type: FlexTreeView */
423
+
424
+ /* Excluded from this release type: Forbidden */
425
+
426
+ /* Excluded from this release type: forbiddenFieldKindIdentifier */
427
+
428
+ /* Excluded from this release type: ForestEvents */
429
+
430
+ /* Excluded from this release type: ForestLocation */
431
+
432
+ /* Excluded from this release type: ForestType */
433
+
434
+ /* Excluded from this release type: FullSchemaPolicy */
435
+
436
+ /* Excluded from this release type: GenericFieldsNode */
437
+
438
+ /* Excluded from this release type: GenericTreeNode */
439
+
440
+ /* Excluded from this release type: HasListeners */
441
+
442
+ /* Excluded from this release type: ICodecOptions */
443
+
444
+ /* Excluded from this release type: IdAllocator */
445
+
446
+ /* Excluded from this release type: IDefaultEditBuilder */
447
+
448
+ /**
449
+ * An object with an explicit lifetime that can be ended.
450
+ * @privateRemarks
451
+ * TODO: align this with core-utils/IDisposable and {@link https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-2.html#using-declarations-and-explicit-resource-management| TypeScript's Disposable}.
452
+ * @beta
453
+ */
454
+ export declare interface IDisposable {
455
+ /**
456
+ * Call to end the lifetime of this object.
457
+ *
458
+ * It is invalid to use this object after this,
459
+ * except for operations which explicitly document they are valid after disposal.
460
+ *
461
+ * @remarks
462
+ * May cleanup resources retained by this object.
463
+ * Often includes un-registering from events and thus preventing other objects from retaining a reference to this indefinably.
464
+ *
465
+ * Usually the only operations allowed after disposal are querying if an object is already disposed,
466
+ * but this can vary between implementations.
467
+ */
468
+ [disposeSymbol](): void;
469
+ }
470
+
471
+ /* Excluded from this release type: IEditableForest */
472
+
473
+ /* Excluded from this release type: IEmitter */
474
+
475
+ /* Excluded from this release type: IForestSubscription */
476
+
477
+ /* Excluded from this release type: ImplicitAllowedTypes */
478
+
479
+ /**
480
+ * Types allowed in a field.
481
+ * @remarks
482
+ * Implicitly treats a single type as an array of one type.
483
+ * @beta
484
+ */
485
+ declare type ImplicitAllowedTypes_2 = AllowedTypes_2 | TreeNodeSchema;
486
+
487
+ /**
488
+ * Schema for a field of a tree node.
489
+ * @remarks
490
+ * Implicitly treats {@link ImplicitAllowedTypes} as a Required field of that type.
491
+ * @beta
492
+ */
493
+ export declare type ImplicitFieldSchema = FieldSchema | ImplicitAllowedTypes_2;
494
+
495
+ /* Excluded from this release type: InitializeAndSchematizeConfiguration */
496
+
497
+ /* Excluded from this release type: _InlineTrick */
498
+
499
+ /* Excluded from this release type: InsertableFlexField */
500
+
501
+ /* Excluded from this release type: InsertableFlexNode */
502
+
503
+ /**
504
+ * Helper used to produce types for:
505
+ *
506
+ * 1. Insertable content which can be used to construct an object node.
507
+ *
508
+ * 2. Insertable content which is an unhydrated object node.
509
+ *
510
+ * 3. Union of 1 and 2.
511
+ *
512
+ * TODO: consider separating these cases into different types.
513
+ * @beta
514
+ */
515
+ declare type InsertableObjectFromSchemaRecord<T extends RestrictiveReadonlyRecord<string, ImplicitFieldSchema>> = {
516
+ readonly [Property in keyof T]: InsertableTreeFieldFromImplicitField<T[Property]>;
517
+ };
518
+
519
+ /**
520
+ * Type of content that can be inserted into the tree for a field of the given schema.
521
+ * @beta
522
+ */
523
+ declare type InsertableTreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<InsertableTreeNodeFromImplicitAllowedTypes<Types>, Kind> : TSchema extends ImplicitAllowedTypes_2 ? InsertableTreeNodeFromImplicitAllowedTypes<TSchema> : unknown;
524
+
525
+ /**
526
+ * Type of content that can be inserted into the tree for a node of the given schema.
527
+ * @beta
528
+ */
529
+ export declare type InsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes_2 = TreeNodeSchema> = TSchema extends TreeNodeSchema ? InsertableTypedNode<TSchema> : TSchema extends AllowedTypes_2 ? InsertableTypedNode<FlexListToUnion<TSchema>> : never;
530
+
531
+ /**
532
+ * Data which can be used as a node to be inserted.
533
+ * Either an unhydrated node, or content to build a new node.
534
+ * @beta
535
+ */
536
+ declare type InsertableTypedNode<T extends TreeNodeSchema> = (T extends {
537
+ implicitlyConstructable: true;
538
+ } ? NodeBuilderData<T> : never) | Unhydrated<NodeFromSchema<T>>;
539
+
540
+ declare namespace InternalClassTreeTypes {
541
+ export {
542
+ ObjectFromSchemaRecord,
543
+ InsertableObjectFromSchemaRecord,
544
+ TreeNodeFromImplicitAllowedTypes,
545
+ ImplicitAllowedTypes_2 as ImplicitAllowedTypes,
546
+ FieldKind_2 as FieldKind,
547
+ InsertableTreeFieldFromImplicitField,
548
+ AllowedTypes_2 as AllowedTypes,
549
+ FieldSchema,
550
+ ApplyKind,
551
+ InsertableTypedNode,
552
+ NodeBuilderData
553
+ }
554
+ }
555
+
556
+ declare namespace InternalTypedSchemaTypes {
557
+ export {
558
+ ArrayToUnion,
559
+ FlexList,
560
+ LazyItem,
561
+ ExtractItemType,
562
+ FlexListToUnion
563
+ }
564
+ }
565
+ export { InternalTypedSchemaTypes }
566
+
567
+ declare namespace InternalTypes {
568
+ export {
569
+ MakeNominal,
570
+ RestrictiveReadonlyRecord,
571
+ NodeKind,
572
+ TreeNodeSchemaClass,
573
+ TreeNodeSchemaNonClass,
574
+ TreeNodeSchemaCore,
575
+ InternalClassTreeTypes,
576
+ TreeArrayNodeBase
577
+ }
578
+ }
579
+ export { InternalTypes }
580
+
581
+ /* Excluded from this release type: Invariant */
582
+
583
+ /* Excluded from this release type: isAny */
584
+
585
+ /* Excluded from this release type: IsArrayOfOne */
586
+
587
+ /* Excluded from this release type: ISchemaEditor */
588
+
589
+ /* Excluded from this release type: isContextuallyTypedNodeDataObject */
590
+
591
+ /**
592
+ * `true` iff the given type is an acceptable shape for an event
593
+ * @beta
594
+ */
595
+ export declare type IsEvent<Event> = Event extends (...args: any[]) => any ? true : false;
596
+
597
+ /* Excluded from this release type: ISharedTree */
598
+
599
+ /* Excluded from this release type: ISharedTreeEditor */
600
+
601
+ /* Excluded from this release type: isNeverField */
602
+
603
+ /**
604
+ * An object which allows the registration of listeners so that subscribers can be notified when an event happens.
605
+ *
606
+ * {@link createEmitter} can help implement this interface via delegation.
607
+ * `EventEmitter` can be used as a base class to implement this via extension.
608
+ * @param E - All the events that this emitter supports
609
+ * @example
610
+ * ```ts
611
+ * type MyEventEmitter = IEventEmitter<{
612
+ * load: (user: string, data: IUserData) => void;
613
+ * error: (errorCode: number) => void;
614
+ * }>
615
+ * ```
616
+ * @beta
617
+ */
618
+ export declare interface ISubscribable<E extends Events<E>> {
619
+ /**
620
+ * Register an event listener.
621
+ * @param eventName - the name of the event
622
+ * @param listener - the handler to run when the event is fired by the emitter
623
+ * @returns a function which will deregister the listener when run. This function has undefined behavior
624
+ * if called more than once.
625
+ */
626
+ on<K extends keyof Events<E>>(eventName: K, listener: E[K]): () => void;
627
+ }
628
+
629
+ /**
630
+ * Used to insert iterable content into a {@link (TreeArrayNode:interface)}.
631
+ * Use {@link (TreeArrayNode:variable).inline} to create an instance of this type.
632
+ * @beta
633
+ */
634
+ export declare class IterableTreeListContent<T> implements Iterable<T> {
635
+ private readonly content;
636
+ private constructor();
637
+ /**
638
+ * Package internal construction API.
639
+ * Use {@link (TreeArrayNode:variable).inline} to create an instance of this type instead.
640
+ */
641
+ static [create]<T>(content: Iterable<T>): IterableTreeListContent<T>;
642
+ /**
643
+ * Iterates over content for nodes to insert.
644
+ */
645
+ [Symbol.iterator](): Iterator<T>;
646
+ }
647
+
648
+ /* Excluded from this release type: ITransaction */
649
+
650
+ /**
651
+ * Channel for a Fluid Tree DDS.
652
+ * @remarks
653
+ * Allows storing and collaboratively editing schema-aware hierarchial data.
654
+ * @beta
655
+ */
656
+ export declare interface ITree extends IChannel {
657
+ /**
658
+ * Returns a tree that is known to be compatible with the provided schema. The returned tree exposes an API that is schema-aware.
659
+ *
660
+ * @remarks
661
+ * If the tree is uninitialized (has no schema and no content), the tree is initialized with the `initialTree` and
662
+ * view `schema` in the provided `config`.
663
+ *
664
+ * The tree (now known to have been initialized) has its stored schema checked against the provided view schema.
665
+ *
666
+ * If the schemas are compatible (including updating the stored schema if permitted via `allowedSchemaModifications`),
667
+ * a {@link TreeView} is returned, with a schema-aware API based on the provided view schema.
668
+ *
669
+ * If the schemas are not compatible, an exception is thrown.
670
+ *
671
+ * @privateRemarks
672
+ * TODO: make the mismatch case recoverable.
673
+ * - Provide a way to make a generic view schema for any document.
674
+ * - Produce/throw the error in a document-recoverable way (ex: specific exception type or return value).
675
+ * TODO: Document and handle what happens when the stored schema changes after schematize has returned. Is some invalidation contract needed? How does editable tree behave?
676
+ * TODO: Clarify lifetimes. Ensure calling schematize multiple times does not leak.
677
+ * TODO: Support adapters for handling out-of-schema data.
678
+ *
679
+ * Doing initialization here, regardless of `AllowedUpdateType`, allows a small API that is hard to use incorrectly.
680
+ * Other approaches tend to have easy-to-make mistakes.
681
+ * For example, having a separate initialization function means apps can forget to call it, making an app that can only open existing documents,
682
+ * or call it unconditionally leaving an app that can only create new documents.
683
+ * It also would require the schema to be passed into separate places and could cause issues if they didn't match.
684
+ * Since the initialization function couldn't return a typed tree, the type checking wouldn't help catch that.
685
+ * Also, if an app manages to create a document, but the initialization fails to get persisted, an app that only calls the initialization function
686
+ * on the create code-path (for example how a schematized factory might do it),
687
+ * would leave the document in an unusable state which could not be repaired when it is reopened (by the same or other clients).
688
+ * Additionally, once out of schema content adapters are properly supported (with lazy document updates),
689
+ * this initialization could become just another out of schema content adapter: at that point it clearly belongs here in schematize.
690
+ */
691
+ schematize<TRoot extends ImplicitFieldSchema>(config: TreeConfiguration<TRoot>): TreeView<TreeFieldFromImplicitField<TRoot>>;
692
+ }
693
+
694
+ /* Excluded from this release type: ITreeCheckout */
695
+
696
+ /* Excluded from this release type: ITreeCheckoutFork */
697
+
698
+ /* Excluded from this release type: ITreeCursor */
699
+
700
+ /* Excluded from this release type: ITreeCursorSynchronous */
701
+
702
+ /* Excluded from this release type: ITreeSubscriptionCursor */
703
+
704
+ /* Excluded from this release type: ITreeSubscriptionCursorState */
705
+
706
+ /* Excluded from this release type: ITreeViewFork */
707
+
708
+ /* Excluded from this release type: JsonableTree */
709
+
710
+ /* Excluded from this release type: jsonableTreeFromCursor */
711
+
712
+ /* Excluded from this release type: JsonCompatible */
713
+
714
+ /* Excluded from this release type: JsonCompatibleObject */
715
+
716
+ /* Excluded from this release type: JsonCompatibleReadOnly */
717
+
718
+ /* Excluded from this release type: JsonValidator */
719
+
720
+ /**
721
+ * An "eager" or "lazy" Item in a `FlexList`.
722
+ * Lazy items are wrapped in a function to allow referring to themselves before they are declared.
723
+ * This makes recursive and co-recursive items possible.
724
+ * @beta
725
+ */
726
+ declare type LazyItem<Item = unknown> = Item | (() => Item);
727
+
728
+ /* Excluded from this release type: LazyTreeNodeSchema */
729
+
730
+ /* Excluded from this release type: leaf */
731
+
732
+ /* Excluded from this release type: LeafNodeSchema */
733
+
734
+ /* Excluded from this release type: LocalNodeKey */
735
+
736
+ /**
737
+ * Utilities for manipulating the typescript typechecker.
738
+ *
739
+ * @remarks
740
+ * While it appears the the variance parts of this library are made obsolete by TypeScript 4.7's explicit variance annotations,
741
+ * many cases still type check with incorrect variance even when using the explicit annotations,
742
+ * and are fixed by using the patterns in this library.
743
+ *
744
+ * TypeScript uses structural typing if there are no private or protected members,
745
+ * and variance of generic type parameters depends on their usages.
746
+ * Thus when trying to constrain code by adding extra type information,
747
+ * it often fails to actually constrain as desired, and these utilities can help with those cases.
748
+ *
749
+ * This library is designed so that the desired variance can be documented in a way that is easy to read, concise,
750
+ * and allows easy navigation to documentation explaining what is being done
751
+ * for readers who are not familiar with this library.
752
+ * Additionally it constrains the types so the undesired usage patterns will not compile,
753
+ * and will give somewhat intelligible errors.
754
+ *
755
+ * Additionally this library provides the tools needed to test that the type constraints are working as expected,
756
+ * or test any other similar typing constraints in an application.
757
+ *
758
+ * This library assumes you are compiling with --strictFunctionTypes:
759
+ * (Covariance and Contravariance is explained along with how these helpers cause it in typescript at this link)
760
+ * {@link https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-6.html#strict-function-types}.
761
+ * If compiled with a TypeScript configuration that is not strict enough for these features to work,
762
+ * the test suite should fail to build.
763
+ *
764
+ * Classes in TypeScript by default allow all assignments:
765
+ * its only though adding members that any type constraints actually get applied.
766
+ * This library provides types that can be used on a protected member of a class to add the desired constraints.
767
+ *
768
+ * Typical usages (use one field like this at the top of a class):
769
+ * ```typescript
770
+ * protected _typeCheck?: MakeNominal;
771
+ * protected _typeCheck?: Contravariant<T>;
772
+ * protected _typeCheck?: Covariant<T>;
773
+ * protected _typeCheck?: Invariant<T>;
774
+ * protected _typeCheck?: Contravariant<T> & Invariant<K>;
775
+ * ```
776
+ *
777
+ * See tests for examples.
778
+ *
779
+ * Note that all of these cause nominal typing.
780
+ * If constraints on generic type parameter variance are desired, but nominal typing is not,
781
+ * these types can be used on a public field. This case also works with interfaces.
782
+ *
783
+ * Be aware that other members of your type might apply further constraints
784
+ * (ex: you might try and write a Contravariant<T> class, but it ends up being Invariant<T> due to a field of type T).
785
+ *
786
+ * Be aware of TypeScript Bug:
787
+ * {@link https://github.com/microsoft/TypeScript/issues/36906}.
788
+ * This bug is why the fields here are protected not private.
789
+ * Note that this bug is closed as a duplicate of {@link https://github.com/microsoft/TypeScript/issues/20979}
790
+ * which was closed because fixing it would be too large of a breaking change.
791
+ * Thus we expect this bug to be part of TypeScript for the forseeable future.
792
+ */
793
+ /**
794
+ * Use this as the type of a protected field to cause a type to use nominal typing instead of structural.
795
+ *
796
+ * @remarks
797
+ * Using nominal typing in this way prevents assignment of objects which are not instances of this class to values of this class's type.
798
+ * Classes which are used with "instanceof", or are supposed to be instantiated in particular ways (not just made with object literals)
799
+ * can use this to prevent undesired assignments.
800
+ * @example
801
+ * ```typescript
802
+ * protected _typeCheck?: MakeNominal;
803
+ * ```
804
+ * @privateRemarks
805
+ * See: {@link https://dev.azure.com/intentional/intent/_wiki/wikis/NP%20Platform/7146/Nominal-vs-Structural-Types}
806
+ * @beta
807
+ */
808
+ declare interface MakeNominal {
809
+ }
810
+
811
+ /* Excluded from this release type: MapFieldSchema */
812
+
813
+ /* Excluded from this release type: MapNodeSchema */
814
+
815
+ /* Excluded from this release type: MapTree */
816
+
817
+ /* Excluded from this release type: MarkedArrayLike */
818
+
819
+ /* Excluded from this release type: Multiplicity */
820
+
821
+ /* Excluded from this release type: Named */
822
+
823
+ /* Excluded from this release type: NameFromBranded */
824
+
825
+ /* Excluded from this release type: NestedMap */
826
+
827
+ /* Excluded from this release type: NewFieldContent */
828
+
829
+ /**
830
+ * Given a node's schema, return the corresponding object from which the node could be built.
831
+ * @privateRemarks
832
+ * Currently this assumes factory functions take exactly one argument.
833
+ * This could be changed if needed.
834
+ *
835
+ * These factory functions can also take a FlexTreeNode, but this is not exposed in the public facing types.
836
+ * @beta
837
+ */
838
+ declare type NodeBuilderData<T extends TreeNodeSchema> = T extends TreeNodeSchema<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
839
+
840
+ /* Excluded from this release type: NodeData */
841
+
842
+ /* Excluded from this release type: NodeExistsConstraint */
843
+
844
+ /**
845
+ * Takes in `TreeNodeSchema[]` and returns a TypedNode union.
846
+ * @beta
847
+ */
848
+ export declare type NodeFromSchema<T extends TreeNodeSchema> = T extends TreeNodeSchema<string, NodeKind, infer TNode> ? TNode : never;
849
+
850
+ /* Excluded from this release type: NodeIndex */
851
+
852
+ /* Excluded from this release type: nodeKeyFieldKey */
853
+
854
+ /* Excluded from this release type: NodeKeyFieldKind */
855
+
856
+ /* Excluded from this release type: NodeKeys */
857
+
858
+ /**
859
+ * Kind of tree node.
860
+ * @beta
861
+ */
862
+ declare enum NodeKind {
863
+ /**
864
+ * A node which serves as a map, storing children under string keys.
865
+ */
866
+ Map = 0,
867
+ /**
868
+ * A node which serves as an array, storing children in an ordered sequence.
869
+ */
870
+ Array = 1,
871
+ /**
872
+ * A node which stores a heterogenous collection of children in named fields.
873
+ * @remarks
874
+ * Each field gets its own schema.
875
+ */
876
+ Object = 2,
877
+ /**
878
+ * A node which stores a single leaf value.
879
+ */
880
+ Leaf = 3
881
+ }
882
+
883
+ /* Excluded from this release type: NoListenersCallback */
884
+
885
+ /* Excluded from this release type: noopValidator */
886
+
887
+ /* Excluded from this release type: NormalizeAllowedTypes */
888
+
889
+ /* Excluded from this release type: NormalizeField */
890
+
891
+ /* Excluded from this release type: NormalizeFieldSchema */
892
+
893
+ /* Excluded from this release type: NormalizeObjectNodeFields */
894
+
895
+ /**
896
+ * Helper used to produce types for object nodes.
897
+ * @beta
898
+ */
899
+ declare type ObjectFromSchemaRecord<T extends RestrictiveReadonlyRecord<string, ImplicitFieldSchema>> = {
900
+ -readonly [Property in keyof T]: TreeFieldFromImplicitField<T[Property]>;
901
+ };
902
+
903
+ /* Excluded from this release type: ObjectNodeSchema */
904
+
905
+ /* Excluded from this release type: oneFromSet */
906
+
907
+ /**
908
+ * {@inheritdoc TreeNode.[onNextChange]}
909
+ */
910
+ declare const onNextChange: unique symbol;
911
+
912
+ /* Excluded from this release type: Opaque */
913
+
914
+ /* Excluded from this release type: Optional */
915
+
916
+ /* Excluded from this release type: OptionalFieldEditBuilder */
917
+
918
+ /* Excluded from this release type: OptionalFields */
919
+
920
+ /* Excluded from this release type: PathRootPrefix */
921
+
922
+ /* Excluded from this release type: PathVisitor */
923
+
924
+ /* Excluded from this release type: PlaceIndex */
925
+
926
+ /* Excluded from this release type: PlaceUpPath */
927
+
928
+ /* Excluded from this release type: prefixFieldPath */
929
+
930
+ /* Excluded from this release type: prefixPath */
931
+
932
+ /* Excluded from this release type: ProtoNodes */
933
+
934
+ /* Excluded from this release type: Range_2 */
935
+
936
+ /* Excluded from this release type: RangeQueryResult */
937
+
938
+ /* Excluded from this release type: RangeUpPath */
939
+
940
+ /* Excluded from this release type: _RecursiveTrick */
941
+
942
+ /* Excluded from this release type: Required_2 */
943
+
944
+ /* Excluded from this release type: RequiredFields */
945
+
946
+ /**
947
+ * Alternative to the built in Record type which does not permit unexpected members,
948
+ * and is readonly.
949
+ *
950
+ * @privateRemarks
951
+ * `number` is not allowed as a key here since doing so causes the compiler to reject recursive schema.
952
+ * The cause for this is unclear, but empirically it was the case when this comment was written.
953
+ * @beta
954
+ */
955
+ declare type RestrictiveReadonlyRecord<K extends symbol | string, T> = {
956
+ readonly [P in symbol | string]: P extends K ? T : never;
957
+ };
958
+
959
+ /**
960
+ * Allows reversion of a change made to SharedTree.
961
+ *
962
+ * Applications wanting to implement undo/redo support might typically maintain two stacks of Revertibles, with optional eviction policy to free up memory.
963
+ * @beta
964
+ */
965
+ export declare interface Revertible {
966
+ /** Indicates the type of edit that produced this revertible. */
967
+ readonly kind: RevertibleKind;
968
+ /**
969
+ * Information about which client created the edit.
970
+ */
971
+ readonly origin: {
972
+ /**
973
+ * Indicates if the {@link Revertible} is from the local client (true) or a remote client (false).
974
+ */
975
+ readonly isLocal: boolean;
976
+ };
977
+ /**
978
+ * Can be called in order to revert a change. A successful revert will automatically discard resources.
979
+ */
980
+ revert(): RevertResult;
981
+ /**
982
+ * Should be called to garbage collect any resources associated with the revertible.
983
+ */
984
+ discard(): DiscardResult;
985
+ }
986
+
987
+ /**
988
+ * The type of revertible commit.
989
+ *
990
+ * @beta
991
+ */
992
+ export declare enum RevertibleKind {
993
+ /** A typical local commit */
994
+ Default = 0,
995
+ /** A revertible that is the result of an undo. */
996
+ Undo = 1,
997
+ /** A revertible that is the result of a redo. */
998
+ Redo = 2,
999
+ /**
1000
+ * A revertible that is the result of a rebase and should replace a previously generated revertible.
1001
+ * todo: improve error reporting in this case
1002
+ */
1003
+ Rebase = 3
1004
+ }
1005
+
1006
+ /**
1007
+ * The result of a revert operation.
1008
+ *
1009
+ * @beta
1010
+ */
1011
+ export declare enum RevertResult {
1012
+ /** The revert was successful. */
1013
+ Success = 0,
1014
+ /** The revert failed. */
1015
+ Failure = 1
1016
+ }
1017
+
1018
+ /* Excluded from this release type: RootField */
1019
+
1020
+ /* Excluded from this release type: rootField */
1021
+
1022
+ /* Excluded from this release type: rootFieldKey */
1023
+
1024
+ /* Excluded from this release type: runSynchronous */
1025
+
1026
+ /* Excluded from this release type: SchemaBuilderBase */
1027
+
1028
+ /* Excluded from this release type: SchemaBuilderOptions */
1029
+
1030
+ /* Excluded from this release type: SchemaCollection */
1031
+
1032
+ /* Excluded from this release type: SchemaConfiguration */
1033
+
1034
+ /* Excluded from this release type: SchemaEvents */
1035
+
1036
+ /**
1037
+ * Builds schema libraries, and the schema within them.
1038
+ *
1039
+ * @typeParam TScope - Scope added as a prefix to the name of every schema produced by this factory.
1040
+ * @typeParam TName - Type of names used to identify each schema produced in this factory.
1041
+ * Typically this is just `string` but it is also possible to use `string` or `number` based enums if you prefer to identify your types that way.
1042
+ *
1043
+ * @sealed @beta
1044
+ */
1045
+ export declare class SchemaFactory<TScope extends string = string, TName extends number | string = string> {
1046
+ readonly scope: TScope;
1047
+ private readonly structuralTypes;
1048
+ /**
1049
+ * @param scope - Prefix appended to the identifiers of all {@link TreeNodeSchema} produced by this builder.
1050
+ * Use of [Reverse domain name notation](https://en.wikipedia.org/wiki/Reverse_domain_name_notation) or a UUIDv4 is recommended to avoid collisions.
1051
+ */
1052
+ constructor(scope: TScope);
1053
+ private scoped;
1054
+ /**
1055
+ * {@link TreeNodeSchema} for holding a JavaScript `string`.
1056
+ *
1057
+ * @remarks
1058
+ * Strings containing unpaired UTF-16 surrogate pair code units may not be handled correctly.
1059
+ *
1060
+ * These limitations come from the use of UTF-8 encoding of the strings, which requires them to be valid unicode.
1061
+ * JavaScript does not make this requirement for its strings so not all possible JavaScript strings are supported.
1062
+ * @privateRemarks
1063
+ * TODO:
1064
+ * We should be much more clear about what happens if you use problematic values.
1065
+ * We should validate and/or normalize them when inserting content.
1066
+ */
1067
+ readonly string: TreeNodeSchema<"com.fluidframework.leaf.string", NodeKind.Leaf, string, string>;
1068
+ /**
1069
+ * {@link TreeNodeSchema} for holding a JavaScript `number`.
1070
+ *
1071
+ * @remarks
1072
+ * The number is a [double-precision 64-bit binary format IEEE 754](https://en.wikipedia.org/wiki/Double-precision_floating-point_format) value, however there are some exceptions:
1073
+ * - `NaN`, and the infinities are converted to `null` (and may therefore only be used where `null` is allowed by the schema).
1074
+ * - `-0` may be converted to `0` in some cases.
1075
+ *
1076
+ * These limitations match the limitations of JSON.
1077
+ * @privateRemarks
1078
+ * TODO:
1079
+ * We should be much more clear about what happens if you use problematic values.
1080
+ * We should validate and/or normalize them when inserting content.
1081
+ */
1082
+ readonly number: TreeNodeSchema<"com.fluidframework.leaf.number", NodeKind.Leaf, number, number>;
1083
+ /**
1084
+ * {@link TreeNodeSchema} for holding a boolean.
1085
+ */
1086
+ readonly boolean: TreeNodeSchema<"com.fluidframework.leaf.boolean", NodeKind.Leaf, boolean, boolean>;
1087
+ /**
1088
+ * {@link TreeNodeSchema} for JavaScript `null`.
1089
+ *
1090
+ * @remarks
1091
+ * There are good [reasons to avoid using null](https://www.npmjs.com/package/%40rushstack/eslint-plugin#rushstackno-new-null) in JavaScript, however sometimes it is desired.
1092
+ * This {@link TreeNodeSchema} node provides the option to include nulls in trees when desired.
1093
+ * Unless directly inter-operating with existing data using null, consider other approaches, like wrapping the value in an optional field, or using a more specifically named empty object node.
1094
+ */
1095
+ readonly null: TreeNodeSchema<"com.fluidframework.leaf.null", NodeKind.Leaf, null, null>;
1096
+ /**
1097
+ * {@link TreeNodeSchema} for holding an {@link @fluidframework/core-interfaces#IFluidHandle}.
1098
+ */
1099
+ readonly handle: TreeNodeSchema<"com.fluidframework.leaf.handle", NodeKind.Leaf, IFluidHandle<FluidObject & IFluidLoadable>, IFluidHandle<FluidObject & IFluidLoadable>>;
1100
+ /**
1101
+ * Construct a class that provides the common parts all TreeNodeSchemaClass share.
1102
+ * More specific schema extend this class.
1103
+ */
1104
+ private nodeSchema;
1105
+ /**
1106
+ * Define a {@link TreeNodeSchema} for an object node.
1107
+ *
1108
+ * @param name - Unique identifier for this schema within this factory's scope.
1109
+ */
1110
+ object<const Name extends TName, const T extends RestrictiveReadonlyRecord<string, ImplicitFieldSchema>>(name: Name, t: T): TreeNodeSchemaClass<`${TScope}.${Name}`, NodeKind.Object, ObjectFromSchemaRecord<T>, InsertableObjectFromSchemaRecord<T>, true>;
1111
+ /**
1112
+ * Define a structurally typed {@link TreeNodeSchema} for a {@link TreeMapNodeBase}.
1113
+ *
1114
+ * @remarks
1115
+ * The {@link TreeNodeSchemaIdentifier} for this Map is defined as a function of the provided types.
1116
+ * It is still scoped to this SchemaBuilder, but multiple calls with the same arguments will return the same schema object, providing somewhat structural typing.
1117
+ * This does not support recursive types.
1118
+ *
1119
+ * If using these structurally named maps, other types in this schema builder should avoid names of the form `Map<${string}>`.
1120
+ *
1121
+ * @example
1122
+ * The returned schema should be used as a schema directly:
1123
+ * ```typescript
1124
+ * const MyMap = factory.map(factory.number);
1125
+ * type MyMap = NodeFromSchema<typeof MyMap>;
1126
+ * ```
1127
+ * Or inline:
1128
+ * ```typescript
1129
+ * factory.object("Foo", {myMap: factory.map(factory.number)});
1130
+ * ```
1131
+ * @privateRemarks
1132
+ * See note on list.
1133
+ */
1134
+ map<const T extends TreeNodeSchema | readonly TreeNodeSchema[]>(allowedTypes: T): TreeNodeSchema<`${TScope}.Map<${string}>`, NodeKind.Map, TreeMapNode<T>, ReadonlyMap<string, TreeNodeFromImplicitAllowedTypes<T>>, true>;
1135
+ /**
1136
+ * Define a {@link TreeNodeSchema} for a {@link TreeMapNodeBase}.
1137
+ *
1138
+ * @param name - Unique identifier for this schema within this factory's scope.
1139
+ *
1140
+ * @example
1141
+ * ```typescript
1142
+ * class NamedMap extends factory.map("name", factory.number) {}
1143
+ * ```
1144
+ */
1145
+ map<Name extends TName, const T extends ImplicitAllowedTypes_2>(name: Name, allowedTypes: T): TreeNodeSchemaClass<`${TScope}.${Name}`, NodeKind.Map, TreeMapNode<T>, ReadonlyMap<string, InsertableTreeNodeFromImplicitAllowedTypes<T>>, true>;
1146
+ /**
1147
+ * Define a {@link TreeNodeSchema} for a {@link (TreeMapNode:interface)}.
1148
+ *
1149
+ * @param name - Unique identifier for this schema within this factory's scope.
1150
+ *
1151
+ * @remarks See remarks on {@link SchemaFactory.namedArray}.
1152
+ */
1153
+ namedMap<Name extends TName | string, const T extends ImplicitAllowedTypes_2, const ImplicitlyConstructable extends boolean>(name: Name, allowedTypes: T, customizable: boolean, implicitlyConstructable: ImplicitlyConstructable): TreeNodeSchemaClass<`${TScope}.${Name}`, NodeKind.Map, TreeMapNode<T>, ReadonlyMap<string, InsertableTreeNodeFromImplicitAllowedTypes<T>>, ImplicitlyConstructable>;
1154
+ /**
1155
+ * Define a structurally typed {@link TreeNodeSchema} for a {@link (TreeArrayNode:interface)}.
1156
+ *
1157
+ * @remarks
1158
+ * The identifier for this List is defined as a function of the provided types.
1159
+ * It is still scoped to this SchemaFactory, but multiple calls with the same arguments will return the same schema object, providing somewhat structural typing.
1160
+ * This does not support recursive types.
1161
+ *
1162
+ * If using these structurally named lists, other types in this schema builder should avoid names of the form `List<${string}>`.
1163
+ *
1164
+ * @example
1165
+ * The returned schema should be used as a schema directly:
1166
+ * ```typescript
1167
+ * const MyList = factory.list(factory.number);
1168
+ * type MyList = NodeFromSchema<typeof MyList>;
1169
+ * ```
1170
+ * Or inline:
1171
+ * ```typescript
1172
+ * factory.object("Foo", {myList: factory.list(factory.number)});
1173
+ * ```
1174
+ * @privateRemarks
1175
+ * The name produced at the type level here is not as specific as it could be, however doing type level sorting and escaping is a real mess.
1176
+ * There are cases where not having this full type provided will be less than ideal since TypeScript's structural types.
1177
+ * For example attempts to narrow unions of structural lists by name won't work.
1178
+ * Planned future changes to move to a class based schema system as well as factor function based node construction should mostly avoid these issues,
1179
+ * though there may still be some problematic cases even after that work is done.
1180
+ *
1181
+ * The return value is a class, but its the type is intentionally not specific enough to indicate it is a class.
1182
+ * This prevents callers of this from sub-classing it, which is unlikely to work well (due to the ease of accidentally giving two different calls o this different subclasses)
1183
+ * when working with structural typing.
1184
+ */
1185
+ array<const T extends TreeNodeSchema | readonly TreeNodeSchema[]>(allowedTypes: T): TreeNodeSchema<`${TScope}.List<${string}>`, NodeKind.Array, TreeArrayNode<T>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T>>, true>;
1186
+ /**
1187
+ * Define (and add to this library) a {@link FieldNodeSchema} for a {@link (TreeArrayNode:interface)}.
1188
+ *
1189
+ * @param name - Unique identifier for this schema within this factory's scope.
1190
+ *
1191
+ * @example
1192
+ * ```typescript
1193
+ * class NamedList extends factory.list("name", factory.number) {}
1194
+ * ```
1195
+ */
1196
+ array<const Name extends TName, const T extends ImplicitAllowedTypes_2>(name: Name, allowedTypes: T): TreeNodeSchemaClass<`${TScope}.${Name}`, NodeKind.Array, TreeArrayNode<T>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T>>, true>;
1197
+ /**
1198
+ * Define a {@link TreeNodeSchema} for a {@link (TreeArrayNode:interface)}.
1199
+ *
1200
+ * @param name - Unique identifier for this schema within this factory's scope.
1201
+ *
1202
+ * @remarks
1203
+ * This is not intended to be used directly, use the overload of `list` which takes a name instead.
1204
+ * This is only public to work around a compiler limitation.
1205
+ *
1206
+ * @privateRemarks
1207
+ * TODO: this should be made private or protected.
1208
+ * Doing so breaks due to:
1209
+ * `src/class-tree/schemaFactoryRecursive.ts:42:9 - error TS2310: Type 'List' recursively references itself as a base type.`
1210
+ * Once recursive APIs are better sorted out and integrated into this class, switch this back to private.
1211
+ */
1212
+ namedArray<Name extends TName | string, const T extends ImplicitAllowedTypes_2, const ImplicitlyConstructable extends boolean>(name: Name, allowedTypes: T, customizable: boolean, implicitlyConstructable: ImplicitlyConstructable): TreeNodeSchemaClass<`${TScope}.${Name}`, NodeKind.Array, TreeArrayNode<T>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T>>, ImplicitlyConstructable>;
1213
+ /**
1214
+ * Make a field optional instead of the default which is required.
1215
+ */
1216
+ optional<const T extends ImplicitAllowedTypes_2>(t: T): FieldSchema<FieldKind_2.Optional, T>;
1217
+ /**
1218
+ * Function which can be used for its compile time side-effects to tweak the evaluation order of recursive types to make them compile.
1219
+ * @remarks
1220
+ * Some related information in https://github.com/microsoft/TypeScript/issues/55758.
1221
+ *
1222
+ * Also be aware that code which relies on this tends to break VSCode's IntelliSense every time anything related to that code (even comments) is edited.
1223
+ * Running the command `TypeScript: Restart TS Server` with the schema file focused should fix it.
1224
+ * Sometimes this does not work: closing all open files except the schema before running the command can help.
1225
+ * Real compile errors (for example elsewhere in the file) can also cause the IntelliSense to not work correctly ever after `TypeScript: Restart TS Server`.
1226
+ *
1227
+ * Intellisense has also shown problems when schema files with recursive types are part of a cyclic file dependency.
1228
+ * Splitting the schema into its own file with minimal dependencies can help with this.
1229
+ *
1230
+ * Ensure `"noImplicitAny": true` is set in the `tsconfig.json`.
1231
+ * Without it, recursive types that are not working properly can infer `any` and give very non-type-safe results instead of erroring.
1232
+ *
1233
+ * @example
1234
+ * ```typescript
1235
+ * const factory = new SchemaFactory("example");
1236
+ * const recursiveReference = () => RecursiveObject;
1237
+ * factory.fixRecursiveReference(recursiveReference);
1238
+ * export class RecursiveObject extends factory.object("exampleObject", {
1239
+ * recursive: [recursiveReference],
1240
+ * }) {}
1241
+ * ```
1242
+ */
1243
+ fixRecursiveReference<T extends AllowedTypes_2>(...types: T): void;
1244
+ }
1245
+
1246
+ /* Excluded from this release type: schemaIsFieldNode */
1247
+
1248
+ /* Excluded from this release type: schemaIsLeaf */
1249
+
1250
+ /* Excluded from this release type: schemaIsMap */
1251
+
1252
+ /* Excluded from this release type: schemaIsObjectNode */
1253
+
1254
+ /* Excluded from this release type: SchemaLibrary */
1255
+
1256
+ /* Excluded from this release type: SchemaLibraryData */
1257
+
1258
+ /* Excluded from this release type: SchemaLintConfiguration */
1259
+
1260
+ /* Excluded from this release type: SchematizeConfiguration */
1261
+
1262
+ /* Excluded from this release type: SchemaValidationFunction */
1263
+
1264
+ /* Excluded from this release type: Sequence */
1265
+
1266
+ /* Excluded from this release type: SequenceFieldEditBuilder */
1267
+
1268
+ /* Excluded from this release type: SharedTree */
1269
+
1270
+ /* Excluded from this release type: SharedTreeContentSnapshot */
1271
+
1272
+ /* Excluded from this release type: SharedTreeFactory */
1273
+
1274
+ /* Excluded from this release type: SharedTreeOptions */
1275
+
1276
+ /* Excluded from this release type: singleTextCursor */
1277
+
1278
+ /* Excluded from this release type: singletonSchema */
1279
+
1280
+ /* Excluded from this release type: StableNodeKey */
1281
+
1282
+ /* Excluded from this release type: stackTreeFieldCursor */
1283
+
1284
+ /* Excluded from this release type: stackTreeNodeCursor */
1285
+
1286
+ /* Excluded from this release type: StoredSchemaCollection */
1287
+
1288
+ /* Excluded from this release type: test_RecursiveObject */
1289
+
1290
+ /* Excluded from this release type: test_RecursiveObject_base */
1291
+
1292
+ /* Excluded from this release type: TransactionResult */
1293
+
1294
+ /**
1295
+ * The `Tree` object holds various functions for analyzing {@link TreeNode}s.
1296
+ * @beta
1297
+ */
1298
+ export declare const Tree: TreeApi;
1299
+
1300
+ /* Excluded from this release type: TreeAdapter */
1301
+
1302
+ /**
1303
+ * Provides various functions for analyzing {@link TreeNode}s.
1304
+ *
1305
+ * @privateRemarks
1306
+ * Inlining the typing of this interface onto the `Tree` object provides slightly different .d.ts generation,
1307
+ * which avoids typescript expanding the type of TreeNodeSchema and thus encountering
1308
+ * https://github.com/microsoft/rushstack/issues/1958.
1309
+ * @beta
1310
+ */
1311
+ export declare interface TreeApi {
1312
+ /**
1313
+ * The schema information for this node.
1314
+ */
1315
+ schema<T extends TreeNode | TreeLeafValue>(node: T): TreeNodeSchema<string, NodeKind, unknown, T>;
1316
+ /**
1317
+ * Narrow the type of the given value if it satisfies the given schema.
1318
+ * @example
1319
+ * ```ts
1320
+ * if (node.is(myNode, point)) {
1321
+ * const y = myNode.y; // `myNode` is now known to satisfy the `point` schema and therefore has a `y` coordinate.
1322
+ * }
1323
+ * ```
1324
+ */
1325
+ is<TSchema extends TreeNodeSchema>(value: unknown, schema: TSchema): value is NodeFromSchema<TSchema>;
1326
+ /**
1327
+ * Return the node under which this node resides in the tree (or undefined if this is a root node of the tree).
1328
+ */
1329
+ parent(node: TreeNode): TreeNode | undefined;
1330
+ /**
1331
+ * The key of the given node under its parent.
1332
+ * @remarks
1333
+ * If `node` is an element in a {@link (TreeArrayNode:interface)}, this returns the index of `node` in the list (a `number`).
1334
+ * Otherwise, this returns the key of the field that it is under (a `string`).
1335
+ */
1336
+ key(node: TreeNode): string | number;
1337
+ /**
1338
+ * Register an event listener on the given node.
1339
+ * @returns A callback function which will deregister the event.
1340
+ * This callback should be called only once.
1341
+ */
1342
+ on<K extends keyof TreeNodeEvents>(node: TreeNode, eventName: K, listener: TreeNodeEvents[K]): () => void;
1343
+ /**
1344
+ * Returns the {@link TreeStatus} of the given node.
1345
+ */
1346
+ readonly status: (node: TreeNode) => TreeStatus;
1347
+ }
1348
+
1349
+ /**
1350
+ * A {@link TreeNode} which implements 'readonly T[]' and the list mutation APIs.
1351
+ * @beta
1352
+ */
1353
+ export declare interface TreeArrayNode<T extends ImplicitAllowedTypes_2 = ImplicitAllowedTypes_2> extends TreeArrayNodeBase<TreeNodeFromImplicitAllowedTypes<T>, InsertableTreeNodeFromImplicitAllowedTypes<T>, TreeArrayNode> {
1354
+ }
1355
+
1356
+ /**
1357
+ * A {@link TreeNode} which implements 'readonly T[]' and the list mutation APIs.
1358
+ * @beta
1359
+ */
1360
+ export declare const TreeArrayNode: {
1361
+ /**
1362
+ * Wrap an iterable of items to inserted as consecutive items in a list.
1363
+ * @remarks
1364
+ * The object returned by this function can be inserted into a {@link (TreeArrayNode:interface)}.
1365
+ * Its contents will be inserted consecutively in the corresponding location in the list.
1366
+ * @example
1367
+ * ```ts
1368
+ * list.insertAtEnd(TreeArrayNode.inline(iterable))
1369
+ * ```
1370
+ */
1371
+ inline: <T>(content: Iterable<T>) => IterableTreeListContent<T>;
1372
+ };
1373
+
1374
+ /**
1375
+ * A generic List type, used to defined types like {@link (TreeArrayNode:interface)}.
1376
+ * @beta
1377
+ */
1378
+ declare interface TreeArrayNodeBase<out T, in TNew, in TMoveFrom> extends ReadonlyArray<T> {
1379
+ /**
1380
+ * Inserts new item(s) at a specified location.
1381
+ * @param index - The index at which to insert `value`.
1382
+ * @param value - The content to insert.
1383
+ * @throws Throws if `index` is not in the range [0, `list.length`).
1384
+ */
1385
+ insertAt(index: number, ...value: (TNew | IterableTreeListContent<TNew>)[]): void;
1386
+ /**
1387
+ * Inserts new item(s) at the start of the list.
1388
+ * @param value - The content to insert.
1389
+ */
1390
+ insertAtStart(...value: (TNew | IterableTreeListContent<TNew>)[]): void;
1391
+ /**
1392
+ * Inserts new item(s) at the end of the list.
1393
+ * @param value - The content to insert.
1394
+ */
1395
+ insertAtEnd(...value: (TNew | IterableTreeListContent<TNew>)[]): void;
1396
+ /**
1397
+ * Removes the item at the specified location.
1398
+ * @param index - The index at which to remove the item.
1399
+ * @throws Throws if `index` is not in the range [0, `list.length`).
1400
+ */
1401
+ removeAt(index: number): void;
1402
+ /**
1403
+ * Removes all items between the specified indices.
1404
+ * @param start - The starting index of the range to remove (inclusive). Defaults to the start of the list.
1405
+ * @param end - The ending index of the range to remove (exclusive).
1406
+ * @throws Throws if `start` is not in the range [0, `list.length`).
1407
+ * @throws Throws if `end` is less than `start`.
1408
+ * If `end` is not supplied or is greater than the length of the list, all items after `start` are deleted.
1409
+ */
1410
+ removeRange(start?: number, end?: number): void;
1411
+ /**
1412
+ * Moves the specified item to the start of the list.
1413
+ * @param sourceIndex - The index of the item to move.
1414
+ * @throws Throws if `sourceIndex` is not in the range [0, `list.length`).
1415
+ */
1416
+ moveToStart(sourceIndex: number): void;
1417
+ /**
1418
+ * Moves the specified item to the start of the list.
1419
+ * @param sourceIndex - The index of the item to move.
1420
+ * @param source - The source list to move the item out of.
1421
+ * @throws Throws if `sourceIndex` is not in the range [0, `list.length`).
1422
+ */
1423
+ moveToStart(sourceIndex: number, source: TMoveFrom): void;
1424
+ /**
1425
+ * Moves the specified item to the end of the list.
1426
+ * @param sourceIndex - The index of the item to move.
1427
+ * @throws Throws if `sourceIndex` is not in the range [0, `list.length`).
1428
+ */
1429
+ moveToEnd(sourceIndex: number): void;
1430
+ /**
1431
+ * Moves the specified item to the end of the list.
1432
+ * @param sourceIndex - The index of the item to move.
1433
+ * @param source - The source list to move the item out of.
1434
+ * @throws Throws if `sourceIndex` is not in the range [0, `list.length`).
1435
+ */
1436
+ moveToEnd(sourceIndex: number, source: TMoveFrom): void;
1437
+ /**
1438
+ * Moves the specified item to the desired location in the list.
1439
+ * @param index - The index to move the item to.
1440
+ * This is based on the state of the list before moving the source item.
1441
+ * @param sourceIndex - The index of the item to move.
1442
+ * @throws Throws if any of the input indices are not in the range [0, `list.length`).
1443
+ */
1444
+ moveToIndex(index: number, sourceIndex: number): void;
1445
+ /**
1446
+ * Moves the specified item to the desired location in the list.
1447
+ * @param index - The index to move the item to.
1448
+ * @param sourceIndex - The index of the item to move.
1449
+ * @param source - The source list to move the item out of.
1450
+ * @throws Throws if any of the input indices are not in the range [0, `list.length`).
1451
+ */
1452
+ moveToIndex(index: number, sourceIndex: number, source: TMoveFrom): void;
1453
+ /**
1454
+ * Moves the specified items to the start of the list.
1455
+ * @param sourceStart - The starting index of the range to move (inclusive).
1456
+ * @param sourceEnd - The ending index of the range to move (exclusive)
1457
+ * @throws Throws if either of the input indices are not in the range [0, `list.length`) or if `sourceStart` is greater than `sourceEnd`.
1458
+ */
1459
+ moveRangeToStart(sourceStart: number, sourceEnd: number): void;
1460
+ /**
1461
+ * Moves the specified items to the start of the list.
1462
+ * @param sourceStart - The starting index of the range to move (inclusive).
1463
+ * @param sourceEnd - The ending index of the range to move (exclusive)
1464
+ * @param source - The source list to move items out of.
1465
+ * @throws Throws if the types of any of the items being moved are not allowed in the destination list,
1466
+ * if either of the input indices are not in the range [0, `list.length`) or if `sourceStart` is greater than `sourceEnd`.
1467
+ */
1468
+ moveRangeToStart(sourceStart: number, sourceEnd: number, source: TMoveFrom): void;
1469
+ /**
1470
+ * Moves the specified items to the end of the list.
1471
+ * @param sourceStart - The starting index of the range to move (inclusive).
1472
+ * @param sourceEnd - The ending index of the range to move (exclusive)
1473
+ * @throws Throws if either of the input indices are not in the range [0, `list.length`) or if `sourceStart` is greater than `sourceEnd`.
1474
+ */
1475
+ moveRangeToEnd(sourceStart: number, sourceEnd: number): void;
1476
+ /**
1477
+ * Moves the specified items to the end of the list.
1478
+ * @param sourceStart - The starting index of the range to move (inclusive).
1479
+ * @param sourceEnd - The ending index of the range to move (exclusive)
1480
+ * @param source - The source list to move items out of.
1481
+ * @throws Throws if the types of any of the items being moved are not allowed in the destination list,
1482
+ * if either of the input indices are not in the range [0, `list.length`) or if `sourceStart` is greater than `sourceEnd`.
1483
+ */
1484
+ moveRangeToEnd(sourceStart: number, sourceEnd: number, source: TMoveFrom): void;
1485
+ /**
1486
+ * Moves the specified items to the desired location within the list.
1487
+ * @param index - The index to move the items to.
1488
+ * This is based on the state of the list before moving the source items.
1489
+ * @param sourceStart - The starting index of the range to move (inclusive).
1490
+ * @param sourceEnd - The ending index of the range to move (exclusive)
1491
+ * @throws Throws if any of the input indices are not in the range [0, `list.length`) or if `sourceStart` is greater than `sourceEnd`.
1492
+ */
1493
+ moveRangeToIndex(index: number, sourceStart: number, sourceEnd: number): void;
1494
+ /**
1495
+ * Moves the specified items to the desired location within the list.
1496
+ * @param index - The index to move the items to.
1497
+ * @param sourceStart - The starting index of the range to move (inclusive).
1498
+ * @param sourceEnd - The ending index of the range to move (exclusive)
1499
+ * @param source - The source list to move items out of.
1500
+ * @throws Throws if the types of any of the items being moved are not allowed in the destination list,
1501
+ * if any of the input indices are not in the range [0, `list.length`) or if `sourceStart` is greater than `sourceEnd`.
1502
+ */
1503
+ moveRangeToIndex(index: number, sourceStart: number, sourceEnd: number, source: TMoveFrom): void;
1504
+ }
1505
+
1506
+ /* Excluded from this release type: TreeCompressionStrategy */
1507
+
1508
+ /**
1509
+ * Configuration for how to {@link ITree.schematize|schematize} a tree.
1510
+ * @beta
1511
+ */
1512
+ export declare class TreeConfiguration<TSchema extends ImplicitFieldSchema = ImplicitFieldSchema> {
1513
+ readonly schema: TSchema;
1514
+ readonly initialTree: () => InsertableTreeFieldFromImplicitField<TSchema>;
1515
+ /**
1516
+ * @param schema - The schema which the application wants to view the tree with.
1517
+ * @param initialTree - A function that returns the default tree content to initialize the tree with iff the tree is uninitialized
1518
+ * (meaning it does not even have any schema set at all).
1519
+ * If `initialTree` returns any actual node instances, they should be recreated each time `initialTree` runs.
1520
+ * This is because if the config is used a second time any nodes that were not recreated could error since nodes cannot be inserted into the tree multiple times.
1521
+ */
1522
+ constructor(schema: TSchema, initialTree: () => InsertableTreeFieldFromImplicitField<TSchema>);
1523
+ }
1524
+
1525
+ /* Excluded from this release type: TreeContent */
1526
+
1527
+ /* Excluded from this release type: TreeContext */
1528
+
1529
+ /* Excluded from this release type: TreeDataContext */
1530
+
1531
+ /* Excluded from this release type: TreeEvent */
1532
+
1533
+ /* Excluded from this release type: TreeFactory */
1534
+
1535
+ /**
1536
+ * Converts ImplicitFieldSchema to the corresponding tree node's field type.
1537
+ * @beta
1538
+ */
1539
+ export declare type TreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypes<Types>, Kind> : TSchema extends ImplicitAllowedTypes_2 ? TreeNodeFromImplicitAllowedTypes<TSchema> : unknown;
1540
+
1541
+ /* Excluded from this release type: TreeFieldSchema */
1542
+
1543
+ /* Excluded from this release type: TreeFieldStoredSchema */
1544
+
1545
+ /**
1546
+ * Value that may be stored as a leaf node.
1547
+ * @beta
1548
+ */
1549
+ export declare type TreeLeafValue = number | string | boolean | IFluidHandle | null;
1550
+
1551
+ /* Excluded from this release type: TreeLocation */
1552
+
1553
+ /**
1554
+ * A map of string keys to tree objects.
1555
+ *
1556
+ * @beta
1557
+ */
1558
+ export declare interface TreeMapNode<T extends ImplicitAllowedTypes_2> extends TreeMapNodeBase<TreeNodeFromImplicitAllowedTypes<T>, InsertableTreeNodeFromImplicitAllowedTypes<T>> {
1559
+ }
1560
+
1561
+ /**
1562
+ * A map of string keys to tree objects.
1563
+ *
1564
+ * @privateRemarks
1565
+ * Add support for `clear` once we have established merge semantics for it.
1566
+ *
1567
+ * @beta
1568
+ */
1569
+ export declare interface TreeMapNodeBase<TOut, TIn = TOut> extends ReadonlyMap<string, TOut> {
1570
+ /**
1571
+ * Adds or updates an entry in the map with a specified `key` and a `value`.
1572
+ *
1573
+ * @param key - The key of the element to add to the map.
1574
+ * @param value - The value of the element to add to the map.
1575
+ *
1576
+ * @remarks
1577
+ * Setting the value at a key to `undefined` is equivalent to calling {@link TreeMapNodeBase.delete} with that key.
1578
+ */
1579
+ set(key: string, value: TIn | undefined): void;
1580
+ /**
1581
+ * Removes the specified element from this map by its `key`.
1582
+ *
1583
+ * @remarks
1584
+ * Note: unlike JavaScript's Map API, this method does not return a flag indicating whether or not the value was
1585
+ * deleted.
1586
+ *
1587
+ * @privateRemarks
1588
+ * Regarding the choice to not return a boolean: Since this data structure is distributed in nature, it isn't
1589
+ * possible to tell whether or not the item was deleted as a result of this method call. Returning a "best guess"
1590
+ * is more likely to create issues / promote bad usage patterns than offer useful information.
1591
+ *
1592
+ * @param key - The key of the element to remove from the map.
1593
+ */
1594
+ delete(key: string): void;
1595
+ }
1596
+
1597
+ /* Excluded from this release type: TreeNavigationResult */
1598
+
1599
+ /**
1600
+ * A non-{@link LeafNodeSchema|leaf} SharedTree node. Includes objects, lists, and maps.
1601
+ *
1602
+ * @remarks
1603
+ * Base type which all nodes extend.
1604
+ * @privateRemarks
1605
+ * Adding a member which all nodes have, like a type symbol, would produce much strong typing for this.
1606
+ * @beta
1607
+ */
1608
+ export declare class TreeNode {
1609
+ }
1610
+
1611
+ /**
1612
+ * A collection of events that can be raised by a {@link TreeNode}.
1613
+ * @beta
1614
+ */
1615
+ export declare interface TreeNodeEvents {
1616
+ /**
1617
+ * Raised on a node right after a change is applied to one of its fields or the fields of a descendant node.
1618
+ */
1619
+ afterChange(): void;
1620
+ }
1621
+
1622
+ /**
1623
+ * Type of of tree node for a field of the given schema.
1624
+ * @beta
1625
+ */
1626
+ declare type TreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes_2 = TreeNodeSchema> = TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes_2 ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
1627
+
1628
+ /**
1629
+ * Schema for a tree node.
1630
+ * @typeParam Name - The full (including scope) name/identifier for the schema.
1631
+ * @typeParam Kind - Which kind of node this schema is for.
1632
+ * @typeParam TNode - API for nodes that use this schema.
1633
+ * @typeParam TBuild - Data which can be used to construct an unhydrated node of this type.
1634
+ * @remarks
1635
+ * Captures the schema both as runtime data and compile time type information.
1636
+ * @beta
1637
+ */
1638
+ export declare type TreeNodeSchema<Name extends string = string, Kind extends NodeKind = NodeKind, TNode = unknown, TBuild = never, ImplicitlyConstructable extends boolean = boolean> = TreeNodeSchemaClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable> | TreeNodeSchemaNonClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable>;
1639
+
1640
+ /* Excluded from this release type: TreeNodeSchemaBase */
1641
+
1642
+ /**
1643
+ * Tree node schema which is implemented using a class.
1644
+ * @remarks
1645
+ * Instances of this class are nodes in the tree.
1646
+ * This is also a constructor so that it can be subclassed.
1647
+ *
1648
+ * Using classes in this way allows introducing a named type and a named value at the same time, helping keep the runtime and compile time information together and easy to refer to un a uniform way.
1649
+ * Additionally, this works around https://github.com/microsoft/TypeScript/issues/55832 which causes similar patterns with less explicit types to infer "any" in the d.ts file.
1650
+ * @beta
1651
+ */
1652
+ declare interface TreeNodeSchemaClass<out Name extends string = string, out Kind extends NodeKind = NodeKind, out TNode = unknown, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable> {
1653
+ /**
1654
+ * Constructs an {@link Unhydrated} node with this schema.
1655
+ * @remarks
1656
+ * This constructor is also used internally to construct hydrated nodes with a different parameter type.
1657
+ * Therefor overriding this constructor is not type-safe and is not supported.
1658
+ * @sealed
1659
+ */
1660
+ new (data: TInsertable): Unhydrated<TNode>;
1661
+ }
1662
+
1663
+ /**
1664
+ * Data common to all tree node schema.
1665
+ * @beta
1666
+ */
1667
+ declare interface TreeNodeSchemaCore<out Name extends string, out Kind extends NodeKind, out ImplicitlyConstructable extends boolean> {
1668
+ readonly identifier: Name;
1669
+ readonly kind: Kind;
1670
+ readonly info: unknown;
1671
+ /**
1672
+ * When constructing insertable content,
1673
+ * data that could be passed to the node's constructor can be used instead of an {@link Unhydrated} node
1674
+ * iff implicitlyConstructable is true.
1675
+ * @privateRemarks
1676
+ * Currently the logic for traversing insertable content,
1677
+ * both to build trees and to hydrate them does not defer to the schema classes to handle the policy,
1678
+ * so if their constructors differ from what is supported, some cases will not work.
1679
+ * Setting this to false adjusts the insertable types to disallow cases which could be impacted by these inconsistencies.
1680
+ */
1681
+ readonly implicitlyConstructable: ImplicitlyConstructable;
1682
+ }
1683
+
1684
+ /* Excluded from this release type: TreeNodeSchemaIdentifier */
1685
+
1686
+ /**
1687
+ * Schema which is not a class.
1688
+ * @remarks
1689
+ * This is used for schema which cannot have their instances constructed using constructors, like leaf schema.
1690
+ * @privateRemarks
1691
+ * Non-class based schema can have issues with recursive types due to https://github.com/microsoft/TypeScript/issues/55832.
1692
+ * @beta
1693
+ */
1694
+ declare interface TreeNodeSchemaNonClass<out Name extends string = string, out Kind extends NodeKind = NodeKind, out TNode = unknown, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable> {
1695
+ create(data: TInsertable): TNode;
1696
+ }
1697
+
1698
+ /* Excluded from this release type: TreeNodeStoredSchema */
1699
+
1700
+ /* Excluded from this release type: TreeOptions */
1701
+
1702
+ /* Excluded from this release type: treeSchemaFromStoredSchema */
1703
+
1704
+ /**
1705
+ * Status of the tree that a particular node belongs to.
1706
+ * @beta
1707
+ */
1708
+ export declare enum TreeStatus {
1709
+ /**
1710
+ * Is parented under the root field.
1711
+ */
1712
+ InDocument = 0,
1713
+ /**
1714
+ * Is not parented under the root field, but can be added back to the original document tree.
1715
+ */
1716
+ Removed = 1,
1717
+ /**
1718
+ * Is removed and cannot be added back to the original document tree.
1719
+ */
1720
+ Deleted = 2
1721
+ }
1722
+
1723
+ /* Excluded from this release type: TreeStoredSchema */
1724
+
1725
+ /* Excluded from this release type: TreeStoredSchemaSubscription */
1726
+
1727
+ /* Excluded from this release type: TreeType */
1728
+
1729
+ /* Excluded from this release type: TreeTypeSet */
1730
+
1731
+ /* Excluded from this release type: TreeValue */
1732
+
1733
+ /**
1734
+ * An editable view of a (version control style) branch of a shared tree.
1735
+ * @privateRemarks
1736
+ * This is a wrapper around ITreeView that adjusted it for the public package API.
1737
+ * TODO:
1738
+ * Establish a naming conversion between these internal and wrapper types.
1739
+ * @beta
1740
+ */
1741
+ export declare interface TreeView<in out TRoot> extends IDisposable {
1742
+ /**
1743
+ * The current root of the tree.
1744
+ */
1745
+ readonly root: TRoot;
1746
+ /**
1747
+ * Events for the tree.
1748
+ */
1749
+ readonly events: ISubscribable<CheckoutEvents>;
1750
+ }
1751
+
1752
+ /* Excluded from this release type: typeboxValidator */
1753
+
1754
+ /* Excluded from this release type: TypedFields */
1755
+
1756
+ /* Excluded from this release type: typedObjectValues */
1757
+
1758
+ /* Excluded from this release type: typeNameSymbol */
1759
+
1760
+ /* Excluded from this release type: UnbrandedName */
1761
+
1762
+ /* Excluded from this release type: Unenforced */
1763
+
1764
+ /**
1765
+ * Type alias to document which values are un-hydrated.
1766
+ *
1767
+ * Un-hydrated values are nodes produced from schema's create functions that haven't been inserted into a tree yet.
1768
+ *
1769
+ * Since un-hydrated nodes become hydrated when inserted, strong typing can't be used to distinguish them.
1770
+ * This no-op wrapper is used instead.
1771
+ * @beta
1772
+ */
1773
+ export declare type Unhydrated<T> = T;
1774
+
1775
+ /* Excluded from this release type: UpPath */
1776
+
1777
+ /* Excluded from this release type: UpPathDefault */
1778
+
1779
+ /* Excluded from this release type: Value */
1780
+
1781
+ /* Excluded from this release type: ValueFieldEditBuilder */
1782
+
1783
+ /* Excluded from this release type: ValueFromBranded */
1784
+
1785
+ /* Excluded from this release type: ValueSchema */
1786
+
1787
+ /* Excluded from this release type: valueSymbol */
1788
+
1789
+ export { }