@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
|
@@ -7,14 +7,13 @@ import { fail } from "@fluidframework/core-utils/internal";
|
|
|
7
7
|
|
|
8
8
|
import type { CodecTree } from "../../codec/index.js";
|
|
9
9
|
import {
|
|
10
|
-
type
|
|
10
|
+
type DeltaFieldChanges,
|
|
11
11
|
type FieldKindIdentifier,
|
|
12
12
|
forbiddenFieldKindIdentifier,
|
|
13
13
|
Multiplicity,
|
|
14
14
|
} from "../../core/index.js";
|
|
15
15
|
import { identifierFieldIdentifier } from "../fieldKindIdentifiers.js";
|
|
16
16
|
import {
|
|
17
|
-
type FieldChangeDelta,
|
|
18
17
|
type FieldChangeHandler,
|
|
19
18
|
type FieldEditor,
|
|
20
19
|
type FieldKindConfiguration,
|
|
@@ -42,12 +41,12 @@ export const noChangeHandler: FieldChangeHandler<0> = {
|
|
|
42
41
|
}),
|
|
43
42
|
codecsFactory: () => noChangeCodecFamily,
|
|
44
43
|
editor: { buildChildChanges: () => fail(0xb0d /* Child changes not supported */) },
|
|
45
|
-
intoDelta: (change, deltaFromChild: ToDelta):
|
|
46
|
-
relevantRemovedRoots: (change): Iterable<DeltaDetachedNodeId> => [],
|
|
44
|
+
intoDelta: (change, deltaFromChild: ToDelta): DeltaFieldChanges => ({ marks: [] }),
|
|
47
45
|
isEmpty: (change: 0) => true,
|
|
48
46
|
getNestedChanges: (change: 0) => [],
|
|
49
47
|
createEmpty: () => 0,
|
|
50
48
|
getCrossFieldKeys: () => [],
|
|
49
|
+
getDetachCellIds: () => [],
|
|
51
50
|
};
|
|
52
51
|
|
|
53
52
|
/**
|
|
@@ -138,6 +137,16 @@ export const fieldKindConfigurations: ReadonlyMap<
|
|
|
138
137
|
[identifier.identifier, { kind: identifier, formatVersion: 1 }],
|
|
139
138
|
]),
|
|
140
139
|
],
|
|
140
|
+
[
|
|
141
|
+
ModularChangeFormatVersion.vDetachedRoots,
|
|
142
|
+
new Map<FieldKindIdentifier, FieldKindConfigurationEntry>([
|
|
143
|
+
[required.identifier, { kind: required, formatVersion: 2 }],
|
|
144
|
+
[optional.identifier, { kind: optional, formatVersion: 3 }],
|
|
145
|
+
[sequence.identifier, { kind: sequence, formatVersion: 2 }],
|
|
146
|
+
[forbidden.identifier, { kind: forbidden, formatVersion: 1 }],
|
|
147
|
+
[identifier.identifier, { kind: identifier, formatVersion: 1 }],
|
|
148
|
+
]),
|
|
149
|
+
],
|
|
141
150
|
]);
|
|
142
151
|
|
|
143
152
|
export function getCodecTreeForModularChangeFormat(
|
|
@@ -13,14 +13,25 @@ export {
|
|
|
13
13
|
|
|
14
14
|
export {
|
|
15
15
|
type DefaultChangeset,
|
|
16
|
+
type DetachedRootIds,
|
|
17
|
+
type DetachedRootIdRange,
|
|
16
18
|
DefaultChangeFamily,
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
type
|
|
20
|
-
type
|
|
21
|
-
type
|
|
19
|
+
type IdBasedChangeFamilyDataEditor,
|
|
20
|
+
DefaultIdBasedDataEditor,
|
|
21
|
+
type DataEditor,
|
|
22
|
+
type RequiredFieldEditor,
|
|
23
|
+
type OptionalFieldEditor,
|
|
24
|
+
type SequenceFieldEditor,
|
|
22
25
|
intoDelta,
|
|
23
26
|
relevantRemovedRoots,
|
|
24
27
|
} from "./defaultEditBuilder.js";
|
|
25
28
|
|
|
29
|
+
export {
|
|
30
|
+
type DetachedRootLocation,
|
|
31
|
+
type DetachedRootsLocation,
|
|
32
|
+
type Locator,
|
|
33
|
+
LocationBasedDataEditor,
|
|
34
|
+
type ILocationBasedDataEditor,
|
|
35
|
+
} from "./locationBasedEditBuilder.js";
|
|
36
|
+
|
|
26
37
|
export { MappedEditBuilder } from "./mappedEditBuilder.js";
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { UsageError } from "@fluidframework/telemetry-utils/internal";
|
|
7
|
+
|
|
8
|
+
import {
|
|
9
|
+
type ChangeAtomId,
|
|
10
|
+
type FieldKey,
|
|
11
|
+
type FieldUpPath,
|
|
12
|
+
type UpPath,
|
|
13
|
+
type TreeChunk,
|
|
14
|
+
type NormalizedUpPath,
|
|
15
|
+
type NormalizedFieldUpPath,
|
|
16
|
+
rootFieldKey,
|
|
17
|
+
makeDetachedNodeId,
|
|
18
|
+
offsetChangeAtomId,
|
|
19
|
+
type EditorOptions,
|
|
20
|
+
} from "../../core/index.js";
|
|
21
|
+
|
|
22
|
+
import type {
|
|
23
|
+
DetachedRootIds,
|
|
24
|
+
DataEditor,
|
|
25
|
+
OptionalFieldEditor,
|
|
26
|
+
RequiredFieldEditor,
|
|
27
|
+
SequenceFieldEditor,
|
|
28
|
+
} from "./defaultEditBuilder.js";
|
|
29
|
+
|
|
30
|
+
export type DetachedRootLocation = FieldKey;
|
|
31
|
+
export type DetachedRootsLocation = readonly DetachedRootRangeLocation[];
|
|
32
|
+
export interface DetachedRootRangeLocation {
|
|
33
|
+
readonly field: FieldKey;
|
|
34
|
+
readonly count: number;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export interface Locator {
|
|
38
|
+
locationFromId(id: ChangeAtomId): DetachedRootLocation;
|
|
39
|
+
idFromLocation(id: DetachedRootLocation): ChangeAtomId;
|
|
40
|
+
locationsFromIdRanges(id: DetachedRootIds): DetachedRootsLocation;
|
|
41
|
+
idRangesFromLocations(id: DetachedRootsLocation): DetachedRootIds;
|
|
42
|
+
isAttachable(id: ChangeAtomId): boolean | undefined;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export type ILocationBasedDataEditor = DataEditor<
|
|
46
|
+
TreeChunk,
|
|
47
|
+
DetachedRootLocation,
|
|
48
|
+
DetachedRootsLocation
|
|
49
|
+
>;
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Implementation of {@link DataEditor} based on the default set of supported field kinds.
|
|
53
|
+
* @sealed
|
|
54
|
+
*/
|
|
55
|
+
export class LocationBasedDataEditor
|
|
56
|
+
implements DataEditor<TreeChunk, DetachedRootLocation, DetachedRootsLocation>
|
|
57
|
+
{
|
|
58
|
+
public constructor(
|
|
59
|
+
private readonly idBasedEditor: DataEditor<TreeChunk, ChangeAtomId, DetachedRootIds>,
|
|
60
|
+
private readonly locator: Locator,
|
|
61
|
+
private readonly options: EditorOptions,
|
|
62
|
+
) {}
|
|
63
|
+
|
|
64
|
+
public addNodeExistsConstraint(path: UpPath): void {
|
|
65
|
+
const normal = normalizeUpPath(path, this.locator, this.options);
|
|
66
|
+
this.idBasedEditor.addNodeExistsConstraint(normal);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
public addNodeExistsConstraintOnRevert(path: UpPath): void {
|
|
70
|
+
const normal = normalizeUpPath(path, this.locator, this.options);
|
|
71
|
+
this.idBasedEditor.addNodeExistsConstraintOnRevert(normal);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
public addNoChangeConstraint(): void {
|
|
75
|
+
this.idBasedEditor.addNoChangeConstraint();
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
public addNoChangeConstraintOnRevert(): void {
|
|
79
|
+
this.idBasedEditor.addNoChangeConstraintOnRevert();
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
public buildRoots(content: TreeChunk): DetachedRootsLocation {
|
|
83
|
+
const roots = this.idBasedEditor.buildRoots(content);
|
|
84
|
+
const locations = this.locator.locationsFromIdRanges(roots);
|
|
85
|
+
return locations;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
public valueField(field: FieldUpPath): RequiredFieldEditor<TreeChunk, DetachedRootLocation> {
|
|
89
|
+
const normal = normalizeFieldUpPath(field, this.locator, this.options);
|
|
90
|
+
const lowLevelEditor = this.idBasedEditor.valueField(normal);
|
|
91
|
+
const locator = this.locator;
|
|
92
|
+
const editBuilder = {
|
|
93
|
+
set: (newContent: TreeChunk): void => {
|
|
94
|
+
lowLevelEditor.set(newContent);
|
|
95
|
+
},
|
|
96
|
+
attach: (newContent: DetachedRootLocation): void => {
|
|
97
|
+
const changeAtom = locator.idFromLocation(newContent);
|
|
98
|
+
validateIsAttachable(changeAtom, locator);
|
|
99
|
+
lowLevelEditor.attach(changeAtom);
|
|
100
|
+
},
|
|
101
|
+
};
|
|
102
|
+
return editBuilder;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
public optionalField(
|
|
106
|
+
field: FieldUpPath,
|
|
107
|
+
): OptionalFieldEditor<TreeChunk, DetachedRootLocation> {
|
|
108
|
+
const normal = normalizeFieldUpPath(field, this.locator, this.options);
|
|
109
|
+
const lowLevelEditor = this.idBasedEditor.optionalField(normal);
|
|
110
|
+
const locator = this.locator;
|
|
111
|
+
const editBuilder = {
|
|
112
|
+
set: (newContent: TreeChunk | undefined, wasEmpty: boolean): void => {
|
|
113
|
+
lowLevelEditor.set(newContent, wasEmpty);
|
|
114
|
+
},
|
|
115
|
+
attach: (newContent: DetachedRootLocation | undefined, wasEmpty: boolean): void => {
|
|
116
|
+
if (newContent === undefined) {
|
|
117
|
+
editBuilder.clear(wasEmpty);
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
const changeAtom = locator.idFromLocation(newContent);
|
|
121
|
+
validateIsAttachable(changeAtom, locator);
|
|
122
|
+
lowLevelEditor.attach(changeAtom, wasEmpty);
|
|
123
|
+
},
|
|
124
|
+
clear: (wasEmpty: boolean): void => {
|
|
125
|
+
lowLevelEditor.clear(wasEmpty);
|
|
126
|
+
},
|
|
127
|
+
};
|
|
128
|
+
return editBuilder;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
public move(
|
|
132
|
+
sourceField: FieldUpPath,
|
|
133
|
+
sourceIndex: number,
|
|
134
|
+
count: number,
|
|
135
|
+
destinationField: FieldUpPath,
|
|
136
|
+
destIndex: number,
|
|
137
|
+
): void {
|
|
138
|
+
const normalSource = normalizeFieldUpPath(sourceField, this.locator, this.options);
|
|
139
|
+
const normalDestination = normalizeFieldUpPath(
|
|
140
|
+
destinationField,
|
|
141
|
+
this.locator,
|
|
142
|
+
this.options,
|
|
143
|
+
);
|
|
144
|
+
this.idBasedEditor.move(normalSource, sourceIndex, count, normalDestination, destIndex);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
public sequenceField(
|
|
148
|
+
field: FieldUpPath,
|
|
149
|
+
): SequenceFieldEditor<TreeChunk, DetachedRootsLocation> {
|
|
150
|
+
const normal = normalizeFieldUpPath(field, this.locator, this.options);
|
|
151
|
+
const lowLevelEditor = this.idBasedEditor.sequenceField(normal);
|
|
152
|
+
const locator = this.locator;
|
|
153
|
+
const editBuilder = {
|
|
154
|
+
insert: (index: number, content: TreeChunk): void => {
|
|
155
|
+
lowLevelEditor.insert(index, content);
|
|
156
|
+
},
|
|
157
|
+
attach: (index: number, newContent: DetachedRootsLocation): void => {
|
|
158
|
+
const range = locator.idRangesFromLocations(newContent);
|
|
159
|
+
validateAreAttachable(range, locator);
|
|
160
|
+
lowLevelEditor.attach(index, range);
|
|
161
|
+
},
|
|
162
|
+
remove: (index: number, count: number): void => {
|
|
163
|
+
lowLevelEditor.remove(index, count);
|
|
164
|
+
},
|
|
165
|
+
};
|
|
166
|
+
return editBuilder;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
function normalizeUpPath(
|
|
171
|
+
path: UpPath,
|
|
172
|
+
locator: Locator,
|
|
173
|
+
options: EditorOptions,
|
|
174
|
+
): NormalizedUpPath {
|
|
175
|
+
if (path.parent === undefined) {
|
|
176
|
+
if (path.parentField === rootFieldKey) {
|
|
177
|
+
return { ...path, parent: undefined, detachedNodeId: undefined };
|
|
178
|
+
} else {
|
|
179
|
+
if (options.enableDetachedRootEditing !== true) {
|
|
180
|
+
throw new UsageError(
|
|
181
|
+
`Edits and constraints on detached trees require a minimum version for collaboration >= TBD.`,
|
|
182
|
+
);
|
|
183
|
+
}
|
|
184
|
+
const nodeId = locator.idFromLocation(path.parentField);
|
|
185
|
+
const detachedNodeId = makeDetachedNodeId(nodeId.revision, nodeId.localId);
|
|
186
|
+
return { ...path, parent: undefined, detachedNodeId };
|
|
187
|
+
}
|
|
188
|
+
} else {
|
|
189
|
+
return {
|
|
190
|
+
parent: normalizeUpPath(path.parent, locator, options),
|
|
191
|
+
parentField: path.parentField,
|
|
192
|
+
parentIndex: path.parentIndex,
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
function normalizeFieldUpPath(
|
|
198
|
+
path: FieldUpPath,
|
|
199
|
+
locator: Locator,
|
|
200
|
+
options: EditorOptions,
|
|
201
|
+
): NormalizedFieldUpPath {
|
|
202
|
+
if (path.parent === undefined) {
|
|
203
|
+
if (path.field === rootFieldKey) {
|
|
204
|
+
return { parent: undefined, field: rootFieldKey };
|
|
205
|
+
} else {
|
|
206
|
+
throw new UsageError(
|
|
207
|
+
"Editing only allowed on the root field or on fields under nodes with TreeStatus.InDocument or TreeStatus.Removed status",
|
|
208
|
+
);
|
|
209
|
+
}
|
|
210
|
+
} else {
|
|
211
|
+
return { parent: normalizeUpPath(path.parent, locator, options), field: path.field };
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
function validateAreAttachable(nodeIds: DetachedRootIds, locator: Locator): void {
|
|
216
|
+
for (const idRange of nodeIds) {
|
|
217
|
+
const baseAtom = idRange.first;
|
|
218
|
+
for (let idOffset = 0; idOffset < idRange.count; idOffset++) {
|
|
219
|
+
validateIsAttachable(offsetChangeAtomId(baseAtom, idOffset), locator);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
function validateIsAttachable(nodeId: ChangeAtomId, locator: Locator): void {
|
|
225
|
+
const isAttachable = locator.isAttachable(nodeId);
|
|
226
|
+
if (!(isAttachable ?? false)) {
|
|
227
|
+
throw new UsageError(
|
|
228
|
+
`Nodes that may have been detached from a required field can only be re-attached by reverting the detach.`,
|
|
229
|
+
);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
@@ -6,30 +6,45 @@
|
|
|
6
6
|
import type { NormalizedFieldUpPath, NormalizedUpPath } from "../../core/index.js";
|
|
7
7
|
|
|
8
8
|
import type {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
DataEditor,
|
|
10
|
+
OptionalFieldEditor,
|
|
11
|
+
SequenceFieldEditor,
|
|
12
|
+
RequiredFieldEditor,
|
|
13
13
|
} from "./defaultEditBuilder.js";
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* An IDefaultEditBuilder implementation based on another IDefaultEditBuilder that uses a different content type for insertions.
|
|
17
17
|
*/
|
|
18
|
-
export class MappedEditBuilder<TBase, TAdapted
|
|
18
|
+
export class MappedEditBuilder<TBase, TAdapted, TDetachedRoot, TDetachedRoots>
|
|
19
|
+
implements DataEditor<TAdapted, TDetachedRoot, TDetachedRoots>
|
|
20
|
+
{
|
|
19
21
|
public constructor(
|
|
20
|
-
private readonly baseBuilder:
|
|
22
|
+
private readonly baseBuilder: DataEditor<TBase, TDetachedRoot, TDetachedRoots>,
|
|
21
23
|
private readonly mapDelegate: (input: TAdapted) => TBase,
|
|
22
24
|
) {}
|
|
23
|
-
|
|
25
|
+
|
|
26
|
+
public buildRoots(content: TAdapted): TDetachedRoots {
|
|
27
|
+
return this.baseBuilder.buildRoots(this.mapDelegate(content));
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
public valueField(
|
|
31
|
+
field: NormalizedFieldUpPath,
|
|
32
|
+
): RequiredFieldEditor<TAdapted, TDetachedRoot> {
|
|
24
33
|
const baseField = this.baseBuilder.valueField(field);
|
|
25
34
|
return {
|
|
26
35
|
set: (newContent: TAdapted): void => {
|
|
27
36
|
const mappedContent = this.mapDelegate(newContent);
|
|
28
37
|
baseField.set(mappedContent);
|
|
29
38
|
},
|
|
39
|
+
attach: (content: TDetachedRoot): void => {
|
|
40
|
+
baseField.attach(content);
|
|
41
|
+
},
|
|
30
42
|
};
|
|
31
43
|
}
|
|
32
|
-
|
|
44
|
+
|
|
45
|
+
public optionalField(
|
|
46
|
+
field: NormalizedFieldUpPath,
|
|
47
|
+
): OptionalFieldEditor<TAdapted, TDetachedRoot> {
|
|
33
48
|
const baseField = this.baseBuilder.optionalField(field);
|
|
34
49
|
return {
|
|
35
50
|
set: (newContent: TAdapted | undefined, wasEmpty: boolean): void => {
|
|
@@ -37,9 +52,17 @@ export class MappedEditBuilder<TBase, TAdapted> implements IDefaultEditBuilder<T
|
|
|
37
52
|
newContent === undefined ? undefined : this.mapDelegate(newContent);
|
|
38
53
|
baseField.set(mappedContent, wasEmpty);
|
|
39
54
|
},
|
|
55
|
+
attach: (content, wasEmpty: boolean): void => {
|
|
56
|
+
baseField.attach(content, wasEmpty);
|
|
57
|
+
},
|
|
58
|
+
clear(wasEmpty: boolean): void {
|
|
59
|
+
baseField.clear(wasEmpty);
|
|
60
|
+
},
|
|
40
61
|
};
|
|
41
62
|
}
|
|
42
|
-
public sequenceField(
|
|
63
|
+
public sequenceField(
|
|
64
|
+
field: NormalizedFieldUpPath,
|
|
65
|
+
): SequenceFieldEditor<TAdapted, TDetachedRoots> {
|
|
43
66
|
const baseField = this.baseBuilder.sequenceField(field);
|
|
44
67
|
return {
|
|
45
68
|
insert: (index: number, content: TAdapted): void => {
|
|
@@ -49,6 +72,9 @@ export class MappedEditBuilder<TBase, TAdapted> implements IDefaultEditBuilder<T
|
|
|
49
72
|
remove: (index: number, count: number): void => {
|
|
50
73
|
baseField.remove(index, count);
|
|
51
74
|
},
|
|
75
|
+
attach: (index: number, detachedContent: TDetachedRoots): void => {
|
|
76
|
+
baseField.attach(index, detachedContent);
|
|
77
|
+
},
|
|
52
78
|
};
|
|
53
79
|
}
|
|
54
80
|
public move(
|
|
@@ -7,14 +7,19 @@ import {
|
|
|
7
7
|
type ChangeAtomId,
|
|
8
8
|
type DeltaDetachedNodeId,
|
|
9
9
|
type DeltaRoot,
|
|
10
|
+
makeChangeAtomId,
|
|
10
11
|
makeDetachedNodeId,
|
|
11
12
|
} from "../core/index.js";
|
|
12
|
-
import type
|
|
13
|
+
import { brand, type Mutable } from "../util/index.js";
|
|
13
14
|
|
|
14
15
|
export function nodeIdFromChangeAtom(changeAtom: ChangeAtomId): DeltaDetachedNodeId {
|
|
15
16
|
return makeDetachedNodeId(changeAtom.revision, changeAtom.localId);
|
|
16
17
|
}
|
|
17
18
|
|
|
19
|
+
export function changeAtomFromDetachedNodeId(changeAtom: DeltaDetachedNodeId): ChangeAtomId {
|
|
20
|
+
return makeChangeAtomId(brand(changeAtom.minor), changeAtom.major);
|
|
21
|
+
}
|
|
22
|
+
|
|
18
23
|
/**
|
|
19
24
|
* Converts a `Delta.Root` whose tree content is represented with by `TIn` instances
|
|
20
25
|
* into a `Delta.Root`whose tree content is represented with by `TOut` instances.
|
|
@@ -51,6 +51,8 @@ export interface FlexTreeContext {
|
|
|
51
51
|
* If true, none of the nodes in this context can be used.
|
|
52
52
|
*/
|
|
53
53
|
isDisposed(): boolean;
|
|
54
|
+
|
|
55
|
+
runInTransaction(fn: () => void): void;
|
|
54
56
|
}
|
|
55
57
|
|
|
56
58
|
/**
|
|
@@ -66,6 +68,14 @@ export interface FlexTreeHydratedContextMinimal {
|
|
|
66
68
|
* The checkout object associated with this context.
|
|
67
69
|
*/
|
|
68
70
|
readonly checkout: ITreeCheckout;
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Returns a new {@link FlexTreeField} that will live as long as the caller allows up to the next call to {@link clear} or disposal of the context.
|
|
74
|
+
* @remarks
|
|
75
|
+
* Due to limited support for detached fields, not all operations are supported.
|
|
76
|
+
* Additionally if the detached field's content is deleted, the field will become out of schema if it is required: it must not be used after that point.
|
|
77
|
+
*/
|
|
78
|
+
detachedField?(key: DetachedField, schema: FieldKindIdentifier): FlexTreeField;
|
|
69
79
|
}
|
|
70
80
|
|
|
71
81
|
/**
|
|
@@ -152,6 +162,13 @@ export class Context implements FlexTreeHydratedContext, IDisposable {
|
|
|
152
162
|
return this.checkout.storedSchema;
|
|
153
163
|
}
|
|
154
164
|
|
|
165
|
+
public runInTransaction(fn: () => void): void {
|
|
166
|
+
debugAssert(() => !this.disposed || "Disposed");
|
|
167
|
+
this.checkout.transaction.start(false);
|
|
168
|
+
fn();
|
|
169
|
+
this.checkout.transaction.commit();
|
|
170
|
+
}
|
|
171
|
+
|
|
155
172
|
/**
|
|
156
173
|
* Called before editing.
|
|
157
174
|
* Clears all cursors so editing can proceed.
|
|
@@ -14,15 +14,14 @@ import {
|
|
|
14
14
|
} from "../../core/index.js";
|
|
15
15
|
import type {
|
|
16
16
|
FieldKinds,
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
SequenceFieldEditor,
|
|
18
|
+
RequiredFieldEditor,
|
|
19
|
+
OptionalFieldEditor,
|
|
20
20
|
} from "../default-schema/index.js";
|
|
21
21
|
import type {
|
|
22
22
|
MapTreeFieldViewGeneric,
|
|
23
23
|
MapTreeNodeViewGeneric,
|
|
24
24
|
MinimalFieldMap,
|
|
25
|
-
MinimalMapTreeNodeView,
|
|
26
25
|
} from "../mapTreeCursor.js";
|
|
27
26
|
import type { FlexFieldKind } from "../modular-schema/index.js";
|
|
28
27
|
|
|
@@ -309,7 +308,7 @@ export type FlexibleFieldContent = readonly FlexibleNodeContent[];
|
|
|
309
308
|
/**
|
|
310
309
|
* Tree for inserting as a node.
|
|
311
310
|
*/
|
|
312
|
-
export type FlexibleNodeContent =
|
|
311
|
+
export type FlexibleNodeContent = FlexTreeNode;
|
|
313
312
|
|
|
314
313
|
/**
|
|
315
314
|
* {@link FlexTreeField} that stores a sequence of children.
|
|
@@ -354,7 +353,7 @@ export interface FlexTreeSequenceField extends FlexTreeField {
|
|
|
354
353
|
/**
|
|
355
354
|
* Get an editor for this sequence.
|
|
356
355
|
*/
|
|
357
|
-
readonly editor:
|
|
356
|
+
readonly editor: SequenceFieldEditor<FlexibleFieldContent, readonly FlexTreeNode[]>;
|
|
358
357
|
}
|
|
359
358
|
|
|
360
359
|
/**
|
|
@@ -366,7 +365,7 @@ export interface FlexTreeSequenceField extends FlexTreeField {
|
|
|
366
365
|
export interface FlexTreeRequiredField extends FlexTreeField {
|
|
367
366
|
get content(): FlexTreeUnknownUnboxed;
|
|
368
367
|
|
|
369
|
-
readonly editor:
|
|
368
|
+
readonly editor: RequiredFieldEditor<FlexibleNodeContent, FlexTreeNode>;
|
|
370
369
|
}
|
|
371
370
|
|
|
372
371
|
/**
|
|
@@ -385,7 +384,7 @@ export interface FlexTreeRequiredField extends FlexTreeField {
|
|
|
385
384
|
export interface FlexTreeOptionalField extends FlexTreeField {
|
|
386
385
|
get content(): FlexTreeUnknownUnboxed | undefined;
|
|
387
386
|
|
|
388
|
-
readonly editor:
|
|
387
|
+
readonly editor: OptionalFieldEditor<FlexibleNodeContent, FlexTreeNode>;
|
|
389
388
|
}
|
|
390
389
|
|
|
391
390
|
// #endregion
|
|
@@ -9,7 +9,6 @@ import { UsageError } from "@fluidframework/telemetry-utils/internal";
|
|
|
9
9
|
import {
|
|
10
10
|
type AnchorNode,
|
|
11
11
|
CursorLocationType,
|
|
12
|
-
type ExclusiveMapTree,
|
|
13
12
|
type FieldAnchor,
|
|
14
13
|
type FieldKey,
|
|
15
14
|
type FieldKindIdentifier,
|
|
@@ -27,18 +26,21 @@ import { combineChunks } from "../chunked-forest/index.js";
|
|
|
27
26
|
import {
|
|
28
27
|
FieldKinds,
|
|
29
28
|
MappedEditBuilder,
|
|
30
|
-
type
|
|
31
|
-
type
|
|
32
|
-
type
|
|
33
|
-
type
|
|
29
|
+
type SequenceFieldEditor,
|
|
30
|
+
type RequiredFieldEditor,
|
|
31
|
+
type DataEditor,
|
|
32
|
+
type OptionalFieldEditor,
|
|
33
|
+
type DetachedRootLocation,
|
|
34
|
+
type DetachedRootsLocation,
|
|
34
35
|
} from "../default-schema/index.js";
|
|
35
|
-
import { cursorForMapTreeField } from "../mapTreeCursor.js";
|
|
36
|
+
import { cursorForMapTreeField, type MinimalMapTreeNodeView } from "../mapTreeCursor.js";
|
|
36
37
|
import type { FlexFieldKind } from "../modular-schema/index.js";
|
|
37
38
|
|
|
38
39
|
import type { Context } from "./context.js";
|
|
39
40
|
import {
|
|
40
41
|
FlexTreeEntityKind,
|
|
41
42
|
type FlexTreeField,
|
|
43
|
+
type FlexTreeNode,
|
|
42
44
|
type FlexTreeOptionalField,
|
|
43
45
|
type FlexTreeRequiredField,
|
|
44
46
|
type FlexTreeSequenceField,
|
|
@@ -52,7 +54,7 @@ import {
|
|
|
52
54
|
flexTreeSlot,
|
|
53
55
|
} from "./flexTreeTypes.js";
|
|
54
56
|
import { LazyEntity } from "./lazyEntity.js";
|
|
55
|
-
import {
|
|
57
|
+
import { LazyTreeNode, getOrCreateHydratedFlexTreeNode } from "./lazyNode.js";
|
|
56
58
|
import { indexForAt, treeStatusFromAnchorCache } from "./utilities.js";
|
|
57
59
|
|
|
58
60
|
/**
|
|
@@ -230,21 +232,28 @@ export abstract class LazyField extends LazyEntity<FieldAnchor> implements FlexT
|
|
|
230
232
|
* This path is not valid to hold onto across edits: this must be recalled for each edit.
|
|
231
233
|
*/
|
|
232
234
|
public getFieldPathForEditing(): NormalizedFieldUpPath {
|
|
233
|
-
if (
|
|
234
|
-
!this.isFreed() &&
|
|
235
|
+
if (!this.isFreed()) {
|
|
235
236
|
// Only allow editing if we are the root document field...
|
|
236
|
-
(
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
237
|
+
if (this.parent === undefined && this.anchor.fieldKey === rootFieldKey) {
|
|
238
|
+
return this.getFieldPath();
|
|
239
|
+
}
|
|
240
|
+
// ...or are under a node in the document
|
|
241
|
+
if (this.parent !== undefined) {
|
|
242
|
+
const status = treeStatusFromAnchorCache(this.parent.anchorNode);
|
|
243
|
+
if (status === TreeStatus.InDocument || status === TreeStatus.Removed) {
|
|
244
|
+
return this.getFieldPath();
|
|
245
|
+
}
|
|
246
|
+
}
|
|
242
247
|
}
|
|
243
248
|
|
|
244
249
|
throw new UsageError("Editing only allowed on fields with TreeStatus.InDocument status");
|
|
245
250
|
}
|
|
246
251
|
|
|
247
|
-
protected getEditor():
|
|
252
|
+
protected getEditor(): DataEditor<
|
|
253
|
+
ITreeCursorSynchronous,
|
|
254
|
+
DetachedRootLocation,
|
|
255
|
+
DetachedRootsLocation
|
|
256
|
+
> {
|
|
248
257
|
return new MappedEditBuilder(
|
|
249
258
|
this.context.checkout.editor,
|
|
250
259
|
(cursor: ITreeCursorSynchronous) =>
|
|
@@ -253,6 +262,11 @@ export abstract class LazyField extends LazyEntity<FieldAnchor> implements FlexT
|
|
|
253
262
|
}
|
|
254
263
|
}
|
|
255
264
|
|
|
265
|
+
function fieldFromNode(node: FlexTreeNode): FieldKey {
|
|
266
|
+
assert(node instanceof LazyTreeNode, "Invalid tree type");
|
|
267
|
+
return node.anchorNode.parentField;
|
|
268
|
+
}
|
|
269
|
+
|
|
256
270
|
export class LazySequence extends LazyField implements FlexTreeSequenceField {
|
|
257
271
|
public at(index: number): FlexTreeUnknownUnboxed | undefined {
|
|
258
272
|
const finalIndex = indexForAt(index, this.length);
|
|
@@ -267,32 +281,48 @@ export class LazySequence extends LazyField implements FlexTreeSequenceField {
|
|
|
267
281
|
return this.map((x) => x);
|
|
268
282
|
}
|
|
269
283
|
|
|
270
|
-
public editor:
|
|
284
|
+
public editor: SequenceFieldEditor<FlexibleFieldContent, readonly FlexTreeNode[]> = {
|
|
271
285
|
insert: (index, newContent) => {
|
|
272
286
|
this.sequenceEditor().insert(index, cursorForMapTreeField(newContent));
|
|
273
287
|
},
|
|
274
288
|
remove: (index, count) => {
|
|
275
289
|
this.sequenceEditor().remove(index, count);
|
|
276
290
|
},
|
|
291
|
+
attach: (index, content) => {
|
|
292
|
+
const contentLocations: DetachedRootsLocation = content.map((node) => ({
|
|
293
|
+
field: fieldFromNode(node),
|
|
294
|
+
count: 1,
|
|
295
|
+
}));
|
|
296
|
+
this.sequenceEditor().attach(index, contentLocations);
|
|
297
|
+
},
|
|
277
298
|
};
|
|
278
299
|
|
|
279
|
-
private sequenceEditor():
|
|
300
|
+
private sequenceEditor(): SequenceFieldEditor<
|
|
301
|
+
ITreeCursorSynchronous,
|
|
302
|
+
DetachedRootsLocation
|
|
303
|
+
> {
|
|
280
304
|
const fieldPath = this.getFieldPathForEditing();
|
|
281
305
|
return this.getEditor().sequenceField(fieldPath);
|
|
282
306
|
}
|
|
283
307
|
}
|
|
284
308
|
|
|
285
309
|
export class LazyValueField extends LazyField implements FlexTreeRequiredField {
|
|
286
|
-
public editor:
|
|
310
|
+
public editor: RequiredFieldEditor<FlexibleNodeContent, FlexTreeNode> = {
|
|
287
311
|
set: (newContent) => {
|
|
288
312
|
this.valueFieldEditor().set(cursorForMapTreeField([newContent]));
|
|
289
313
|
},
|
|
314
|
+
attach: (content) => {
|
|
315
|
+
const root = fieldFromNode(content);
|
|
316
|
+
this.valueFieldEditor().attach(root);
|
|
317
|
+
},
|
|
290
318
|
};
|
|
291
319
|
|
|
292
|
-
private valueFieldEditor():
|
|
320
|
+
private valueFieldEditor(): RequiredFieldEditor<
|
|
321
|
+
ITreeCursorSynchronous,
|
|
322
|
+
DetachedRootLocation
|
|
323
|
+
> {
|
|
293
324
|
const fieldPath = this.getFieldPathForEditing();
|
|
294
|
-
|
|
295
|
-
return fieldEditor;
|
|
325
|
+
return this.getEditor().valueField(fieldPath);
|
|
296
326
|
}
|
|
297
327
|
|
|
298
328
|
public get content(): FlexTreeUnknownUnboxed {
|
|
@@ -301,16 +331,27 @@ export class LazyValueField extends LazyField implements FlexTreeRequiredField {
|
|
|
301
331
|
}
|
|
302
332
|
|
|
303
333
|
export class LazyOptionalField extends LazyField implements FlexTreeOptionalField {
|
|
304
|
-
public editor:
|
|
334
|
+
public editor: OptionalFieldEditor<MinimalMapTreeNodeView, FlexTreeNode> = {
|
|
305
335
|
set: (newContent, wasEmpty) => {
|
|
306
336
|
this.optionalEditor().set(
|
|
307
337
|
newContent === undefined ? newContent : cursorForMapTreeField([newContent]),
|
|
308
338
|
wasEmpty,
|
|
309
339
|
);
|
|
310
340
|
},
|
|
341
|
+
attach: (content, wasEmpty) => {
|
|
342
|
+
if (content === undefined) {
|
|
343
|
+
this.optionalEditor().clear(wasEmpty);
|
|
344
|
+
} else {
|
|
345
|
+
const root = fieldFromNode(content);
|
|
346
|
+
this.optionalEditor().attach(root, wasEmpty);
|
|
347
|
+
}
|
|
348
|
+
},
|
|
349
|
+
clear: (wasEmpty) => {
|
|
350
|
+
this.optionalEditor().clear(wasEmpty);
|
|
351
|
+
},
|
|
311
352
|
};
|
|
312
353
|
|
|
313
|
-
private optionalEditor():
|
|
354
|
+
private optionalEditor(): OptionalFieldEditor<ITreeCursorSynchronous, DetachedRootLocation> {
|
|
314
355
|
const fieldPath = this.getFieldPathForEditing();
|
|
315
356
|
const fieldEditor = this.getEditor().optionalField(fieldPath);
|
|
316
357
|
return fieldEditor;
|