@fluidframework/tree 2.83.0 → 2.90.0-378676
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.
- package/api-report/tree.alpha.api.md +1 -0
- package/dist/core/change-family/changeFamily.d.ts +4 -1
- package/dist/core/change-family/changeFamily.d.ts.map +1 -1
- package/dist/core/change-family/changeFamily.js.map +1 -1
- package/dist/core/change-family/index.d.ts +1 -1
- package/dist/core/change-family/index.d.ts.map +1 -1
- package/dist/core/change-family/index.js.map +1 -1
- package/dist/core/index.d.ts +3 -3
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +6 -4
- package/dist/core/index.js.map +1 -1
- package/dist/core/rebase/changeRebaser.d.ts +6 -1
- package/dist/core/rebase/changeRebaser.d.ts.map +1 -1
- package/dist/core/rebase/changeRebaser.js.map +1 -1
- package/dist/core/rebase/index.d.ts +1 -1
- package/dist/core/rebase/index.d.ts.map +1 -1
- package/dist/core/rebase/index.js +2 -1
- package/dist/core/rebase/index.js.map +1 -1
- package/dist/core/rebase/types.d.ts +1 -0
- package/dist/core/rebase/types.d.ts.map +1 -1
- package/dist/core/rebase/types.js +5 -1
- package/dist/core/rebase/types.js.map +1 -1
- package/dist/core/rebase/utils.d.ts.map +1 -1
- package/dist/core/rebase/utils.js +25 -7
- package/dist/core/rebase/utils.js.map +1 -1
- package/dist/core/tree/delta.d.ts +5 -0
- package/dist/core/tree/delta.d.ts.map +1 -1
- package/dist/core/tree/delta.js.map +1 -1
- package/dist/core/tree/detachedFieldIndex.d.ts +13 -1
- package/dist/core/tree/detachedFieldIndex.d.ts.map +1 -1
- package/dist/core/tree/detachedFieldIndex.js +14 -1
- package/dist/core/tree/detachedFieldIndex.js.map +1 -1
- package/dist/core/tree/detachedFieldIndexTypes.d.ts +4 -0
- package/dist/core/tree/detachedFieldIndexTypes.d.ts.map +1 -1
- package/dist/core/tree/detachedFieldIndexTypes.js.map +1 -1
- package/dist/core/tree/index.d.ts +2 -2
- package/dist/core/tree/index.d.ts.map +1 -1
- package/dist/core/tree/index.js +4 -3
- package/dist/core/tree/index.js.map +1 -1
- package/dist/core/tree/pathTree.d.ts +11 -3
- package/dist/core/tree/pathTree.d.ts.map +1 -1
- package/dist/core/tree/pathTree.js +14 -2
- package/dist/core/tree/pathTree.js.map +1 -1
- package/dist/core/tree/visitDelta.d.ts.map +1 -1
- package/dist/core/tree/visitDelta.js +17 -13
- package/dist/core/tree/visitDelta.js.map +1 -1
- package/dist/feature-libraries/changeAtomIdBTree.d.ts +3 -2
- package/dist/feature-libraries/changeAtomIdBTree.d.ts.map +1 -1
- package/dist/feature-libraries/changeAtomIdBTree.js +15 -2
- package/dist/feature-libraries/changeAtomIdBTree.js.map +1 -1
- package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts +92 -44
- package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
- package/dist/feature-libraries/default-schema/defaultEditBuilder.js +220 -70
- package/dist/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
- package/dist/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -1
- package/dist/feature-libraries/default-schema/defaultFieldKinds.js +12 -2
- package/dist/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -1
- package/dist/feature-libraries/default-schema/index.d.ts +2 -1
- package/dist/feature-libraries/default-schema/index.d.ts.map +1 -1
- package/dist/feature-libraries/default-schema/index.js +4 -2
- package/dist/feature-libraries/default-schema/index.js.map +1 -1
- package/dist/feature-libraries/default-schema/locationBasedEditBuilder.d.ts +40 -0
- package/dist/feature-libraries/default-schema/locationBasedEditBuilder.d.ts.map +1 -0
- package/dist/feature-libraries/default-schema/locationBasedEditBuilder.js +153 -0
- package/dist/feature-libraries/default-schema/locationBasedEditBuilder.js.map +1 -0
- package/dist/feature-libraries/default-schema/mappedEditBuilder.d.ts +7 -6
- package/dist/feature-libraries/default-schema/mappedEditBuilder.d.ts.map +1 -1
- package/dist/feature-libraries/default-schema/mappedEditBuilder.js +15 -0
- package/dist/feature-libraries/default-schema/mappedEditBuilder.js.map +1 -1
- package/dist/feature-libraries/deltaUtils.d.ts +1 -0
- package/dist/feature-libraries/deltaUtils.d.ts.map +1 -1
- package/dist/feature-libraries/deltaUtils.js +6 -1
- package/dist/feature-libraries/deltaUtils.js.map +1 -1
- package/dist/feature-libraries/flex-tree/context.d.ts +9 -0
- package/dist/feature-libraries/flex-tree/context.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/context.js +6 -0
- package/dist/feature-libraries/flex-tree/context.js.map +1 -1
- package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts +6 -6
- package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyField.d.ts +8 -7
- package/dist/feature-libraries/flex-tree/lazyField.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyField.js +39 -8
- package/dist/feature-libraries/flex-tree/lazyField.js.map +1 -1
- package/dist/feature-libraries/index.d.ts +3 -3
- package/dist/feature-libraries/index.d.ts.map +1 -1
- package/dist/feature-libraries/index.js +8 -4
- package/dist/feature-libraries/index.js.map +1 -1
- package/dist/feature-libraries/mitigatedChangeFamily.d.ts.map +1 -1
- package/dist/feature-libraries/mitigatedChangeFamily.js +2 -2
- package/dist/feature-libraries/mitigatedChangeFamily.js.map +1 -1
- package/dist/feature-libraries/modular-schema/crossFieldQueries.d.ts +100 -24
- package/dist/feature-libraries/modular-schema/crossFieldQueries.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/crossFieldQueries.js +8 -12
- package/dist/feature-libraries/modular-schema/crossFieldQueries.js.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts +85 -51
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -1
- package/dist/feature-libraries/modular-schema/genericFieldKind.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/genericFieldKind.js +4 -9
- package/dist/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
- package/dist/feature-libraries/modular-schema/index.d.ts +3 -3
- package/dist/feature-libraries/modular-schema/index.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/index.js +2 -3
- package/dist/feature-libraries/modular-schema/index.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecV1.d.ts +18 -22
- package/dist/feature-libraries/modular-schema/modularChangeCodecV1.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecV1.js +276 -158
- package/dist/feature-libraries/modular-schema/modularChangeCodecV1.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecV2.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecV2.js +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecV2.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecV3.d.ts +15 -0
- package/dist/feature-libraries/modular-schema/modularChangeCodecV3.d.ts.map +1 -0
- package/dist/feature-libraries/modular-schema/modularChangeCodecV3.js +296 -0
- package/dist/feature-libraries/modular-schema/modularChangeCodecV3.js.map +1 -0
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.d.ts +1 -0
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.js +8 -0
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts +56 -22
- package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js +1390 -462
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFormatV1.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFormatV1.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFormatV2.d.ts +1 -2
- package/dist/feature-libraries/modular-schema/modularChangeFormatV2.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFormatV2.js +3 -3
- package/dist/feature-libraries/modular-schema/modularChangeFormatV2.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFormatV3.d.ts +74 -0
- package/dist/feature-libraries/modular-schema/modularChangeFormatV3.d.ts.map +1 -0
- package/dist/feature-libraries/modular-schema/modularChangeFormatV3.js +35 -0
- package/dist/feature-libraries/modular-schema/modularChangeFormatV3.js.map +1 -0
- package/dist/feature-libraries/modular-schema/modularChangeTypes.d.ts +49 -10
- package/dist/feature-libraries/modular-schema/modularChangeTypes.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeTypes.js +3 -3
- package/dist/feature-libraries/modular-schema/modularChangeTypes.js.map +1 -1
- package/dist/feature-libraries/optional-field/optionalField.d.ts +13 -32
- package/dist/feature-libraries/optional-field/optionalField.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/optionalField.js +257 -446
- package/dist/feature-libraries/optional-field/optionalField.js.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV3.d.ts +23 -0
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV3.d.ts.map +1 -0
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV3.js +31 -0
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV3.js.map +1 -0
- package/dist/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts +31 -31
- package/dist/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldChangeTypes.js.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecV2.d.ts +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecV2.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecV2.js +57 -28
- package/dist/feature-libraries/optional-field/optionalFieldCodecV2.js.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecV3.d.ts +12 -0
- package/dist/feature-libraries/optional-field/optionalFieldCodecV3.d.ts.map +1 -0
- package/dist/feature-libraries/optional-field/optionalFieldCodecV3.js +57 -0
- package/dist/feature-libraries/optional-field/optionalFieldCodecV3.js.map +1 -0
- package/dist/feature-libraries/optional-field/optionalFieldCodecs.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecs.js +5 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecs.js.map +1 -1
- package/dist/feature-libraries/optional-field/requiredField.d.ts +3 -2
- package/dist/feature-libraries/optional-field/requiredField.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/requiredField.js +6 -1
- package/dist/feature-libraries/optional-field/requiredField.js.map +1 -1
- package/dist/feature-libraries/sequence-field/compose.d.ts +6 -7
- package/dist/feature-libraries/sequence-field/compose.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/compose.js +81 -259
- package/dist/feature-libraries/sequence-field/compose.js.map +1 -1
- package/dist/feature-libraries/sequence-field/helperTypes.d.ts +14 -10
- package/dist/feature-libraries/sequence-field/helperTypes.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/helperTypes.js.map +1 -1
- package/dist/feature-libraries/sequence-field/invert.d.ts +3 -3
- package/dist/feature-libraries/sequence-field/invert.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/invert.js +65 -167
- package/dist/feature-libraries/sequence-field/invert.js.map +1 -1
- package/dist/feature-libraries/sequence-field/markQueue.d.ts +2 -2
- package/dist/feature-libraries/sequence-field/markQueue.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/markQueue.js.map +1 -1
- package/dist/feature-libraries/sequence-field/moveEffectTable.d.ts +4 -56
- package/dist/feature-libraries/sequence-field/moveEffectTable.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/moveEffectTable.js +7 -90
- package/dist/feature-libraries/sequence-field/moveEffectTable.js.map +1 -1
- package/dist/feature-libraries/sequence-field/rebase.d.ts +3 -3
- package/dist/feature-libraries/sequence-field/rebase.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/rebase.js +109 -116
- package/dist/feature-libraries/sequence-field/rebase.js.map +1 -1
- package/dist/feature-libraries/sequence-field/replaceRevisions.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/replaceRevisions.js +19 -32
- package/dist/feature-libraries/sequence-field/replaceRevisions.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldChangeHandler.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldChangeHandler.js +1 -2
- package/dist/feature-libraries/sequence-field/sequenceFieldChangeHandler.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts +22 -4
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.js +388 -187
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV3.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV3.js +20 -62
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV3.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldEditor.d.ts +2 -2
- package/dist/feature-libraries/sequence-field/sequenceFieldEditor.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldEditor.js +13 -13
- package/dist/feature-libraries/sequence-field/sequenceFieldEditor.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts +3 -2
- package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.js +16 -111
- package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.js.map +1 -1
- package/dist/feature-libraries/sequence-field/types.d.ts +37 -74
- package/dist/feature-libraries/sequence-field/types.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/types.js.map +1 -1
- package/dist/feature-libraries/sequence-field/utils.d.ts +20 -25
- package/dist/feature-libraries/sequence-field/utils.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/utils.js +159 -320
- package/dist/feature-libraries/sequence-field/utils.js.map +1 -1
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.d.ts.map +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/dist/shared-tree/independentView.d.ts.map +1 -1
- package/dist/shared-tree/independentView.js +1 -1
- package/dist/shared-tree/independentView.js.map +1 -1
- package/dist/shared-tree/index.d.ts +1 -1
- package/dist/shared-tree/index.d.ts.map +1 -1
- package/dist/shared-tree/index.js.map +1 -1
- package/dist/shared-tree/schematizeTree.d.ts +4 -4
- package/dist/shared-tree/schematizeTree.d.ts.map +1 -1
- package/dist/shared-tree/schematizeTree.js +2 -1
- package/dist/shared-tree/schematizeTree.js.map +1 -1
- package/dist/shared-tree/schematizingTreeView.d.ts +1 -5
- package/dist/shared-tree/schematizingTreeView.d.ts.map +1 -1
- package/dist/shared-tree/schematizingTreeView.js +21 -35
- package/dist/shared-tree/schematizingTreeView.js.map +1 -1
- package/dist/shared-tree/sharedTree.d.ts +9 -3
- package/dist/shared-tree/sharedTree.d.ts.map +1 -1
- package/dist/shared-tree/sharedTree.js +4 -1
- package/dist/shared-tree/sharedTree.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeCodecs.d.ts +1 -0
- package/dist/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeChangeCodecs.js +8 -0
- package/dist/shared-tree/sharedTreeChangeCodecs.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeFamily.d.ts +4 -4
- package/dist/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeChangeFamily.js +2 -2
- package/dist/shared-tree/sharedTreeChangeFamily.js.map +1 -1
- package/dist/shared-tree/sharedTreeEditBuilder.d.ts +16 -6
- package/dist/shared-tree/sharedTreeEditBuilder.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeEditBuilder.js +14 -7
- package/dist/shared-tree/sharedTreeEditBuilder.js.map +1 -1
- package/dist/shared-tree/treeCheckout.d.ts +13 -11
- package/dist/shared-tree/treeCheckout.d.ts.map +1 -1
- package/dist/shared-tree/treeCheckout.js +56 -6
- package/dist/shared-tree/treeCheckout.js.map +1 -1
- package/dist/shared-tree-core/branch.d.ts +3 -2
- package/dist/shared-tree-core/branch.d.ts.map +1 -1
- package/dist/shared-tree-core/branch.js +4 -3
- package/dist/shared-tree-core/branch.js.map +1 -1
- package/dist/shared-tree-core/editManager.d.ts +2 -2
- package/dist/shared-tree-core/editManager.d.ts.map +1 -1
- package/dist/shared-tree-core/editManager.js +9 -9
- package/dist/shared-tree-core/editManager.js.map +1 -1
- package/dist/shared-tree-core/editManagerCodecs.d.ts +4 -0
- package/dist/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerCodecs.js +10 -2
- package/dist/shared-tree-core/editManagerCodecs.js.map +1 -1
- package/dist/shared-tree-core/editManagerFormatCommons.d.ts +1 -0
- package/dist/shared-tree-core/editManagerFormatCommons.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerFormatCommons.js +6 -0
- package/dist/shared-tree-core/editManagerFormatCommons.js.map +1 -1
- package/dist/shared-tree-core/editManagerFormatV1toV4.d.ts +2 -2
- package/dist/shared-tree-core/editManagerFormatV1toV4.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerFormatV1toV4.js +1 -0
- package/dist/shared-tree-core/editManagerFormatV1toV4.js.map +1 -1
- package/dist/shared-tree-core/index.d.ts +2 -2
- package/dist/shared-tree-core/index.d.ts.map +1 -1
- package/dist/shared-tree-core/index.js +3 -1
- package/dist/shared-tree-core/index.js.map +1 -1
- package/dist/shared-tree-core/messageCodecV1ToV4.d.ts +1 -1
- package/dist/shared-tree-core/messageCodecV1ToV4.d.ts.map +1 -1
- package/dist/shared-tree-core/messageCodecV1ToV4.js.map +1 -1
- package/dist/shared-tree-core/messageCodecs.d.ts +4 -0
- package/dist/shared-tree-core/messageCodecs.d.ts.map +1 -1
- package/dist/shared-tree-core/messageCodecs.js +10 -2
- package/dist/shared-tree-core/messageCodecs.js.map +1 -1
- package/dist/shared-tree-core/messageFormat.d.ts +1 -0
- package/dist/shared-tree-core/messageFormat.d.ts.map +1 -1
- package/dist/shared-tree-core/messageFormat.js +6 -0
- package/dist/shared-tree-core/messageFormat.js.map +1 -1
- package/dist/shared-tree-core/messageFormatV1ToV4.d.ts +2 -2
- package/dist/shared-tree-core/messageFormatV1ToV4.d.ts.map +1 -1
- package/dist/shared-tree-core/messageFormatV1ToV4.js +1 -0
- package/dist/shared-tree-core/messageFormatV1ToV4.js.map +1 -1
- package/dist/shared-tree-core/sharedTreeCore.d.ts +1 -0
- package/dist/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
- package/dist/shared-tree-core/sharedTreeCore.js +1 -1
- package/dist/shared-tree-core/sharedTreeCore.js.map +1 -1
- package/dist/simple-tree/core/unhydratedFlexTree.d.ts +16 -12
- package/dist/simple-tree/core/unhydratedFlexTree.d.ts.map +1 -1
- package/dist/simple-tree/core/unhydratedFlexTree.js +59 -8
- package/dist/simple-tree/core/unhydratedFlexTree.js.map +1 -1
- package/dist/simple-tree/fieldSchema.d.ts +4 -4
- package/dist/simple-tree/fieldSchema.d.ts.map +1 -1
- package/dist/simple-tree/fieldSchema.js.map +1 -1
- package/dist/simple-tree/index.d.ts +2 -2
- package/dist/simple-tree/index.d.ts.map +1 -1
- package/dist/simple-tree/index.js +1 -1
- package/dist/simple-tree/index.js.map +1 -1
- package/dist/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/array/arrayNode.js +5 -3
- package/dist/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
- package/dist/simple-tree/node-kinds/common.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/common.js +1 -1
- package/dist/simple-tree/node-kinds/common.js.map +1 -1
- package/dist/simple-tree/node-kinds/map/mapNode.js +2 -2
- package/dist/simple-tree/node-kinds/map/mapNode.js.map +1 -1
- package/dist/simple-tree/node-kinds/object/objectNode.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/object/objectNode.js +19 -19
- package/dist/simple-tree/node-kinds/object/objectNode.js.map +1 -1
- package/dist/simple-tree/node-kinds/record/recordNode.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/record/recordNode.js +4 -2
- package/dist/simple-tree/node-kinds/record/recordNode.js.map +1 -1
- package/dist/simple-tree/prepareForInsertion.d.ts +54 -47
- package/dist/simple-tree/prepareForInsertion.d.ts.map +1 -1
- package/dist/simple-tree/prepareForInsertion.js +183 -125
- package/dist/simple-tree/prepareForInsertion.js.map +1 -1
- package/dist/simple-tree/unhydratedFlexTreeFromInsertable.d.ts +8 -3
- package/dist/simple-tree/unhydratedFlexTreeFromInsertable.d.ts.map +1 -1
- package/dist/simple-tree/unhydratedFlexTreeFromInsertable.js +27 -13
- package/dist/simple-tree/unhydratedFlexTreeFromInsertable.js.map +1 -1
- package/dist/treeFactory.d.ts.map +1 -1
- package/dist/treeFactory.js +12 -2
- package/dist/treeFactory.js.map +1 -1
- package/dist/util/index.d.ts +1 -1
- package/dist/util/index.d.ts.map +1 -1
- package/dist/util/index.js +2 -1
- package/dist/util/index.js.map +1 -1
- package/dist/util/rangeMap.d.ts +23 -11
- package/dist/util/rangeMap.d.ts.map +1 -1
- package/dist/util/rangeMap.js +43 -10
- package/dist/util/rangeMap.js.map +1 -1
- package/lib/core/change-family/changeFamily.d.ts +4 -1
- package/lib/core/change-family/changeFamily.d.ts.map +1 -1
- package/lib/core/change-family/changeFamily.js.map +1 -1
- package/lib/core/change-family/index.d.ts +1 -1
- package/lib/core/change-family/index.d.ts.map +1 -1
- package/lib/core/change-family/index.js.map +1 -1
- package/lib/core/index.d.ts +3 -3
- package/lib/core/index.d.ts.map +1 -1
- package/lib/core/index.js +2 -2
- package/lib/core/index.js.map +1 -1
- package/lib/core/rebase/changeRebaser.d.ts +6 -1
- package/lib/core/rebase/changeRebaser.d.ts.map +1 -1
- package/lib/core/rebase/changeRebaser.js.map +1 -1
- package/lib/core/rebase/index.d.ts +1 -1
- package/lib/core/rebase/index.d.ts.map +1 -1
- package/lib/core/rebase/index.js +1 -1
- package/lib/core/rebase/index.js.map +1 -1
- package/lib/core/rebase/types.d.ts +1 -0
- package/lib/core/rebase/types.d.ts.map +1 -1
- package/lib/core/rebase/types.js +3 -0
- package/lib/core/rebase/types.js.map +1 -1
- package/lib/core/rebase/utils.d.ts.map +1 -1
- package/lib/core/rebase/utils.js +25 -7
- package/lib/core/rebase/utils.js.map +1 -1
- package/lib/core/tree/delta.d.ts +5 -0
- package/lib/core/tree/delta.d.ts.map +1 -1
- package/lib/core/tree/delta.js.map +1 -1
- package/lib/core/tree/detachedFieldIndex.d.ts +13 -1
- package/lib/core/tree/detachedFieldIndex.d.ts.map +1 -1
- package/lib/core/tree/detachedFieldIndex.js +15 -2
- package/lib/core/tree/detachedFieldIndex.js.map +1 -1
- package/lib/core/tree/detachedFieldIndexTypes.d.ts +4 -0
- package/lib/core/tree/detachedFieldIndexTypes.d.ts.map +1 -1
- package/lib/core/tree/detachedFieldIndexTypes.js.map +1 -1
- package/lib/core/tree/index.d.ts +2 -2
- package/lib/core/tree/index.d.ts.map +1 -1
- package/lib/core/tree/index.js +1 -1
- package/lib/core/tree/index.js.map +1 -1
- package/lib/core/tree/pathTree.d.ts +11 -3
- package/lib/core/tree/pathTree.d.ts.map +1 -1
- package/lib/core/tree/pathTree.js +12 -1
- package/lib/core/tree/pathTree.js.map +1 -1
- package/lib/core/tree/visitDelta.d.ts.map +1 -1
- package/lib/core/tree/visitDelta.js +17 -13
- package/lib/core/tree/visitDelta.js.map +1 -1
- package/lib/feature-libraries/changeAtomIdBTree.d.ts +3 -2
- package/lib/feature-libraries/changeAtomIdBTree.d.ts.map +1 -1
- package/lib/feature-libraries/changeAtomIdBTree.js +15 -3
- package/lib/feature-libraries/changeAtomIdBTree.js.map +1 -1
- package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts +92 -44
- package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
- package/lib/feature-libraries/default-schema/defaultEditBuilder.js +217 -69
- package/lib/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
- package/lib/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -1
- package/lib/feature-libraries/default-schema/defaultFieldKinds.js +12 -2
- package/lib/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -1
- package/lib/feature-libraries/default-schema/index.d.ts +2 -1
- package/lib/feature-libraries/default-schema/index.d.ts.map +1 -1
- package/lib/feature-libraries/default-schema/index.js +2 -1
- package/lib/feature-libraries/default-schema/index.js.map +1 -1
- package/lib/feature-libraries/default-schema/locationBasedEditBuilder.d.ts +40 -0
- package/lib/feature-libraries/default-schema/locationBasedEditBuilder.d.ts.map +1 -0
- package/lib/feature-libraries/default-schema/locationBasedEditBuilder.js +149 -0
- package/lib/feature-libraries/default-schema/locationBasedEditBuilder.js.map +1 -0
- package/lib/feature-libraries/default-schema/mappedEditBuilder.d.ts +7 -6
- package/lib/feature-libraries/default-schema/mappedEditBuilder.d.ts.map +1 -1
- package/lib/feature-libraries/default-schema/mappedEditBuilder.js +15 -0
- package/lib/feature-libraries/default-schema/mappedEditBuilder.js.map +1 -1
- package/lib/feature-libraries/deltaUtils.d.ts +1 -0
- package/lib/feature-libraries/deltaUtils.d.ts.map +1 -1
- package/lib/feature-libraries/deltaUtils.js +5 -1
- package/lib/feature-libraries/deltaUtils.js.map +1 -1
- package/lib/feature-libraries/flex-tree/context.d.ts +9 -0
- package/lib/feature-libraries/flex-tree/context.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/context.js +6 -0
- package/lib/feature-libraries/flex-tree/context.js.map +1 -1
- package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts +6 -6
- package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyField.d.ts +8 -7
- package/lib/feature-libraries/flex-tree/lazyField.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyField.js +40 -9
- package/lib/feature-libraries/flex-tree/lazyField.js.map +1 -1
- package/lib/feature-libraries/index.d.ts +3 -3
- package/lib/feature-libraries/index.d.ts.map +1 -1
- package/lib/feature-libraries/index.js +3 -3
- package/lib/feature-libraries/index.js.map +1 -1
- package/lib/feature-libraries/mitigatedChangeFamily.d.ts.map +1 -1
- package/lib/feature-libraries/mitigatedChangeFamily.js +2 -2
- package/lib/feature-libraries/mitigatedChangeFamily.js.map +1 -1
- package/lib/feature-libraries/modular-schema/crossFieldQueries.d.ts +100 -24
- package/lib/feature-libraries/modular-schema/crossFieldQueries.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/crossFieldQueries.js +7 -10
- package/lib/feature-libraries/modular-schema/crossFieldQueries.js.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts +85 -51
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKind.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKind.js +4 -9
- package/lib/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
- package/lib/feature-libraries/modular-schema/index.d.ts +3 -3
- package/lib/feature-libraries/modular-schema/index.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/index.js +1 -1
- package/lib/feature-libraries/modular-schema/index.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecV1.d.ts +18 -22
- package/lib/feature-libraries/modular-schema/modularChangeCodecV1.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecV1.js +267 -144
- package/lib/feature-libraries/modular-schema/modularChangeCodecV1.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecV2.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecV2.js +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecV2.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecV3.d.ts +15 -0
- package/lib/feature-libraries/modular-schema/modularChangeCodecV3.d.ts.map +1 -0
- package/lib/feature-libraries/modular-schema/modularChangeCodecV3.js +292 -0
- package/lib/feature-libraries/modular-schema/modularChangeCodecV3.js.map +1 -0
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.d.ts +1 -0
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.js +8 -0
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts +56 -22
- package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js +1387 -468
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFormatV1.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFormatV1.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFormatV2.d.ts +1 -2
- package/lib/feature-libraries/modular-schema/modularChangeFormatV2.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFormatV2.js +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFormatV2.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFormatV3.d.ts +74 -0
- package/lib/feature-libraries/modular-schema/modularChangeFormatV3.d.ts.map +1 -0
- package/lib/feature-libraries/modular-schema/modularChangeFormatV3.js +32 -0
- package/lib/feature-libraries/modular-schema/modularChangeFormatV3.js.map +1 -0
- package/lib/feature-libraries/modular-schema/modularChangeTypes.d.ts +49 -10
- package/lib/feature-libraries/modular-schema/modularChangeTypes.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeTypes.js +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeTypes.js.map +1 -1
- package/lib/feature-libraries/optional-field/optionalField.d.ts +13 -32
- package/lib/feature-libraries/optional-field/optionalField.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/optionalField.js +254 -442
- package/lib/feature-libraries/optional-field/optionalField.js.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV3.d.ts +23 -0
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV3.d.ts.map +1 -0
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV3.js +27 -0
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV3.js.map +1 -0
- package/lib/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts +31 -31
- package/lib/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldChangeTypes.js.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecV2.d.ts +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecV2.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecV2.js +55 -26
- package/lib/feature-libraries/optional-field/optionalFieldCodecV2.js.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecV3.d.ts +12 -0
- package/lib/feature-libraries/optional-field/optionalFieldCodecV3.d.ts.map +1 -0
- package/lib/feature-libraries/optional-field/optionalFieldCodecV3.js +53 -0
- package/lib/feature-libraries/optional-field/optionalFieldCodecV3.js.map +1 -0
- package/lib/feature-libraries/optional-field/optionalFieldCodecs.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecs.js +5 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecs.js.map +1 -1
- package/lib/feature-libraries/optional-field/requiredField.d.ts +3 -2
- package/lib/feature-libraries/optional-field/requiredField.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/requiredField.js +5 -1
- package/lib/feature-libraries/optional-field/requiredField.js.map +1 -1
- package/lib/feature-libraries/sequence-field/compose.d.ts +6 -7
- package/lib/feature-libraries/sequence-field/compose.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/compose.js +83 -261
- package/lib/feature-libraries/sequence-field/compose.js.map +1 -1
- package/lib/feature-libraries/sequence-field/helperTypes.d.ts +14 -10
- package/lib/feature-libraries/sequence-field/helperTypes.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/helperTypes.js.map +1 -1
- package/lib/feature-libraries/sequence-field/invert.d.ts +3 -3
- package/lib/feature-libraries/sequence-field/invert.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/invert.js +67 -169
- package/lib/feature-libraries/sequence-field/invert.js.map +1 -1
- package/lib/feature-libraries/sequence-field/markQueue.d.ts +2 -2
- package/lib/feature-libraries/sequence-field/markQueue.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/markQueue.js.map +1 -1
- package/lib/feature-libraries/sequence-field/moveEffectTable.d.ts +4 -56
- package/lib/feature-libraries/sequence-field/moveEffectTable.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/moveEffectTable.js +6 -84
- package/lib/feature-libraries/sequence-field/moveEffectTable.js.map +1 -1
- package/lib/feature-libraries/sequence-field/rebase.d.ts +3 -3
- package/lib/feature-libraries/sequence-field/rebase.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/rebase.js +111 -118
- package/lib/feature-libraries/sequence-field/rebase.js.map +1 -1
- package/lib/feature-libraries/sequence-field/replaceRevisions.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/replaceRevisions.js +19 -32
- package/lib/feature-libraries/sequence-field/replaceRevisions.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldChangeHandler.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldChangeHandler.js +2 -3
- package/lib/feature-libraries/sequence-field/sequenceFieldChangeHandler.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts +22 -4
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.js +379 -182
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.js +21 -63
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldEditor.d.ts +2 -2
- package/lib/feature-libraries/sequence-field/sequenceFieldEditor.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldEditor.js +13 -13
- package/lib/feature-libraries/sequence-field/sequenceFieldEditor.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts +3 -2
- package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.js +16 -111
- package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.js.map +1 -1
- package/lib/feature-libraries/sequence-field/types.d.ts +37 -74
- package/lib/feature-libraries/sequence-field/types.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/types.js.map +1 -1
- package/lib/feature-libraries/sequence-field/utils.d.ts +20 -25
- package/lib/feature-libraries/sequence-field/utils.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/utils.js +155 -313
- package/lib/feature-libraries/sequence-field/utils.js.map +1 -1
- package/lib/packageVersion.d.ts +1 -1
- package/lib/packageVersion.d.ts.map +1 -1
- package/lib/packageVersion.js +1 -1
- package/lib/packageVersion.js.map +1 -1
- package/lib/shared-tree/independentView.d.ts.map +1 -1
- package/lib/shared-tree/independentView.js +1 -1
- package/lib/shared-tree/independentView.js.map +1 -1
- package/lib/shared-tree/index.d.ts +1 -1
- package/lib/shared-tree/index.d.ts.map +1 -1
- package/lib/shared-tree/index.js.map +1 -1
- package/lib/shared-tree/schematizeTree.d.ts +4 -4
- package/lib/shared-tree/schematizeTree.d.ts.map +1 -1
- package/lib/shared-tree/schematizeTree.js +3 -2
- package/lib/shared-tree/schematizeTree.js.map +1 -1
- package/lib/shared-tree/schematizingTreeView.d.ts +1 -5
- package/lib/shared-tree/schematizingTreeView.d.ts.map +1 -1
- package/lib/shared-tree/schematizingTreeView.js +24 -38
- package/lib/shared-tree/schematizingTreeView.js.map +1 -1
- package/lib/shared-tree/sharedTree.d.ts +9 -3
- package/lib/shared-tree/sharedTree.d.ts.map +1 -1
- package/lib/shared-tree/sharedTree.js +4 -1
- package/lib/shared-tree/sharedTree.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeCodecs.d.ts +1 -0
- package/lib/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeCodecs.js +8 -0
- package/lib/shared-tree/sharedTreeChangeCodecs.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFamily.d.ts +4 -4
- package/lib/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFamily.js +3 -3
- package/lib/shared-tree/sharedTreeChangeFamily.js.map +1 -1
- package/lib/shared-tree/sharedTreeEditBuilder.d.ts +16 -6
- package/lib/shared-tree/sharedTreeEditBuilder.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeEditBuilder.js +12 -6
- package/lib/shared-tree/sharedTreeEditBuilder.js.map +1 -1
- package/lib/shared-tree/treeCheckout.d.ts +13 -11
- package/lib/shared-tree/treeCheckout.d.ts.map +1 -1
- package/lib/shared-tree/treeCheckout.js +59 -9
- package/lib/shared-tree/treeCheckout.js.map +1 -1
- package/lib/shared-tree-core/branch.d.ts +3 -2
- package/lib/shared-tree-core/branch.d.ts.map +1 -1
- package/lib/shared-tree-core/branch.js +4 -3
- package/lib/shared-tree-core/branch.js.map +1 -1
- package/lib/shared-tree-core/editManager.d.ts +2 -2
- package/lib/shared-tree-core/editManager.d.ts.map +1 -1
- package/lib/shared-tree-core/editManager.js +9 -9
- package/lib/shared-tree-core/editManager.js.map +1 -1
- package/lib/shared-tree-core/editManagerCodecs.d.ts +4 -0
- package/lib/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerCodecs.js +8 -1
- package/lib/shared-tree-core/editManagerCodecs.js.map +1 -1
- package/lib/shared-tree-core/editManagerFormatCommons.d.ts +1 -0
- package/lib/shared-tree-core/editManagerFormatCommons.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerFormatCommons.js +6 -0
- package/lib/shared-tree-core/editManagerFormatCommons.js.map +1 -1
- package/lib/shared-tree-core/editManagerFormatV1toV4.d.ts +2 -2
- package/lib/shared-tree-core/editManagerFormatV1toV4.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerFormatV1toV4.js +1 -0
- package/lib/shared-tree-core/editManagerFormatV1toV4.js.map +1 -1
- package/lib/shared-tree-core/index.d.ts +2 -2
- package/lib/shared-tree-core/index.d.ts.map +1 -1
- package/lib/shared-tree-core/index.js +2 -2
- package/lib/shared-tree-core/index.js.map +1 -1
- package/lib/shared-tree-core/messageCodecV1ToV4.d.ts +1 -1
- package/lib/shared-tree-core/messageCodecV1ToV4.d.ts.map +1 -1
- package/lib/shared-tree-core/messageCodecV1ToV4.js.map +1 -1
- package/lib/shared-tree-core/messageCodecs.d.ts +4 -0
- package/lib/shared-tree-core/messageCodecs.d.ts.map +1 -1
- package/lib/shared-tree-core/messageCodecs.js +8 -1
- package/lib/shared-tree-core/messageCodecs.js.map +1 -1
- package/lib/shared-tree-core/messageFormat.d.ts +1 -0
- package/lib/shared-tree-core/messageFormat.d.ts.map +1 -1
- package/lib/shared-tree-core/messageFormat.js +6 -0
- package/lib/shared-tree-core/messageFormat.js.map +1 -1
- package/lib/shared-tree-core/messageFormatV1ToV4.d.ts +2 -2
- package/lib/shared-tree-core/messageFormatV1ToV4.d.ts.map +1 -1
- package/lib/shared-tree-core/messageFormatV1ToV4.js +1 -0
- package/lib/shared-tree-core/messageFormatV1ToV4.js.map +1 -1
- package/lib/shared-tree-core/sharedTreeCore.d.ts +1 -0
- package/lib/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
- package/lib/shared-tree-core/sharedTreeCore.js +1 -1
- package/lib/shared-tree-core/sharedTreeCore.js.map +1 -1
- package/lib/simple-tree/core/unhydratedFlexTree.d.ts +16 -12
- package/lib/simple-tree/core/unhydratedFlexTree.d.ts.map +1 -1
- package/lib/simple-tree/core/unhydratedFlexTree.js +58 -8
- package/lib/simple-tree/core/unhydratedFlexTree.js.map +1 -1
- package/lib/simple-tree/fieldSchema.d.ts +4 -4
- package/lib/simple-tree/fieldSchema.d.ts.map +1 -1
- package/lib/simple-tree/fieldSchema.js.map +1 -1
- package/lib/simple-tree/index.d.ts +2 -2
- package/lib/simple-tree/index.d.ts.map +1 -1
- package/lib/simple-tree/index.js +1 -1
- package/lib/simple-tree/index.js.map +1 -1
- package/lib/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/array/arrayNode.js +6 -4
- package/lib/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
- package/lib/simple-tree/node-kinds/common.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/common.js +2 -2
- package/lib/simple-tree/node-kinds/common.js.map +1 -1
- package/lib/simple-tree/node-kinds/map/mapNode.js +2 -2
- package/lib/simple-tree/node-kinds/map/mapNode.js.map +1 -1
- package/lib/simple-tree/node-kinds/object/objectNode.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/object/objectNode.js +20 -20
- package/lib/simple-tree/node-kinds/object/objectNode.js.map +1 -1
- package/lib/simple-tree/node-kinds/record/recordNode.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/record/recordNode.js +4 -2
- package/lib/simple-tree/node-kinds/record/recordNode.js.map +1 -1
- package/lib/simple-tree/prepareForInsertion.d.ts +54 -47
- package/lib/simple-tree/prepareForInsertion.d.ts.map +1 -1
- package/lib/simple-tree/prepareForInsertion.js +184 -125
- package/lib/simple-tree/prepareForInsertion.js.map +1 -1
- package/lib/simple-tree/unhydratedFlexTreeFromInsertable.d.ts +8 -3
- package/lib/simple-tree/unhydratedFlexTreeFromInsertable.d.ts.map +1 -1
- package/lib/simple-tree/unhydratedFlexTreeFromInsertable.js +23 -10
- package/lib/simple-tree/unhydratedFlexTreeFromInsertable.js.map +1 -1
- package/lib/treeFactory.d.ts.map +1 -1
- package/lib/treeFactory.js +13 -3
- package/lib/treeFactory.js.map +1 -1
- package/lib/util/index.d.ts +1 -1
- package/lib/util/index.d.ts.map +1 -1
- package/lib/util/index.js +1 -1
- package/lib/util/index.js.map +1 -1
- package/lib/util/rangeMap.d.ts +23 -11
- package/lib/util/rangeMap.d.ts.map +1 -1
- package/lib/util/rangeMap.js +41 -9
- package/lib/util/rangeMap.js.map +1 -1
- package/package.json +21 -21
- package/src/core/change-family/changeFamily.ts +5 -0
- package/src/core/change-family/index.ts +1 -0
- package/src/core/index.ts +4 -1
- package/src/core/rebase/changeRebaser.ts +6 -1
- package/src/core/rebase/index.ts +1 -0
- package/src/core/rebase/types.ts +4 -0
- package/src/core/rebase/utils.ts +31 -7
- package/src/core/tree/delta.ts +6 -0
- package/src/core/tree/detachedFieldIndex.ts +29 -1
- package/src/core/tree/detachedFieldIndexTypes.ts +5 -0
- package/src/core/tree/index.ts +13 -12
- package/src/core/tree/pathTree.ts +16 -4
- package/src/core/tree/visitDelta.ts +31 -11
- package/src/feature-libraries/changeAtomIdBTree.ts +28 -3
- package/src/feature-libraries/default-schema/defaultEditBuilder.ts +369 -127
- package/src/feature-libraries/default-schema/defaultFieldKinds.ts +13 -4
- package/src/feature-libraries/default-schema/index.ts +16 -5
- package/src/feature-libraries/default-schema/locationBasedEditBuilder.ts +231 -0
- package/src/feature-libraries/default-schema/mappedEditBuilder.ts +35 -9
- package/src/feature-libraries/deltaUtils.ts +6 -1
- package/src/feature-libraries/flex-tree/context.ts +17 -0
- package/src/feature-libraries/flex-tree/flexTreeTypes.ts +7 -8
- package/src/feature-libraries/flex-tree/lazyField.ts +65 -24
- package/src/feature-libraries/index.ts +22 -9
- package/src/feature-libraries/mitigatedChangeFamily.ts +3 -1
- package/src/feature-libraries/modular-schema/crossFieldQueries.ts +144 -47
- package/src/feature-libraries/modular-schema/fieldChangeHandler.ts +113 -58
- package/src/feature-libraries/modular-schema/genericFieldKind.ts +7 -18
- package/src/feature-libraries/modular-schema/index.ts +16 -16
- package/src/feature-libraries/modular-schema/modularChangeCodecV1.ts +623 -348
- package/src/feature-libraries/modular-schema/modularChangeCodecV2.ts +1 -0
- package/src/feature-libraries/modular-schema/modularChangeCodecV3.ts +649 -0
- package/src/feature-libraries/modular-schema/modularChangeCodecs.ts +14 -0
- package/src/feature-libraries/modular-schema/modularChangeFamily.ts +2694 -748
- package/src/feature-libraries/modular-schema/modularChangeFormatV1.ts +1 -0
- package/src/feature-libraries/modular-schema/modularChangeFormatV2.ts +1 -1
- package/src/feature-libraries/modular-schema/modularChangeFormatV3.ts +67 -0
- package/src/feature-libraries/modular-schema/modularChangeTypes.ts +62 -10
- package/src/feature-libraries/optional-field/optionalField.ts +359 -568
- package/src/feature-libraries/optional-field/optionalFieldChangeFormatV3.ts +45 -0
- package/src/feature-libraries/optional-field/optionalFieldChangeTypes.ts +31 -35
- package/src/feature-libraries/optional-field/optionalFieldCodecV2.ts +89 -35
- package/src/feature-libraries/optional-field/optionalFieldCodecV3.ts +94 -0
- package/src/feature-libraries/optional-field/optionalFieldCodecs.ts +5 -1
- package/src/feature-libraries/optional-field/requiredField.ts +15 -2
- package/src/feature-libraries/sequence-field/compose.ts +137 -522
- package/src/feature-libraries/sequence-field/helperTypes.ts +34 -19
- package/src/feature-libraries/sequence-field/invert.ts +102 -228
- package/src/feature-libraries/sequence-field/markQueue.ts +2 -2
- package/src/feature-libraries/sequence-field/moveEffectTable.ts +8 -195
- package/src/feature-libraries/sequence-field/rebase.ts +171 -207
- package/src/feature-libraries/sequence-field/replaceRevisions.ts +26 -52
- package/src/feature-libraries/sequence-field/sequenceFieldChangeHandler.ts +8 -3
- package/src/feature-libraries/sequence-field/sequenceFieldCodecV2.ts +677 -229
- package/src/feature-libraries/sequence-field/sequenceFieldCodecV3.ts +56 -70
- package/src/feature-libraries/sequence-field/sequenceFieldEditor.ts +28 -30
- package/src/feature-libraries/sequence-field/sequenceFieldToDelta.ts +21 -131
- package/src/feature-libraries/sequence-field/types.ts +40 -79
- package/src/feature-libraries/sequence-field/utils.ts +211 -370
- package/src/packageVersion.ts +1 -1
- package/src/shared-tree/independentView.ts +12 -6
- package/src/shared-tree/index.ts +3 -2
- package/src/shared-tree/schematizeTree.ts +21 -8
- package/src/shared-tree/schematizingTreeView.ts +38 -68
- package/src/shared-tree/sharedTree.ts +30 -15
- package/src/shared-tree/sharedTreeChangeCodecs.ts +8 -0
- package/src/shared-tree/sharedTreeChangeFamily.ts +7 -4
- package/src/shared-tree/sharedTreeEditBuilder.ts +43 -8
- package/src/shared-tree/treeCheckout.ts +93 -17
- package/src/shared-tree-core/branch.ts +8 -2
- package/src/shared-tree-core/editManager.ts +16 -2
- package/src/shared-tree-core/editManagerCodecs.ts +11 -1
- package/src/shared-tree-core/editManagerFormatCommons.ts +6 -0
- package/src/shared-tree-core/editManagerFormatV1toV4.ts +3 -1
- package/src/shared-tree-core/index.ts +2 -0
- package/src/shared-tree-core/messageCodecV1ToV4.ts +2 -1
- package/src/shared-tree-core/messageCodecs.ts +11 -1
- package/src/shared-tree-core/messageFormat.ts +6 -0
- package/src/shared-tree-core/messageFormatV1ToV4.ts +3 -1
- package/src/shared-tree-core/sharedTreeCore.ts +4 -1
- package/src/simple-tree/core/unhydratedFlexTree.ts +82 -35
- package/src/simple-tree/fieldSchema.ts +6 -4
- package/src/simple-tree/index.ts +2 -1
- package/src/simple-tree/node-kinds/array/arrayNode.ts +7 -5
- package/src/simple-tree/node-kinds/common.ts +2 -5
- package/src/simple-tree/node-kinds/map/mapNode.ts +4 -4
- package/src/simple-tree/node-kinds/object/objectNode.ts +26 -26
- package/src/simple-tree/node-kinds/record/recordNode.ts +10 -9
- package/src/simple-tree/prepareForInsertion.ts +342 -200
- package/src/simple-tree/unhydratedFlexTreeFromInsertable.ts +35 -15
- package/src/treeFactory.ts +16 -4
- package/src/util/index.ts +3 -0
- package/src/util/rangeMap.ts +68 -26
- package/dist/feature-libraries/sequence-field/relevantRemovedRoots.d.ts +0 -9
- package/dist/feature-libraries/sequence-field/relevantRemovedRoots.d.ts.map +0 -1
- package/dist/feature-libraries/sequence-field/relevantRemovedRoots.js +0 -50
- package/dist/feature-libraries/sequence-field/relevantRemovedRoots.js.map +0 -1
- package/docs/main/sequence-field/move-composition.md +0 -46
- package/lib/feature-libraries/sequence-field/relevantRemovedRoots.d.ts +0 -9
- package/lib/feature-libraries/sequence-field/relevantRemovedRoots.d.ts.map +0 -1
- package/lib/feature-libraries/sequence-field/relevantRemovedRoots.js +0 -46
- package/lib/feature-libraries/sequence-field/relevantRemovedRoots.js.map +0 -1
- package/src/feature-libraries/sequence-field/relevantRemovedRoots.ts +0 -57
|
@@ -53,23 +53,32 @@ import {
|
|
|
53
53
|
type TreeNodeSchemaIdentifier,
|
|
54
54
|
type TreeNodeStoredSchema,
|
|
55
55
|
LeafNodeStoredSchema,
|
|
56
|
+
type ChangeAtomId,
|
|
57
|
+
offsetChangeAtomId,
|
|
56
58
|
diffHistories,
|
|
57
59
|
type ChangeMetadata,
|
|
58
60
|
type ChangeEncodingContext,
|
|
59
61
|
type ReadOnlyDetachedFieldIndex,
|
|
60
62
|
makeAnonChange,
|
|
61
63
|
type TaggedChange,
|
|
64
|
+
type EditorOptions,
|
|
62
65
|
} from "../core/index.js";
|
|
63
66
|
import {
|
|
67
|
+
type DetachedRootIds,
|
|
68
|
+
type DetachedRootLocation,
|
|
69
|
+
type DetachedRootsLocation,
|
|
64
70
|
type FieldBatchCodec,
|
|
71
|
+
type Locator,
|
|
65
72
|
type TreeCompressionStrategy,
|
|
66
73
|
allowsRepoSuperset,
|
|
67
74
|
buildForest,
|
|
75
|
+
changeAtomFromDetachedNodeId,
|
|
68
76
|
createNodeIdentifierManager,
|
|
69
77
|
defaultSchemaPolicy,
|
|
70
78
|
intoDelta,
|
|
71
79
|
jsonableTreeFromCursor,
|
|
72
80
|
makeFieldBatchCodec,
|
|
81
|
+
nodeIdFromChangeAtom,
|
|
73
82
|
} from "../feature-libraries/index.js";
|
|
74
83
|
import {
|
|
75
84
|
SquashingTransactionStack,
|
|
@@ -98,6 +107,7 @@ import {
|
|
|
98
107
|
disposeSymbol,
|
|
99
108
|
getOrCreate,
|
|
100
109
|
hasSome,
|
|
110
|
+
makeArray,
|
|
101
111
|
type JsonCompatibleReadOnly,
|
|
102
112
|
type WithBreakable,
|
|
103
113
|
} from "../util/index.js";
|
|
@@ -106,7 +116,12 @@ import { getCheckout, SchematizingSimpleTreeView } from "./schematizingTreeView.
|
|
|
106
116
|
import { SharedTreeChangeEnricher } from "./sharedTreeChangeEnricher.js";
|
|
107
117
|
import { SharedTreeChangeFamily, hasSchemaChange } from "./sharedTreeChangeFamily.js";
|
|
108
118
|
import type { SharedTreeChange } from "./sharedTreeChangeTypes.js";
|
|
109
|
-
import
|
|
119
|
+
import {
|
|
120
|
+
LocationBasedSharedTreeEditBuilder,
|
|
121
|
+
type IIdBasedSharedTreeEditor,
|
|
122
|
+
type ILocationBasedSharedTreeEditor,
|
|
123
|
+
type IdBasedSharedTreeEditBuilder,
|
|
124
|
+
} from "./sharedTreeEditBuilder.js";
|
|
110
125
|
|
|
111
126
|
/**
|
|
112
127
|
* Events for {@link ITreeCheckout}.
|
|
@@ -239,7 +254,7 @@ export interface ITreeCheckout extends AnchorLocator, ViewableTree, WithBreakabl
|
|
|
239
254
|
* Used to edit the state of the tree. Edits will be immediately applied locally to the tree.
|
|
240
255
|
* If there is no transaction currently ongoing, then the edits will be submitted to Fluid immediately as well.
|
|
241
256
|
*/
|
|
242
|
-
readonly editor:
|
|
257
|
+
readonly editor: ILocationBasedSharedTreeEditor;
|
|
243
258
|
|
|
244
259
|
/**
|
|
245
260
|
* A collection of functions for managing transactions.
|
|
@@ -296,9 +311,10 @@ export function createTreeCheckout(
|
|
|
296
311
|
idCompressor: IIdCompressor,
|
|
297
312
|
mintRevisionTag: () => RevisionTag,
|
|
298
313
|
revisionTagCodec: RevisionTagCodec,
|
|
314
|
+
editorOptions: EditorOptions,
|
|
299
315
|
args?: {
|
|
300
|
-
branch?: SharedTreeBranch<
|
|
301
|
-
changeFamily?: ChangeFamily<
|
|
316
|
+
branch?: SharedTreeBranch<IdBasedSharedTreeEditBuilder, SharedTreeChange>;
|
|
317
|
+
changeFamily?: ChangeFamily<IdBasedSharedTreeEditBuilder, SharedTreeChange>;
|
|
302
318
|
schema?: TreeStoredSchemaRepository;
|
|
303
319
|
forest?: IEditableForest;
|
|
304
320
|
fieldBatchCodec?: FieldBatchCodec;
|
|
@@ -350,6 +366,7 @@ export function createTreeCheckout(
|
|
|
350
366
|
mintRevisionTag,
|
|
351
367
|
revisionTagCodec,
|
|
352
368
|
idCompressor,
|
|
369
|
+
editorOptions,
|
|
353
370
|
args?.removedRoots,
|
|
354
371
|
args?.logger,
|
|
355
372
|
breaker,
|
|
@@ -387,6 +404,7 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
387
404
|
public disposed = false;
|
|
388
405
|
|
|
389
406
|
private editLock: EditLock;
|
|
407
|
+
private readonly locator: Locator;
|
|
390
408
|
|
|
391
409
|
/**
|
|
392
410
|
* User-defined label associated with the transaction whose commit is currently being produced for this checkout.
|
|
@@ -410,7 +428,7 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
410
428
|
*/
|
|
411
429
|
private readonly revertibleCommitBranches = new Map<
|
|
412
430
|
RevisionTag,
|
|
413
|
-
SharedTreeBranch<
|
|
431
|
+
SharedTreeBranch<IdBasedSharedTreeEditBuilder, SharedTreeChange>
|
|
414
432
|
>();
|
|
415
433
|
|
|
416
434
|
/**
|
|
@@ -423,15 +441,19 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
423
441
|
public events: Listenable<CheckoutEvents> = this.#events;
|
|
424
442
|
|
|
425
443
|
public constructor(
|
|
426
|
-
branch: SharedTreeBranch<
|
|
444
|
+
branch: SharedTreeBranch<IdBasedSharedTreeEditBuilder, SharedTreeChange>,
|
|
427
445
|
/** True if and only if this checkout is for a branch which is persisted and shared with other clients. */
|
|
428
446
|
public readonly isSharedBranch: boolean,
|
|
429
|
-
private readonly changeFamily: ChangeFamily<
|
|
447
|
+
private readonly changeFamily: ChangeFamily<
|
|
448
|
+
IdBasedSharedTreeEditBuilder,
|
|
449
|
+
SharedTreeChange
|
|
450
|
+
>,
|
|
430
451
|
public readonly storedSchema: TreeStoredSchemaRepository,
|
|
431
452
|
public readonly forest: IEditableForest,
|
|
432
453
|
private readonly mintRevisionTag: () => RevisionTag,
|
|
433
454
|
private readonly revisionTagCodec: RevisionTagCodec,
|
|
434
455
|
private readonly idCompressor: IIdCompressor,
|
|
456
|
+
public readonly editorOptions: EditorOptions,
|
|
435
457
|
private readonly _removedRoots: DetachedFieldIndex = makeDetachedFieldIndex(
|
|
436
458
|
"repair",
|
|
437
459
|
revisionTagCodec,
|
|
@@ -444,6 +466,34 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
444
466
|
) {
|
|
445
467
|
this.#transaction = this.createTransactionStack(branch);
|
|
446
468
|
this.editLock = new EditLock(this.#transaction.activeBranchEditor);
|
|
469
|
+
this.locator = {
|
|
470
|
+
locationFromId: (id: ChangeAtomId): DetachedRootLocation => {
|
|
471
|
+
const rootId = this.removedRoots.getEntry(nodeIdFromChangeAtom(id));
|
|
472
|
+
return this.removedRoots.toFieldKey(rootId);
|
|
473
|
+
},
|
|
474
|
+
idFromLocation: (location: DetachedRootLocation): ChangeAtomId => {
|
|
475
|
+
const nodeId = this.removedRoots.fromFieldKey(location);
|
|
476
|
+
return changeAtomFromDetachedNodeId(nodeId);
|
|
477
|
+
},
|
|
478
|
+
locationsFromIdRanges: (ids: DetachedRootIds): DetachedRootsLocation => {
|
|
479
|
+
return ids.flatMap((id) => {
|
|
480
|
+
return makeArray(id.count, (offset) => {
|
|
481
|
+
const field = this.locator.locationFromId(offsetChangeAtomId(id.first, offset));
|
|
482
|
+
return { field, count: 1 };
|
|
483
|
+
});
|
|
484
|
+
});
|
|
485
|
+
},
|
|
486
|
+
idRangesFromLocations: (ids: DetachedRootsLocation): DetachedRootIds => {
|
|
487
|
+
return ids.map((id) => {
|
|
488
|
+
assert(id.count === 1, "Expected count of 1");
|
|
489
|
+
const first = this.locator.idFromLocation(id.field);
|
|
490
|
+
return { first, count: id.count };
|
|
491
|
+
});
|
|
492
|
+
},
|
|
493
|
+
isAttachable: (id: ChangeAtomId): boolean | undefined => {
|
|
494
|
+
return this.removedRoots.isAttachable(nodeIdFromChangeAtom(id));
|
|
495
|
+
},
|
|
496
|
+
};
|
|
447
497
|
this.registerForBranchEvents();
|
|
448
498
|
}
|
|
449
499
|
|
|
@@ -492,8 +542,8 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
492
542
|
}
|
|
493
543
|
|
|
494
544
|
private createTransactionStack(
|
|
495
|
-
branch: SharedTreeBranch<
|
|
496
|
-
): SquashingTransactionStack<
|
|
545
|
+
branch: SharedTreeBranch<IdBasedSharedTreeEditBuilder, SharedTreeChange>,
|
|
546
|
+
): SquashingTransactionStack<IdBasedSharedTreeEditBuilder, SharedTreeChange> {
|
|
497
547
|
return new SquashingTransactionStack(branch, this.mintRevisionTag, () => {
|
|
498
548
|
const disposeForks = this.disposeForksAfterTransaction
|
|
499
549
|
? trackForksForDisposal(this)
|
|
@@ -840,9 +890,13 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
840
890
|
return this.forest.anchors.events;
|
|
841
891
|
}
|
|
842
892
|
|
|
843
|
-
public get editor():
|
|
893
|
+
public get editor(): ILocationBasedSharedTreeEditor {
|
|
844
894
|
this.checkNotDisposed();
|
|
845
|
-
return
|
|
895
|
+
return new LocationBasedSharedTreeEditBuilder(
|
|
896
|
+
this.editLock.editor,
|
|
897
|
+
this.locator,
|
|
898
|
+
this.editorOptions,
|
|
899
|
+
);
|
|
846
900
|
}
|
|
847
901
|
|
|
848
902
|
public locate(anchor: Anchor): AnchorNode | undefined {
|
|
@@ -863,18 +917,19 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
863
917
|
* To avoid updating observers of the view state with intermediate results during a transaction,
|
|
864
918
|
* use {@link ITreeCheckout#branch} and {@link ISharedTreeFork#merge}.
|
|
865
919
|
*/
|
|
866
|
-
#transaction: SquashingTransactionStack<
|
|
920
|
+
#transaction: SquashingTransactionStack<IdBasedSharedTreeEditBuilder, SharedTreeChange>;
|
|
867
921
|
|
|
868
922
|
public branch(): TreeCheckout {
|
|
869
923
|
this.checkNotDisposed(
|
|
870
924
|
"The parent branch has already been disposed and can no longer create new branches.",
|
|
871
925
|
);
|
|
926
|
+
this.editLock.checkUnlocked("Branching");
|
|
927
|
+
|
|
872
928
|
// Branching after an unfinished transaction would expose the application to a state where its invariants may be violated.
|
|
873
929
|
if (this.transaction.isInProgress()) {
|
|
874
930
|
throw new UsageError("A view cannot be forked while it has a pending transaction.");
|
|
875
931
|
}
|
|
876
932
|
|
|
877
|
-
this.editLock.checkUnlocked("Branching");
|
|
878
933
|
const anchors = new AnchorSet();
|
|
879
934
|
const branch = this.#transaction.activeBranch.fork();
|
|
880
935
|
const storedSchema = this.storedSchema.clone();
|
|
@@ -888,6 +943,7 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
888
943
|
this.mintRevisionTag,
|
|
889
944
|
this.revisionTagCodec,
|
|
890
945
|
this.idCompressor,
|
|
946
|
+
this.editorOptions,
|
|
891
947
|
this._removedRoots.clone(),
|
|
892
948
|
this.logger,
|
|
893
949
|
this.breaker,
|
|
@@ -898,7 +954,7 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
898
954
|
}
|
|
899
955
|
|
|
900
956
|
public switchBranch(
|
|
901
|
-
branch: SharedTreeBranch<
|
|
957
|
+
branch: SharedTreeBranch<IdBasedSharedTreeEditBuilder, SharedTreeChange>,
|
|
902
958
|
): void {
|
|
903
959
|
// TODO: Dispose old branch, if necessary
|
|
904
960
|
assert(
|
|
@@ -1264,7 +1320,7 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
1264
1320
|
return enriched;
|
|
1265
1321
|
}
|
|
1266
1322
|
|
|
1267
|
-
public get mainBranch(): SharedTreeBranch<
|
|
1323
|
+
public get mainBranch(): SharedTreeBranch<IdBasedSharedTreeEditBuilder, SharedTreeChange> {
|
|
1268
1324
|
return this.#transaction.branch;
|
|
1269
1325
|
}
|
|
1270
1326
|
|
|
@@ -1279,19 +1335,23 @@ class EditLock {
|
|
|
1279
1335
|
* Edits the tree by calling the methods of the editor passed into the {@link EditLock} constructor.
|
|
1280
1336
|
* @remarks Edits will throw an error if the lock is currently locked.
|
|
1281
1337
|
*/
|
|
1282
|
-
public readonly editor:
|
|
1338
|
+
public readonly editor: IIdBasedSharedTreeEditor;
|
|
1283
1339
|
private locked = false;
|
|
1284
1340
|
|
|
1285
1341
|
/**
|
|
1286
1342
|
* @param editor - an editor which will be used to create a new editor that is monitored to determine if any changes are happening to the tree.
|
|
1287
1343
|
* Use {@link EditLock.editor} in place of the original editor to ensure that changes are monitored.
|
|
1288
1344
|
*/
|
|
1289
|
-
public constructor(editor:
|
|
1345
|
+
public constructor(editor: IIdBasedSharedTreeEditor) {
|
|
1290
1346
|
const checkLock = (): void => this.checkUnlocked("Editing the tree");
|
|
1291
1347
|
this.editor = {
|
|
1292
1348
|
get schema() {
|
|
1293
1349
|
return editor.schema;
|
|
1294
1350
|
},
|
|
1351
|
+
buildRoots(unhydrated) {
|
|
1352
|
+
checkLock();
|
|
1353
|
+
return editor.buildRoots(unhydrated);
|
|
1354
|
+
},
|
|
1295
1355
|
valueField(...fieldArgs) {
|
|
1296
1356
|
const valueField = editor.valueField(...fieldArgs);
|
|
1297
1357
|
return {
|
|
@@ -1299,6 +1359,10 @@ class EditLock {
|
|
|
1299
1359
|
checkLock();
|
|
1300
1360
|
valueField.set(...editArgs);
|
|
1301
1361
|
},
|
|
1362
|
+
attach(...editArgs) {
|
|
1363
|
+
checkLock();
|
|
1364
|
+
valueField.attach(...editArgs);
|
|
1365
|
+
},
|
|
1302
1366
|
};
|
|
1303
1367
|
},
|
|
1304
1368
|
optionalField(...fieldArgs) {
|
|
@@ -1308,6 +1372,14 @@ class EditLock {
|
|
|
1308
1372
|
checkLock();
|
|
1309
1373
|
optionalField.set(...editArgs);
|
|
1310
1374
|
},
|
|
1375
|
+
attach(...editArgs) {
|
|
1376
|
+
checkLock();
|
|
1377
|
+
optionalField.attach(...editArgs);
|
|
1378
|
+
},
|
|
1379
|
+
clear(...editArgs) {
|
|
1380
|
+
checkLock();
|
|
1381
|
+
optionalField.clear(...editArgs);
|
|
1382
|
+
},
|
|
1311
1383
|
};
|
|
1312
1384
|
},
|
|
1313
1385
|
sequenceField(...fieldArgs) {
|
|
@@ -1317,6 +1389,10 @@ class EditLock {
|
|
|
1317
1389
|
checkLock();
|
|
1318
1390
|
sequenceField.insert(...editArgs);
|
|
1319
1391
|
},
|
|
1392
|
+
attach(...editArgs) {
|
|
1393
|
+
checkLock();
|
|
1394
|
+
sequenceField.attach(...editArgs);
|
|
1395
|
+
},
|
|
1320
1396
|
remove(...editArgs) {
|
|
1321
1397
|
checkLock();
|
|
1322
1398
|
sequenceField.remove(...editArgs);
|
|
@@ -26,6 +26,7 @@ import {
|
|
|
26
26
|
rebaseBranch,
|
|
27
27
|
tagRollbackInverse,
|
|
28
28
|
type RebaseStatsWithDuration,
|
|
29
|
+
type EditorOptions,
|
|
29
30
|
} from "../core/index.js";
|
|
30
31
|
import { hasSome, defineLazyCachedProperty } from "../util/index.js";
|
|
31
32
|
|
|
@@ -129,9 +130,12 @@ export class SharedTreeBranch<TEditor extends ChangeFamilyEditor, TChange> {
|
|
|
129
130
|
private readonly telemetryEventBatcher?: TelemetryEventBatcher<
|
|
130
131
|
keyof RebaseStatsWithDuration
|
|
131
132
|
>,
|
|
133
|
+
private readonly editorOptions?: EditorOptions,
|
|
132
134
|
) {
|
|
133
|
-
this.editor = this.changeFamily.buildEditor(
|
|
134
|
-
|
|
135
|
+
this.editor = this.changeFamily.buildEditor(
|
|
136
|
+
mintRevisionTag,
|
|
137
|
+
(change) => this.apply(change),
|
|
138
|
+
this.editorOptions,
|
|
135
139
|
);
|
|
136
140
|
this.unsubscribeBranchTrimmer = branchTrimmer?.on("ancestryTrimmed", (commit) => {
|
|
137
141
|
this.#events.emit("ancestryTrimmed", commit);
|
|
@@ -201,6 +205,8 @@ export class SharedTreeBranch<TEditor extends ChangeFamilyEditor, TChange> {
|
|
|
201
205
|
this.changeFamily,
|
|
202
206
|
mintRevisionTag,
|
|
203
207
|
this.branchTrimmer,
|
|
208
|
+
undefined,
|
|
209
|
+
this.editorOptions,
|
|
204
210
|
);
|
|
205
211
|
this.#events.emit("fork", fork);
|
|
206
212
|
return fork;
|
|
@@ -23,6 +23,7 @@ import {
|
|
|
23
23
|
mintCommit,
|
|
24
24
|
type RebaseStatsWithDuration,
|
|
25
25
|
tagChange,
|
|
26
|
+
type EditorOptions,
|
|
26
27
|
} from "../core/index.js";
|
|
27
28
|
import { type Mutable, brand, getOrCreate, mapIterable } from "../util/index.js";
|
|
28
29
|
|
|
@@ -123,6 +124,7 @@ export class EditManager<
|
|
|
123
124
|
public readonly localSessionId: SessionId,
|
|
124
125
|
private readonly mintRevisionTag: () => RevisionTag,
|
|
125
126
|
private readonly onSharedBranchCreated?: (branchId: BranchId) => void,
|
|
127
|
+
editorOptions?: EditorOptions,
|
|
126
128
|
logger?: ITelemetryLoggerExt,
|
|
127
129
|
) {
|
|
128
130
|
this.trunkBase = {
|
|
@@ -147,9 +149,10 @@ export class EditManager<
|
|
|
147
149
|
mintRevisionTag,
|
|
148
150
|
this._events,
|
|
149
151
|
this.telemetryEventBatcher,
|
|
152
|
+
editorOptions,
|
|
150
153
|
);
|
|
151
154
|
|
|
152
|
-
this.createAndAddSharedBranch("main", undefined, undefined, mainTrunk);
|
|
155
|
+
this.createAndAddSharedBranch("main", undefined, undefined, mainTrunk, editorOptions);
|
|
153
156
|
}
|
|
154
157
|
|
|
155
158
|
public getLocalBranch(branchId: BranchId): SharedTreeBranch<TEditor, TChangeset> {
|
|
@@ -480,8 +483,15 @@ export class EditManager<
|
|
|
480
483
|
sessionId: SessionId | undefined,
|
|
481
484
|
parent: SharedBranch<TEditor, TChangeset> | undefined,
|
|
482
485
|
branch: SharedTreeBranch<TEditor, TChangeset>,
|
|
486
|
+
editorOptions?: EditorOptions,
|
|
483
487
|
): SharedBranch<TEditor, TChangeset> {
|
|
484
|
-
const sharedBranch = this.createSharedBranch(
|
|
488
|
+
const sharedBranch = this.createSharedBranch(
|
|
489
|
+
branchId,
|
|
490
|
+
sessionId,
|
|
491
|
+
parent,
|
|
492
|
+
branch,
|
|
493
|
+
editorOptions,
|
|
494
|
+
);
|
|
485
495
|
this.addSharedBranch(branchId, sharedBranch);
|
|
486
496
|
return sharedBranch;
|
|
487
497
|
}
|
|
@@ -512,6 +522,7 @@ export class EditManager<
|
|
|
512
522
|
sessionId: SessionId | undefined,
|
|
513
523
|
parent: SharedBranch<TEditor, TChangeset> | undefined,
|
|
514
524
|
branch: SharedTreeBranch<TEditor, TChangeset>,
|
|
525
|
+
editorOptions?: EditorOptions,
|
|
515
526
|
): SharedBranch<TEditor, TChangeset> {
|
|
516
527
|
const sharedBranch = new SharedBranch(
|
|
517
528
|
parent,
|
|
@@ -523,6 +534,7 @@ export class EditManager<
|
|
|
523
534
|
this.mintRevisionTag,
|
|
524
535
|
this._events,
|
|
525
536
|
this.telemetryEventBatcher,
|
|
537
|
+
editorOptions,
|
|
526
538
|
);
|
|
527
539
|
|
|
528
540
|
return sharedBranch;
|
|
@@ -695,6 +707,7 @@ class SharedBranch<TEditor extends ChangeFamilyEditor, TChangeset> {
|
|
|
695
707
|
private readonly mintRevisionTag: () => RevisionTag,
|
|
696
708
|
branchTrimmer: Listenable<BranchTrimmingEvents>,
|
|
697
709
|
telemetryEventBatcher: TelemetryEventBatcher<keyof RebaseStatsWithDuration> | undefined,
|
|
710
|
+
editorOptions?: EditorOptions,
|
|
698
711
|
) {
|
|
699
712
|
this.localBranch = new SharedTreeBranch(
|
|
700
713
|
this.trunk.getHead(),
|
|
@@ -702,6 +715,7 @@ class SharedBranch<TEditor extends ChangeFamilyEditor, TChangeset> {
|
|
|
702
715
|
mintRevisionTag,
|
|
703
716
|
branchTrimmer,
|
|
704
717
|
telemetryEventBatcher,
|
|
718
|
+
editorOptions,
|
|
705
719
|
);
|
|
706
720
|
|
|
707
721
|
this.sequenceIdToCommit.set(baseCommitSequenceId, this.trunk.getHead());
|
|
@@ -74,6 +74,15 @@ export function editManagerFormatVersionSelectorForSharedBranches(
|
|
|
74
74
|
return brand(EditManagerFormatVersion.vSharedBranches);
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
+
/**
|
|
78
|
+
* Returns the version that should be used for testing shared branches.
|
|
79
|
+
*/
|
|
80
|
+
export function editManagerFormatVersionSelectorForDetachedRootEditing(
|
|
81
|
+
clientVersion: MinimumVersionForCollab,
|
|
82
|
+
): EditManagerFormatVersion {
|
|
83
|
+
return brand(EditManagerFormatVersion.vDetachedRoots);
|
|
84
|
+
}
|
|
85
|
+
|
|
77
86
|
export interface EditManagerCodecOptions {
|
|
78
87
|
readonly editManagerFormatSelector?: (
|
|
79
88
|
minVersionForCollab: MinimumVersionForCollab,
|
|
@@ -141,7 +150,8 @@ export function makeEditManagerCodecs<TChangeset>(
|
|
|
141
150
|
}
|
|
142
151
|
case unbrand(EditManagerFormatVersion.v3):
|
|
143
152
|
case unbrand(EditManagerFormatVersion.v4):
|
|
144
|
-
case unbrand(EditManagerFormatVersion.v6):
|
|
153
|
+
case unbrand(EditManagerFormatVersion.v6):
|
|
154
|
+
case unbrand(EditManagerFormatVersion.vDetachedRoots): {
|
|
145
155
|
const changeCodec = changeCodecs.resolve(dependentChangeFormatVersion.lookup(version));
|
|
146
156
|
return [
|
|
147
157
|
version,
|
|
@@ -167,6 +167,11 @@ export const EditManagerFormatVersion = strictEnum("editManager.FormatVersion",
|
|
|
167
167
|
* Only used for testing shared branches.
|
|
168
168
|
*/
|
|
169
169
|
vSharedBranches: "shared-branches|v0.1",
|
|
170
|
+
/**
|
|
171
|
+
* Not yet released.
|
|
172
|
+
* Only used for testing detached roots.
|
|
173
|
+
*/
|
|
174
|
+
vDetachedRoots: "detached-roots|v0.1",
|
|
170
175
|
});
|
|
171
176
|
export type EditManagerFormatVersion = Values<typeof EditManagerFormatVersion>;
|
|
172
177
|
export const supportedEditManagerFormatVersions: ReadonlySet<EditManagerFormatVersion> =
|
|
@@ -175,6 +180,7 @@ export const supportedEditManagerFormatVersions: ReadonlySet<EditManagerFormatVe
|
|
|
175
180
|
EditManagerFormatVersion.v4,
|
|
176
181
|
EditManagerFormatVersion.v6,
|
|
177
182
|
EditManagerFormatVersion.vSharedBranches,
|
|
183
|
+
EditManagerFormatVersion.vDetachedRoots,
|
|
178
184
|
]);
|
|
179
185
|
export const editManagerFormatVersions: ReadonlySet<EditManagerFormatVersion> = new Set(
|
|
180
186
|
Object.values(EditManagerFormatVersion),
|
|
@@ -28,7 +28,8 @@ export interface EncodedEditManager<TChangeset> {
|
|
|
28
28
|
| typeof EditManagerFormatVersion.v2
|
|
29
29
|
| typeof EditManagerFormatVersion.v3
|
|
30
30
|
| typeof EditManagerFormatVersion.v4
|
|
31
|
-
| typeof EditManagerFormatVersion.v6
|
|
31
|
+
| typeof EditManagerFormatVersion.v6
|
|
32
|
+
| typeof EditManagerFormatVersion.vDetachedRoots;
|
|
32
33
|
}
|
|
33
34
|
|
|
34
35
|
export const EncodedEditManager = <ChangeSchema extends TSchema>(tChange: ChangeSchema) =>
|
|
@@ -40,6 +41,7 @@ export const EncodedEditManager = <ChangeSchema extends TSchema>(tChange: Change
|
|
|
40
41
|
Type.Literal(EditManagerFormatVersion.v3),
|
|
41
42
|
Type.Literal(EditManagerFormatVersion.v4),
|
|
42
43
|
Type.Literal(EditManagerFormatVersion.v6),
|
|
44
|
+
Type.Literal(EditManagerFormatVersion.vDetachedRoots),
|
|
43
45
|
]),
|
|
44
46
|
trunk: Type.Array(SequencedCommit(tChange)),
|
|
45
47
|
branches: Type.Array(Type.Tuple([SessionIdSchema, SummarySessionBranch(tChange)])),
|
|
@@ -48,6 +48,7 @@ export {
|
|
|
48
48
|
type EditManagerCodecOptions,
|
|
49
49
|
clientVersionToEditManagerFormatVersion,
|
|
50
50
|
editManagerFormatVersionSelectorForSharedBranches,
|
|
51
|
+
editManagerFormatVersionSelectorForDetachedRootEditing,
|
|
51
52
|
} from "./editManagerCodecs.js";
|
|
52
53
|
export {
|
|
53
54
|
EditManagerFormatVersion,
|
|
@@ -73,6 +74,7 @@ export {
|
|
|
73
74
|
getCodecTreeForMessageFormatWithChange,
|
|
74
75
|
clientVersionToMessageFormatVersion,
|
|
75
76
|
messageFormatVersionSelectorForSharedBranches,
|
|
77
|
+
messageFormatVersionSelectorForDetachedRootEditing,
|
|
76
78
|
makeMessageCodec,
|
|
77
79
|
type MessageEncodingContext,
|
|
78
80
|
} from "./messageCodecs.js";
|
|
@@ -35,7 +35,8 @@ export function makeV1ToV4CodecWithVersion<TChangeset>(
|
|
|
35
35
|
| typeof MessageFormatVersion.v2
|
|
36
36
|
| typeof MessageFormatVersion.v3
|
|
37
37
|
| typeof MessageFormatVersion.v4
|
|
38
|
-
| typeof MessageFormatVersion.v6
|
|
38
|
+
| typeof MessageFormatVersion.v6
|
|
39
|
+
| typeof MessageFormatVersion.vDetachedRoots,
|
|
39
40
|
): IJsonCodec<
|
|
40
41
|
DecodedMessage<TChangeset>,
|
|
41
42
|
JsonCompatibleReadOnly,
|
|
@@ -83,6 +83,15 @@ export function messageFormatVersionSelectorForSharedBranches(
|
|
|
83
83
|
return brand(MessageFormatVersion.vSharedBranches);
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
+
/**
|
|
87
|
+
* Returns the version that should be used for testing detached root editing.
|
|
88
|
+
*/
|
|
89
|
+
export function messageFormatVersionSelectorForDetachedRootEditing(
|
|
90
|
+
clientVersion: MinimumVersionForCollab,
|
|
91
|
+
): MessageFormatVersion {
|
|
92
|
+
return brand(MessageFormatVersion.vDetachedRoots);
|
|
93
|
+
}
|
|
94
|
+
|
|
86
95
|
export function makeMessageCodec<TChangeset>(
|
|
87
96
|
changeCodecs: ICodecFamily<TChangeset, ChangeEncodingContext>,
|
|
88
97
|
dependentChangeFormatVersion: DependentFormatVersion<MessageFormatVersion>,
|
|
@@ -145,7 +154,8 @@ export function makeMessageCodecs<TChangeset>(
|
|
|
145
154
|
}
|
|
146
155
|
case unbrand(MessageFormatVersion.v3):
|
|
147
156
|
case unbrand(MessageFormatVersion.v4):
|
|
148
|
-
case unbrand(MessageFormatVersion.v6):
|
|
157
|
+
case unbrand(MessageFormatVersion.v6):
|
|
158
|
+
case unbrand(MessageFormatVersion.vDetachedRoots): {
|
|
149
159
|
const changeCodec = changeCodecs.resolve(dependentChangeFormatVersion.lookup(version));
|
|
150
160
|
return [
|
|
151
161
|
version,
|
|
@@ -57,6 +57,11 @@ export const MessageFormatVersion = strictEnum("MessageFormatVersion", {
|
|
|
57
57
|
* Only used for testing shared branches.
|
|
58
58
|
*/
|
|
59
59
|
vSharedBranches: "shared-branches|v0.1",
|
|
60
|
+
/**
|
|
61
|
+
* Not yet released.
|
|
62
|
+
* Only used for testing detached roots.
|
|
63
|
+
*/
|
|
64
|
+
vDetachedRoots: "detached-roots|v0.1",
|
|
60
65
|
});
|
|
61
66
|
export type MessageFormatVersion = Values<typeof MessageFormatVersion>;
|
|
62
67
|
export const supportedMessageFormatVersions: ReadonlySet<MessageFormatVersion> = new Set([
|
|
@@ -64,6 +69,7 @@ export const supportedMessageFormatVersions: ReadonlySet<MessageFormatVersion> =
|
|
|
64
69
|
MessageFormatVersion.v4,
|
|
65
70
|
MessageFormatVersion.v6,
|
|
66
71
|
MessageFormatVersion.vSharedBranches,
|
|
72
|
+
MessageFormatVersion.vDetachedRoots,
|
|
67
73
|
]);
|
|
68
74
|
export const messageFormatVersions: ReadonlySet<MessageFormatVersion> = new Set(
|
|
69
75
|
Object.values(MessageFormatVersion),
|
|
@@ -39,7 +39,8 @@ export interface Message {
|
|
|
39
39
|
| typeof MessageFormatVersion.v2
|
|
40
40
|
| typeof MessageFormatVersion.v3
|
|
41
41
|
| typeof MessageFormatVersion.v4
|
|
42
|
-
| typeof MessageFormatVersion.v6
|
|
42
|
+
| typeof MessageFormatVersion.v6
|
|
43
|
+
| typeof MessageFormatVersion.vDetachedRoots;
|
|
43
44
|
}
|
|
44
45
|
|
|
45
46
|
// Return type is intentionally derived.
|
|
@@ -56,6 +57,7 @@ export const Message = <ChangeSchema extends TSchema>(tChange: ChangeSchema) =>
|
|
|
56
57
|
Type.Literal(MessageFormatVersion.v3),
|
|
57
58
|
Type.Literal(MessageFormatVersion.v4),
|
|
58
59
|
Type.Literal(MessageFormatVersion.v6),
|
|
60
|
+
Type.Literal(MessageFormatVersion.vDetachedRoots),
|
|
59
61
|
]),
|
|
60
62
|
),
|
|
61
63
|
});
|
|
@@ -80,7 +80,9 @@ export interface ClonableSchemaAndPolicy extends SchemaAndPolicy {
|
|
|
80
80
|
export interface SharedTreeCoreOptionsInternal
|
|
81
81
|
extends CodecWriteOptions,
|
|
82
82
|
EditManagerCodecOptions,
|
|
83
|
-
MessageCodecOptions {
|
|
83
|
+
MessageCodecOptions {
|
|
84
|
+
readonly enableDetachedRootEditing: boolean;
|
|
85
|
+
}
|
|
84
86
|
|
|
85
87
|
export interface EnrichmentConfig<TChange> {
|
|
86
88
|
readonly enricher: ChangeEnricher<TChange>;
|
|
@@ -180,6 +182,7 @@ export class SharedTreeCore<TEditor extends ChangeFamilyEditor, TChange>
|
|
|
180
182
|
localSessionId,
|
|
181
183
|
this.mintRevisionTag,
|
|
182
184
|
(branchId) => this.registerSharedBranch(branchId),
|
|
185
|
+
options,
|
|
183
186
|
rebaseLogger,
|
|
184
187
|
);
|
|
185
188
|
|