@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
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { assert, unreachableCase, fail } from "@fluidframework/core-utils/internal";
|
|
6
6
|
import { areEqualChangeAtomIdOpts, areEqualChangeAtomIds, makeChangeAtomId, } from "../../core/index.js";
|
|
7
|
-
import { brand } from "../../util/index.js";
|
|
8
|
-
import {
|
|
7
|
+
import { areAdjacentIntegerRanges, brand } from "../../util/index.js";
|
|
8
|
+
import { NodeMoveType, } from "../modular-schema/index.js";
|
|
9
9
|
import { NoopMarkType, } from "./types.js";
|
|
10
10
|
export function isEmpty(change) {
|
|
11
11
|
for (const mark of change) {
|
|
@@ -21,22 +21,14 @@ export function createEmpty() {
|
|
|
21
21
|
export function getNestedChanges(change) {
|
|
22
22
|
const output = [];
|
|
23
23
|
let inputIndex = 0;
|
|
24
|
-
let outputIndex = 0;
|
|
25
24
|
for (const mark of change) {
|
|
26
25
|
const { changes, count } = mark;
|
|
27
26
|
if (changes !== undefined) {
|
|
28
|
-
output.push([
|
|
29
|
-
changes,
|
|
30
|
-
areInputCellsEmpty(mark) ? undefined : inputIndex /* inputIndex */,
|
|
31
|
-
areOutputCellsEmpty(mark) ? undefined : outputIndex /* outputIndex */,
|
|
32
|
-
]);
|
|
27
|
+
output.push([changes, inputIndex]);
|
|
33
28
|
}
|
|
34
29
|
if (!areInputCellsEmpty(mark)) {
|
|
35
30
|
inputIndex += count;
|
|
36
31
|
}
|
|
37
|
-
if (!areOutputCellsEmpty(mark)) {
|
|
38
|
-
outputIndex += count;
|
|
39
|
-
}
|
|
40
32
|
}
|
|
41
33
|
return output;
|
|
42
34
|
}
|
|
@@ -44,19 +36,15 @@ export function isNewAttach(mark, revision) {
|
|
|
44
36
|
return isNewAttachEffect(mark, mark.cellId, revision);
|
|
45
37
|
}
|
|
46
38
|
export function isNewAttachEffect(effect, cellId, revision) {
|
|
47
|
-
return (
|
|
39
|
+
return (isAttach(effect) &&
|
|
48
40
|
cellId !== undefined &&
|
|
49
|
-
(effect.revision ?? revision) === (cellId.revision ?? revision))
|
|
50
|
-
(isAttachAndDetachEffect(effect) && isNewAttachEffect(effect.attach, cellId, revision)));
|
|
41
|
+
(effect.revision ?? revision) === (cellId.revision ?? revision));
|
|
51
42
|
}
|
|
52
43
|
export function isRename(mark) {
|
|
53
44
|
return mark.type === "Rename";
|
|
54
45
|
}
|
|
55
|
-
export function isInsert(mark) {
|
|
56
|
-
return mark.type === "Insert";
|
|
57
|
-
}
|
|
58
46
|
export function isAttach(effect) {
|
|
59
|
-
return effect.type === "
|
|
47
|
+
return effect.type === "Attach";
|
|
60
48
|
}
|
|
61
49
|
export function isReattach(mark) {
|
|
62
50
|
return isReattachEffect(mark, mark.cellId);
|
|
@@ -74,16 +62,24 @@ export function getInputCellId(mark) {
|
|
|
74
62
|
return mark.cellId;
|
|
75
63
|
}
|
|
76
64
|
export function getOutputCellId(mark) {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
65
|
+
const type = mark.type;
|
|
66
|
+
switch (type) {
|
|
67
|
+
case NoopMarkType: {
|
|
68
|
+
return getInputCellId(mark);
|
|
69
|
+
}
|
|
70
|
+
case "Attach": {
|
|
71
|
+
return undefined;
|
|
72
|
+
}
|
|
73
|
+
case "Detach": {
|
|
74
|
+
return getDetachOutputCellId(mark);
|
|
75
|
+
}
|
|
76
|
+
case "Rename": {
|
|
77
|
+
return mark.idOverride;
|
|
78
|
+
}
|
|
79
|
+
default: {
|
|
80
|
+
unreachableCase(type);
|
|
81
|
+
}
|
|
85
82
|
}
|
|
86
|
-
return getInputCellId(mark);
|
|
87
83
|
}
|
|
88
84
|
export function cellSourcesFromMarks(marks, contextGetter) {
|
|
89
85
|
const set = new Set();
|
|
@@ -166,138 +162,78 @@ export function compareCellPositionsUsingTombstones(oldMarkCell, newMarkCell, ol
|
|
|
166
162
|
assert(oldMarkCell.revision !== undefined, 0x8a1 /* Old mark cell should have a revision */);
|
|
167
163
|
// Note that these indices are for ordering the revisions in which the cells were named, not the revisions
|
|
168
164
|
// of the changesets in which the marks targeting these cells appear.
|
|
169
|
-
const
|
|
170
|
-
const newCellRevisionIndex = metadata.getIndex(newMarkCell.revision);
|
|
165
|
+
const revisionComparison = metadata.compareRevisions(oldMarkCell.revision, newMarkCell.revision);
|
|
171
166
|
// If the metadata defines an ordering for the revisions then the cell from the newer revision comes first.
|
|
172
|
-
if (
|
|
173
|
-
return
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
// The same scenario can arise in the context of compose (just consider composing `old'` and `new'` from
|
|
198
|
-
// the examples above) with the same resolution.
|
|
199
|
-
assert(false, 0x8a2 /* Invalid cell ordering scenario */);
|
|
200
|
-
}
|
|
201
|
-
// The absence of metadata for a cell with a defined revision means that the cell is from a revision that
|
|
202
|
-
// predates the edits that are within the scope of the metadata. Such a cell is therefore older than the one
|
|
203
|
-
// for which we do have metadata.
|
|
204
|
-
return oldCellRevisionIndex === undefined ? CellOrder.NewThenOld : CellOrder.OldThenNew;
|
|
167
|
+
if (revisionComparison !== 0) {
|
|
168
|
+
return revisionComparison > 0 ? CellOrder.NewThenOld : CellOrder.OldThenNew;
|
|
169
|
+
}
|
|
170
|
+
// While it is possible for both marks to refer to cells that were named in revisions that are outside
|
|
171
|
+
// the scope of the metadata, such a scenario should be handled above due to the fact that one of the two
|
|
172
|
+
// changesets should have tombstones or marks for both cells.
|
|
173
|
+
//
|
|
174
|
+
// To see this in the context of rebase, we must consider the lowest common ancestor (LCA) of each change's
|
|
175
|
+
// original (i.e., unrebased) edit with the head of the branch they will both reside on after the rebase.
|
|
176
|
+
// ...─(Ti)─...─(Tj)─...─(old')─(new') <- branch both change will reside on after rebase
|
|
177
|
+
// | └─...─(new)
|
|
178
|
+
// └─...─(old)
|
|
179
|
+
// In the diagram above we can see that by the time `new` is being rebased over `old`, both changesets have
|
|
180
|
+
// been rebased over, and therefore have cell information for, changes `Tj` onwards. This means that one of
|
|
181
|
+
// The two changesets (the `old` one in the diagram above) will have tombstones or marks for any cells that
|
|
182
|
+
// `new` refers to so long as those cells were not created on `new`'s branch.
|
|
183
|
+
// Note that the change that contains the superset of cells (again, ignoring cells created on the other
|
|
184
|
+
// change's branch) is not always the older change. Consider the following scenario:
|
|
185
|
+
// ...─(Ti)─...─(Tj)─...─(old')─(new')
|
|
186
|
+
// | └─...─(old)
|
|
187
|
+
// └─...─(new)
|
|
188
|
+
//
|
|
189
|
+
// The same scenario can arise in the context of compose (just consider composing `old'` and `new'` from
|
|
190
|
+
// the examples above) with the same resolution.
|
|
191
|
+
assert(false, 0x8a2 /* Invalid cell ordering scenario */);
|
|
205
192
|
}
|
|
206
193
|
}
|
|
207
194
|
/**
|
|
208
195
|
* Gets the ID of the cell in the output context of the given detach `mark`.
|
|
209
196
|
*/
|
|
210
197
|
export function getDetachOutputCellId(mark) {
|
|
211
|
-
if (
|
|
212
|
-
return mark.
|
|
198
|
+
if (mark.cellRename !== undefined) {
|
|
199
|
+
return mark.cellRename;
|
|
213
200
|
}
|
|
214
|
-
if (mark.
|
|
215
|
-
return mark.
|
|
201
|
+
if (mark.detachCellId !== undefined) {
|
|
202
|
+
return mark.detachCellId;
|
|
216
203
|
}
|
|
217
|
-
return mark
|
|
218
|
-
|
|
219
|
-
|
|
204
|
+
return getDetachedRootId(mark);
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Gets the ID of the node to be attached in the input context of the given detach `mark`.
|
|
208
|
+
*/
|
|
209
|
+
export function getAttachedRootId(mark) {
|
|
210
|
+
return makeChangeAtomId(mark.id, mark.revision);
|
|
220
211
|
}
|
|
221
212
|
/**
|
|
222
213
|
* Gets the ID of the detached node in the output context of the given detach `mark`.
|
|
223
214
|
*/
|
|
224
|
-
export function
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
}
|
|
230
|
-
case "MoveOut": {
|
|
231
|
-
return makeChangeAtomId(mark.id, mark.revision);
|
|
232
|
-
}
|
|
233
|
-
default: {
|
|
234
|
-
unreachableCase(mark);
|
|
235
|
-
}
|
|
236
|
-
}
|
|
215
|
+
export function getDetachedRootId(mark) {
|
|
216
|
+
return makeChangeAtomId(mark.id, mark.revision);
|
|
217
|
+
}
|
|
218
|
+
export function getMovedNodeId(mark) {
|
|
219
|
+
return makeChangeAtomId(mark.id, mark.revision);
|
|
237
220
|
}
|
|
238
221
|
/**
|
|
239
222
|
* Preserves the semantics of the given `mark` but repackages it into a `DetachOfRemovedNodes` when possible.
|
|
240
223
|
*/
|
|
241
224
|
export function normalizeCellRename(cellId, count, attach, detach) {
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
// because the resulting Rename may be rebased over other changes that rename the input cell,
|
|
248
|
-
// eventually leading to an impactful rename.
|
|
249
|
-
return {
|
|
250
|
-
type: "Rename",
|
|
251
|
-
count,
|
|
252
|
-
cellId,
|
|
253
|
-
idOverride: outputId,
|
|
254
|
-
};
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
else {
|
|
258
|
-
// Normalization: when the attach is an insert/revive, we rely on the implicit reviving semantics of the
|
|
259
|
-
// detach instead of using an explicit revive effect in an AttachAndDetach
|
|
260
|
-
return {
|
|
261
|
-
...detach,
|
|
262
|
-
count,
|
|
263
|
-
cellId,
|
|
264
|
-
};
|
|
265
|
-
}
|
|
225
|
+
const outputId = getDetachOutputCellId(detach);
|
|
226
|
+
// Note that the output ID may be the same as the cellId. In such a scenario,
|
|
227
|
+
// we output an (impact-less) Rename mark anyway (as opposed to a Skip)
|
|
228
|
+
// because the resulting Rename may be rebased over other changes that rename the input cell,
|
|
229
|
+
// eventually leading to an impactful rename.
|
|
266
230
|
return {
|
|
267
|
-
type: "
|
|
268
|
-
attach,
|
|
269
|
-
detach,
|
|
231
|
+
type: "Rename",
|
|
270
232
|
count,
|
|
271
233
|
cellId,
|
|
234
|
+
idOverride: outputId,
|
|
272
235
|
};
|
|
273
236
|
}
|
|
274
|
-
/**
|
|
275
|
-
* Preserves the semantics of the given `mark` but repackages it into an `AttachAndDetach` mark if it is not already one.
|
|
276
|
-
*/
|
|
277
|
-
export function asAttachAndDetach(mark) {
|
|
278
|
-
if (mark.type === "AttachAndDetach") {
|
|
279
|
-
return mark;
|
|
280
|
-
}
|
|
281
|
-
const { cellId, count, changes, revision, ...effect } = mark;
|
|
282
|
-
const attachAndDetach = {
|
|
283
|
-
type: "AttachAndDetach",
|
|
284
|
-
count,
|
|
285
|
-
cellId,
|
|
286
|
-
attach: {
|
|
287
|
-
type: "Insert",
|
|
288
|
-
id: mark.id,
|
|
289
|
-
},
|
|
290
|
-
detach: effect,
|
|
291
|
-
};
|
|
292
|
-
if (changes !== undefined) {
|
|
293
|
-
attachAndDetach.changes = changes;
|
|
294
|
-
}
|
|
295
|
-
if (revision !== undefined) {
|
|
296
|
-
attachAndDetach.attach.revision = revision;
|
|
297
|
-
attachAndDetach.detach.revision = revision;
|
|
298
|
-
}
|
|
299
|
-
return attachAndDetach;
|
|
300
|
-
}
|
|
301
237
|
export function cloneMark(mark) {
|
|
302
238
|
const clone = { ...cloneMarkEffect(mark), count: mark.count };
|
|
303
239
|
if (mark.cellId !== undefined) {
|
|
@@ -307,10 +243,6 @@ export function cloneMark(mark) {
|
|
|
307
243
|
}
|
|
308
244
|
export function cloneMarkEffect(effect) {
|
|
309
245
|
const clone = { ...effect };
|
|
310
|
-
if (clone.type === "AttachAndDetach") {
|
|
311
|
-
clone.attach = cloneMarkEffect(clone.attach);
|
|
312
|
-
clone.detach = cloneMarkEffect(clone.detach);
|
|
313
|
-
}
|
|
314
246
|
return clone;
|
|
315
247
|
}
|
|
316
248
|
export function cloneCellId(id) {
|
|
@@ -342,15 +274,6 @@ export function markFillsCells(mark) {
|
|
|
342
274
|
export function markHasCellEffect(mark) {
|
|
343
275
|
return areInputCellsEmpty(mark) !== areOutputCellsEmpty(mark);
|
|
344
276
|
}
|
|
345
|
-
export function isAttachAndDetachEffect(effect) {
|
|
346
|
-
return effect.type === "AttachAndDetach";
|
|
347
|
-
}
|
|
348
|
-
export function isDetachOfRemovedNodes(mark) {
|
|
349
|
-
return isDetach(mark) && mark.cellId !== undefined;
|
|
350
|
-
}
|
|
351
|
-
export function isImpactfulCellRename(mark) {
|
|
352
|
-
return (isAttachAndDetachEffect(mark) || isDetachOfRemovedNodes(mark)) && isImpactful(mark);
|
|
353
|
-
}
|
|
354
277
|
export function areInputCellsEmpty(mark) {
|
|
355
278
|
return mark.cellId !== undefined;
|
|
356
279
|
}
|
|
@@ -360,14 +283,11 @@ export function areOutputCellsEmpty(mark) {
|
|
|
360
283
|
case NoopMarkType: {
|
|
361
284
|
return mark.cellId !== undefined;
|
|
362
285
|
}
|
|
363
|
-
case "
|
|
364
|
-
case "Rename":
|
|
365
|
-
case "MoveOut":
|
|
366
|
-
case "AttachAndDetach": {
|
|
286
|
+
case "Detach":
|
|
287
|
+
case "Rename": {
|
|
367
288
|
return true;
|
|
368
289
|
}
|
|
369
|
-
case "
|
|
370
|
-
case "Insert": {
|
|
290
|
+
case "Attach": {
|
|
371
291
|
return false;
|
|
372
292
|
}
|
|
373
293
|
default: {
|
|
@@ -375,19 +295,6 @@ export function areOutputCellsEmpty(mark) {
|
|
|
375
295
|
}
|
|
376
296
|
}
|
|
377
297
|
}
|
|
378
|
-
/**
|
|
379
|
-
* Creates a mark that is equivalent to the given `mark` but with effects removed if those have no impact in the input
|
|
380
|
-
* context of that mark.
|
|
381
|
-
*
|
|
382
|
-
* @param mark - The mark to settle. Never mutated.
|
|
383
|
-
* @returns either the original mark or a shallow clone of it with effects stripped out.
|
|
384
|
-
*/
|
|
385
|
-
export function settleMark(mark) {
|
|
386
|
-
if (isImpactful(mark)) {
|
|
387
|
-
return mark;
|
|
388
|
-
}
|
|
389
|
-
return omitMarkEffect(mark);
|
|
390
|
-
}
|
|
391
298
|
/**
|
|
392
299
|
* Returns true if and only iff the given `mark` would have impact on the field when applied.
|
|
393
300
|
*
|
|
@@ -404,7 +311,7 @@ export function isImpactful(mark) {
|
|
|
404
311
|
case "Rename": {
|
|
405
312
|
return true;
|
|
406
313
|
}
|
|
407
|
-
case "
|
|
314
|
+
case "Detach": {
|
|
408
315
|
const inputId = getInputCellId(mark);
|
|
409
316
|
if (inputId === undefined) {
|
|
410
317
|
return true;
|
|
@@ -413,16 +320,7 @@ export function isImpactful(mark) {
|
|
|
413
320
|
assert(outputId !== undefined, 0x824 /* Remove marks must have an output cell ID */);
|
|
414
321
|
return !areEqualChangeAtomIds(inputId, outputId);
|
|
415
322
|
}
|
|
416
|
-
case "
|
|
417
|
-
case "MoveOut": {
|
|
418
|
-
return true;
|
|
419
|
-
}
|
|
420
|
-
case "MoveIn": {
|
|
421
|
-
// MoveIn marks always target an empty cell.
|
|
422
|
-
assert(mark.cellId !== undefined, 0x825 /* MoveIn marks should target empty cells */);
|
|
423
|
-
return true;
|
|
424
|
-
}
|
|
425
|
-
case "Insert": {
|
|
323
|
+
case "Attach": {
|
|
426
324
|
// A Revive has no impact if the nodes are already in the document.
|
|
427
325
|
return mark.cellId !== undefined;
|
|
428
326
|
}
|
|
@@ -451,25 +349,20 @@ export function compareCellsFromSameRevision(cell1, count1, cell2, count2) {
|
|
|
451
349
|
}
|
|
452
350
|
export function isDetach(mark) {
|
|
453
351
|
const type = mark?.type;
|
|
454
|
-
return type === "
|
|
352
|
+
return type === "Detach";
|
|
353
|
+
}
|
|
354
|
+
export function isPin(mark) {
|
|
355
|
+
return mark?.type === "Attach" && mark.cellId === undefined;
|
|
455
356
|
}
|
|
456
357
|
export function isRemoveMark(mark) {
|
|
457
|
-
return mark?.type === "
|
|
358
|
+
return mark?.type === "Detach";
|
|
458
359
|
}
|
|
459
|
-
function areMergeableChangeAtoms(lhs, lhsCount, rhs) {
|
|
360
|
+
export function areMergeableChangeAtoms(lhs, lhsCount, rhs) {
|
|
460
361
|
if (lhs === undefined || rhs === undefined) {
|
|
461
362
|
return lhs === undefined && rhs === undefined;
|
|
462
363
|
}
|
|
463
|
-
return (lhs.revision === rhs.revision &&
|
|
464
|
-
|
|
465
|
-
function areAdjacentIdRanges(firstStart, firstLength, secondStart) {
|
|
466
|
-
return firstStart + firstLength === secondStart;
|
|
467
|
-
}
|
|
468
|
-
function haveMergeableIdOverrides(lhs, lhsCount, rhs) {
|
|
469
|
-
if (lhs.idOverride !== undefined && rhs.idOverride !== undefined) {
|
|
470
|
-
return areMergeableCellIds(lhs.idOverride, lhsCount, rhs.idOverride);
|
|
471
|
-
}
|
|
472
|
-
return (lhs.idOverride === undefined) === (rhs.idOverride === undefined);
|
|
364
|
+
return (lhs.revision === rhs.revision &&
|
|
365
|
+
areAdjacentIntegerRanges(lhs.localId, lhsCount, rhs.localId));
|
|
473
366
|
}
|
|
474
367
|
function areMergeableCellIds(lhs, lhsCount, rhs) {
|
|
475
368
|
return areMergeableChangeAtoms(lhs, lhsCount, rhs);
|
|
@@ -504,59 +397,36 @@ function tryMergeEffects(lhs, rhs, lhsCount) {
|
|
|
504
397
|
if (rhs.type === NoopMarkType) {
|
|
505
398
|
return lhs;
|
|
506
399
|
}
|
|
507
|
-
if (rhs.type === "AttachAndDetach") {
|
|
508
|
-
const lhsAttachAndDetach = lhs;
|
|
509
|
-
const attach = tryMergeEffects(lhsAttachAndDetach.attach, rhs.attach, lhsCount);
|
|
510
|
-
const detach = tryMergeEffects(lhsAttachAndDetach.detach, rhs.detach, lhsCount);
|
|
511
|
-
if (attach === undefined || detach === undefined) {
|
|
512
|
-
return undefined;
|
|
513
|
-
}
|
|
514
|
-
assert(isAttach(attach) && isDetach(detach), 0x826 /* Merged marks should be same type as input marks */);
|
|
515
|
-
return { ...lhsAttachAndDetach, attach, detach };
|
|
516
|
-
}
|
|
517
400
|
if (lhs.revision !== rhs.revision) {
|
|
518
401
|
return undefined;
|
|
519
402
|
}
|
|
520
|
-
if (isDetach(lhs) &&
|
|
403
|
+
if (isDetach(lhs) &&
|
|
404
|
+
isDetach(rhs) &&
|
|
405
|
+
!areMergeableChangeAtoms(lhs.cellRename, lhsCount, rhs.cellRename)) {
|
|
521
406
|
return undefined;
|
|
522
407
|
}
|
|
523
408
|
const type = rhs.type;
|
|
524
409
|
switch (type) {
|
|
525
|
-
case "
|
|
526
|
-
const lhsMoveIn = lhs;
|
|
527
|
-
if (lhsMoveIn.id + lhsCount === rhs.id &&
|
|
528
|
-
areMergeableChangeAtoms(lhsMoveIn.finalEndpoint, lhsCount, rhs.finalEndpoint)) {
|
|
529
|
-
return lhsMoveIn;
|
|
530
|
-
}
|
|
531
|
-
break;
|
|
532
|
-
}
|
|
533
|
-
case "Remove": {
|
|
410
|
+
case "Detach": {
|
|
534
411
|
const lhsDetach = lhs;
|
|
535
412
|
if (lhsDetach.id + lhsCount === rhs.id &&
|
|
536
|
-
|
|
413
|
+
areMergeableChangeAtoms(lhsDetach.cellRename, lhsCount, rhs.cellRename) &&
|
|
414
|
+
areMergeableChangeAtoms(lhsDetach.detachCellId, lhsCount, rhs.detachCellId)) {
|
|
537
415
|
return lhsDetach;
|
|
538
416
|
}
|
|
539
417
|
break;
|
|
540
418
|
}
|
|
541
419
|
case "Rename": {
|
|
542
420
|
const lhsDetach = lhs;
|
|
543
|
-
if (
|
|
421
|
+
if (areMergeableChangeAtoms(lhsDetach.idOverride, lhsCount, rhs.idOverride)) {
|
|
544
422
|
return lhsDetach;
|
|
545
423
|
}
|
|
546
424
|
break;
|
|
547
425
|
}
|
|
548
|
-
case "
|
|
549
|
-
const lhsMoveOut = lhs;
|
|
550
|
-
if (lhsMoveOut.id + lhsCount === rhs.id &&
|
|
551
|
-
haveMergeableIdOverrides(lhsMoveOut, lhsCount, rhs) &&
|
|
552
|
-
areMergeableChangeAtoms(lhsMoveOut.finalEndpoint, lhsCount, rhs.finalEndpoint)) {
|
|
553
|
-
return lhsMoveOut;
|
|
554
|
-
}
|
|
555
|
-
break;
|
|
556
|
-
}
|
|
557
|
-
case "Insert": {
|
|
426
|
+
case "Attach": {
|
|
558
427
|
const lhsInsert = lhs;
|
|
559
|
-
if (lhsInsert.id + lhsCount === rhs.id
|
|
428
|
+
if (lhsInsert.id + lhsCount === rhs.id &&
|
|
429
|
+
areMergeableChangeAtoms(lhsInsert.detachCellId, lhsCount, rhs.detachCellId)) {
|
|
560
430
|
return lhsInsert;
|
|
561
431
|
}
|
|
562
432
|
break;
|
|
@@ -599,7 +469,7 @@ export function splitMarkEffect(effect, length) {
|
|
|
599
469
|
case NoopMarkType: {
|
|
600
470
|
return [effect, effect];
|
|
601
471
|
}
|
|
602
|
-
case "
|
|
472
|
+
case "Attach": {
|
|
603
473
|
const effect1 = {
|
|
604
474
|
...effect,
|
|
605
475
|
};
|
|
@@ -607,23 +477,21 @@ export function splitMarkEffect(effect, length) {
|
|
|
607
477
|
...effect,
|
|
608
478
|
id: effect.id + length,
|
|
609
479
|
};
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
case "MoveIn": {
|
|
613
|
-
const effect2 = { ...effect, id: effect.id + length };
|
|
614
|
-
const move2 = effect2;
|
|
615
|
-
if (move2.finalEndpoint !== undefined) {
|
|
616
|
-
move2.finalEndpoint = splitDetachEvent(move2.finalEndpoint, length);
|
|
480
|
+
if (effect.detachCellId !== undefined) {
|
|
481
|
+
effect2.detachCellId = splitDetachEvent(effect.detachCellId, length);
|
|
617
482
|
}
|
|
618
|
-
return [
|
|
483
|
+
return [effect1, effect2];
|
|
619
484
|
}
|
|
620
|
-
case "
|
|
485
|
+
case "Detach": {
|
|
621
486
|
const effect1 = { ...effect };
|
|
622
487
|
const id2 = brand(effect.id + length);
|
|
623
488
|
const effect2 = { ...effect, id: id2 };
|
|
624
489
|
const effect2Remove = effect2;
|
|
625
|
-
if (effect2Remove.
|
|
626
|
-
effect2Remove.
|
|
490
|
+
if (effect2Remove.cellRename !== undefined) {
|
|
491
|
+
effect2Remove.cellRename = splitDetachEvent(effect2Remove.cellRename, length);
|
|
492
|
+
}
|
|
493
|
+
if (effect2Remove.detachCellId !== undefined) {
|
|
494
|
+
effect2Remove.detachCellId = splitDetachEvent(effect2Remove.detachCellId, length);
|
|
627
495
|
}
|
|
628
496
|
return [effect1, effect2];
|
|
629
497
|
}
|
|
@@ -636,35 +504,6 @@ export function splitMarkEffect(effect, length) {
|
|
|
636
504
|
}
|
|
637
505
|
return [effect1, effect2];
|
|
638
506
|
}
|
|
639
|
-
case "MoveOut": {
|
|
640
|
-
const effect2 = {
|
|
641
|
-
...effect,
|
|
642
|
-
id: effect.id + length,
|
|
643
|
-
};
|
|
644
|
-
const return2 = effect2;
|
|
645
|
-
if (return2.idOverride !== undefined) {
|
|
646
|
-
return2.idOverride = splitDetachEvent(return2.idOverride, length);
|
|
647
|
-
}
|
|
648
|
-
if (return2.finalEndpoint !== undefined) {
|
|
649
|
-
return2.finalEndpoint = splitDetachEvent(return2.finalEndpoint, length);
|
|
650
|
-
}
|
|
651
|
-
return [effect, effect2];
|
|
652
|
-
}
|
|
653
|
-
case "AttachAndDetach": {
|
|
654
|
-
const [attach1, attach2] = splitMarkEffect(effect.attach, length);
|
|
655
|
-
const [detach1, detach2] = splitMarkEffect(effect.detach, length);
|
|
656
|
-
const effect1 = {
|
|
657
|
-
...effect,
|
|
658
|
-
attach: attach1,
|
|
659
|
-
detach: detach1,
|
|
660
|
-
};
|
|
661
|
-
const effect2 = {
|
|
662
|
-
...effect,
|
|
663
|
-
attach: attach2,
|
|
664
|
-
detach: detach2,
|
|
665
|
-
};
|
|
666
|
-
return [effect1, effect2];
|
|
667
|
-
}
|
|
668
507
|
default: {
|
|
669
508
|
unreachableCase(type);
|
|
670
509
|
}
|
|
@@ -717,81 +556,84 @@ function addRevision(effect, revision) {
|
|
|
717
556
|
if (effect.type === NoopMarkType || isRename(effect)) {
|
|
718
557
|
return;
|
|
719
558
|
}
|
|
720
|
-
if (effect.type === "AttachAndDetach") {
|
|
721
|
-
addRevision(effect.attach, revision);
|
|
722
|
-
addRevision(effect.detach, revision);
|
|
723
|
-
return;
|
|
724
|
-
}
|
|
725
559
|
assert(effect.revision === undefined || effect.revision === revision, 0x829 /* Should not overwrite mark revision */);
|
|
726
560
|
effect.revision = revision;
|
|
727
561
|
}
|
|
728
|
-
export function getEndpoint(effect) {
|
|
729
|
-
return effect.finalEndpoint ?? { revision: effect.revision, localId: effect.id };
|
|
730
|
-
}
|
|
731
562
|
export function getCrossFieldKeys(change) {
|
|
732
563
|
const keys = [];
|
|
733
564
|
for (const mark of change) {
|
|
734
|
-
keys.push(...
|
|
565
|
+
keys.push(...getCrossFieldKeysForMark(mark, mark.count));
|
|
735
566
|
}
|
|
736
567
|
return keys;
|
|
737
568
|
}
|
|
738
|
-
function
|
|
739
|
-
switch (
|
|
740
|
-
case "
|
|
741
|
-
|
|
742
|
-
// An insert can become a move when after rebasing.
|
|
743
|
-
return [
|
|
744
|
-
{
|
|
745
|
-
key: {
|
|
746
|
-
target: CrossFieldTarget.Source,
|
|
747
|
-
revision: effect.revision,
|
|
748
|
-
localId: effect.id,
|
|
749
|
-
},
|
|
750
|
-
count,
|
|
751
|
-
},
|
|
569
|
+
function getCrossFieldKeysForMark(mark, count) {
|
|
570
|
+
switch (mark.type) {
|
|
571
|
+
case "Attach": {
|
|
572
|
+
const keys = [
|
|
752
573
|
{
|
|
753
574
|
key: {
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
575
|
+
revision: mark.revision,
|
|
576
|
+
localId: mark.id,
|
|
577
|
+
target: NodeMoveType.Attach,
|
|
757
578
|
},
|
|
758
579
|
count,
|
|
759
580
|
},
|
|
760
581
|
];
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
key: {
|
|
766
|
-
target: CrossFieldTarget.Source,
|
|
767
|
-
revision: effect.revision,
|
|
768
|
-
localId: effect.id,
|
|
769
|
-
},
|
|
582
|
+
if (mark.cellId === undefined) {
|
|
583
|
+
// This is a pin, which is treated as a detach and attach.
|
|
584
|
+
keys.push({
|
|
585
|
+
key: { revision: mark.revision, localId: mark.id, target: NodeMoveType.Detach },
|
|
770
586
|
count,
|
|
771
|
-
}
|
|
772
|
-
|
|
587
|
+
});
|
|
588
|
+
}
|
|
589
|
+
return keys;
|
|
773
590
|
}
|
|
774
|
-
case "
|
|
591
|
+
case "Detach": {
|
|
775
592
|
return [
|
|
776
593
|
{
|
|
777
594
|
key: {
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
595
|
+
revision: mark.revision,
|
|
596
|
+
localId: mark.id,
|
|
597
|
+
target: NodeMoveType.Detach,
|
|
781
598
|
},
|
|
782
599
|
count,
|
|
783
600
|
},
|
|
784
601
|
];
|
|
785
602
|
}
|
|
786
|
-
case "AttachAndDetach": {
|
|
787
|
-
return [
|
|
788
|
-
...getCrossFieldKeysForMarkEffect(effect.attach, count),
|
|
789
|
-
...getCrossFieldKeysForMarkEffect(effect.detach, count),
|
|
790
|
-
];
|
|
791
|
-
}
|
|
792
603
|
default: {
|
|
793
604
|
return [];
|
|
794
605
|
}
|
|
795
606
|
}
|
|
796
607
|
}
|
|
608
|
+
export function getDetachCellIds(change, rootRenames) {
|
|
609
|
+
const entries = [];
|
|
610
|
+
for (const mark of change) {
|
|
611
|
+
if (mark.type === "Detach" && mark.detachCellId !== undefined) {
|
|
612
|
+
const detachId = getDetachedRootId(mark);
|
|
613
|
+
if (!areEqualChangeAtomIds(mark.detachCellId, detachId)) {
|
|
614
|
+
entries.push({ count: mark.count, detachId, cellId: mark.detachCellId });
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
else if (mark.type === "Rename") {
|
|
618
|
+
addDetachCellIdsForRename(mark, rootRenames, entries);
|
|
619
|
+
}
|
|
620
|
+
}
|
|
621
|
+
return entries;
|
|
622
|
+
}
|
|
623
|
+
function addDetachCellIdsForRename(mark, rootRenames, entries) {
|
|
624
|
+
assert(mark.cellId !== undefined, "Rename should not target a full cell");
|
|
625
|
+
const rootRenameEntry = rootRenames.getFirst(mark.cellId, mark.count);
|
|
626
|
+
const countProcessed = rootRenameEntry.length;
|
|
627
|
+
if (rootRenameEntry.value !== undefined &&
|
|
628
|
+
!areEqualChangeAtomIds(mark.idOverride, rootRenameEntry.value)) {
|
|
629
|
+
entries.push({
|
|
630
|
+
cellId: mark.cellId,
|
|
631
|
+
detachId: rootRenameEntry.value,
|
|
632
|
+
count: countProcessed,
|
|
633
|
+
});
|
|
634
|
+
}
|
|
635
|
+
if (countProcessed < mark.count) {
|
|
636
|
+
addDetachCellIdsForRename(splitMark(mark, countProcessed)[1], rootRenames, entries);
|
|
637
|
+
}
|
|
638
|
+
}
|
|
797
639
|
//# sourceMappingURL=utils.js.map
|