@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,7 @@
|
|
|
4
4
|
* Licensed under the MIT License.
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.
|
|
8
|
-
exports.getCrossFieldKeys = void 0;
|
|
7
|
+
exports.getDetachCellIds = exports.getCrossFieldKeys = exports.withRevision = exports.withNodeChange = exports.omitMarkEffect = exports.extractMarkEffect = exports.splitMarkEffect = exports.splitMark = exports.tryMergeMarks = exports.areMergeableChangeAtoms = exports.isRemoveMark = exports.isPin = exports.isDetach = exports.compareCellsFromSameRevision = exports.areOverlappingIdRanges = exports.isNoopMark = exports.isTombstone = exports.isImpactful = exports.areOutputCellsEmpty = exports.areInputCellsEmpty = exports.markHasCellEffect = exports.markFillsCells = exports.markEmptiesCells = exports.getInputLength = exports.getOutputLength = exports.cloneCellId = exports.cloneMarkEffect = exports.cloneMark = exports.normalizeCellRename = exports.getMovedNodeId = exports.getDetachedRootId = exports.getAttachedRootId = exports.getDetachOutputCellId = exports.compareCellPositionsUsingTombstones = exports.CellOrder = exports.cellSourcesFromMarks = exports.getOutputCellId = exports.getInputCellId = exports.areEqualCellIds = exports.isActiveReattach = exports.isReattachEffect = exports.isReattach = exports.isAttach = exports.isRename = exports.isNewAttachEffect = exports.isNewAttach = exports.getNestedChanges = exports.createEmpty = exports.isEmpty = void 0;
|
|
9
8
|
const internal_1 = require("@fluidframework/core-utils/internal");
|
|
10
9
|
const index_js_1 = require("../../core/index.js");
|
|
11
10
|
const index_js_2 = require("../../util/index.js");
|
|
@@ -27,22 +26,14 @@ exports.createEmpty = createEmpty;
|
|
|
27
26
|
function getNestedChanges(change) {
|
|
28
27
|
const output = [];
|
|
29
28
|
let inputIndex = 0;
|
|
30
|
-
let outputIndex = 0;
|
|
31
29
|
for (const mark of change) {
|
|
32
30
|
const { changes, count } = mark;
|
|
33
31
|
if (changes !== undefined) {
|
|
34
|
-
output.push([
|
|
35
|
-
changes,
|
|
36
|
-
areInputCellsEmpty(mark) ? undefined : inputIndex /* inputIndex */,
|
|
37
|
-
areOutputCellsEmpty(mark) ? undefined : outputIndex /* outputIndex */,
|
|
38
|
-
]);
|
|
32
|
+
output.push([changes, inputIndex]);
|
|
39
33
|
}
|
|
40
34
|
if (!areInputCellsEmpty(mark)) {
|
|
41
35
|
inputIndex += count;
|
|
42
36
|
}
|
|
43
|
-
if (!areOutputCellsEmpty(mark)) {
|
|
44
|
-
outputIndex += count;
|
|
45
|
-
}
|
|
46
37
|
}
|
|
47
38
|
return output;
|
|
48
39
|
}
|
|
@@ -52,22 +43,17 @@ function isNewAttach(mark, revision) {
|
|
|
52
43
|
}
|
|
53
44
|
exports.isNewAttach = isNewAttach;
|
|
54
45
|
function isNewAttachEffect(effect, cellId, revision) {
|
|
55
|
-
return (
|
|
46
|
+
return (isAttach(effect) &&
|
|
56
47
|
cellId !== undefined &&
|
|
57
|
-
(effect.revision ?? revision) === (cellId.revision ?? revision))
|
|
58
|
-
(isAttachAndDetachEffect(effect) && isNewAttachEffect(effect.attach, cellId, revision)));
|
|
48
|
+
(effect.revision ?? revision) === (cellId.revision ?? revision));
|
|
59
49
|
}
|
|
60
50
|
exports.isNewAttachEffect = isNewAttachEffect;
|
|
61
51
|
function isRename(mark) {
|
|
62
52
|
return mark.type === "Rename";
|
|
63
53
|
}
|
|
64
54
|
exports.isRename = isRename;
|
|
65
|
-
function isInsert(mark) {
|
|
66
|
-
return mark.type === "Insert";
|
|
67
|
-
}
|
|
68
|
-
exports.isInsert = isInsert;
|
|
69
55
|
function isAttach(effect) {
|
|
70
|
-
return effect.type === "
|
|
56
|
+
return effect.type === "Attach";
|
|
71
57
|
}
|
|
72
58
|
exports.isAttach = isAttach;
|
|
73
59
|
function isReattach(mark) {
|
|
@@ -91,16 +77,24 @@ function getInputCellId(mark) {
|
|
|
91
77
|
}
|
|
92
78
|
exports.getInputCellId = getInputCellId;
|
|
93
79
|
function getOutputCellId(mark) {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
80
|
+
const type = mark.type;
|
|
81
|
+
switch (type) {
|
|
82
|
+
case types_js_1.NoopMarkType: {
|
|
83
|
+
return getInputCellId(mark);
|
|
84
|
+
}
|
|
85
|
+
case "Attach": {
|
|
86
|
+
return undefined;
|
|
87
|
+
}
|
|
88
|
+
case "Detach": {
|
|
89
|
+
return getDetachOutputCellId(mark);
|
|
90
|
+
}
|
|
91
|
+
case "Rename": {
|
|
92
|
+
return mark.idOverride;
|
|
93
|
+
}
|
|
94
|
+
default: {
|
|
95
|
+
(0, internal_1.unreachableCase)(type);
|
|
96
|
+
}
|
|
102
97
|
}
|
|
103
|
-
return getInputCellId(mark);
|
|
104
98
|
}
|
|
105
99
|
exports.getOutputCellId = getOutputCellId;
|
|
106
100
|
function cellSourcesFromMarks(marks, contextGetter) {
|
|
@@ -185,42 +179,33 @@ function compareCellPositionsUsingTombstones(oldMarkCell, newMarkCell, oldChange
|
|
|
185
179
|
(0, internal_1.assert)(oldMarkCell.revision !== undefined, 0x8a1 /* Old mark cell should have a revision */);
|
|
186
180
|
// Note that these indices are for ordering the revisions in which the cells were named, not the revisions
|
|
187
181
|
// of the changesets in which the marks targeting these cells appear.
|
|
188
|
-
const
|
|
189
|
-
const newCellRevisionIndex = metadata.getIndex(newMarkCell.revision);
|
|
182
|
+
const revisionComparison = metadata.compareRevisions(oldMarkCell.revision, newMarkCell.revision);
|
|
190
183
|
// If the metadata defines an ordering for the revisions then the cell from the newer revision comes first.
|
|
191
|
-
if (
|
|
192
|
-
return
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
// The same scenario can arise in the context of compose (just consider composing `old'` and `new'` from
|
|
217
|
-
// the examples above) with the same resolution.
|
|
218
|
-
(0, internal_1.assert)(false, 0x8a2 /* Invalid cell ordering scenario */);
|
|
219
|
-
}
|
|
220
|
-
// The absence of metadata for a cell with a defined revision means that the cell is from a revision that
|
|
221
|
-
// predates the edits that are within the scope of the metadata. Such a cell is therefore older than the one
|
|
222
|
-
// for which we do have metadata.
|
|
223
|
-
return oldCellRevisionIndex === undefined ? CellOrder.NewThenOld : CellOrder.OldThenNew;
|
|
184
|
+
if (revisionComparison !== 0) {
|
|
185
|
+
return revisionComparison > 0 ? CellOrder.NewThenOld : CellOrder.OldThenNew;
|
|
186
|
+
}
|
|
187
|
+
// While it is possible for both marks to refer to cells that were named in revisions that are outside
|
|
188
|
+
// the scope of the metadata, such a scenario should be handled above due to the fact that one of the two
|
|
189
|
+
// changesets should have tombstones or marks for both cells.
|
|
190
|
+
//
|
|
191
|
+
// To see this in the context of rebase, we must consider the lowest common ancestor (LCA) of each change's
|
|
192
|
+
// original (i.e., unrebased) edit with the head of the branch they will both reside on after the rebase.
|
|
193
|
+
// ...─(Ti)─...─(Tj)─...─(old')─(new') <- branch both change will reside on after rebase
|
|
194
|
+
// | └─...─(new)
|
|
195
|
+
// └─...─(old)
|
|
196
|
+
// In the diagram above we can see that by the time `new` is being rebased over `old`, both changesets have
|
|
197
|
+
// been rebased over, and therefore have cell information for, changes `Tj` onwards. This means that one of
|
|
198
|
+
// The two changesets (the `old` one in the diagram above) will have tombstones or marks for any cells that
|
|
199
|
+
// `new` refers to so long as those cells were not created on `new`'s branch.
|
|
200
|
+
// Note that the change that contains the superset of cells (again, ignoring cells created on the other
|
|
201
|
+
// change's branch) is not always the older change. Consider the following scenario:
|
|
202
|
+
// ...─(Ti)─...─(Tj)─...─(old')─(new')
|
|
203
|
+
// | └─...─(old)
|
|
204
|
+
// └─...─(new)
|
|
205
|
+
//
|
|
206
|
+
// The same scenario can arise in the context of compose (just consider composing `old'` and `new'` from
|
|
207
|
+
// the examples above) with the same resolution.
|
|
208
|
+
(0, internal_1.assert)(false, 0x8a2 /* Invalid cell ordering scenario */);
|
|
224
209
|
}
|
|
225
210
|
}
|
|
226
211
|
exports.compareCellPositionsUsingTombstones = compareCellPositionsUsingTombstones;
|
|
@@ -228,100 +213,50 @@ exports.compareCellPositionsUsingTombstones = compareCellPositionsUsingTombstone
|
|
|
228
213
|
* Gets the ID of the cell in the output context of the given detach `mark`.
|
|
229
214
|
*/
|
|
230
215
|
function getDetachOutputCellId(mark) {
|
|
231
|
-
if (
|
|
232
|
-
return mark.
|
|
216
|
+
if (mark.cellRename !== undefined) {
|
|
217
|
+
return mark.cellRename;
|
|
233
218
|
}
|
|
234
|
-
if (mark.
|
|
235
|
-
return mark.
|
|
219
|
+
if (mark.detachCellId !== undefined) {
|
|
220
|
+
return mark.detachCellId;
|
|
236
221
|
}
|
|
237
|
-
return mark
|
|
238
|
-
? { localId: mark.id }
|
|
239
|
-
: { revision: mark.revision, localId: mark.id };
|
|
222
|
+
return getDetachedRootId(mark);
|
|
240
223
|
}
|
|
241
224
|
exports.getDetachOutputCellId = getDetachOutputCellId;
|
|
225
|
+
/**
|
|
226
|
+
* Gets the ID of the node to be attached in the input context of the given detach `mark`.
|
|
227
|
+
*/
|
|
228
|
+
function getAttachedRootId(mark) {
|
|
229
|
+
return (0, index_js_1.makeChangeAtomId)(mark.id, mark.revision);
|
|
230
|
+
}
|
|
231
|
+
exports.getAttachedRootId = getAttachedRootId;
|
|
242
232
|
/**
|
|
243
233
|
* Gets the ID of the detached node in the output context of the given detach `mark`.
|
|
244
234
|
*/
|
|
245
|
-
function
|
|
246
|
-
|
|
247
|
-
case "Rename":
|
|
248
|
-
case "Remove": {
|
|
249
|
-
return getDetachOutputCellId(mark);
|
|
250
|
-
}
|
|
251
|
-
case "MoveOut": {
|
|
252
|
-
return (0, index_js_1.makeChangeAtomId)(mark.id, mark.revision);
|
|
253
|
-
}
|
|
254
|
-
default: {
|
|
255
|
-
(0, internal_1.unreachableCase)(mark);
|
|
256
|
-
}
|
|
257
|
-
}
|
|
235
|
+
function getDetachedRootId(mark) {
|
|
236
|
+
return (0, index_js_1.makeChangeAtomId)(mark.id, mark.revision);
|
|
258
237
|
}
|
|
259
|
-
exports.
|
|
238
|
+
exports.getDetachedRootId = getDetachedRootId;
|
|
239
|
+
function getMovedNodeId(mark) {
|
|
240
|
+
return (0, index_js_1.makeChangeAtomId)(mark.id, mark.revision);
|
|
241
|
+
}
|
|
242
|
+
exports.getMovedNodeId = getMovedNodeId;
|
|
260
243
|
/**
|
|
261
244
|
* Preserves the semantics of the given `mark` but repackages it into a `DetachOfRemovedNodes` when possible.
|
|
262
245
|
*/
|
|
263
246
|
function normalizeCellRename(cellId, count, attach, detach) {
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
// because the resulting Rename may be rebased over other changes that rename the input cell,
|
|
270
|
-
// eventually leading to an impactful rename.
|
|
271
|
-
return {
|
|
272
|
-
type: "Rename",
|
|
273
|
-
count,
|
|
274
|
-
cellId,
|
|
275
|
-
idOverride: outputId,
|
|
276
|
-
};
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
else {
|
|
280
|
-
// Normalization: when the attach is an insert/revive, we rely on the implicit reviving semantics of the
|
|
281
|
-
// detach instead of using an explicit revive effect in an AttachAndDetach
|
|
282
|
-
return {
|
|
283
|
-
...detach,
|
|
284
|
-
count,
|
|
285
|
-
cellId,
|
|
286
|
-
};
|
|
287
|
-
}
|
|
247
|
+
const outputId = getDetachOutputCellId(detach);
|
|
248
|
+
// Note that the output ID may be the same as the cellId. In such a scenario,
|
|
249
|
+
// we output an (impact-less) Rename mark anyway (as opposed to a Skip)
|
|
250
|
+
// because the resulting Rename may be rebased over other changes that rename the input cell,
|
|
251
|
+
// eventually leading to an impactful rename.
|
|
288
252
|
return {
|
|
289
|
-
type: "
|
|
290
|
-
attach,
|
|
291
|
-
detach,
|
|
253
|
+
type: "Rename",
|
|
292
254
|
count,
|
|
293
255
|
cellId,
|
|
256
|
+
idOverride: outputId,
|
|
294
257
|
};
|
|
295
258
|
}
|
|
296
259
|
exports.normalizeCellRename = normalizeCellRename;
|
|
297
|
-
/**
|
|
298
|
-
* Preserves the semantics of the given `mark` but repackages it into an `AttachAndDetach` mark if it is not already one.
|
|
299
|
-
*/
|
|
300
|
-
function asAttachAndDetach(mark) {
|
|
301
|
-
if (mark.type === "AttachAndDetach") {
|
|
302
|
-
return mark;
|
|
303
|
-
}
|
|
304
|
-
const { cellId, count, changes, revision, ...effect } = mark;
|
|
305
|
-
const attachAndDetach = {
|
|
306
|
-
type: "AttachAndDetach",
|
|
307
|
-
count,
|
|
308
|
-
cellId,
|
|
309
|
-
attach: {
|
|
310
|
-
type: "Insert",
|
|
311
|
-
id: mark.id,
|
|
312
|
-
},
|
|
313
|
-
detach: effect,
|
|
314
|
-
};
|
|
315
|
-
if (changes !== undefined) {
|
|
316
|
-
attachAndDetach.changes = changes;
|
|
317
|
-
}
|
|
318
|
-
if (revision !== undefined) {
|
|
319
|
-
attachAndDetach.attach.revision = revision;
|
|
320
|
-
attachAndDetach.detach.revision = revision;
|
|
321
|
-
}
|
|
322
|
-
return attachAndDetach;
|
|
323
|
-
}
|
|
324
|
-
exports.asAttachAndDetach = asAttachAndDetach;
|
|
325
260
|
function cloneMark(mark) {
|
|
326
261
|
const clone = { ...cloneMarkEffect(mark), count: mark.count };
|
|
327
262
|
if (mark.cellId !== undefined) {
|
|
@@ -332,10 +267,6 @@ function cloneMark(mark) {
|
|
|
332
267
|
exports.cloneMark = cloneMark;
|
|
333
268
|
function cloneMarkEffect(effect) {
|
|
334
269
|
const clone = { ...effect };
|
|
335
|
-
if (clone.type === "AttachAndDetach") {
|
|
336
|
-
clone.attach = cloneMarkEffect(clone.attach);
|
|
337
|
-
clone.detach = cloneMarkEffect(clone.detach);
|
|
338
|
-
}
|
|
339
270
|
return clone;
|
|
340
271
|
}
|
|
341
272
|
exports.cloneMarkEffect = cloneMarkEffect;
|
|
@@ -374,18 +305,6 @@ function markHasCellEffect(mark) {
|
|
|
374
305
|
return areInputCellsEmpty(mark) !== areOutputCellsEmpty(mark);
|
|
375
306
|
}
|
|
376
307
|
exports.markHasCellEffect = markHasCellEffect;
|
|
377
|
-
function isAttachAndDetachEffect(effect) {
|
|
378
|
-
return effect.type === "AttachAndDetach";
|
|
379
|
-
}
|
|
380
|
-
exports.isAttachAndDetachEffect = isAttachAndDetachEffect;
|
|
381
|
-
function isDetachOfRemovedNodes(mark) {
|
|
382
|
-
return isDetach(mark) && mark.cellId !== undefined;
|
|
383
|
-
}
|
|
384
|
-
exports.isDetachOfRemovedNodes = isDetachOfRemovedNodes;
|
|
385
|
-
function isImpactfulCellRename(mark) {
|
|
386
|
-
return (isAttachAndDetachEffect(mark) || isDetachOfRemovedNodes(mark)) && isImpactful(mark);
|
|
387
|
-
}
|
|
388
|
-
exports.isImpactfulCellRename = isImpactfulCellRename;
|
|
389
308
|
function areInputCellsEmpty(mark) {
|
|
390
309
|
return mark.cellId !== undefined;
|
|
391
310
|
}
|
|
@@ -396,14 +315,11 @@ function areOutputCellsEmpty(mark) {
|
|
|
396
315
|
case types_js_1.NoopMarkType: {
|
|
397
316
|
return mark.cellId !== undefined;
|
|
398
317
|
}
|
|
399
|
-
case "
|
|
400
|
-
case "Rename":
|
|
401
|
-
case "MoveOut":
|
|
402
|
-
case "AttachAndDetach": {
|
|
318
|
+
case "Detach":
|
|
319
|
+
case "Rename": {
|
|
403
320
|
return true;
|
|
404
321
|
}
|
|
405
|
-
case "
|
|
406
|
-
case "Insert": {
|
|
322
|
+
case "Attach": {
|
|
407
323
|
return false;
|
|
408
324
|
}
|
|
409
325
|
default: {
|
|
@@ -412,20 +328,6 @@ function areOutputCellsEmpty(mark) {
|
|
|
412
328
|
}
|
|
413
329
|
}
|
|
414
330
|
exports.areOutputCellsEmpty = areOutputCellsEmpty;
|
|
415
|
-
/**
|
|
416
|
-
* Creates a mark that is equivalent to the given `mark` but with effects removed if those have no impact in the input
|
|
417
|
-
* context of that mark.
|
|
418
|
-
*
|
|
419
|
-
* @param mark - The mark to settle. Never mutated.
|
|
420
|
-
* @returns either the original mark or a shallow clone of it with effects stripped out.
|
|
421
|
-
*/
|
|
422
|
-
function settleMark(mark) {
|
|
423
|
-
if (isImpactful(mark)) {
|
|
424
|
-
return mark;
|
|
425
|
-
}
|
|
426
|
-
return omitMarkEffect(mark);
|
|
427
|
-
}
|
|
428
|
-
exports.settleMark = settleMark;
|
|
429
331
|
/**
|
|
430
332
|
* Returns true if and only iff the given `mark` would have impact on the field when applied.
|
|
431
333
|
*
|
|
@@ -442,7 +344,7 @@ function isImpactful(mark) {
|
|
|
442
344
|
case "Rename": {
|
|
443
345
|
return true;
|
|
444
346
|
}
|
|
445
|
-
case "
|
|
347
|
+
case "Detach": {
|
|
446
348
|
const inputId = getInputCellId(mark);
|
|
447
349
|
if (inputId === undefined) {
|
|
448
350
|
return true;
|
|
@@ -451,16 +353,7 @@ function isImpactful(mark) {
|
|
|
451
353
|
(0, internal_1.assert)(outputId !== undefined, 0x824 /* Remove marks must have an output cell ID */);
|
|
452
354
|
return !(0, index_js_1.areEqualChangeAtomIds)(inputId, outputId);
|
|
453
355
|
}
|
|
454
|
-
case "
|
|
455
|
-
case "MoveOut": {
|
|
456
|
-
return true;
|
|
457
|
-
}
|
|
458
|
-
case "MoveIn": {
|
|
459
|
-
// MoveIn marks always target an empty cell.
|
|
460
|
-
(0, internal_1.assert)(mark.cellId !== undefined, 0x825 /* MoveIn marks should target empty cells */);
|
|
461
|
-
return true;
|
|
462
|
-
}
|
|
463
|
-
case "Insert": {
|
|
356
|
+
case "Attach": {
|
|
464
357
|
// A Revive has no impact if the nodes are already in the document.
|
|
465
358
|
return mark.cellId !== undefined;
|
|
466
359
|
}
|
|
@@ -494,28 +387,25 @@ function compareCellsFromSameRevision(cell1, count1, cell2, count2) {
|
|
|
494
387
|
exports.compareCellsFromSameRevision = compareCellsFromSameRevision;
|
|
495
388
|
function isDetach(mark) {
|
|
496
389
|
const type = mark?.type;
|
|
497
|
-
return type === "
|
|
390
|
+
return type === "Detach";
|
|
498
391
|
}
|
|
499
392
|
exports.isDetach = isDetach;
|
|
393
|
+
function isPin(mark) {
|
|
394
|
+
return mark?.type === "Attach" && mark.cellId === undefined;
|
|
395
|
+
}
|
|
396
|
+
exports.isPin = isPin;
|
|
500
397
|
function isRemoveMark(mark) {
|
|
501
|
-
return mark?.type === "
|
|
398
|
+
return mark?.type === "Detach";
|
|
502
399
|
}
|
|
503
400
|
exports.isRemoveMark = isRemoveMark;
|
|
504
401
|
function areMergeableChangeAtoms(lhs, lhsCount, rhs) {
|
|
505
402
|
if (lhs === undefined || rhs === undefined) {
|
|
506
403
|
return lhs === undefined && rhs === undefined;
|
|
507
404
|
}
|
|
508
|
-
return (lhs.revision === rhs.revision &&
|
|
509
|
-
|
|
510
|
-
function areAdjacentIdRanges(firstStart, firstLength, secondStart) {
|
|
511
|
-
return firstStart + firstLength === secondStart;
|
|
512
|
-
}
|
|
513
|
-
function haveMergeableIdOverrides(lhs, lhsCount, rhs) {
|
|
514
|
-
if (lhs.idOverride !== undefined && rhs.idOverride !== undefined) {
|
|
515
|
-
return areMergeableCellIds(lhs.idOverride, lhsCount, rhs.idOverride);
|
|
516
|
-
}
|
|
517
|
-
return (lhs.idOverride === undefined) === (rhs.idOverride === undefined);
|
|
405
|
+
return (lhs.revision === rhs.revision &&
|
|
406
|
+
(0, index_js_2.areAdjacentIntegerRanges)(lhs.localId, lhsCount, rhs.localId));
|
|
518
407
|
}
|
|
408
|
+
exports.areMergeableChangeAtoms = areMergeableChangeAtoms;
|
|
519
409
|
function areMergeableCellIds(lhs, lhsCount, rhs) {
|
|
520
410
|
return areMergeableChangeAtoms(lhs, lhsCount, rhs);
|
|
521
411
|
}
|
|
@@ -550,59 +440,36 @@ function tryMergeEffects(lhs, rhs, lhsCount) {
|
|
|
550
440
|
if (rhs.type === types_js_1.NoopMarkType) {
|
|
551
441
|
return lhs;
|
|
552
442
|
}
|
|
553
|
-
if (rhs.type === "AttachAndDetach") {
|
|
554
|
-
const lhsAttachAndDetach = lhs;
|
|
555
|
-
const attach = tryMergeEffects(lhsAttachAndDetach.attach, rhs.attach, lhsCount);
|
|
556
|
-
const detach = tryMergeEffects(lhsAttachAndDetach.detach, rhs.detach, lhsCount);
|
|
557
|
-
if (attach === undefined || detach === undefined) {
|
|
558
|
-
return undefined;
|
|
559
|
-
}
|
|
560
|
-
(0, internal_1.assert)(isAttach(attach) && isDetach(detach), 0x826 /* Merged marks should be same type as input marks */);
|
|
561
|
-
return { ...lhsAttachAndDetach, attach, detach };
|
|
562
|
-
}
|
|
563
443
|
if (lhs.revision !== rhs.revision) {
|
|
564
444
|
return undefined;
|
|
565
445
|
}
|
|
566
|
-
if (isDetach(lhs) &&
|
|
446
|
+
if (isDetach(lhs) &&
|
|
447
|
+
isDetach(rhs) &&
|
|
448
|
+
!areMergeableChangeAtoms(lhs.cellRename, lhsCount, rhs.cellRename)) {
|
|
567
449
|
return undefined;
|
|
568
450
|
}
|
|
569
451
|
const type = rhs.type;
|
|
570
452
|
switch (type) {
|
|
571
|
-
case "
|
|
572
|
-
const lhsMoveIn = lhs;
|
|
573
|
-
if (lhsMoveIn.id + lhsCount === rhs.id &&
|
|
574
|
-
areMergeableChangeAtoms(lhsMoveIn.finalEndpoint, lhsCount, rhs.finalEndpoint)) {
|
|
575
|
-
return lhsMoveIn;
|
|
576
|
-
}
|
|
577
|
-
break;
|
|
578
|
-
}
|
|
579
|
-
case "Remove": {
|
|
453
|
+
case "Detach": {
|
|
580
454
|
const lhsDetach = lhs;
|
|
581
455
|
if (lhsDetach.id + lhsCount === rhs.id &&
|
|
582
|
-
|
|
456
|
+
areMergeableChangeAtoms(lhsDetach.cellRename, lhsCount, rhs.cellRename) &&
|
|
457
|
+
areMergeableChangeAtoms(lhsDetach.detachCellId, lhsCount, rhs.detachCellId)) {
|
|
583
458
|
return lhsDetach;
|
|
584
459
|
}
|
|
585
460
|
break;
|
|
586
461
|
}
|
|
587
462
|
case "Rename": {
|
|
588
463
|
const lhsDetach = lhs;
|
|
589
|
-
if (
|
|
464
|
+
if (areMergeableChangeAtoms(lhsDetach.idOverride, lhsCount, rhs.idOverride)) {
|
|
590
465
|
return lhsDetach;
|
|
591
466
|
}
|
|
592
467
|
break;
|
|
593
468
|
}
|
|
594
|
-
case "
|
|
595
|
-
const lhsMoveOut = lhs;
|
|
596
|
-
if (lhsMoveOut.id + lhsCount === rhs.id &&
|
|
597
|
-
haveMergeableIdOverrides(lhsMoveOut, lhsCount, rhs) &&
|
|
598
|
-
areMergeableChangeAtoms(lhsMoveOut.finalEndpoint, lhsCount, rhs.finalEndpoint)) {
|
|
599
|
-
return lhsMoveOut;
|
|
600
|
-
}
|
|
601
|
-
break;
|
|
602
|
-
}
|
|
603
|
-
case "Insert": {
|
|
469
|
+
case "Attach": {
|
|
604
470
|
const lhsInsert = lhs;
|
|
605
|
-
if (lhsInsert.id + lhsCount === rhs.id
|
|
471
|
+
if (lhsInsert.id + lhsCount === rhs.id &&
|
|
472
|
+
areMergeableChangeAtoms(lhsInsert.detachCellId, lhsCount, rhs.detachCellId)) {
|
|
606
473
|
return lhsInsert;
|
|
607
474
|
}
|
|
608
475
|
break;
|
|
@@ -646,7 +513,7 @@ function splitMarkEffect(effect, length) {
|
|
|
646
513
|
case types_js_1.NoopMarkType: {
|
|
647
514
|
return [effect, effect];
|
|
648
515
|
}
|
|
649
|
-
case "
|
|
516
|
+
case "Attach": {
|
|
650
517
|
const effect1 = {
|
|
651
518
|
...effect,
|
|
652
519
|
};
|
|
@@ -654,23 +521,21 @@ function splitMarkEffect(effect, length) {
|
|
|
654
521
|
...effect,
|
|
655
522
|
id: effect.id + length,
|
|
656
523
|
};
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
case "MoveIn": {
|
|
660
|
-
const effect2 = { ...effect, id: effect.id + length };
|
|
661
|
-
const move2 = effect2;
|
|
662
|
-
if (move2.finalEndpoint !== undefined) {
|
|
663
|
-
move2.finalEndpoint = splitDetachEvent(move2.finalEndpoint, length);
|
|
524
|
+
if (effect.detachCellId !== undefined) {
|
|
525
|
+
effect2.detachCellId = splitDetachEvent(effect.detachCellId, length);
|
|
664
526
|
}
|
|
665
|
-
return [
|
|
527
|
+
return [effect1, effect2];
|
|
666
528
|
}
|
|
667
|
-
case "
|
|
529
|
+
case "Detach": {
|
|
668
530
|
const effect1 = { ...effect };
|
|
669
531
|
const id2 = (0, index_js_2.brand)(effect.id + length);
|
|
670
532
|
const effect2 = { ...effect, id: id2 };
|
|
671
533
|
const effect2Remove = effect2;
|
|
672
|
-
if (effect2Remove.
|
|
673
|
-
effect2Remove.
|
|
534
|
+
if (effect2Remove.cellRename !== undefined) {
|
|
535
|
+
effect2Remove.cellRename = splitDetachEvent(effect2Remove.cellRename, length);
|
|
536
|
+
}
|
|
537
|
+
if (effect2Remove.detachCellId !== undefined) {
|
|
538
|
+
effect2Remove.detachCellId = splitDetachEvent(effect2Remove.detachCellId, length);
|
|
674
539
|
}
|
|
675
540
|
return [effect1, effect2];
|
|
676
541
|
}
|
|
@@ -683,35 +548,6 @@ function splitMarkEffect(effect, length) {
|
|
|
683
548
|
}
|
|
684
549
|
return [effect1, effect2];
|
|
685
550
|
}
|
|
686
|
-
case "MoveOut": {
|
|
687
|
-
const effect2 = {
|
|
688
|
-
...effect,
|
|
689
|
-
id: effect.id + length,
|
|
690
|
-
};
|
|
691
|
-
const return2 = effect2;
|
|
692
|
-
if (return2.idOverride !== undefined) {
|
|
693
|
-
return2.idOverride = splitDetachEvent(return2.idOverride, length);
|
|
694
|
-
}
|
|
695
|
-
if (return2.finalEndpoint !== undefined) {
|
|
696
|
-
return2.finalEndpoint = splitDetachEvent(return2.finalEndpoint, length);
|
|
697
|
-
}
|
|
698
|
-
return [effect, effect2];
|
|
699
|
-
}
|
|
700
|
-
case "AttachAndDetach": {
|
|
701
|
-
const [attach1, attach2] = splitMarkEffect(effect.attach, length);
|
|
702
|
-
const [detach1, detach2] = splitMarkEffect(effect.detach, length);
|
|
703
|
-
const effect1 = {
|
|
704
|
-
...effect,
|
|
705
|
-
attach: attach1,
|
|
706
|
-
detach: detach1,
|
|
707
|
-
};
|
|
708
|
-
const effect2 = {
|
|
709
|
-
...effect,
|
|
710
|
-
attach: attach2,
|
|
711
|
-
detach: detach2,
|
|
712
|
-
};
|
|
713
|
-
return [effect1, effect2];
|
|
714
|
-
}
|
|
715
551
|
default: {
|
|
716
552
|
(0, internal_1.unreachableCase)(type);
|
|
717
553
|
}
|
|
@@ -769,83 +605,86 @@ function addRevision(effect, revision) {
|
|
|
769
605
|
if (effect.type === types_js_1.NoopMarkType || isRename(effect)) {
|
|
770
606
|
return;
|
|
771
607
|
}
|
|
772
|
-
if (effect.type === "AttachAndDetach") {
|
|
773
|
-
addRevision(effect.attach, revision);
|
|
774
|
-
addRevision(effect.detach, revision);
|
|
775
|
-
return;
|
|
776
|
-
}
|
|
777
608
|
(0, internal_1.assert)(effect.revision === undefined || effect.revision === revision, 0x829 /* Should not overwrite mark revision */);
|
|
778
609
|
effect.revision = revision;
|
|
779
610
|
}
|
|
780
|
-
function getEndpoint(effect) {
|
|
781
|
-
return effect.finalEndpoint ?? { revision: effect.revision, localId: effect.id };
|
|
782
|
-
}
|
|
783
|
-
exports.getEndpoint = getEndpoint;
|
|
784
611
|
function getCrossFieldKeys(change) {
|
|
785
612
|
const keys = [];
|
|
786
613
|
for (const mark of change) {
|
|
787
|
-
keys.push(...
|
|
614
|
+
keys.push(...getCrossFieldKeysForMark(mark, mark.count));
|
|
788
615
|
}
|
|
789
616
|
return keys;
|
|
790
617
|
}
|
|
791
618
|
exports.getCrossFieldKeys = getCrossFieldKeys;
|
|
792
|
-
function
|
|
793
|
-
switch (
|
|
794
|
-
case "
|
|
795
|
-
|
|
796
|
-
// An insert can become a move when after rebasing.
|
|
797
|
-
return [
|
|
798
|
-
{
|
|
799
|
-
key: {
|
|
800
|
-
target: index_js_3.CrossFieldTarget.Source,
|
|
801
|
-
revision: effect.revision,
|
|
802
|
-
localId: effect.id,
|
|
803
|
-
},
|
|
804
|
-
count,
|
|
805
|
-
},
|
|
619
|
+
function getCrossFieldKeysForMark(mark, count) {
|
|
620
|
+
switch (mark.type) {
|
|
621
|
+
case "Attach": {
|
|
622
|
+
const keys = [
|
|
806
623
|
{
|
|
807
624
|
key: {
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
625
|
+
revision: mark.revision,
|
|
626
|
+
localId: mark.id,
|
|
627
|
+
target: index_js_3.NodeMoveType.Attach,
|
|
811
628
|
},
|
|
812
629
|
count,
|
|
813
630
|
},
|
|
814
631
|
];
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
key: {
|
|
820
|
-
target: index_js_3.CrossFieldTarget.Source,
|
|
821
|
-
revision: effect.revision,
|
|
822
|
-
localId: effect.id,
|
|
823
|
-
},
|
|
632
|
+
if (mark.cellId === undefined) {
|
|
633
|
+
// This is a pin, which is treated as a detach and attach.
|
|
634
|
+
keys.push({
|
|
635
|
+
key: { revision: mark.revision, localId: mark.id, target: index_js_3.NodeMoveType.Detach },
|
|
824
636
|
count,
|
|
825
|
-
}
|
|
826
|
-
|
|
637
|
+
});
|
|
638
|
+
}
|
|
639
|
+
return keys;
|
|
827
640
|
}
|
|
828
|
-
case "
|
|
641
|
+
case "Detach": {
|
|
829
642
|
return [
|
|
830
643
|
{
|
|
831
644
|
key: {
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
645
|
+
revision: mark.revision,
|
|
646
|
+
localId: mark.id,
|
|
647
|
+
target: index_js_3.NodeMoveType.Detach,
|
|
835
648
|
},
|
|
836
649
|
count,
|
|
837
650
|
},
|
|
838
651
|
];
|
|
839
652
|
}
|
|
840
|
-
case "AttachAndDetach": {
|
|
841
|
-
return [
|
|
842
|
-
...getCrossFieldKeysForMarkEffect(effect.attach, count),
|
|
843
|
-
...getCrossFieldKeysForMarkEffect(effect.detach, count),
|
|
844
|
-
];
|
|
845
|
-
}
|
|
846
653
|
default: {
|
|
847
654
|
return [];
|
|
848
655
|
}
|
|
849
656
|
}
|
|
850
657
|
}
|
|
658
|
+
function getDetachCellIds(change, rootRenames) {
|
|
659
|
+
const entries = [];
|
|
660
|
+
for (const mark of change) {
|
|
661
|
+
if (mark.type === "Detach" && mark.detachCellId !== undefined) {
|
|
662
|
+
const detachId = getDetachedRootId(mark);
|
|
663
|
+
if (!(0, index_js_1.areEqualChangeAtomIds)(mark.detachCellId, detachId)) {
|
|
664
|
+
entries.push({ count: mark.count, detachId, cellId: mark.detachCellId });
|
|
665
|
+
}
|
|
666
|
+
}
|
|
667
|
+
else if (mark.type === "Rename") {
|
|
668
|
+
addDetachCellIdsForRename(mark, rootRenames, entries);
|
|
669
|
+
}
|
|
670
|
+
}
|
|
671
|
+
return entries;
|
|
672
|
+
}
|
|
673
|
+
exports.getDetachCellIds = getDetachCellIds;
|
|
674
|
+
function addDetachCellIdsForRename(mark, rootRenames, entries) {
|
|
675
|
+
(0, internal_1.assert)(mark.cellId !== undefined, "Rename should not target a full cell");
|
|
676
|
+
const rootRenameEntry = rootRenames.getFirst(mark.cellId, mark.count);
|
|
677
|
+
const countProcessed = rootRenameEntry.length;
|
|
678
|
+
if (rootRenameEntry.value !== undefined &&
|
|
679
|
+
!(0, index_js_1.areEqualChangeAtomIds)(mark.idOverride, rootRenameEntry.value)) {
|
|
680
|
+
entries.push({
|
|
681
|
+
cellId: mark.cellId,
|
|
682
|
+
detachId: rootRenameEntry.value,
|
|
683
|
+
count: countProcessed,
|
|
684
|
+
});
|
|
685
|
+
}
|
|
686
|
+
if (countProcessed < mark.count) {
|
|
687
|
+
addDetachCellIdsForRename(splitMark(mark, countProcessed)[1], rootRenames, entries);
|
|
688
|
+
}
|
|
689
|
+
}
|
|
851
690
|
//# sourceMappingURL=utils.js.map
|