@fluidframework/tree 2.102.0 → 2.103.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (367) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/codec/versioned/format.d.ts +5 -4
  3. package/dist/codec/versioned/format.d.ts.map +1 -1
  4. package/dist/codec/versioned/format.js +26 -3
  5. package/dist/codec/versioned/format.js.map +1 -1
  6. package/dist/core/rebase/types.d.ts +4 -3
  7. package/dist/core/rebase/types.d.ts.map +1 -1
  8. package/dist/core/rebase/types.js +27 -4
  9. package/dist/core/rebase/types.js.map +1 -1
  10. package/dist/core/schema-stored/formatV1.d.ts +16 -15
  11. package/dist/core/schema-stored/formatV1.d.ts.map +1 -1
  12. package/dist/core/schema-stored/formatV1.js +31 -8
  13. package/dist/core/schema-stored/formatV1.js.map +1 -1
  14. package/dist/core/schema-stored/formatV2.d.ts +29 -28
  15. package/dist/core/schema-stored/formatV2.d.ts.map +1 -1
  16. package/dist/core/schema-stored/formatV2.js +33 -10
  17. package/dist/core/schema-stored/formatV2.js.map +1 -1
  18. package/dist/core/tree/detachedFieldIndexFormatCommon.d.ts +11 -10
  19. package/dist/core/tree/detachedFieldIndexFormatCommon.d.ts.map +1 -1
  20. package/dist/core/tree/detachedFieldIndexFormatCommon.js +33 -10
  21. package/dist/core/tree/detachedFieldIndexFormatCommon.js.map +1 -1
  22. package/dist/core/tree/detachedFieldIndexFormatV2.d.ts +7 -6
  23. package/dist/core/tree/detachedFieldIndexFormatV2.d.ts.map +1 -1
  24. package/dist/core/tree/detachedFieldIndexFormatV2.js +25 -2
  25. package/dist/core/tree/detachedFieldIndexFormatV2.js.map +1 -1
  26. package/dist/core/tree/persistedTreeTextFormat.d.ts +19 -18
  27. package/dist/core/tree/persistedTreeTextFormat.d.ts.map +1 -1
  28. package/dist/core/tree/persistedTreeTextFormat.js +33 -10
  29. package/dist/core/tree/persistedTreeTextFormat.js.map +1 -1
  30. package/dist/feature-libraries/chunked-forest/chunkTree.d.ts.map +1 -1
  31. package/dist/feature-libraries/chunked-forest/chunkTree.js +1 -1
  32. package/dist/feature-libraries/chunked-forest/chunkTree.js.map +1 -1
  33. package/dist/feature-libraries/chunked-forest/codec/format/formatGeneric.d.ts +13 -12
  34. package/dist/feature-libraries/chunked-forest/codec/format/formatGeneric.d.ts.map +1 -1
  35. package/dist/feature-libraries/chunked-forest/codec/format/formatGeneric.js +36 -13
  36. package/dist/feature-libraries/chunked-forest/codec/format/formatGeneric.js.map +1 -1
  37. package/dist/feature-libraries/chunked-forest/codec/format/formatV1.d.ts +36 -35
  38. package/dist/feature-libraries/chunked-forest/codec/format/formatV1.d.ts.map +1 -1
  39. package/dist/feature-libraries/chunked-forest/codec/format/formatV1.js +41 -18
  40. package/dist/feature-libraries/chunked-forest/codec/format/formatV1.js.map +1 -1
  41. package/dist/feature-libraries/chunked-forest/codec/format/formatV2.d.ts +26 -25
  42. package/dist/feature-libraries/chunked-forest/codec/format/formatV2.d.ts.map +1 -1
  43. package/dist/feature-libraries/chunked-forest/codec/format/formatV2.js +27 -4
  44. package/dist/feature-libraries/chunked-forest/codec/format/formatV2.js.map +1 -1
  45. package/dist/feature-libraries/chunked-forest/codec/format/formatVText.d.ts +24 -23
  46. package/dist/feature-libraries/chunked-forest/codec/format/formatVText.d.ts.map +1 -1
  47. package/dist/feature-libraries/chunked-forest/codec/format/formatVText.js +30 -7
  48. package/dist/feature-libraries/chunked-forest/codec/format/formatVText.js.map +1 -1
  49. package/dist/feature-libraries/chunked-forest/uniformChunk.d.ts +66 -14
  50. package/dist/feature-libraries/chunked-forest/uniformChunk.d.ts.map +1 -1
  51. package/dist/feature-libraries/chunked-forest/uniformChunk.js +101 -36
  52. package/dist/feature-libraries/chunked-forest/uniformChunk.js.map +1 -1
  53. package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
  54. package/dist/feature-libraries/default-schema/defaultEditBuilder.js +36 -14
  55. package/dist/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
  56. package/dist/feature-libraries/forest-summary/formatCommon.d.ts +6 -5
  57. package/dist/feature-libraries/forest-summary/formatCommon.d.ts.map +1 -1
  58. package/dist/feature-libraries/forest-summary/formatCommon.js +26 -3
  59. package/dist/feature-libraries/forest-summary/formatCommon.js.map +1 -1
  60. package/dist/feature-libraries/modular-schema/genericFieldKindFormat.d.ts +4 -3
  61. package/dist/feature-libraries/modular-schema/genericFieldKindFormat.d.ts.map +1 -1
  62. package/dist/feature-libraries/modular-schema/genericFieldKindFormat.js +26 -3
  63. package/dist/feature-libraries/modular-schema/genericFieldKindFormat.js.map +1 -1
  64. package/dist/feature-libraries/modular-schema/modularChangeFormatV1.d.ts +45 -44
  65. package/dist/feature-libraries/modular-schema/modularChangeFormatV1.d.ts.map +1 -1
  66. package/dist/feature-libraries/modular-schema/modularChangeFormatV1.js +48 -25
  67. package/dist/feature-libraries/modular-schema/modularChangeFormatV1.js.map +1 -1
  68. package/dist/feature-libraries/modular-schema/modularChangeFormatV2.d.ts +23 -22
  69. package/dist/feature-libraries/modular-schema/modularChangeFormatV2.d.ts.map +1 -1
  70. package/dist/feature-libraries/modular-schema/modularChangeFormatV2.js +29 -6
  71. package/dist/feature-libraries/modular-schema/modularChangeFormatV2.js.map +1 -1
  72. package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV1.d.ts +9 -8
  73. package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV1.d.ts.map +1 -1
  74. package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV1.js +31 -8
  75. package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV1.js.map +1 -1
  76. package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV2.d.ts +14 -13
  77. package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV2.d.ts.map +1 -1
  78. package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV2.js +34 -11
  79. package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV2.js.map +1 -1
  80. package/dist/feature-libraries/schema-edits/schemaChangeFormat.d.ts +5 -4
  81. package/dist/feature-libraries/schema-edits/schemaChangeFormat.d.ts.map +1 -1
  82. package/dist/feature-libraries/schema-edits/schemaChangeFormat.js +25 -2
  83. package/dist/feature-libraries/schema-edits/schemaChangeFormat.js.map +1 -1
  84. package/dist/feature-libraries/schema-index/formatV1.d.ts +15 -14
  85. package/dist/feature-libraries/schema-index/formatV1.d.ts.map +1 -1
  86. package/dist/feature-libraries/schema-index/formatV1.js +27 -4
  87. package/dist/feature-libraries/schema-index/formatV1.js.map +1 -1
  88. package/dist/feature-libraries/schema-index/formatV2.d.ts +20 -19
  89. package/dist/feature-libraries/schema-index/formatV2.d.ts.map +1 -1
  90. package/dist/feature-libraries/schema-index/formatV2.js +27 -4
  91. package/dist/feature-libraries/schema-index/formatV2.js.map +1 -1
  92. package/dist/feature-libraries/sequence-field/compose.d.ts.map +1 -1
  93. package/dist/feature-libraries/sequence-field/compose.js +1 -3
  94. package/dist/feature-libraries/sequence-field/compose.js.map +1 -1
  95. package/dist/feature-libraries/sequence-field/formatV1.d.ts +283 -282
  96. package/dist/feature-libraries/sequence-field/formatV1.d.ts.map +1 -1
  97. package/dist/feature-libraries/sequence-field/formatV1.js +63 -40
  98. package/dist/feature-libraries/sequence-field/formatV1.js.map +1 -1
  99. package/dist/feature-libraries/sequence-field/formatV2.d.ts +180 -179
  100. package/dist/feature-libraries/sequence-field/formatV2.d.ts.map +1 -1
  101. package/dist/feature-libraries/sequence-field/formatV2.js +55 -32
  102. package/dist/feature-libraries/sequence-field/formatV2.js.map +1 -1
  103. package/dist/feature-libraries/sequence-field/formatV3.d.ts +126 -125
  104. package/dist/feature-libraries/sequence-field/formatV3.d.ts.map +1 -1
  105. package/dist/feature-libraries/sequence-field/formatV3.js +27 -4
  106. package/dist/feature-libraries/sequence-field/formatV3.js.map +1 -1
  107. package/dist/packageVersion.d.ts +1 -1
  108. package/dist/packageVersion.js +1 -1
  109. package/dist/packageVersion.js.map +1 -1
  110. package/dist/shared-tree/sharedTree.d.ts +2 -2
  111. package/dist/shared-tree/sharedTree.d.ts.map +1 -1
  112. package/dist/shared-tree/sharedTree.js.map +1 -1
  113. package/dist/shared-tree/sharedTreeChangeFormat.d.ts +8 -7
  114. package/dist/shared-tree/sharedTreeChangeFormat.d.ts.map +1 -1
  115. package/dist/shared-tree/sharedTreeChangeFormat.js +28 -5
  116. package/dist/shared-tree/sharedTreeChangeFormat.js.map +1 -1
  117. package/dist/shared-tree/treeCheckout.d.ts +3 -3
  118. package/dist/shared-tree/treeCheckout.d.ts.map +1 -1
  119. package/dist/shared-tree/treeCheckout.js.map +1 -1
  120. package/dist/shared-tree-core/editManager.d.ts +2 -2
  121. package/dist/shared-tree-core/editManager.d.ts.map +1 -1
  122. package/dist/shared-tree-core/editManager.js.map +1 -1
  123. package/dist/shared-tree-core/editManagerFormatCommons.d.ts +35 -34
  124. package/dist/shared-tree-core/editManagerFormatCommons.d.ts.map +1 -1
  125. package/dist/shared-tree-core/editManagerFormatCommons.js +39 -16
  126. package/dist/shared-tree-core/editManagerFormatCommons.js.map +1 -1
  127. package/dist/shared-tree-core/editManagerFormatV1toV4.d.ts +15 -15
  128. package/dist/shared-tree-core/editManagerFormatV1toV4.d.ts.map +1 -1
  129. package/dist/shared-tree-core/editManagerFormatV1toV4.js +33 -10
  130. package/dist/shared-tree-core/editManagerFormatV1toV4.js.map +1 -1
  131. package/dist/shared-tree-core/editManagerFormatVSharedBranches.d.ts +40 -40
  132. package/dist/shared-tree-core/editManagerFormatVSharedBranches.d.ts.map +1 -1
  133. package/dist/shared-tree-core/editManagerFormatVSharedBranches.js +27 -4
  134. package/dist/shared-tree-core/editManagerFormatVSharedBranches.js.map +1 -1
  135. package/dist/shared-tree-core/messageCodecVSharedBranches.d.ts.map +1 -1
  136. package/dist/shared-tree-core/messageCodecVSharedBranches.js +25 -2
  137. package/dist/shared-tree-core/messageCodecVSharedBranches.js.map +1 -1
  138. package/dist/shared-tree-core/messageFormatV1ToV4.d.ts +5 -5
  139. package/dist/shared-tree-core/messageFormatV1ToV4.d.ts.map +1 -1
  140. package/dist/shared-tree-core/messageFormatV1ToV4.js +31 -8
  141. package/dist/shared-tree-core/messageFormatV1ToV4.js.map +1 -1
  142. package/dist/shared-tree-core/messageFormatVSharedBranches.d.ts +7 -7
  143. package/dist/shared-tree-core/messageFormatVSharedBranches.d.ts.map +1 -1
  144. package/dist/shared-tree-core/messageFormatVSharedBranches.js +29 -6
  145. package/dist/shared-tree-core/messageFormatVSharedBranches.js.map +1 -1
  146. package/dist/simple-tree/core/treeNodeKernel.d.ts +5 -0
  147. package/dist/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
  148. package/dist/simple-tree/core/treeNodeKernel.js +37 -13
  149. package/dist/simple-tree/core/treeNodeKernel.js.map +1 -1
  150. package/dist/simple-tree/simpleSchemaFormatV1.d.ts +121 -120
  151. package/dist/simple-tree/simpleSchemaFormatV1.d.ts.map +1 -1
  152. package/dist/simple-tree/simpleSchemaFormatV1.js +54 -31
  153. package/dist/simple-tree/simpleSchemaFormatV1.js.map +1 -1
  154. package/dist/util/typeboxBrand.d.ts +1 -1
  155. package/dist/util/typeboxBrand.d.ts.map +1 -1
  156. package/dist/util/typeboxBrand.js +26 -3
  157. package/dist/util/typeboxBrand.js.map +1 -1
  158. package/dist/util/utils.d.ts +2 -2
  159. package/dist/util/utils.d.ts.map +1 -1
  160. package/dist/util/utils.js +25 -2
  161. package/dist/util/utils.js.map +1 -1
  162. package/eslint.config.mts +44 -0
  163. package/lib/codec/versioned/format.d.ts +5 -4
  164. package/lib/codec/versioned/format.d.ts.map +1 -1
  165. package/lib/codec/versioned/format.js +1 -1
  166. package/lib/codec/versioned/format.js.map +1 -1
  167. package/lib/core/rebase/types.d.ts +4 -3
  168. package/lib/core/rebase/types.d.ts.map +1 -1
  169. package/lib/core/rebase/types.js +1 -1
  170. package/lib/core/rebase/types.js.map +1 -1
  171. package/lib/core/schema-stored/formatV1.d.ts +16 -15
  172. package/lib/core/schema-stored/formatV1.d.ts.map +1 -1
  173. package/lib/core/schema-stored/formatV1.js +1 -1
  174. package/lib/core/schema-stored/formatV1.js.map +1 -1
  175. package/lib/core/schema-stored/formatV2.d.ts +29 -28
  176. package/lib/core/schema-stored/formatV2.d.ts.map +1 -1
  177. package/lib/core/schema-stored/formatV2.js +1 -1
  178. package/lib/core/schema-stored/formatV2.js.map +1 -1
  179. package/lib/core/tree/detachedFieldIndexFormatCommon.d.ts +11 -10
  180. package/lib/core/tree/detachedFieldIndexFormatCommon.d.ts.map +1 -1
  181. package/lib/core/tree/detachedFieldIndexFormatCommon.js +1 -1
  182. package/lib/core/tree/detachedFieldIndexFormatCommon.js.map +1 -1
  183. package/lib/core/tree/detachedFieldIndexFormatV2.d.ts +7 -6
  184. package/lib/core/tree/detachedFieldIndexFormatV2.d.ts.map +1 -1
  185. package/lib/core/tree/detachedFieldIndexFormatV2.js +1 -1
  186. package/lib/core/tree/detachedFieldIndexFormatV2.js.map +1 -1
  187. package/lib/core/tree/persistedTreeTextFormat.d.ts +19 -18
  188. package/lib/core/tree/persistedTreeTextFormat.d.ts.map +1 -1
  189. package/lib/core/tree/persistedTreeTextFormat.js +1 -1
  190. package/lib/core/tree/persistedTreeTextFormat.js.map +1 -1
  191. package/lib/feature-libraries/chunked-forest/chunkTree.d.ts.map +1 -1
  192. package/lib/feature-libraries/chunked-forest/chunkTree.js +1 -1
  193. package/lib/feature-libraries/chunked-forest/chunkTree.js.map +1 -1
  194. package/lib/feature-libraries/chunked-forest/codec/format/formatGeneric.d.ts +13 -12
  195. package/lib/feature-libraries/chunked-forest/codec/format/formatGeneric.d.ts.map +1 -1
  196. package/lib/feature-libraries/chunked-forest/codec/format/formatGeneric.js +1 -1
  197. package/lib/feature-libraries/chunked-forest/codec/format/formatGeneric.js.map +1 -1
  198. package/lib/feature-libraries/chunked-forest/codec/format/formatV1.d.ts +36 -35
  199. package/lib/feature-libraries/chunked-forest/codec/format/formatV1.d.ts.map +1 -1
  200. package/lib/feature-libraries/chunked-forest/codec/format/formatV1.js +1 -1
  201. package/lib/feature-libraries/chunked-forest/codec/format/formatV1.js.map +1 -1
  202. package/lib/feature-libraries/chunked-forest/codec/format/formatV2.d.ts +26 -25
  203. package/lib/feature-libraries/chunked-forest/codec/format/formatV2.d.ts.map +1 -1
  204. package/lib/feature-libraries/chunked-forest/codec/format/formatV2.js +1 -1
  205. package/lib/feature-libraries/chunked-forest/codec/format/formatV2.js.map +1 -1
  206. package/lib/feature-libraries/chunked-forest/codec/format/formatVText.d.ts +24 -23
  207. package/lib/feature-libraries/chunked-forest/codec/format/formatVText.d.ts.map +1 -1
  208. package/lib/feature-libraries/chunked-forest/codec/format/formatVText.js +1 -1
  209. package/lib/feature-libraries/chunked-forest/codec/format/formatVText.js.map +1 -1
  210. package/lib/feature-libraries/chunked-forest/uniformChunk.d.ts +66 -14
  211. package/lib/feature-libraries/chunked-forest/uniformChunk.d.ts.map +1 -1
  212. package/lib/feature-libraries/chunked-forest/uniformChunk.js +101 -36
  213. package/lib/feature-libraries/chunked-forest/uniformChunk.js.map +1 -1
  214. package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
  215. package/lib/feature-libraries/default-schema/defaultEditBuilder.js +36 -14
  216. package/lib/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
  217. package/lib/feature-libraries/forest-summary/formatCommon.d.ts +6 -5
  218. package/lib/feature-libraries/forest-summary/formatCommon.d.ts.map +1 -1
  219. package/lib/feature-libraries/forest-summary/formatCommon.js +1 -1
  220. package/lib/feature-libraries/forest-summary/formatCommon.js.map +1 -1
  221. package/lib/feature-libraries/modular-schema/genericFieldKindFormat.d.ts +4 -3
  222. package/lib/feature-libraries/modular-schema/genericFieldKindFormat.d.ts.map +1 -1
  223. package/lib/feature-libraries/modular-schema/genericFieldKindFormat.js +1 -1
  224. package/lib/feature-libraries/modular-schema/genericFieldKindFormat.js.map +1 -1
  225. package/lib/feature-libraries/modular-schema/modularChangeFormatV1.d.ts +45 -44
  226. package/lib/feature-libraries/modular-schema/modularChangeFormatV1.d.ts.map +1 -1
  227. package/lib/feature-libraries/modular-schema/modularChangeFormatV1.js +1 -1
  228. package/lib/feature-libraries/modular-schema/modularChangeFormatV1.js.map +1 -1
  229. package/lib/feature-libraries/modular-schema/modularChangeFormatV2.d.ts +23 -22
  230. package/lib/feature-libraries/modular-schema/modularChangeFormatV2.d.ts.map +1 -1
  231. package/lib/feature-libraries/modular-schema/modularChangeFormatV2.js +1 -1
  232. package/lib/feature-libraries/modular-schema/modularChangeFormatV2.js.map +1 -1
  233. package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV1.d.ts +9 -8
  234. package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV1.d.ts.map +1 -1
  235. package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV1.js +1 -1
  236. package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV1.js.map +1 -1
  237. package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV2.d.ts +14 -13
  238. package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV2.d.ts.map +1 -1
  239. package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV2.js +1 -1
  240. package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV2.js.map +1 -1
  241. package/lib/feature-libraries/schema-edits/schemaChangeFormat.d.ts +5 -4
  242. package/lib/feature-libraries/schema-edits/schemaChangeFormat.d.ts.map +1 -1
  243. package/lib/feature-libraries/schema-edits/schemaChangeFormat.js +1 -1
  244. package/lib/feature-libraries/schema-edits/schemaChangeFormat.js.map +1 -1
  245. package/lib/feature-libraries/schema-index/formatV1.d.ts +15 -14
  246. package/lib/feature-libraries/schema-index/formatV1.d.ts.map +1 -1
  247. package/lib/feature-libraries/schema-index/formatV1.js +1 -1
  248. package/lib/feature-libraries/schema-index/formatV1.js.map +1 -1
  249. package/lib/feature-libraries/schema-index/formatV2.d.ts +20 -19
  250. package/lib/feature-libraries/schema-index/formatV2.d.ts.map +1 -1
  251. package/lib/feature-libraries/schema-index/formatV2.js +1 -1
  252. package/lib/feature-libraries/schema-index/formatV2.js.map +1 -1
  253. package/lib/feature-libraries/sequence-field/compose.d.ts.map +1 -1
  254. package/lib/feature-libraries/sequence-field/compose.js +1 -3
  255. package/lib/feature-libraries/sequence-field/compose.js.map +1 -1
  256. package/lib/feature-libraries/sequence-field/formatV1.d.ts +283 -282
  257. package/lib/feature-libraries/sequence-field/formatV1.d.ts.map +1 -1
  258. package/lib/feature-libraries/sequence-field/formatV1.js +1 -1
  259. package/lib/feature-libraries/sequence-field/formatV1.js.map +1 -1
  260. package/lib/feature-libraries/sequence-field/formatV2.d.ts +180 -179
  261. package/lib/feature-libraries/sequence-field/formatV2.d.ts.map +1 -1
  262. package/lib/feature-libraries/sequence-field/formatV2.js +1 -1
  263. package/lib/feature-libraries/sequence-field/formatV2.js.map +1 -1
  264. package/lib/feature-libraries/sequence-field/formatV3.d.ts +126 -125
  265. package/lib/feature-libraries/sequence-field/formatV3.d.ts.map +1 -1
  266. package/lib/feature-libraries/sequence-field/formatV3.js +1 -1
  267. package/lib/feature-libraries/sequence-field/formatV3.js.map +1 -1
  268. package/lib/packageVersion.d.ts +1 -1
  269. package/lib/packageVersion.js +1 -1
  270. package/lib/packageVersion.js.map +1 -1
  271. package/lib/shared-tree/sharedTree.d.ts +2 -2
  272. package/lib/shared-tree/sharedTree.d.ts.map +1 -1
  273. package/lib/shared-tree/sharedTree.js +1 -1
  274. package/lib/shared-tree/sharedTree.js.map +1 -1
  275. package/lib/shared-tree/sharedTreeChangeFormat.d.ts +8 -7
  276. package/lib/shared-tree/sharedTreeChangeFormat.d.ts.map +1 -1
  277. package/lib/shared-tree/sharedTreeChangeFormat.js +1 -1
  278. package/lib/shared-tree/sharedTreeChangeFormat.js.map +1 -1
  279. package/lib/shared-tree/treeCheckout.d.ts +3 -3
  280. package/lib/shared-tree/treeCheckout.d.ts.map +1 -1
  281. package/lib/shared-tree/treeCheckout.js +1 -1
  282. package/lib/shared-tree/treeCheckout.js.map +1 -1
  283. package/lib/shared-tree-core/editManager.d.ts +2 -2
  284. package/lib/shared-tree-core/editManager.d.ts.map +1 -1
  285. package/lib/shared-tree-core/editManager.js.map +1 -1
  286. package/lib/shared-tree-core/editManagerFormatCommons.d.ts +35 -34
  287. package/lib/shared-tree-core/editManagerFormatCommons.d.ts.map +1 -1
  288. package/lib/shared-tree-core/editManagerFormatCommons.js +1 -1
  289. package/lib/shared-tree-core/editManagerFormatCommons.js.map +1 -1
  290. package/lib/shared-tree-core/editManagerFormatV1toV4.d.ts +15 -15
  291. package/lib/shared-tree-core/editManagerFormatV1toV4.d.ts.map +1 -1
  292. package/lib/shared-tree-core/editManagerFormatV1toV4.js +1 -1
  293. package/lib/shared-tree-core/editManagerFormatV1toV4.js.map +1 -1
  294. package/lib/shared-tree-core/editManagerFormatVSharedBranches.d.ts +40 -40
  295. package/lib/shared-tree-core/editManagerFormatVSharedBranches.d.ts.map +1 -1
  296. package/lib/shared-tree-core/editManagerFormatVSharedBranches.js +1 -1
  297. package/lib/shared-tree-core/editManagerFormatVSharedBranches.js.map +1 -1
  298. package/lib/shared-tree-core/messageCodecVSharedBranches.d.ts.map +1 -1
  299. package/lib/shared-tree-core/messageCodecVSharedBranches.js +1 -1
  300. package/lib/shared-tree-core/messageCodecVSharedBranches.js.map +1 -1
  301. package/lib/shared-tree-core/messageFormatV1ToV4.d.ts +5 -5
  302. package/lib/shared-tree-core/messageFormatV1ToV4.d.ts.map +1 -1
  303. package/lib/shared-tree-core/messageFormatV1ToV4.js +1 -1
  304. package/lib/shared-tree-core/messageFormatV1ToV4.js.map +1 -1
  305. package/lib/shared-tree-core/messageFormatVSharedBranches.d.ts +7 -7
  306. package/lib/shared-tree-core/messageFormatVSharedBranches.d.ts.map +1 -1
  307. package/lib/shared-tree-core/messageFormatVSharedBranches.js +1 -1
  308. package/lib/shared-tree-core/messageFormatVSharedBranches.js.map +1 -1
  309. package/lib/simple-tree/core/treeNodeKernel.d.ts +5 -0
  310. package/lib/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
  311. package/lib/simple-tree/core/treeNodeKernel.js +35 -12
  312. package/lib/simple-tree/core/treeNodeKernel.js.map +1 -1
  313. package/lib/simple-tree/simpleSchemaFormatV1.d.ts +121 -120
  314. package/lib/simple-tree/simpleSchemaFormatV1.d.ts.map +1 -1
  315. package/lib/simple-tree/simpleSchemaFormatV1.js +1 -1
  316. package/lib/simple-tree/simpleSchemaFormatV1.js.map +1 -1
  317. package/lib/util/typeboxBrand.d.ts +1 -1
  318. package/lib/util/typeboxBrand.d.ts.map +1 -1
  319. package/lib/util/typeboxBrand.js +1 -1
  320. package/lib/util/typeboxBrand.js.map +1 -1
  321. package/lib/util/utils.d.ts +2 -2
  322. package/lib/util/utils.d.ts.map +1 -1
  323. package/lib/util/utils.js +1 -1
  324. package/lib/util/utils.js.map +1 -1
  325. package/package.json +21 -21
  326. package/src/codec/versioned/format.ts +2 -1
  327. package/src/core/rebase/types.ts +1 -1
  328. package/src/core/schema-stored/formatV1.ts +2 -1
  329. package/src/core/schema-stored/formatV2.ts +2 -1
  330. package/src/core/tree/detachedFieldIndexFormatCommon.ts +2 -1
  331. package/src/core/tree/detachedFieldIndexFormatV2.ts +2 -1
  332. package/src/core/tree/persistedTreeTextFormat.ts +2 -1
  333. package/src/feature-libraries/chunked-forest/chunkTree.ts +3 -2
  334. package/src/feature-libraries/chunked-forest/codec/format/formatGeneric.ts +2 -1
  335. package/src/feature-libraries/chunked-forest/codec/format/formatV1.ts +2 -1
  336. package/src/feature-libraries/chunked-forest/codec/format/formatV2.ts +2 -1
  337. package/src/feature-libraries/chunked-forest/codec/format/formatVText.ts +2 -1
  338. package/src/feature-libraries/chunked-forest/uniformChunk.ts +131 -44
  339. package/src/feature-libraries/default-schema/defaultEditBuilder.ts +36 -14
  340. package/src/feature-libraries/forest-summary/formatCommon.ts +2 -1
  341. package/src/feature-libraries/modular-schema/genericFieldKindFormat.ts +2 -1
  342. package/src/feature-libraries/modular-schema/modularChangeFormatV1.ts +2 -1
  343. package/src/feature-libraries/modular-schema/modularChangeFormatV2.ts +2 -1
  344. package/src/feature-libraries/optional-field/optionalFieldChangeFormatV1.ts +2 -1
  345. package/src/feature-libraries/optional-field/optionalFieldChangeFormatV2.ts +2 -1
  346. package/src/feature-libraries/schema-edits/schemaChangeFormat.ts +2 -1
  347. package/src/feature-libraries/schema-index/formatV1.ts +2 -1
  348. package/src/feature-libraries/schema-index/formatV2.ts +2 -1
  349. package/src/feature-libraries/sequence-field/compose.ts +1 -4
  350. package/src/feature-libraries/sequence-field/formatV1.ts +2 -1
  351. package/src/feature-libraries/sequence-field/formatV2.ts +2 -1
  352. package/src/feature-libraries/sequence-field/formatV3.ts +2 -1
  353. package/src/packageVersion.ts +1 -1
  354. package/src/shared-tree/sharedTree.ts +2 -5
  355. package/src/shared-tree/sharedTreeChangeFormat.ts +2 -1
  356. package/src/shared-tree/treeCheckout.ts +3 -6
  357. package/src/shared-tree-core/editManager.ts +2 -2
  358. package/src/shared-tree-core/editManagerFormatCommons.ts +2 -1
  359. package/src/shared-tree-core/editManagerFormatV1toV4.ts +2 -1
  360. package/src/shared-tree-core/editManagerFormatVSharedBranches.ts +2 -1
  361. package/src/shared-tree-core/messageCodecVSharedBranches.ts +2 -1
  362. package/src/shared-tree-core/messageFormatV1ToV4.ts +2 -1
  363. package/src/shared-tree-core/messageFormatVSharedBranches.ts +2 -1
  364. package/src/simple-tree/core/treeNodeKernel.ts +39 -15
  365. package/src/simple-tree/simpleSchemaFormatV1.ts +2 -1
  366. package/src/util/typeboxBrand.ts +2 -1
  367. package/src/util/utils.ts +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"formatV1.d.ts","sourceRoot":"","sources":["../../../src/feature-libraries/sequence-field/formatV1.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatV1.d.ts","sourceRoot":"","sources":["../../../src/feature-libraries/sequence-field/formatV1.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,32 @@
3
3
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
4
4
  * Licensed under the MIT License.
5
5
  */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || function (mod) {
23
+ if (mod && mod.__esModule) return mod;
24
+ var result = {};
25
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
26
+ __setModuleDefault(result, mod);
27
+ return result;
28
+ };
6
29
  Object.defineProperty(exports, "__esModule", { value: true });
7
30
  exports.Changeset = exports.DetachIdOverrideType = void 0;
8
- const typebox_1 = require("@sinclair/typebox");
31
+ const Type = __importStar(require("@sinclair/typebox"));
9
32
  const index_js_1 = require("../../codec/index.js");
10
33
  const index_js_2 = require("../../core/index.js");
11
34
  const index_js_3 = require("../modular-schema/index.js");
@@ -31,76 +54,76 @@ var DetachIdOverrideType;
31
54
  DetachIdOverrideType[DetachIdOverrideType["Redetach"] = 1] = "Redetach";
32
55
  })(DetachIdOverrideType || (exports.DetachIdOverrideType = DetachIdOverrideType = {}));
33
56
  const noAdditionalProps = { additionalProperties: false };
34
- const CellCount = typebox_1.Type.Number({ multipleOf: 1, minimum: 1 });
57
+ const CellCount = Type.Number({ multipleOf: 1, minimum: 1 });
35
58
  const MoveId = index_js_3.ChangesetLocalIdSchema;
36
- const HasMoveId = typebox_1.Type.Object({ id: MoveId });
37
- const LineageEvent = typebox_1.Type.Tuple([
59
+ const HasMoveId = Type.Object({ id: MoveId });
60
+ const LineageEvent = Type.Tuple([
38
61
  index_js_2.RevisionTagSchema,
39
62
  index_js_3.ChangesetLocalIdSchema,
40
63
  /** count */
41
64
  CellCount,
42
65
  /** offset */
43
- typebox_1.Type.Number({ multipleOf: 1, minimum: 0 }),
66
+ Type.Number({ multipleOf: 1, minimum: 0 }),
44
67
  ]);
45
- const HasLineage = typebox_1.Type.Object({ lineage: typebox_1.Type.Optional(typebox_1.Type.Array(LineageEvent)) });
46
- const IdRange = typebox_1.Type.Tuple([index_js_3.ChangesetLocalIdSchema, CellCount]);
47
- const CellId = typebox_1.Type.Composite([
68
+ const HasLineage = Type.Object({ lineage: Type.Optional(Type.Array(LineageEvent)) });
69
+ const IdRange = Type.Tuple([index_js_3.ChangesetLocalIdSchema, CellCount]);
70
+ const CellId = Type.Composite([
48
71
  HasLineage,
49
- typebox_1.Type.Object({
72
+ Type.Object({
50
73
  atom: index_js_3.EncodedChangeAtomId,
51
- adjacentCells: typebox_1.Type.Optional(typebox_1.Type.Array(IdRange)),
74
+ adjacentCells: Type.Optional(Type.Array(IdRange)),
52
75
  }),
53
76
  ], noAdditionalProps);
54
- const HasRevisionTag = typebox_1.Type.Object({ revision: typebox_1.Type.Optional(index_js_2.RevisionTagSchema) });
55
- const Insert = typebox_1.Type.Composite([HasMoveId, HasRevisionTag], noAdditionalProps);
56
- const HasMoveFields = typebox_1.Type.Composite([
77
+ const HasRevisionTag = Type.Object({ revision: Type.Optional(index_js_2.RevisionTagSchema) });
78
+ const Insert = Type.Composite([HasMoveId, HasRevisionTag], noAdditionalProps);
79
+ const HasMoveFields = Type.Composite([
57
80
  HasMoveId,
58
81
  HasRevisionTag,
59
- typebox_1.Type.Object({ finalEndpoint: typebox_1.Type.Optional(index_js_3.EncodedChangeAtomId) }),
82
+ Type.Object({ finalEndpoint: Type.Optional(index_js_3.EncodedChangeAtomId) }),
60
83
  ]);
61
- const MoveIn = typebox_1.Type.Composite([HasMoveFields], noAdditionalProps);
62
- const DetachIdOverride = typebox_1.Type.Object({
63
- type: typebox_1.Type.Enum(DetachIdOverrideType),
84
+ const MoveIn = Type.Composite([HasMoveFields], noAdditionalProps);
85
+ const DetachIdOverride = Type.Object({
86
+ type: Type.Enum(DetachIdOverrideType),
64
87
  id: CellId,
65
88
  }, noAdditionalProps);
66
- const DetachFields = typebox_1.Type.Object({
67
- idOverride: typebox_1.Type.Optional(DetachIdOverride),
89
+ const DetachFields = Type.Object({
90
+ idOverride: Type.Optional(DetachIdOverride),
68
91
  });
69
- const Remove = typebox_1.Type.Composite([
70
- typebox_1.Type.Object({
92
+ const Remove = Type.Composite([
93
+ Type.Object({
71
94
  id: index_js_3.ChangesetLocalIdSchema,
72
95
  }),
73
96
  HasRevisionTag,
74
97
  DetachFields,
75
98
  ], noAdditionalProps);
76
- const MoveOut = typebox_1.Type.Composite([HasMoveFields, DetachFields], noAdditionalProps);
77
- const Attach = typebox_1.Type.Object({
78
- insert: typebox_1.Type.Optional(Insert),
79
- moveIn: typebox_1.Type.Optional(MoveIn),
99
+ const MoveOut = Type.Composite([HasMoveFields, DetachFields], noAdditionalProps);
100
+ const Attach = Type.Object({
101
+ insert: Type.Optional(Insert),
102
+ moveIn: Type.Optional(MoveIn),
80
103
  }, index_js_1.unionOptions);
81
- const Detach = typebox_1.Type.Object({
104
+ const Detach = Type.Object({
82
105
  // TODO:AB6715 rename to `remove`
83
- delete: typebox_1.Type.Optional(Remove),
84
- moveOut: typebox_1.Type.Optional(MoveOut),
106
+ delete: Type.Optional(Remove),
107
+ moveOut: Type.Optional(MoveOut),
85
108
  }, index_js_1.unionOptions);
86
- const AttachAndDetach = typebox_1.Type.Object({
109
+ const AttachAndDetach = Type.Object({
87
110
  attach: Attach,
88
111
  detach: Detach,
89
112
  });
90
- const MarkEffect = typebox_1.Type.Object({
113
+ const MarkEffect = Type.Object({
91
114
  // Note: `noop` is encoded by omitting `effect` from the encoded cell mark, so is not included here.
92
- insert: typebox_1.Type.Optional(Insert),
93
- moveIn: typebox_1.Type.Optional(MoveIn),
115
+ insert: Type.Optional(Insert),
116
+ moveIn: Type.Optional(MoveIn),
94
117
  // TODO:AB6715 rename to `remove`
95
- delete: typebox_1.Type.Optional(Remove),
96
- moveOut: typebox_1.Type.Optional(MoveOut),
97
- attachAndDetach: typebox_1.Type.Optional(AttachAndDetach),
118
+ delete: Type.Optional(Remove),
119
+ moveOut: Type.Optional(MoveOut),
120
+ attachAndDetach: Type.Optional(AttachAndDetach),
98
121
  }, index_js_1.unionOptions);
99
- const CellMark = (tMark, tNodeChange) => typebox_1.Type.Object({
122
+ const CellMark = (tMark, tNodeChange) => Type.Object({
100
123
  // If undefined, indicates a Noop mark.
101
- effect: typebox_1.Type.Optional(tMark),
102
- cellId: typebox_1.Type.Optional(CellId),
103
- changes: typebox_1.Type.Optional(tNodeChange),
124
+ effect: Type.Optional(tMark),
125
+ cellId: Type.Optional(CellId),
126
+ changes: Type.Optional(tNodeChange),
104
127
  count: CellCount,
105
128
  }, noAdditionalProps);
106
129
  // Return type is intentionally derived.
@@ -108,6 +131,6 @@ const CellMark = (tMark, tNodeChange) => typebox_1.Type.Object({
108
131
  const Mark = (tNodeChange) => CellMark(MarkEffect, tNodeChange);
109
132
  // Return type is intentionally derived.
110
133
  // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
111
- const Changeset = (tNodeChange) => typebox_1.Type.Array(Mark(tNodeChange));
134
+ const Changeset = (tNodeChange) => Type.Array(Mark(tNodeChange));
112
135
  exports.Changeset = Changeset;
113
136
  //# sourceMappingURL=formatV1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatV1.js","sourceRoot":"","sources":["../../../src/feature-libraries/sequence-field/formatV1.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 { type ObjectOptions, type Static, type TSchema, Type } from \"@sinclair/typebox\";\n\nimport { unionOptions } from \"../../codec/index.js\";\nimport { RevisionTagSchema } from \"../../core/index.js\";\nimport { ChangesetLocalIdSchema, EncodedChangeAtomId } from \"../modular-schema/index.js\";\n\nexport enum DetachIdOverrideType {\n\t/**\n\t * The detach effect is the inverse of the prior attach characterized by the accompanying `CellId`'s revision and\n\t * local ID.\n\t *\n\t * An override is needed in such a case to ensure that rollbacks and undos return tree content to the appropriate\n\t * detached root. It is also needed to ensure that cell comparisons work properly for undos.\n\t */\n\tUnattach = 0,\n\t/**\n\t * The detach effect is reapplying a prior detach.\n\t *\n\t * The accompanying cell ID is used in two ways:\n\t * - It indicates the location of the cell (including adjacent cell information) so that rebasing over this detach\n\t * can contribute the correct lineage information to the rebased mark.\n\t * - It specifies the revision and local ID that should be used to characterize the cell in the output context of\n\t * detach.\n\t */\n\tRedetach = 1,\n}\n\nconst noAdditionalProps: ObjectOptions = { additionalProperties: false };\n\nconst CellCount = Type.Number({ multipleOf: 1, minimum: 1 });\n\nconst MoveId = ChangesetLocalIdSchema;\nconst HasMoveId = Type.Object({ id: MoveId });\n\nconst LineageEvent = Type.Tuple([\n\tRevisionTagSchema,\n\tChangesetLocalIdSchema,\n\t/** count */\n\tCellCount,\n\t/** offset */\n\tType.Number({ multipleOf: 1, minimum: 0 }),\n]);\n\nconst HasLineage = Type.Object({ lineage: Type.Optional(Type.Array(LineageEvent)) });\n\nconst IdRange = Type.Tuple([ChangesetLocalIdSchema, CellCount]);\n\nconst CellId = Type.Composite(\n\t[\n\t\tHasLineage,\n\t\tType.Object({\n\t\t\tatom: EncodedChangeAtomId,\n\t\t\tadjacentCells: Type.Optional(Type.Array(IdRange)),\n\t\t}),\n\t],\n\tnoAdditionalProps,\n);\n\nconst HasRevisionTag = Type.Object({ revision: Type.Optional(RevisionTagSchema) });\n\nconst Insert = Type.Composite([HasMoveId, HasRevisionTag], noAdditionalProps);\n\nconst HasMoveFields = Type.Composite([\n\tHasMoveId,\n\tHasRevisionTag,\n\tType.Object({ finalEndpoint: Type.Optional(EncodedChangeAtomId) }),\n]);\n\nconst MoveIn = Type.Composite([HasMoveFields], noAdditionalProps);\n\nconst DetachIdOverride = Type.Object(\n\t{\n\t\ttype: Type.Enum(DetachIdOverrideType),\n\t\tid: CellId,\n\t},\n\tnoAdditionalProps,\n);\n\nconst DetachFields = Type.Object({\n\tidOverride: Type.Optional(DetachIdOverride),\n});\n\nconst Remove = Type.Composite(\n\t[\n\t\tType.Object({\n\t\t\tid: ChangesetLocalIdSchema,\n\t\t}),\n\t\tHasRevisionTag,\n\t\tDetachFields,\n\t],\n\tnoAdditionalProps,\n);\n\nconst MoveOut = Type.Composite([HasMoveFields, DetachFields], noAdditionalProps);\n\nconst Attach = Type.Object(\n\t{\n\t\tinsert: Type.Optional(Insert),\n\t\tmoveIn: Type.Optional(MoveIn),\n\t},\n\tunionOptions,\n);\n\nconst Detach = Type.Object(\n\t{\n\t\t// TODO:AB6715 rename to `remove`\n\t\tdelete: Type.Optional(Remove),\n\t\tmoveOut: Type.Optional(MoveOut),\n\t},\n\tunionOptions,\n);\n\nconst AttachAndDetach = Type.Object({\n\tattach: Attach,\n\tdetach: Detach,\n});\n\nconst MarkEffect = Type.Object(\n\t{\n\t\t// Note: `noop` is encoded by omitting `effect` from the encoded cell mark, so is not included here.\n\t\tinsert: Type.Optional(Insert),\n\t\tmoveIn: Type.Optional(MoveIn),\n\t\t// TODO:AB6715 rename to `remove`\n\t\tdelete: Type.Optional(Remove),\n\t\tmoveOut: Type.Optional(MoveOut),\n\t\tattachAndDetach: Type.Optional(AttachAndDetach),\n\t},\n\tunionOptions,\n);\n\nconst CellMark = <TMark extends TSchema, TNodeChange extends TSchema>(\n\ttMark: TMark,\n\ttNodeChange: TNodeChange,\n\t// Return type is intentionally derived.\n\t// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n) =>\n\tType.Object(\n\t\t{\n\t\t\t// If undefined, indicates a Noop mark.\n\t\t\teffect: Type.Optional(tMark),\n\t\t\tcellId: Type.Optional(CellId),\n\t\t\tchanges: Type.Optional(tNodeChange),\n\t\t\tcount: CellCount,\n\t\t},\n\t\tnoAdditionalProps,\n\t);\n\n// Return type is intentionally derived.\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nconst Mark = <Schema extends TSchema>(tNodeChange: Schema) =>\n\tCellMark(MarkEffect, tNodeChange);\n\n// Return type is intentionally derived.\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport const Changeset = <Schema extends TSchema>(tNodeChange: Schema) =>\n\tType.Array(Mark(tNodeChange));\n\n/**\n * @privateRemarks Many of these names are currently used in the sequence-field types. Putting them in a namespace makes codec code more readable.\n */\nexport namespace Encoded {\n\texport type CellCount = Static<typeof CellCount>;\n\n\texport type MoveId = Static<typeof MoveId>;\n\texport type LineageEvent = Static<typeof LineageEvent>;\n\texport type IdRange = Static<typeof IdRange>;\n\n\texport type CellId = Static<typeof CellId>;\n\n\texport type Insert = Static<typeof Insert>;\n\texport type MoveIn = Static<typeof MoveIn>;\n\texport type Remove = Static<typeof Remove>;\n\texport type MoveOut = Static<typeof MoveOut>;\n\texport type Attach = Static<typeof Attach>;\n\texport type Detach = Static<typeof Detach>;\n\texport type AttachAndDetach = Static<typeof AttachAndDetach>;\n\texport type MarkEffect = Static<typeof MarkEffect>;\n\n\texport type CellMark<Schema extends TSchema, TNodeChange extends TSchema> = Static<\n\t\tReturnType<typeof CellMark<Schema, TNodeChange>>\n\t>;\n\texport type Mark<Schema extends TSchema> = Static<ReturnType<typeof Mark<Schema>>>;\n\texport type Changeset<Schema extends TSchema> = Static<ReturnType<typeof Changeset<Schema>>>;\n}\n"]}
1
+ {"version":3,"file":"formatV1.js","sourceRoot":"","sources":["../../../src/feature-libraries/sequence-field/formatV1.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 * as Type from \"@sinclair/typebox\";\nimport type { ObjectOptions, Static, TSchema } from \"@sinclair/typebox\";\n\nimport { unionOptions } from \"../../codec/index.js\";\nimport { RevisionTagSchema } from \"../../core/index.js\";\nimport { ChangesetLocalIdSchema, EncodedChangeAtomId } from \"../modular-schema/index.js\";\n\nexport enum DetachIdOverrideType {\n\t/**\n\t * The detach effect is the inverse of the prior attach characterized by the accompanying `CellId`'s revision and\n\t * local ID.\n\t *\n\t * An override is needed in such a case to ensure that rollbacks and undos return tree content to the appropriate\n\t * detached root. It is also needed to ensure that cell comparisons work properly for undos.\n\t */\n\tUnattach = 0,\n\t/**\n\t * The detach effect is reapplying a prior detach.\n\t *\n\t * The accompanying cell ID is used in two ways:\n\t * - It indicates the location of the cell (including adjacent cell information) so that rebasing over this detach\n\t * can contribute the correct lineage information to the rebased mark.\n\t * - It specifies the revision and local ID that should be used to characterize the cell in the output context of\n\t * detach.\n\t */\n\tRedetach = 1,\n}\n\nconst noAdditionalProps: ObjectOptions = { additionalProperties: false };\n\nconst CellCount = Type.Number({ multipleOf: 1, minimum: 1 });\n\nconst MoveId = ChangesetLocalIdSchema;\nconst HasMoveId = Type.Object({ id: MoveId });\n\nconst LineageEvent = Type.Tuple([\n\tRevisionTagSchema,\n\tChangesetLocalIdSchema,\n\t/** count */\n\tCellCount,\n\t/** offset */\n\tType.Number({ multipleOf: 1, minimum: 0 }),\n]);\n\nconst HasLineage = Type.Object({ lineage: Type.Optional(Type.Array(LineageEvent)) });\n\nconst IdRange = Type.Tuple([ChangesetLocalIdSchema, CellCount]);\n\nconst CellId = Type.Composite(\n\t[\n\t\tHasLineage,\n\t\tType.Object({\n\t\t\tatom: EncodedChangeAtomId,\n\t\t\tadjacentCells: Type.Optional(Type.Array(IdRange)),\n\t\t}),\n\t],\n\tnoAdditionalProps,\n);\n\nconst HasRevisionTag = Type.Object({ revision: Type.Optional(RevisionTagSchema) });\n\nconst Insert = Type.Composite([HasMoveId, HasRevisionTag], noAdditionalProps);\n\nconst HasMoveFields = Type.Composite([\n\tHasMoveId,\n\tHasRevisionTag,\n\tType.Object({ finalEndpoint: Type.Optional(EncodedChangeAtomId) }),\n]);\n\nconst MoveIn = Type.Composite([HasMoveFields], noAdditionalProps);\n\nconst DetachIdOverride = Type.Object(\n\t{\n\t\ttype: Type.Enum(DetachIdOverrideType),\n\t\tid: CellId,\n\t},\n\tnoAdditionalProps,\n);\n\nconst DetachFields = Type.Object({\n\tidOverride: Type.Optional(DetachIdOverride),\n});\n\nconst Remove = Type.Composite(\n\t[\n\t\tType.Object({\n\t\t\tid: ChangesetLocalIdSchema,\n\t\t}),\n\t\tHasRevisionTag,\n\t\tDetachFields,\n\t],\n\tnoAdditionalProps,\n);\n\nconst MoveOut = Type.Composite([HasMoveFields, DetachFields], noAdditionalProps);\n\nconst Attach = Type.Object(\n\t{\n\t\tinsert: Type.Optional(Insert),\n\t\tmoveIn: Type.Optional(MoveIn),\n\t},\n\tunionOptions,\n);\n\nconst Detach = Type.Object(\n\t{\n\t\t// TODO:AB6715 rename to `remove`\n\t\tdelete: Type.Optional(Remove),\n\t\tmoveOut: Type.Optional(MoveOut),\n\t},\n\tunionOptions,\n);\n\nconst AttachAndDetach = Type.Object({\n\tattach: Attach,\n\tdetach: Detach,\n});\n\nconst MarkEffect = Type.Object(\n\t{\n\t\t// Note: `noop` is encoded by omitting `effect` from the encoded cell mark, so is not included here.\n\t\tinsert: Type.Optional(Insert),\n\t\tmoveIn: Type.Optional(MoveIn),\n\t\t// TODO:AB6715 rename to `remove`\n\t\tdelete: Type.Optional(Remove),\n\t\tmoveOut: Type.Optional(MoveOut),\n\t\tattachAndDetach: Type.Optional(AttachAndDetach),\n\t},\n\tunionOptions,\n);\n\nconst CellMark = <TMark extends TSchema, TNodeChange extends TSchema>(\n\ttMark: TMark,\n\ttNodeChange: TNodeChange,\n\t// Return type is intentionally derived.\n\t// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n) =>\n\tType.Object(\n\t\t{\n\t\t\t// If undefined, indicates a Noop mark.\n\t\t\teffect: Type.Optional(tMark),\n\t\t\tcellId: Type.Optional(CellId),\n\t\t\tchanges: Type.Optional(tNodeChange),\n\t\t\tcount: CellCount,\n\t\t},\n\t\tnoAdditionalProps,\n\t);\n\n// Return type is intentionally derived.\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nconst Mark = <Schema extends TSchema>(tNodeChange: Schema) =>\n\tCellMark(MarkEffect, tNodeChange);\n\n// Return type is intentionally derived.\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport const Changeset = <Schema extends TSchema>(tNodeChange: Schema) =>\n\tType.Array(Mark(tNodeChange));\n\n/**\n * @privateRemarks Many of these names are currently used in the sequence-field types. Putting them in a namespace makes codec code more readable.\n */\nexport namespace Encoded {\n\texport type CellCount = Static<typeof CellCount>;\n\n\texport type MoveId = Static<typeof MoveId>;\n\texport type LineageEvent = Static<typeof LineageEvent>;\n\texport type IdRange = Static<typeof IdRange>;\n\n\texport type CellId = Static<typeof CellId>;\n\n\texport type Insert = Static<typeof Insert>;\n\texport type MoveIn = Static<typeof MoveIn>;\n\texport type Remove = Static<typeof Remove>;\n\texport type MoveOut = Static<typeof MoveOut>;\n\texport type Attach = Static<typeof Attach>;\n\texport type Detach = Static<typeof Detach>;\n\texport type AttachAndDetach = Static<typeof AttachAndDetach>;\n\texport type MarkEffect = Static<typeof MarkEffect>;\n\n\texport type CellMark<Schema extends TSchema, TNodeChange extends TSchema> = Static<\n\t\tReturnType<typeof CellMark<Schema, TNodeChange>>\n\t>;\n\texport type Mark<Schema extends TSchema> = Static<ReturnType<typeof Mark<Schema>>>;\n\texport type Changeset<Schema extends TSchema> = Static<ReturnType<typeof Changeset<Schema>>>;\n}\n"]}