@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,212 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+ import { FieldKey, Value, MapTree, ITreeCursorSynchronous, TreeValue } from "../core";
6
+ import { FieldKind } from "./modular-schema";
7
+ import { AllowedTypeSet, AllowedTypes, FlexTreeSchema, TreeFieldSchema, TreeNodeSchema } from "./typed-schema";
8
+ import { AllowedTypesToFlexInsertableTree, InsertableFlexField, InsertableFlexNode } from "./schema-aware";
9
+ import { TreeDataContext } from "./fieldGenerator";
10
+ /**
11
+ * This library defines a tree data format that can infer its types from context.
12
+ * It can only be used when the schema is known.
13
+ * The format is optimized for ergonomics when the developer knows the schema,
14
+ * and needs to declare or navigate trees.
15
+ *
16
+ * The format defined here is very tolerant to optimize for flexibility of expressing trees:
17
+ * APIs exposing data in this format should likely further constrain what is allowed.
18
+ * For example guarantee which fields and nodes should be inlined, and that types will be required everywhere.
19
+ *
20
+ * This is from Editable tree one which has been deleted and should no longer be used!
21
+ */
22
+ /**
23
+ * Check if NewFieldContent is made of {@link ITreeCursor}s.
24
+ *
25
+ * Useful when APIs want to take in tree data in multiple formats, including cursors.
26
+ */
27
+ export declare function areCursors(data: NewFieldContent): data is ITreeCursorSynchronous | readonly ITreeCursorSynchronous[];
28
+ /**
29
+ * A symbol for the name of the type of a tree in contexts where string keys are already in use for fields.
30
+ * See {@link TreeNodeSchemaIdentifier}.
31
+ * @internal
32
+ */
33
+ export declare const typeNameSymbol: unique symbol;
34
+ /**
35
+ * A symbol for the value of a tree node in contexts where string keys are already in use for fields.
36
+ * @internal
37
+ */
38
+ export declare const valueSymbol: unique symbol;
39
+ /**
40
+ * Checks if a value is a {@link TreeValue}.
41
+ */
42
+ export declare function isTreeValue(nodeValue: unknown): nodeValue is TreeValue;
43
+ export declare function getFieldKind(fieldSchema: TreeFieldSchema): FieldKind;
44
+ /**
45
+ * @returns all allowed child types for `typeSet`.
46
+ */
47
+ export declare function getAllowedTypes(schemaData: FlexTreeSchema, typeSet: AllowedTypeSet): ReadonlySet<TreeNodeSchema>;
48
+ /**
49
+ * @returns all types, for which the data is schema-compatible.
50
+ */
51
+ export declare function getPossibleTypes(context: FlexTreeSchema, typeSet: AllowedTypeSet, data: ContextuallyTypedNodeData): TreeNodeSchema[];
52
+ /**
53
+ * A symbol used to define a {@link MarkedArrayLike} interface.
54
+ * @internal
55
+ */
56
+ export declare const arrayLikeMarkerSymbol: unique symbol;
57
+ /**
58
+ * Can be used to mark a type which works like an array, but is not compatible with `Array.isArray`.
59
+ * @internal
60
+ */
61
+ export interface MarkedArrayLike<TGet, TSet extends TGet = TGet> extends ArrayLikeMut<TGet, TSet> {
62
+ readonly [arrayLikeMarkerSymbol]: true;
63
+ [Symbol.iterator](): IterableIterator<TGet>;
64
+ }
65
+ /**
66
+ * Can be used to mark a type which works like an array, but is not compatible with `Array.isArray`.
67
+ * @internal
68
+ */
69
+ export interface ReadonlyMarkedArrayLike<T> extends ArrayLike<T> {
70
+ readonly [arrayLikeMarkerSymbol]: true;
71
+ [Symbol.iterator](): IterableIterator<T>;
72
+ }
73
+ /**
74
+ * `ArrayLike` numeric indexed access, but writable.
75
+ *
76
+ * @remarks
77
+ * Note that due to language limitations, this also allows reading as TSet.
78
+ * This is why `TSet extends TGet` is required.
79
+ *
80
+ * See https://github.com/microsoft/TypeScript/issues/43826.
81
+ * @internal
82
+ */
83
+ export interface ArrayLikeMut<TGet, TSet extends TGet = TGet> extends ArrayLike<TGet> {
84
+ [n: number]: TSet;
85
+ }
86
+ /**
87
+ * Content of a tree which needs external schema information to interpret.
88
+ *
89
+ * This format is intended for concise authoring of tree literals when the schema is statically known.
90
+ *
91
+ * Once schema aware APIs are implemented, they can be used to provide schema specific subsets of this type.
92
+ * @internal
93
+ */
94
+ export type ContextuallyTypedNodeData = ContextuallyTypedNodeDataObject | number | string | boolean | null | readonly ContextuallyTypedNodeData[] | MarkedArrayLike<ContextuallyTypedNodeData>;
95
+ /**
96
+ * Content of a field which needs external schema information to interpret.
97
+ *
98
+ * This format is intended for concise authoring of tree literals when the schema is statically known.
99
+ *
100
+ * Once schema aware APIs are implemented, they can be used to provide schema specific subsets of this type.
101
+ * @internal
102
+ */
103
+ export type ContextuallyTypedFieldData = ContextuallyTypedNodeData | undefined;
104
+ /**
105
+ * Checks the type of a `ContextuallyTypedNodeData`.
106
+ */
107
+ export declare function isArrayLike(data: ContextuallyTypedFieldData): data is readonly ContextuallyTypedNodeData[] | ReadonlyMarkedArrayLike<ContextuallyTypedNodeData>;
108
+ /**
109
+ * Checks the type of a `ContextuallyTypedNodeData`.
110
+ * @internal
111
+ */
112
+ export declare function isContextuallyTypedNodeDataObject(data: ContextuallyTypedNodeData | undefined): data is ContextuallyTypedNodeDataObject;
113
+ /**
114
+ * Object case of {@link ContextuallyTypedNodeData}.
115
+ * @internal
116
+ */
117
+ export interface ContextuallyTypedNodeDataObject {
118
+ /**
119
+ * Value stored on this node.
120
+ */
121
+ readonly [valueSymbol]?: Value;
122
+ /**
123
+ * The type of the node.
124
+ * If this node is well-formed, it must follow this schema.
125
+ */
126
+ readonly [typeNameSymbol]?: string;
127
+ /**
128
+ * Fields of this node, indexed by their field keys.
129
+ *
130
+ * Allow explicit undefined for compatibility with EditableTree, and type-safety on read.
131
+ */
132
+ [key: FieldKey]: ContextuallyTypedFieldData;
133
+ /**
134
+ * Fields of this node, indexed by their field keys as strings.
135
+ *
136
+ * Allow unbranded field keys as a convenience for literals.
137
+ */
138
+ [key: string]: ContextuallyTypedFieldData;
139
+ }
140
+ /**
141
+ * Construct a tree from ContextuallyTypedNodeData.
142
+ *
143
+ * TODO: this should probably be refactored into a `try` function which either returns a Cursor or a SchemaError with a path to the error.
144
+ * @returns a cursor in Nodes mode for a single node containing the provided data.
145
+ * @internal
146
+ */
147
+ export declare function cursorFromContextualData(context: TreeDataContext, typeSet: AllowedTypeSet, data: ContextuallyTypedNodeData): ITreeCursorSynchronous;
148
+ /**
149
+ * Strongly typed {@link cursorFromContextualData} for a TreeNodeSchema.
150
+ * @returns a cursor in Nodes mode for a single node containing the provided data.
151
+ * @internal
152
+ */
153
+ export declare function cursorForTypedTreeData<T extends TreeNodeSchema>(context: TreeDataContext, schema: T, data: InsertableFlexNode<T>): ITreeCursorSynchronous;
154
+ /**
155
+ * Strongly typed {@link cursorFromContextualData} for AllowedTypes.
156
+ * @returns a cursor in Nodes mode for a single node containing the provided data.
157
+ * @internal
158
+ */
159
+ export declare function cursorForTypedData<T extends AllowedTypes>(context: TreeDataContext, schema: T, data: AllowedTypesToFlexInsertableTree<T>): ITreeCursorSynchronous;
160
+ /**
161
+ * Construct a tree from ContextuallyTypedNodeData.
162
+ *
163
+ * TODO: this should probably be refactored into a `try` function which either returns a Cursor or a SchemaError with a path to the error.
164
+ * TODO: migrate APIs which take arrays of cursors to take cursors in fields mode.
165
+ */
166
+ export declare function cursorsFromContextualData(context: TreeDataContext, field: TreeFieldSchema, data: ContextuallyTypedNodeData | undefined): ITreeCursorSynchronous[];
167
+ /**
168
+ * Strongly typed {@link cursorsFromContextualData} for a TreeFieldSchema
169
+ * @internal
170
+ */
171
+ export declare function cursorsForTypedFieldData<T extends TreeFieldSchema>(context: TreeDataContext, schema: T, data: InsertableFlexField<T>): ITreeCursorSynchronous[];
172
+ /**
173
+ * Construct a MapTree from ContextuallyTypedNodeData.
174
+ *
175
+ * TODO: this should probably be refactored into a `try` function which either returns a MapTree or a SchemaError with a path to the error.
176
+ * TODO: test suite.
177
+ *
178
+ * @remarks
179
+ * This version is only exported as a more testable entry point than `cursorFromContextualData` which keeps the use of `MapTree` as an implementation detail.
180
+ * This should not be reexported from the parent module.
181
+ */
182
+ export declare function applyTypesFromContext(context: TreeDataContext, typeSet: AllowedTypeSet, data: ContextuallyTypedNodeData): MapTree;
183
+ /**
184
+ * Construct a MapTree from ContextuallyTypedNodeData.
185
+ *
186
+ * TODO: this should probably be refactored into a `try` function which either returns a MapTree or a SchemaError with a path to the error.
187
+ * TODO: test suite.
188
+ *
189
+ * @remarks
190
+ * This version is only exported as a more testable entry point than `cursorsFromContextualData` which keeps the use of `MapTree` as an implementation detail.
191
+ * This should not be reexported from the parent module.
192
+ */
193
+ export declare function applyFieldTypesFromContext(context: TreeDataContext, field: TreeFieldSchema, data: ContextuallyTypedFieldData): MapTree[];
194
+ /**
195
+ * Content to use for a field.
196
+ *
197
+ * When used, this content will be deeply copied into the tree, and must comply with the schema.
198
+ *
199
+ * The content must follow the {@link Multiplicity} of the {@link FieldKind}:
200
+ * - use a single cursor for an `optional` or `value` field;
201
+ * - use array of cursors for a `sequence` field;
202
+ *
203
+ * TODO: this should allow a field cursor instead of an array of cursors.
204
+ * TODO: Make this generic so a variant of this type that allows placeholders for detached sequences to consume.
205
+ * @internal
206
+ */
207
+ export type NewFieldContent = ITreeCursorSynchronous | readonly ITreeCursorSynchronous[] | ContextuallyTypedFieldData;
208
+ /**
209
+ * Convert NewFieldContent into ITreeCursor array.
210
+ */
211
+ export declare function normalizeNewFieldContent(context: TreeDataContext, schema: TreeFieldSchema, content: NewFieldContent): readonly ITreeCursorSynchronous[];
212
+ //# sourceMappingURL=contextuallyTyped.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextuallyTyped.d.ts","sourceRoot":"","sources":["../../src/feature-libraries/contextuallyTyped.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAEN,QAAQ,EACR,KAAK,EACL,OAAO,EACP,sBAAsB,EAEtB,SAAS,EACT,MAAM,SAAS,CAAC;AAKjB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EACN,cAAc,EACd,YAAY,EAGZ,cAAc,EAId,eAAe,EACf,cAAc,EAEd,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACN,gCAAgC,EAChC,mBAAmB,EACnB,kBAAkB,EAClB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnD;;;;;;;;;;;GAWG;AAEH;;;;GAIG;AACH,wBAAgB,UAAU,CACzB,IAAI,EAAE,eAAe,GACnB,IAAI,IAAI,sBAAsB,GAAG,SAAS,sBAAsB,EAAE,CAUpE;AASD;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,OAAO,MAAoC,CAAC;AAEzE;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,OAAO,MAAiC,CAAC;AAEnE;;GAEG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,IAAI,SAAS,CAStE;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,eAAe,GAAG,SAAS,CAKpE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC9B,UAAU,EAAE,cAAc,EAC1B,OAAO,EAAE,cAAc,GACrB,WAAW,CAAC,cAAc,CAAC,CAG7B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC/B,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,yBAAyB,oBAY/B;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,OAAO,MAAgD,CAAC;AAE5F;;;GAGG;AACH,MAAM,WAAW,eAAe,CAAC,IAAI,EAAE,IAAI,SAAS,IAAI,GAAG,IAAI,CAAE,SAAQ,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC;IAChG,QAAQ,CAAC,CAAC,qBAAqB,CAAC,EAAE,IAAI,CAAC;IACvC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;CAC5C;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAuB,CAAC,CAAC,CAAE,SAAQ,SAAS,CAAC,CAAC,CAAC;IAC/D,QAAQ,CAAC,CAAC,qBAAqB,CAAC,EAAE,IAAI,CAAC;IACvC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC;CACzC;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,YAAY,CAAC,IAAI,EAAE,IAAI,SAAS,IAAI,GAAG,IAAI,CAAE,SAAQ,SAAS,CAAC,IAAI,CAAC;IACpF,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,yBAAyB,GAClC,+BAA+B,GAC/B,MAAM,GACN,MAAM,GACN,OAAO,GAEP,IAAI,GACJ,SAAS,yBAAyB,EAAE,GACpC,eAAe,CAAC,yBAAyB,CAAC,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,MAAM,0BAA0B,GAAG,yBAAyB,GAAG,SAAS,CAAC;AAE/E;;GAEG;AACH,wBAAgB,WAAW,CAC1B,IAAI,EAAE,0BAA0B,GAC9B,IAAI,IACJ,SAAS,yBAAyB,EAAE,GACpC,uBAAuB,CAAC,yBAAyB,CAAC,CAQpD;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAChD,IAAI,EAAE,yBAAyB,GAAG,SAAS,GACzC,IAAI,IAAI,+BAA+B,CAEzC;AAED;;;GAGG;AACH,MAAM,WAAW,+BAA+B;IAC/C;;OAEG;IACH,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC;IAE/B;;;OAGG;IACH,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC;IAEnC;;;;OAIG;IAEH,CAAC,GAAG,EAAE,QAAQ,GAAG,0BAA0B,CAAC;IAE5C;;;;OAIG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,0BAA0B,CAAC;CAC1C;AAmDD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACvC,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,yBAAyB,GAC7B,sBAAsB,CAGxB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,cAAc,EAC9D,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,CAAC,EACT,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,GACzB,sBAAsB,CAExB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,YAAY,EACxD,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,CAAC,EACT,IAAI,EAAE,gCAAgC,CAAC,CAAC,CAAC,GACvC,sBAAsB,CAMxB;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACxC,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,yBAAyB,GAAG,SAAS,GACzC,sBAAsB,EAAE,CAG1B;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,eAAe,EACjE,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,CAAC,EACT,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC1B,sBAAsB,EAAE,CAE1B;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACpC,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,yBAAyB,GAC7B,OAAO,CAmET;AA0BD;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACzC,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,0BAA0B,GAC9B,OAAO,EAAE,CAqBX;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,eAAe,GACxB,sBAAsB,GACtB,SAAS,sBAAsB,EAAE,GACjC,0BAA0B,CAAC;AAE9B;;GAEG;AACH,wBAAgB,wBAAwB,CACvC,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,eAAe,GACtB,SAAS,sBAAsB,EAAE,CAkBnC"}
@@ -0,0 +1,342 @@
1
+ "use strict";
2
+ /*!
3
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
4
+ * Licensed under the MIT License.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.normalizeNewFieldContent = exports.applyFieldTypesFromContext = exports.applyTypesFromContext = exports.cursorsForTypedFieldData = exports.cursorsFromContextualData = exports.cursorForTypedData = exports.cursorForTypedTreeData = exports.cursorFromContextualData = exports.isContextuallyTypedNodeDataObject = exports.isArrayLike = exports.arrayLikeMarkerSymbol = exports.getPossibleTypes = exports.getAllowedTypes = exports.getFieldKind = exports.isTreeValue = exports.valueSymbol = exports.typeNameSymbol = exports.areCursors = void 0;
8
+ const core_utils_1 = require("@fluidframework/core-utils");
9
+ const util_1 = require("../util");
10
+ const core_1 = require("../core");
11
+ // TODO:
12
+ // This module currently is assuming use of default-field-kinds.
13
+ // The field kinds should instead come from a view schema registry thats provided somewhere.
14
+ const default_schema_1 = require("./default-schema");
15
+ const typed_schema_1 = require("./typed-schema");
16
+ const mapTreeCursor_1 = require("./mapTreeCursor");
17
+ const valueUtilities_1 = require("./valueUtilities");
18
+ const multiplicity_1 = require("./multiplicity");
19
+ /**
20
+ * This library defines a tree data format that can infer its types from context.
21
+ * It can only be used when the schema is known.
22
+ * The format is optimized for ergonomics when the developer knows the schema,
23
+ * and needs to declare or navigate trees.
24
+ *
25
+ * The format defined here is very tolerant to optimize for flexibility of expressing trees:
26
+ * APIs exposing data in this format should likely further constrain what is allowed.
27
+ * For example guarantee which fields and nodes should be inlined, and that types will be required everywhere.
28
+ *
29
+ * This is from Editable tree one which has been deleted and should no longer be used!
30
+ */
31
+ /**
32
+ * Check if NewFieldContent is made of {@link ITreeCursor}s.
33
+ *
34
+ * Useful when APIs want to take in tree data in multiple formats, including cursors.
35
+ */
36
+ function areCursors(data) {
37
+ if ((0, core_1.isCursor)(data)) {
38
+ return true;
39
+ }
40
+ if (Array.isArray(data) && data.length >= 0 && (0, core_1.isCursor)(data[0])) {
41
+ return true;
42
+ }
43
+ return false;
44
+ }
45
+ exports.areCursors = areCursors;
46
+ /**
47
+ * String which identifies this code.
48
+ * Targeted at developers: can be used for symbol strings, or other developer targeted strings,
49
+ * like error messages.
50
+ */
51
+ const scope = "contextuallyTyped";
52
+ /**
53
+ * A symbol for the name of the type of a tree in contexts where string keys are already in use for fields.
54
+ * See {@link TreeNodeSchemaIdentifier}.
55
+ * @internal
56
+ */
57
+ exports.typeNameSymbol = Symbol(`${scope}:typeName`);
58
+ /**
59
+ * A symbol for the value of a tree node in contexts where string keys are already in use for fields.
60
+ * @internal
61
+ */
62
+ exports.valueSymbol = Symbol(`${scope}:value`);
63
+ /**
64
+ * Checks if a value is a {@link TreeValue}.
65
+ */
66
+ function isTreeValue(nodeValue) {
67
+ switch (typeof nodeValue) {
68
+ case "string":
69
+ case "number":
70
+ case "boolean":
71
+ return true;
72
+ default:
73
+ return nodeValue === null || (0, valueUtilities_1.isFluidHandle)(nodeValue);
74
+ }
75
+ }
76
+ exports.isTreeValue = isTreeValue;
77
+ function getFieldKind(fieldSchema) {
78
+ // TODO:
79
+ // This module currently is assuming use of defaultFieldKinds.
80
+ // The field kinds should instead come from a view schema registry thats provided somewhere.
81
+ return default_schema_1.fieldKinds.get(fieldSchema.kind.identifier) ?? (0, util_1.fail)("missing field kind");
82
+ }
83
+ exports.getFieldKind = getFieldKind;
84
+ /**
85
+ * @returns all allowed child types for `typeSet`.
86
+ */
87
+ function getAllowedTypes(schemaData, typeSet) {
88
+ // TODO: Performance: avoid the `Any` case being frequent, possibly with caching in the caller of `getPossibleChildTypes`.
89
+ return typeSet === typed_schema_1.Any ? new Set(schemaData.nodeSchema.values()) : typeSet;
90
+ }
91
+ exports.getAllowedTypes = getAllowedTypes;
92
+ /**
93
+ * @returns all types, for which the data is schema-compatible.
94
+ */
95
+ function getPossibleTypes(context, typeSet, data) {
96
+ // All types allowed by schema
97
+ const allowedTypes = getAllowedTypes(context, typeSet);
98
+ const possibleTypes = [];
99
+ for (const allowed of allowedTypes) {
100
+ if (shallowCompatibilityTest(allowed, data)) {
101
+ possibleTypes.push(allowed);
102
+ }
103
+ }
104
+ return possibleTypes;
105
+ }
106
+ exports.getPossibleTypes = getPossibleTypes;
107
+ /**
108
+ * A symbol used to define a {@link MarkedArrayLike} interface.
109
+ * @internal
110
+ */
111
+ exports.arrayLikeMarkerSymbol = Symbol("editable-tree:arrayLikeMarker");
112
+ /**
113
+ * Checks the type of a `ContextuallyTypedNodeData`.
114
+ */
115
+ function isArrayLike(data) {
116
+ if (typeof data !== "object" || data === null) {
117
+ return false;
118
+ }
119
+ return (data[exports.arrayLikeMarkerSymbol] ===
120
+ true || Array.isArray(data));
121
+ }
122
+ exports.isArrayLike = isArrayLike;
123
+ /**
124
+ * Checks the type of a `ContextuallyTypedNodeData`.
125
+ * @internal
126
+ */
127
+ function isContextuallyTypedNodeDataObject(data) {
128
+ return !(isTreeValue(data) || isArrayLike(data));
129
+ }
130
+ exports.isContextuallyTypedNodeDataObject = isContextuallyTypedNodeDataObject;
131
+ /**
132
+ * Checks if data might be schema-compatible.
133
+ *
134
+ * @returns false if `data` is incompatible with `type` based on a cheap/shallow check.
135
+ *
136
+ * Note that this may return true for cases where data is incompatible, but it must not return false in cases where the data is compatible.
137
+ */
138
+ function shallowCompatibilityTest(schema, data) {
139
+ (0, core_utils_1.assert)(!areCursors(data), 0x6b1 /* cursors cannot be used as contextually typed data. */);
140
+ (0, core_utils_1.assert)(data !== undefined, 0x6b2 /* undefined cannot be used as contextually typed data. Use ContextuallyTypedFieldData. */);
141
+ if (schema instanceof typed_schema_1.LeafNodeSchema) {
142
+ // Reject objects with no value from being leaf nodes.
143
+ // Note that if allowing IFluidHandles without wrapping them in a leaf node object,
144
+ // this (or the above isPrimitiveValue) would have to change.
145
+ if (isTreeValue(data)) {
146
+ return (0, valueUtilities_1.allowsValue)(schema.leafValue, data);
147
+ }
148
+ if (data[exports.valueSymbol] === undefined) {
149
+ return false;
150
+ }
151
+ }
152
+ if (isTreeValue(data)) {
153
+ return false;
154
+ }
155
+ if (isArrayLike(data)) {
156
+ if (schema instanceof typed_schema_1.FieldNodeSchema) {
157
+ const field = schema.getFieldSchema();
158
+ return field.kind.multiplicity === multiplicity_1.Multiplicity.Sequence;
159
+ }
160
+ else {
161
+ return false;
162
+ }
163
+ }
164
+ if (data[exports.typeNameSymbol] !== undefined) {
165
+ return data[exports.typeNameSymbol] === schema.name;
166
+ }
167
+ // For now, consider all not explicitly typed objects shallow compatible.
168
+ // This will require explicit differentiation in polymorphic cases rather than automatic structural differentiation.
169
+ return true;
170
+ }
171
+ /**
172
+ * Construct a tree from ContextuallyTypedNodeData.
173
+ *
174
+ * TODO: this should probably be refactored into a `try` function which either returns a Cursor or a SchemaError with a path to the error.
175
+ * @returns a cursor in Nodes mode for a single node containing the provided data.
176
+ * @internal
177
+ */
178
+ function cursorFromContextualData(context, typeSet, data) {
179
+ const mapTree = applyTypesFromContext(context, typeSet, data);
180
+ return (0, mapTreeCursor_1.cursorForMapTreeNode)(mapTree);
181
+ }
182
+ exports.cursorFromContextualData = cursorFromContextualData;
183
+ /**
184
+ * Strongly typed {@link cursorFromContextualData} for a TreeNodeSchema.
185
+ * @returns a cursor in Nodes mode for a single node containing the provided data.
186
+ * @internal
187
+ */
188
+ function cursorForTypedTreeData(context, schema, data) {
189
+ return cursorFromContextualData(context, new Set([schema]), data);
190
+ }
191
+ exports.cursorForTypedTreeData = cursorForTypedTreeData;
192
+ /**
193
+ * Strongly typed {@link cursorFromContextualData} for AllowedTypes.
194
+ * @returns a cursor in Nodes mode for a single node containing the provided data.
195
+ * @internal
196
+ */
197
+ function cursorForTypedData(context, schema, data) {
198
+ return cursorFromContextualData(context, (0, typed_schema_1.allowedTypesSchemaSet)(schema), data);
199
+ }
200
+ exports.cursorForTypedData = cursorForTypedData;
201
+ /**
202
+ * Construct a tree from ContextuallyTypedNodeData.
203
+ *
204
+ * TODO: this should probably be refactored into a `try` function which either returns a Cursor or a SchemaError with a path to the error.
205
+ * TODO: migrate APIs which take arrays of cursors to take cursors in fields mode.
206
+ */
207
+ function cursorsFromContextualData(context, field, data) {
208
+ const mapTrees = applyFieldTypesFromContext(context, field, data);
209
+ return mapTrees.map(mapTreeCursor_1.cursorForMapTreeNode);
210
+ }
211
+ exports.cursorsFromContextualData = cursorsFromContextualData;
212
+ /**
213
+ * Strongly typed {@link cursorsFromContextualData} for a TreeFieldSchema
214
+ * @internal
215
+ */
216
+ function cursorsForTypedFieldData(context, schema, data) {
217
+ return cursorsFromContextualData(context, schema, data);
218
+ }
219
+ exports.cursorsForTypedFieldData = cursorsForTypedFieldData;
220
+ /**
221
+ * Construct a MapTree from ContextuallyTypedNodeData.
222
+ *
223
+ * TODO: this should probably be refactored into a `try` function which either returns a MapTree or a SchemaError with a path to the error.
224
+ * TODO: test suite.
225
+ *
226
+ * @remarks
227
+ * This version is only exported as a more testable entry point than `cursorFromContextualData` which keeps the use of `MapTree` as an implementation detail.
228
+ * This should not be reexported from the parent module.
229
+ */
230
+ function applyTypesFromContext(context, typeSet, data) {
231
+ const possibleTypes = getPossibleTypes(context.schema, typeSet, data);
232
+ (0, core_utils_1.assert)(possibleTypes.length !== 0, 0x4d4 /* data incompatible with all types allowed by the schema */);
233
+ (0, core_utils_1.assert)(possibleTypes.length === 1, 0x4d5 /* data compatible with more than one type allowed by the schema */);
234
+ const schema = possibleTypes[0];
235
+ if (schema instanceof typed_schema_1.LeafNodeSchema) {
236
+ const value = isTreeValue(data)
237
+ ? data
238
+ : data[exports.valueSymbol];
239
+ (0, core_utils_1.assert)((0, valueUtilities_1.allowsValue)(schema.leafValue, value), 0x4d3 /* unsupported schema for provided primitive */);
240
+ return { value, type: schema.name, fields: new Map() };
241
+ }
242
+ (0, core_utils_1.assert)(!isTreeValue(data), "leaf value for non leaf");
243
+ if (schema instanceof typed_schema_1.FieldNodeSchema) {
244
+ if (isArrayLike(data)) {
245
+ const children = applyFieldTypesFromContext(context, schema.getFieldSchema(), data);
246
+ return {
247
+ value: undefined,
248
+ type: schema.name,
249
+ fields: new Map(children.length > 0 ? [[core_1.EmptyKey, children]] : []),
250
+ };
251
+ }
252
+ }
253
+ (0, core_utils_1.assert)(!isArrayLike(data), "array for non field node");
254
+ if (schema instanceof typed_schema_1.MapNodeSchema ||
255
+ schema instanceof typed_schema_1.ObjectNodeSchema ||
256
+ schema instanceof typed_schema_1.FieldNodeSchema) {
257
+ const fields = new Map();
258
+ for (const key of fieldKeysFromData(data)) {
259
+ (0, core_utils_1.assert)(!fields.has(key), 0x6b3 /* Keys should not be duplicated */);
260
+ const childSchema = schema.getFieldSchema(key);
261
+ const children = applyFieldTypesFromContext(context, childSchema, data[key]);
262
+ if (children.length > 0) {
263
+ fields.set(key, children);
264
+ }
265
+ }
266
+ if (schema instanceof typed_schema_1.ObjectNodeSchema) {
267
+ for (const key of schema.objectNodeFields.keys()) {
268
+ if (data[key] === undefined) {
269
+ setFieldForKey(key, context, schema, fields);
270
+ }
271
+ }
272
+ }
273
+ const value = data[exports.valueSymbol];
274
+ (0, core_utils_1.assert)(value === undefined, 0x4d7 /* provided value not permitted by the schema */);
275
+ return { value, type: schema.name, fields };
276
+ }
277
+ else {
278
+ (0, util_1.fail)("unexpected node kind");
279
+ }
280
+ }
281
+ exports.applyTypesFromContext = applyTypesFromContext;
282
+ function setFieldForKey(key, context, schema, fields) {
283
+ const requiredFieldSchema = schema.getFieldSchema(key);
284
+ const multiplicity = getFieldKind(requiredFieldSchema).multiplicity;
285
+ if (multiplicity === multiplicity_1.Multiplicity.Single && context.fieldSource !== undefined) {
286
+ const fieldGenerator = context.fieldSource(key, requiredFieldSchema);
287
+ if (fieldGenerator !== undefined) {
288
+ const children = fieldGenerator();
289
+ fields.set(key, children);
290
+ }
291
+ }
292
+ }
293
+ function fieldKeysFromData(data) {
294
+ const keys = Reflect.ownKeys(data).filter((key) => typeof key === "string");
295
+ return keys;
296
+ }
297
+ /**
298
+ * Construct a MapTree from ContextuallyTypedNodeData.
299
+ *
300
+ * TODO: this should probably be refactored into a `try` function which either returns a MapTree or a SchemaError with a path to the error.
301
+ * TODO: test suite.
302
+ *
303
+ * @remarks
304
+ * This version is only exported as a more testable entry point than `cursorsFromContextualData` which keeps the use of `MapTree` as an implementation detail.
305
+ * This should not be reexported from the parent module.
306
+ */
307
+ function applyFieldTypesFromContext(context, field, data) {
308
+ const multiplicity = getFieldKind(field).multiplicity;
309
+ if (data === undefined) {
310
+ (0, core_utils_1.assert)(multiplicity === multiplicity_1.Multiplicity.Forbidden || multiplicity === multiplicity_1.Multiplicity.Optional, 0x4d8 /* `undefined` provided for a field that does not support `undefined` */);
311
+ return [];
312
+ }
313
+ if (multiplicity === multiplicity_1.Multiplicity.Sequence) {
314
+ (0, core_utils_1.assert)(isArrayLike(data), 0x4d9 /* expected array for a sequence field */);
315
+ const children = Array.from(data, (child) => applyTypesFromContext(context, field.allowedTypeSet, child));
316
+ return children;
317
+ }
318
+ (0, core_utils_1.assert)(multiplicity === multiplicity_1.Multiplicity.Single || multiplicity === multiplicity_1.Multiplicity.Optional, 0x4da /* single value provided for an unsupported field */);
319
+ return [applyTypesFromContext(context, field.allowedTypeSet, data)];
320
+ }
321
+ exports.applyFieldTypesFromContext = applyFieldTypesFromContext;
322
+ /**
323
+ * Convert NewFieldContent into ITreeCursor array.
324
+ */
325
+ function normalizeNewFieldContent(context, schema, content) {
326
+ if (areCursors(content)) {
327
+ if (getFieldKind(schema).multiplicity === multiplicity_1.Multiplicity.Sequence) {
328
+ (0, core_utils_1.assert)((0, util_1.isReadonlyArray)(content), 0x6b7 /* sequence fields require array content */);
329
+ return content;
330
+ }
331
+ else {
332
+ if ((0, util_1.isReadonlyArray)(content)) {
333
+ (0, core_utils_1.assert)(content.length === 1, 0x6b8 /* non-sequence fields can not be provided content that is multiple cursors */);
334
+ return content;
335
+ }
336
+ return [content];
337
+ }
338
+ }
339
+ return cursorsFromContextualData(context, schema, content);
340
+ }
341
+ exports.normalizeNewFieldContent = normalizeNewFieldContent;
342
+ //# sourceMappingURL=contextuallyTyped.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextuallyTyped.js","sourceRoot":"","sources":["../../src/feature-libraries/contextuallyTyped.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { assert } from \"@fluidframework/core-utils\";\nimport { fail, isReadonlyArray } from \"../util\";\nimport {\n\tEmptyKey,\n\tFieldKey,\n\tValue,\n\tMapTree,\n\tITreeCursorSynchronous,\n\tisCursor,\n\tTreeValue,\n} from \"../core\";\n// TODO:\n// This module currently is assuming use of default-field-kinds.\n// The field kinds should instead come from a view schema registry thats provided somewhere.\nimport { fieldKinds } from \"./default-schema\";\nimport { FieldKind } from \"./modular-schema\";\nimport {\n\tAllowedTypeSet,\n\tAllowedTypes,\n\tAny,\n\tFieldNodeSchema,\n\tFlexTreeSchema,\n\tLeafNodeSchema,\n\tMapNodeSchema,\n\tObjectNodeSchema,\n\tTreeFieldSchema,\n\tTreeNodeSchema,\n\tallowedTypesSchemaSet,\n} from \"./typed-schema\";\nimport { cursorForMapTreeNode } from \"./mapTreeCursor\";\nimport {\n\tAllowedTypesToFlexInsertableTree,\n\tInsertableFlexField,\n\tInsertableFlexNode,\n} from \"./schema-aware\";\nimport { isFluidHandle, allowsValue } from \"./valueUtilities\";\nimport { TreeDataContext } from \"./fieldGenerator\";\nimport { Multiplicity } from \"./multiplicity\";\n\n/**\n * This library defines a tree data format that can infer its types from context.\n * It can only be used when the schema is known.\n * The format is optimized for ergonomics when the developer knows the schema,\n * and needs to declare or navigate trees.\n *\n * The format defined here is very tolerant to optimize for flexibility of expressing trees:\n * APIs exposing data in this format should likely further constrain what is allowed.\n * For example guarantee which fields and nodes should be inlined, and that types will be required everywhere.\n *\n * This is from Editable tree one which has been deleted and should no longer be used!\n */\n\n/**\n * Check if NewFieldContent is made of {@link ITreeCursor}s.\n *\n * Useful when APIs want to take in tree data in multiple formats, including cursors.\n */\nexport function areCursors(\n\tdata: NewFieldContent,\n): data is ITreeCursorSynchronous | readonly ITreeCursorSynchronous[] {\n\tif (isCursor(data)) {\n\t\treturn true;\n\t}\n\n\tif (Array.isArray(data) && data.length >= 0 && isCursor(data[0])) {\n\t\treturn true;\n\t}\n\n\treturn false;\n}\n\n/**\n * String which identifies this code.\n * Targeted at developers: can be used for symbol strings, or other developer targeted strings,\n * like error messages.\n */\nconst scope = \"contextuallyTyped\";\n\n/**\n * A symbol for the name of the type of a tree in contexts where string keys are already in use for fields.\n * See {@link TreeNodeSchemaIdentifier}.\n * @internal\n */\nexport const typeNameSymbol: unique symbol = Symbol(`${scope}:typeName`);\n\n/**\n * A symbol for the value of a tree node in contexts where string keys are already in use for fields.\n * @internal\n */\nexport const valueSymbol: unique symbol = Symbol(`${scope}:value`);\n\n/**\n * Checks if a value is a {@link TreeValue}.\n */\nexport function isTreeValue(nodeValue: unknown): nodeValue is TreeValue {\n\tswitch (typeof nodeValue) {\n\t\tcase \"string\":\n\t\tcase \"number\":\n\t\tcase \"boolean\":\n\t\t\treturn true;\n\t\tdefault:\n\t\t\treturn nodeValue === null || isFluidHandle(nodeValue);\n\t}\n}\n\nexport function getFieldKind(fieldSchema: TreeFieldSchema): FieldKind {\n\t// TODO:\n\t// This module currently is assuming use of defaultFieldKinds.\n\t// The field kinds should instead come from a view schema registry thats provided somewhere.\n\treturn fieldKinds.get(fieldSchema.kind.identifier) ?? fail(\"missing field kind\");\n}\n\n/**\n * @returns all allowed child types for `typeSet`.\n */\nexport function getAllowedTypes(\n\tschemaData: FlexTreeSchema,\n\ttypeSet: AllowedTypeSet,\n): ReadonlySet<TreeNodeSchema> {\n\t// TODO: Performance: avoid the `Any` case being frequent, possibly with caching in the caller of `getPossibleChildTypes`.\n\treturn typeSet === Any ? new Set(schemaData.nodeSchema.values()) : typeSet;\n}\n\n/**\n * @returns all types, for which the data is schema-compatible.\n */\nexport function getPossibleTypes(\n\tcontext: FlexTreeSchema,\n\ttypeSet: AllowedTypeSet,\n\tdata: ContextuallyTypedNodeData,\n) {\n\t// All types allowed by schema\n\tconst allowedTypes = getAllowedTypes(context, typeSet);\n\n\tconst possibleTypes: TreeNodeSchema[] = [];\n\tfor (const allowed of allowedTypes) {\n\t\tif (shallowCompatibilityTest(allowed, data)) {\n\t\t\tpossibleTypes.push(allowed);\n\t\t}\n\t}\n\treturn possibleTypes;\n}\n\n/**\n * A symbol used to define a {@link MarkedArrayLike} interface.\n * @internal\n */\nexport const arrayLikeMarkerSymbol: unique symbol = Symbol(\"editable-tree:arrayLikeMarker\");\n\n/**\n * Can be used to mark a type which works like an array, but is not compatible with `Array.isArray`.\n * @internal\n */\nexport interface MarkedArrayLike<TGet, TSet extends TGet = TGet> extends ArrayLikeMut<TGet, TSet> {\n\treadonly [arrayLikeMarkerSymbol]: true;\n\t[Symbol.iterator](): IterableIterator<TGet>;\n}\n\n/**\n * Can be used to mark a type which works like an array, but is not compatible with `Array.isArray`.\n * @internal\n */\nexport interface ReadonlyMarkedArrayLike<T> extends ArrayLike<T> {\n\treadonly [arrayLikeMarkerSymbol]: true;\n\t[Symbol.iterator](): IterableIterator<T>;\n}\n\n/**\n * `ArrayLike` numeric indexed access, but writable.\n *\n * @remarks\n * Note that due to language limitations, this also allows reading as TSet.\n * This is why `TSet extends TGet` is required.\n *\n * See https://github.com/microsoft/TypeScript/issues/43826.\n * @internal\n */\nexport interface ArrayLikeMut<TGet, TSet extends TGet = TGet> extends ArrayLike<TGet> {\n\t[n: number]: TSet;\n}\n\n/**\n * Content of a tree which needs external schema information to interpret.\n *\n * This format is intended for concise authoring of tree literals when the schema is statically known.\n *\n * Once schema aware APIs are implemented, they can be used to provide schema specific subsets of this type.\n * @internal\n */\nexport type ContextuallyTypedNodeData =\n\t| ContextuallyTypedNodeDataObject\n\t| number\n\t| string\n\t| boolean\n\t// eslint-disable-next-line @rushstack/no-new-null\n\t| null\n\t| readonly ContextuallyTypedNodeData[]\n\t| MarkedArrayLike<ContextuallyTypedNodeData>;\n\n/**\n * Content of a field which needs external schema information to interpret.\n *\n * This format is intended for concise authoring of tree literals when the schema is statically known.\n *\n * Once schema aware APIs are implemented, they can be used to provide schema specific subsets of this type.\n * @internal\n */\nexport type ContextuallyTypedFieldData = ContextuallyTypedNodeData | undefined;\n\n/**\n * Checks the type of a `ContextuallyTypedNodeData`.\n */\nexport function isArrayLike(\n\tdata: ContextuallyTypedFieldData,\n): data is\n\t| readonly ContextuallyTypedNodeData[]\n\t| ReadonlyMarkedArrayLike<ContextuallyTypedNodeData> {\n\tif (typeof data !== \"object\" || data === null) {\n\t\treturn false;\n\t}\n\treturn (\n\t\t(data as Partial<MarkedArrayLike<ContextuallyTypedNodeData>>)[arrayLikeMarkerSymbol] ===\n\t\t\ttrue || Array.isArray(data)\n\t);\n}\n\n/**\n * Checks the type of a `ContextuallyTypedNodeData`.\n * @internal\n */\nexport function isContextuallyTypedNodeDataObject(\n\tdata: ContextuallyTypedNodeData | undefined,\n): data is ContextuallyTypedNodeDataObject {\n\treturn !(isTreeValue(data) || isArrayLike(data));\n}\n\n/**\n * Object case of {@link ContextuallyTypedNodeData}.\n * @internal\n */\nexport interface ContextuallyTypedNodeDataObject {\n\t/**\n\t * Value stored on this node.\n\t */\n\treadonly [valueSymbol]?: Value;\n\n\t/**\n\t * The type of the node.\n\t * If this node is well-formed, it must follow this schema.\n\t */\n\treadonly [typeNameSymbol]?: string;\n\n\t/**\n\t * Fields of this node, indexed by their field keys.\n\t *\n\t * Allow explicit undefined for compatibility with EditableTree, and type-safety on read.\n\t */\n\t// TODO: make sure explicit undefined is actually handled correctly.\n\t[key: FieldKey]: ContextuallyTypedFieldData;\n\n\t/**\n\t * Fields of this node, indexed by their field keys as strings.\n\t *\n\t * Allow unbranded field keys as a convenience for literals.\n\t */\n\t[key: string]: ContextuallyTypedFieldData;\n}\n\n/**\n * Checks if data might be schema-compatible.\n *\n * @returns false if `data` is incompatible with `type` based on a cheap/shallow check.\n *\n * Note that this may return true for cases where data is incompatible, but it must not return false in cases where the data is compatible.\n */\nfunction shallowCompatibilityTest(\n\tschema: TreeNodeSchema,\n\tdata: ContextuallyTypedNodeData,\n): boolean {\n\tassert(!areCursors(data), 0x6b1 /* cursors cannot be used as contextually typed data. */);\n\tassert(\n\t\tdata !== undefined,\n\t\t0x6b2 /* undefined cannot be used as contextually typed data. Use ContextuallyTypedFieldData. */,\n\t);\n\n\tif (schema instanceof LeafNodeSchema) {\n\t\t// Reject objects with no value from being leaf nodes.\n\t\t// Note that if allowing IFluidHandles without wrapping them in a leaf node object,\n\t\t// this (or the above isPrimitiveValue) would have to change.\n\n\t\tif (isTreeValue(data)) {\n\t\t\treturn allowsValue(schema.leafValue, data);\n\t\t}\n\t\tif ((data as ContextuallyTypedNodeDataObject)[valueSymbol] === undefined) {\n\t\t\treturn false;\n\t\t}\n\t}\n\tif (isTreeValue(data)) {\n\t\treturn false;\n\t}\n\tif (isArrayLike(data)) {\n\t\tif (schema instanceof FieldNodeSchema) {\n\t\t\tconst field = schema.getFieldSchema();\n\t\t\treturn field.kind.multiplicity === Multiplicity.Sequence;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n\tif (data[typeNameSymbol] !== undefined) {\n\t\treturn data[typeNameSymbol] === schema.name;\n\t}\n\t// For now, consider all not explicitly typed objects shallow compatible.\n\t// This will require explicit differentiation in polymorphic cases rather than automatic structural differentiation.\n\n\treturn true;\n}\n\n/**\n * Construct a tree from ContextuallyTypedNodeData.\n *\n * TODO: this should probably be refactored into a `try` function which either returns a Cursor or a SchemaError with a path to the error.\n * @returns a cursor in Nodes mode for a single node containing the provided data.\n * @internal\n */\nexport function cursorFromContextualData(\n\tcontext: TreeDataContext,\n\ttypeSet: AllowedTypeSet,\n\tdata: ContextuallyTypedNodeData,\n): ITreeCursorSynchronous {\n\tconst mapTree = applyTypesFromContext(context, typeSet, data);\n\treturn cursorForMapTreeNode(mapTree);\n}\n\n/**\n * Strongly typed {@link cursorFromContextualData} for a TreeNodeSchema.\n * @returns a cursor in Nodes mode for a single node containing the provided data.\n * @internal\n */\nexport function cursorForTypedTreeData<T extends TreeNodeSchema>(\n\tcontext: TreeDataContext,\n\tschema: T,\n\tdata: InsertableFlexNode<T>,\n): ITreeCursorSynchronous {\n\treturn cursorFromContextualData(context, new Set([schema]), data as ContextuallyTypedNodeData);\n}\n\n/**\n * Strongly typed {@link cursorFromContextualData} for AllowedTypes.\n * @returns a cursor in Nodes mode for a single node containing the provided data.\n * @internal\n */\nexport function cursorForTypedData<T extends AllowedTypes>(\n\tcontext: TreeDataContext,\n\tschema: T,\n\tdata: AllowedTypesToFlexInsertableTree<T>,\n): ITreeCursorSynchronous {\n\treturn cursorFromContextualData(\n\t\tcontext,\n\t\tallowedTypesSchemaSet(schema),\n\t\tdata as unknown as ContextuallyTypedNodeData,\n\t);\n}\n\n/**\n * Construct a tree from ContextuallyTypedNodeData.\n *\n * TODO: this should probably be refactored into a `try` function which either returns a Cursor or a SchemaError with a path to the error.\n * TODO: migrate APIs which take arrays of cursors to take cursors in fields mode.\n */\nexport function cursorsFromContextualData(\n\tcontext: TreeDataContext,\n\tfield: TreeFieldSchema,\n\tdata: ContextuallyTypedNodeData | undefined,\n): ITreeCursorSynchronous[] {\n\tconst mapTrees = applyFieldTypesFromContext(context, field, data);\n\treturn mapTrees.map(cursorForMapTreeNode);\n}\n\n/**\n * Strongly typed {@link cursorsFromContextualData} for a TreeFieldSchema\n * @internal\n */\nexport function cursorsForTypedFieldData<T extends TreeFieldSchema>(\n\tcontext: TreeDataContext,\n\tschema: T,\n\tdata: InsertableFlexField<T>,\n): ITreeCursorSynchronous[] {\n\treturn cursorsFromContextualData(context, schema, data as ContextuallyTypedNodeData);\n}\n\n/**\n * Construct a MapTree from ContextuallyTypedNodeData.\n *\n * TODO: this should probably be refactored into a `try` function which either returns a MapTree or a SchemaError with a path to the error.\n * TODO: test suite.\n *\n * @remarks\n * This version is only exported as a more testable entry point than `cursorFromContextualData` which keeps the use of `MapTree` as an implementation detail.\n * This should not be reexported from the parent module.\n */\nexport function applyTypesFromContext(\n\tcontext: TreeDataContext,\n\ttypeSet: AllowedTypeSet,\n\tdata: ContextuallyTypedNodeData,\n): MapTree {\n\tconst possibleTypes: TreeNodeSchema[] = getPossibleTypes(context.schema, typeSet, data);\n\n\tassert(\n\t\tpossibleTypes.length !== 0,\n\t\t0x4d4 /* data incompatible with all types allowed by the schema */,\n\t);\n\tassert(\n\t\tpossibleTypes.length === 1,\n\t\t0x4d5 /* data compatible with more than one type allowed by the schema */,\n\t);\n\n\tconst schema = possibleTypes[0];\n\n\tif (schema instanceof LeafNodeSchema) {\n\t\tconst value = isTreeValue(data)\n\t\t\t? data\n\t\t\t: (data as ContextuallyTypedNodeDataObject)[valueSymbol];\n\n\t\tassert(\n\t\t\tallowsValue(schema.leafValue, value),\n\t\t\t0x4d3 /* unsupported schema for provided primitive */,\n\t\t);\n\t\treturn { value, type: schema.name, fields: new Map() };\n\t}\n\tassert(!isTreeValue(data), \"leaf value for non leaf\");\n\tif (schema instanceof FieldNodeSchema) {\n\t\tif (isArrayLike(data)) {\n\t\t\tconst children = applyFieldTypesFromContext(context, schema.getFieldSchema(), data);\n\t\t\treturn {\n\t\t\t\tvalue: undefined,\n\t\t\t\ttype: schema.name,\n\t\t\t\tfields: new Map(children.length > 0 ? [[EmptyKey, children]] : []),\n\t\t\t};\n\t\t}\n\t}\n\tassert(!isArrayLike(data), \"array for non field node\");\n\tif (\n\t\tschema instanceof MapNodeSchema ||\n\t\tschema instanceof ObjectNodeSchema ||\n\t\tschema instanceof FieldNodeSchema\n\t) {\n\t\tconst fields: Map<FieldKey, MapTree[]> = new Map();\n\t\tfor (const key of fieldKeysFromData(data)) {\n\t\t\tassert(!fields.has(key), 0x6b3 /* Keys should not be duplicated */);\n\t\t\tconst childSchema = schema.getFieldSchema(key);\n\t\t\tconst children = applyFieldTypesFromContext(context, childSchema, data[key]);\n\n\t\t\tif (children.length > 0) {\n\t\t\t\tfields.set(key, children);\n\t\t\t}\n\t\t}\n\n\t\tif (schema instanceof ObjectNodeSchema) {\n\t\t\tfor (const key of schema.objectNodeFields.keys()) {\n\t\t\t\tif (data[key] === undefined) {\n\t\t\t\t\tsetFieldForKey(key, context, schema, fields);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst value = data[valueSymbol];\n\t\tassert(value === undefined, 0x4d7 /* provided value not permitted by the schema */);\n\t\treturn { value, type: schema.name, fields };\n\t} else {\n\t\tfail(\"unexpected node kind\");\n\t}\n}\n\nfunction setFieldForKey(\n\tkey: FieldKey,\n\tcontext: TreeDataContext,\n\tschema: TreeNodeSchema,\n\tfields: Map<FieldKey, MapTree[]>,\n): void {\n\tconst requiredFieldSchema = schema.getFieldSchema(key);\n\tconst multiplicity = getFieldKind(requiredFieldSchema).multiplicity;\n\tif (multiplicity === Multiplicity.Single && context.fieldSource !== undefined) {\n\t\tconst fieldGenerator = context.fieldSource(key, requiredFieldSchema);\n\t\tif (fieldGenerator !== undefined) {\n\t\t\tconst children = fieldGenerator();\n\t\t\tfields.set(key, children);\n\t\t}\n\t}\n}\n\nfunction fieldKeysFromData(data: ContextuallyTypedNodeDataObject): FieldKey[] {\n\tconst keys: (string | symbol)[] = Reflect.ownKeys(data).filter(\n\t\t(key) => typeof key === \"string\",\n\t);\n\treturn keys as FieldKey[];\n}\n\n/**\n * Construct a MapTree from ContextuallyTypedNodeData.\n *\n * TODO: this should probably be refactored into a `try` function which either returns a MapTree or a SchemaError with a path to the error.\n * TODO: test suite.\n *\n * @remarks\n * This version is only exported as a more testable entry point than `cursorsFromContextualData` which keeps the use of `MapTree` as an implementation detail.\n * This should not be reexported from the parent module.\n */\nexport function applyFieldTypesFromContext(\n\tcontext: TreeDataContext,\n\tfield: TreeFieldSchema,\n\tdata: ContextuallyTypedFieldData,\n): MapTree[] {\n\tconst multiplicity = getFieldKind(field).multiplicity;\n\tif (data === undefined) {\n\t\tassert(\n\t\t\tmultiplicity === Multiplicity.Forbidden || multiplicity === Multiplicity.Optional,\n\t\t\t0x4d8 /* `undefined` provided for a field that does not support `undefined` */,\n\t\t);\n\t\treturn [];\n\t}\n\tif (multiplicity === Multiplicity.Sequence) {\n\t\tassert(isArrayLike(data), 0x4d9 /* expected array for a sequence field */);\n\t\tconst children = Array.from(data, (child) =>\n\t\t\tapplyTypesFromContext(context, field.allowedTypeSet, child),\n\t\t);\n\t\treturn children;\n\t}\n\tassert(\n\t\tmultiplicity === Multiplicity.Single || multiplicity === Multiplicity.Optional,\n\t\t0x4da /* single value provided for an unsupported field */,\n\t);\n\treturn [applyTypesFromContext(context, field.allowedTypeSet, data)];\n}\n\n/**\n * Content to use for a field.\n *\n * When used, this content will be deeply copied into the tree, and must comply with the schema.\n *\n * The content must follow the {@link Multiplicity} of the {@link FieldKind}:\n * - use a single cursor for an `optional` or `value` field;\n * - use array of cursors for a `sequence` field;\n *\n * TODO: this should allow a field cursor instead of an array of cursors.\n * TODO: Make this generic so a variant of this type that allows placeholders for detached sequences to consume.\n * @internal\n */\nexport type NewFieldContent =\n\t| ITreeCursorSynchronous\n\t| readonly ITreeCursorSynchronous[]\n\t| ContextuallyTypedFieldData;\n\n/**\n * Convert NewFieldContent into ITreeCursor array.\n */\nexport function normalizeNewFieldContent(\n\tcontext: TreeDataContext,\n\tschema: TreeFieldSchema,\n\tcontent: NewFieldContent,\n): readonly ITreeCursorSynchronous[] {\n\tif (areCursors(content)) {\n\t\tif (getFieldKind(schema).multiplicity === Multiplicity.Sequence) {\n\t\t\tassert(isReadonlyArray(content), 0x6b7 /* sequence fields require array content */);\n\t\t\treturn content;\n\t\t} else {\n\t\t\tif (isReadonlyArray(content)) {\n\t\t\t\tassert(\n\t\t\t\t\tcontent.length === 1,\n\t\t\t\t\t0x6b8 /* non-sequence fields can not be provided content that is multiple cursors */,\n\t\t\t\t);\n\t\t\t\treturn content;\n\t\t\t}\n\t\t\treturn [content];\n\t\t}\n\t}\n\n\treturn cursorsFromContextualData(context, schema, content);\n}\n"]}