@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
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
import { createEmitter } from "@fluid-internal/client-utils";
|
|
7
7
|
import type { HasListeners, Listenable } from "@fluidframework/core-interfaces/internal";
|
|
8
|
-
import { assert, oob, fail } from "@fluidframework/core-utils/internal";
|
|
8
|
+
import { assert, oob, fail, debugAssert } from "@fluidframework/core-utils/internal";
|
|
9
9
|
import { UsageError } from "@fluidframework/telemetry-utils/internal";
|
|
10
10
|
|
|
11
11
|
import {
|
|
@@ -38,16 +38,16 @@ import {
|
|
|
38
38
|
type FlexTreeHydratedContext,
|
|
39
39
|
type FlexFieldKind,
|
|
40
40
|
FieldKinds,
|
|
41
|
-
type SequenceFieldEditBuilder,
|
|
42
41
|
cursorForMapTreeNode,
|
|
43
|
-
type
|
|
44
|
-
type
|
|
45
|
-
type FlexibleNodeContent,
|
|
42
|
+
type SequenceFieldEditor,
|
|
43
|
+
type RequiredFieldEditor,
|
|
46
44
|
type FlexTreeHydratedContextMinimal,
|
|
47
45
|
type FlexibleFieldContent,
|
|
48
46
|
type MapTreeFieldViewGeneric,
|
|
49
47
|
type MapTreeNodeViewGeneric,
|
|
50
48
|
type HydratedFlexTreeNode,
|
|
49
|
+
type FlexibleNodeContent,
|
|
50
|
+
type OptionalFieldEditor,
|
|
51
51
|
cursorForMapTreeField,
|
|
52
52
|
type MinimalFieldMap,
|
|
53
53
|
currentObserver,
|
|
@@ -59,7 +59,7 @@ import type { Context } from "./context.js";
|
|
|
59
59
|
import type { TreeNode } from "./treeNode.js";
|
|
60
60
|
|
|
61
61
|
interface UnhydratedTreeSequenceFieldEditBuilder
|
|
62
|
-
extends
|
|
62
|
+
extends SequenceFieldEditor<FlexibleFieldContent, readonly FlexTreeNode[]> {
|
|
63
63
|
/**
|
|
64
64
|
* Moves elements from a source position to a destination position.
|
|
65
65
|
* Can move within the same field or from another unhydrated sequence field.
|
|
@@ -88,7 +88,7 @@ type LocationInField = FlexTreeNode["parentField"];
|
|
|
88
88
|
* The {@link Unhydrated} implementation of {@link FlexTreeNode}.
|
|
89
89
|
*/
|
|
90
90
|
export class UnhydratedFlexTreeNode
|
|
91
|
-
implements FlexTreeNode, MapTreeNodeViewGeneric<
|
|
91
|
+
implements FlexTreeNode, MapTreeNodeViewGeneric<FlexTreeNode>
|
|
92
92
|
{
|
|
93
93
|
public isHydrated(): this is HydratedFlexTreeNode {
|
|
94
94
|
return false;
|
|
@@ -241,7 +241,7 @@ export class UnhydratedFlexTreeNode
|
|
|
241
241
|
}
|
|
242
242
|
|
|
243
243
|
public borrowCursor(): ITreeCursorSynchronous {
|
|
244
|
-
return cursorForMapTreeNode<MapTreeNodeViewGeneric<
|
|
244
|
+
return cursorForMapTreeNode<MapTreeNodeViewGeneric<FlexTreeNode>>(this);
|
|
245
245
|
}
|
|
246
246
|
|
|
247
247
|
public tryGetField(key: FieldKey): UnhydratedFlexTreeField | undefined {
|
|
@@ -315,6 +315,11 @@ export class UnhydratedContext implements FlexTreeContext {
|
|
|
315
315
|
public isHydrated(): this is FlexTreeHydratedContext {
|
|
316
316
|
return false;
|
|
317
317
|
}
|
|
318
|
+
|
|
319
|
+
public runInTransaction(fn: () => void): void {
|
|
320
|
+
debugAssert(() => !this.isDisposed() || "Disposed");
|
|
321
|
+
fn();
|
|
322
|
+
}
|
|
318
323
|
}
|
|
319
324
|
|
|
320
325
|
// #region Fields
|
|
@@ -342,7 +347,7 @@ const unparentedLocation: LocationInField = {
|
|
|
342
347
|
* The {@link Unhydrated} implementation of {@link FlexTreeField}.
|
|
343
348
|
*/
|
|
344
349
|
export class UnhydratedFlexTreeField
|
|
345
|
-
implements FlexTreeField, MapTreeFieldViewGeneric<
|
|
350
|
+
implements FlexTreeField, MapTreeFieldViewGeneric<FlexTreeNode>
|
|
346
351
|
{
|
|
347
352
|
public [flexTreeMarker] = FlexTreeEntityKind.Field as const;
|
|
348
353
|
|
|
@@ -359,21 +364,23 @@ export class UnhydratedFlexTreeField
|
|
|
359
364
|
* See {@link fillPendingDefaults}.
|
|
360
365
|
* Note that any fields using a {@link ConstantFieldProvider} should be evaluated before constructing the UnhydratedFlexTreeField.
|
|
361
366
|
*/
|
|
362
|
-
private lazyChildren:
|
|
367
|
+
private lazyChildren: FlexTreeNode[] | ContextualFieldProvider,
|
|
363
368
|
) {
|
|
364
369
|
// When this field is created (which only happens one time, because it is cached), all the children become parented for the first time.
|
|
365
370
|
// "Adopt" each child by updating its parent information to point to this field.
|
|
366
371
|
if (Array.isArray(lazyChildren)) {
|
|
367
372
|
for (const [i, child] of lazyChildren.entries()) {
|
|
368
|
-
child
|
|
373
|
+
if (child instanceof UnhydratedFlexTreeNode) {
|
|
374
|
+
child.adoptBy(this, i);
|
|
375
|
+
} else {
|
|
376
|
+
// TODO: hook up events from hydrated to unhydrated nodes.
|
|
377
|
+
}
|
|
369
378
|
}
|
|
370
379
|
}
|
|
371
380
|
}
|
|
372
381
|
|
|
373
382
|
public borrowCursor(): ITreeCursorSynchronous {
|
|
374
|
-
return cursorForMapTreeField<MapTreeNodeViewGeneric<
|
|
375
|
-
this.children,
|
|
376
|
-
);
|
|
383
|
+
return cursorForMapTreeField<MapTreeNodeViewGeneric<FlexTreeNode>>(this.children);
|
|
377
384
|
}
|
|
378
385
|
|
|
379
386
|
private getPendingDefault(): ContextualFieldProvider | undefined {
|
|
@@ -401,13 +408,13 @@ export class UnhydratedFlexTreeField
|
|
|
401
408
|
return this.getPendingDefault() !== undefined;
|
|
402
409
|
}
|
|
403
410
|
|
|
404
|
-
public get children():
|
|
411
|
+
public get children(): FlexTreeNode[] {
|
|
405
412
|
const provider = this.getPendingDefault();
|
|
406
413
|
if (provider) {
|
|
407
414
|
const content = provider("UseGlobalContext");
|
|
408
415
|
this.lazyChildren = content;
|
|
409
416
|
}
|
|
410
|
-
return this.lazyChildren as
|
|
417
|
+
return this.lazyChildren as FlexTreeNode[];
|
|
411
418
|
}
|
|
412
419
|
|
|
413
420
|
public get length(): number {
|
|
@@ -427,7 +434,7 @@ export class UnhydratedFlexTreeField
|
|
|
427
434
|
return m;
|
|
428
435
|
}
|
|
429
436
|
|
|
430
|
-
public [Symbol.iterator](): IterableIterator<
|
|
437
|
+
public [Symbol.iterator](): IterableIterator<FlexTreeNode> {
|
|
431
438
|
return this.children[Symbol.iterator]();
|
|
432
439
|
}
|
|
433
440
|
|
|
@@ -439,19 +446,17 @@ export class UnhydratedFlexTreeField
|
|
|
439
446
|
* @remarks All edits to the field (i.e. mutations of the field's MapTrees) should be directed through this function.
|
|
440
447
|
* This function ensures that the parent MapTree has no empty fields (which is an invariant of `MapTree`) after the mutation.
|
|
441
448
|
*/
|
|
442
|
-
protected edit(
|
|
443
|
-
edit: (mapTrees: UnhydratedFlexTreeNode[]) => void | UnhydratedFlexTreeNode[],
|
|
444
|
-
): void {
|
|
449
|
+
protected edit(edit: (mapTrees: FlexTreeNode[]) => void | FlexTreeNode[]): void {
|
|
445
450
|
// Clear parents for all old map trees.
|
|
446
451
|
for (const tree of this.children) {
|
|
447
|
-
tree
|
|
452
|
+
orphan(tree);
|
|
448
453
|
}
|
|
449
454
|
|
|
450
455
|
this.lazyChildren = edit(this.children) ?? this.children;
|
|
451
456
|
|
|
452
457
|
// Set parents for all new map trees.
|
|
453
458
|
for (const [index, tree] of this.children.entries()) {
|
|
454
|
-
|
|
459
|
+
adoptNode(this, tree, index);
|
|
455
460
|
}
|
|
456
461
|
|
|
457
462
|
this.parent?.emitChangedEvent(this.key);
|
|
@@ -462,7 +467,7 @@ export class UnhydratedFlexTreeField
|
|
|
462
467
|
}
|
|
463
468
|
|
|
464
469
|
/** Unboxes leaf nodes to their values */
|
|
465
|
-
protected unboxed(index: number): TreeValue |
|
|
470
|
+
protected unboxed(index: number): TreeValue | FlexTreeNode {
|
|
466
471
|
const child = this.children[index] ?? oob();
|
|
467
472
|
const value = child.value;
|
|
468
473
|
if (value !== undefined) {
|
|
@@ -472,6 +477,22 @@ export class UnhydratedFlexTreeField
|
|
|
472
477
|
}
|
|
473
478
|
}
|
|
474
479
|
|
|
480
|
+
function adoptNode(parent: UnhydratedFlexTreeField, node: FlexTreeNode, index: number): void {
|
|
481
|
+
if (node instanceof UnhydratedFlexTreeNode) {
|
|
482
|
+
node.adoptBy(parent, index);
|
|
483
|
+
} else {
|
|
484
|
+
// TODO: handle parenting for hydrated nodes.
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
|
|
488
|
+
function orphan(node: FlexTreeNode): void {
|
|
489
|
+
if (node instanceof UnhydratedFlexTreeNode) {
|
|
490
|
+
node.adoptBy(undefined);
|
|
491
|
+
} else {
|
|
492
|
+
// TODO: handle unparenting for hydrated nodes.
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
|
|
475
496
|
/**
|
|
476
497
|
* The {@link Unhydrated} implementation of {@link FlexTreeOptionalField}.
|
|
477
498
|
*/
|
|
@@ -479,8 +500,9 @@ export class UnhydratedOptionalField
|
|
|
479
500
|
extends UnhydratedFlexTreeField
|
|
480
501
|
implements FlexTreeOptionalField
|
|
481
502
|
{
|
|
482
|
-
public readonly editor = {
|
|
503
|
+
public readonly editor: OptionalFieldEditor<FlexibleNodeContent, FlexTreeNode> = {
|
|
483
504
|
set: (newContent: FlexibleNodeContent | undefined): void => {
|
|
505
|
+
// If the new content is a UnhydratedFlexTreeNode, it needs to have its parent pointer updated
|
|
484
506
|
if (newContent !== undefined) {
|
|
485
507
|
assert(
|
|
486
508
|
newContent instanceof UnhydratedFlexTreeNode,
|
|
@@ -496,8 +518,13 @@ export class UnhydratedOptionalField
|
|
|
496
518
|
}
|
|
497
519
|
});
|
|
498
520
|
},
|
|
499
|
-
|
|
500
|
-
|
|
521
|
+
clear: (): void => {
|
|
522
|
+
this.editor.set(undefined, true /* <- dummy wasEmpty argument */);
|
|
523
|
+
},
|
|
524
|
+
attach: (content): void => {
|
|
525
|
+
this.editor.set(content, true /* <- dummy wasEmpty argument */);
|
|
526
|
+
},
|
|
527
|
+
};
|
|
501
528
|
|
|
502
529
|
public get content(): FlexTreeUnknownUnboxed | undefined {
|
|
503
530
|
const value = this.children[0];
|
|
@@ -509,17 +536,34 @@ export class UnhydratedOptionalField
|
|
|
509
536
|
}
|
|
510
537
|
}
|
|
511
538
|
|
|
512
|
-
class UnhydratedRequiredField
|
|
513
|
-
extends
|
|
539
|
+
export class UnhydratedRequiredField
|
|
540
|
+
extends UnhydratedFlexTreeField
|
|
514
541
|
implements FlexTreeRequiredField
|
|
515
542
|
{
|
|
516
|
-
public
|
|
543
|
+
public readonly editor: RequiredFieldEditor<FlexibleNodeContent, FlexTreeNode> = {
|
|
544
|
+
set: (newContent: FlexibleNodeContent): void => {
|
|
545
|
+
assert(
|
|
546
|
+
newContent instanceof UnhydratedFlexTreeNode,
|
|
547
|
+
0xbb7 /* Expected unhydrated node */,
|
|
548
|
+
);
|
|
549
|
+
|
|
550
|
+
this.edit((mapTrees) => {
|
|
551
|
+
mapTrees[0] = newContent;
|
|
552
|
+
});
|
|
553
|
+
},
|
|
554
|
+
attach: (content): void => {
|
|
555
|
+
this.editor.set(content);
|
|
556
|
+
},
|
|
557
|
+
};
|
|
558
|
+
|
|
559
|
+
public get content(): FlexTreeUnknownUnboxed {
|
|
560
|
+
const value = this.children[0];
|
|
517
561
|
// This cannot use ?? since null is a legal value here.
|
|
518
562
|
assert(
|
|
519
|
-
|
|
563
|
+
value !== undefined,
|
|
520
564
|
0xa57 /* Expected EagerMapTree required field to have a value */,
|
|
521
565
|
);
|
|
522
|
-
return
|
|
566
|
+
return this.unboxed(0);
|
|
523
567
|
}
|
|
524
568
|
}
|
|
525
569
|
|
|
@@ -534,9 +578,9 @@ export class UnhydratedSequenceField
|
|
|
534
578
|
insert: (index, newContent): void => {
|
|
535
579
|
for (const c of newContent) {
|
|
536
580
|
assert(c !== undefined, 0xa0a /* Unexpected sparse array content */);
|
|
537
|
-
|
|
581
|
+
// TODO: ensure somewhere checks for not already having parents
|
|
538
582
|
}
|
|
539
|
-
const newContentChecked
|
|
583
|
+
const newContentChecked: readonly FlexTreeNode[] = newContent;
|
|
540
584
|
this.edit((mapTrees) => {
|
|
541
585
|
if (newContent.length < 1000) {
|
|
542
586
|
// For "smallish arrays" (`1000` is not empirically derived), the `splice` function is appropriate...
|
|
@@ -547,17 +591,20 @@ export class UnhydratedSequenceField
|
|
|
547
591
|
}
|
|
548
592
|
});
|
|
549
593
|
},
|
|
550
|
-
remove: (index, count):
|
|
594
|
+
remove: (index, count): FlexTreeNode[] => {
|
|
551
595
|
for (let i = index; i < index + count; i++) {
|
|
552
596
|
const c = this.children[i];
|
|
553
597
|
assert(c !== undefined, 0xa0b /* Unexpected sparse array */);
|
|
554
598
|
}
|
|
555
|
-
let removed:
|
|
599
|
+
let removed: FlexTreeNode[] | undefined;
|
|
556
600
|
this.edit((mapTrees) => {
|
|
557
601
|
removed = mapTrees.splice(index, count);
|
|
558
602
|
});
|
|
559
603
|
return removed ?? fail(0xb4a /* Expected removed to be set by edit */);
|
|
560
604
|
},
|
|
605
|
+
attach: (index, content: readonly FlexTreeNode[]): void => {
|
|
606
|
+
this.editor.insert(index, content);
|
|
607
|
+
},
|
|
561
608
|
move: (sourceIndex, count, destIndex, source?): void => {
|
|
562
609
|
const sourceField = source ?? this;
|
|
563
610
|
if (sourceField === this) {
|
|
@@ -8,7 +8,10 @@ import { Lazy } from "@fluidframework/core-utils/internal";
|
|
|
8
8
|
import { UsageError } from "@fluidframework/telemetry-utils/internal";
|
|
9
9
|
|
|
10
10
|
import type { FieldKey } from "../core/index.js";
|
|
11
|
-
import type {
|
|
11
|
+
import type {
|
|
12
|
+
FlexTreeHydratedContextMinimal,
|
|
13
|
+
FlexTreeNode,
|
|
14
|
+
} from "../feature-libraries/index.js";
|
|
12
15
|
import {
|
|
13
16
|
type MakeNominal,
|
|
14
17
|
brand,
|
|
@@ -22,7 +25,6 @@ import {
|
|
|
22
25
|
import type {
|
|
23
26
|
TreeNodeSchema,
|
|
24
27
|
TreeNode,
|
|
25
|
-
UnhydratedFlexTreeNode,
|
|
26
28
|
ImplicitAllowedTypes,
|
|
27
29
|
TreeNodeFromImplicitAllowedTypes,
|
|
28
30
|
TreeLeafValue,
|
|
@@ -189,11 +191,11 @@ export interface FieldPropsAlpha<TCustomMetadata = unknown>
|
|
|
189
191
|
*/
|
|
190
192
|
export type ContextualFieldProvider = (
|
|
191
193
|
context: FlexTreeHydratedContextMinimal | "UseGlobalContext",
|
|
192
|
-
) =>
|
|
194
|
+
) => FlexTreeNode[];
|
|
193
195
|
/**
|
|
194
196
|
* A {@link FieldProvider} which can produce its content in a vacuum.
|
|
195
197
|
*/
|
|
196
|
-
export type ConstantFieldProvider = () =>
|
|
198
|
+
export type ConstantFieldProvider = () => FlexTreeNode[];
|
|
197
199
|
/**
|
|
198
200
|
* A function which produces content for a field every time that it is called.
|
|
199
201
|
*/
|
package/src/simple-tree/index.ts
CHANGED
|
@@ -271,7 +271,7 @@ export {
|
|
|
271
271
|
createArrayInsertionAnchor,
|
|
272
272
|
} from "./node-kinds/index.js";
|
|
273
273
|
export {
|
|
274
|
-
unhydratedFlexTreeFromInsertable,
|
|
274
|
+
flexTreeFromInsertable as unhydratedFlexTreeFromInsertable,
|
|
275
275
|
type InsertableContent,
|
|
276
276
|
type FactoryContent,
|
|
277
277
|
type FactoryContentObject,
|
|
@@ -279,6 +279,7 @@ export {
|
|
|
279
279
|
export {
|
|
280
280
|
prepareForInsertion,
|
|
281
281
|
prepareForInsertionContextless,
|
|
282
|
+
type PreparedContent,
|
|
282
283
|
} from "./prepareForInsertion.js";
|
|
283
284
|
export {
|
|
284
285
|
toStoredSchema,
|
|
@@ -63,9 +63,9 @@ import { prepareArrayContentForInsertion } from "../../prepareForInsertion.js";
|
|
|
63
63
|
import type { SchemaType, SimpleAllowedTypeAttributes } from "../../simpleSchema.js";
|
|
64
64
|
import {
|
|
65
65
|
type FactoryContent,
|
|
66
|
+
flexTreeFromInsertableNode,
|
|
66
67
|
type InsertableContent,
|
|
67
68
|
unhydratedFlexTreeFromInsertable,
|
|
68
|
-
unhydratedFlexTreeFromInsertableNode,
|
|
69
69
|
} from "../../unhydratedFlexTreeFromInsertable.js";
|
|
70
70
|
|
|
71
71
|
import type {
|
|
@@ -969,8 +969,10 @@ abstract class CustomArrayNodeBase<const T extends ImplicitAllowedTypes>
|
|
|
969
969
|
public insertAt(index: number, ...value: Insertable<T>): void {
|
|
970
970
|
const field = getSequenceField(this);
|
|
971
971
|
validateIndex(index, field, "TreeArrayNode.insertAt", true);
|
|
972
|
-
|
|
973
|
-
|
|
972
|
+
field.context.runInTransaction(() => {
|
|
973
|
+
const content = this.#mapTreesFromFieldData(value);
|
|
974
|
+
field.editor.attach(index, content);
|
|
975
|
+
});
|
|
974
976
|
}
|
|
975
977
|
public insertAtStart(...value: Insertable<T>): void {
|
|
976
978
|
this.insertAt(0, ...value);
|
|
@@ -1319,7 +1321,7 @@ export function arraySchema<
|
|
|
1319
1321
|
function arrayChildToFlexTree(
|
|
1320
1322
|
child: InsertableContent,
|
|
1321
1323
|
allowedTypes: ReadonlySet<TreeNodeSchema>,
|
|
1322
|
-
):
|
|
1324
|
+
): FlexTreeNode {
|
|
1323
1325
|
// We do not support undefined sequence entries.
|
|
1324
1326
|
// If we encounter an undefined entry, use null instead if supported by the schema, otherwise throw.
|
|
1325
1327
|
let childWithFallback = child;
|
|
@@ -1330,7 +1332,7 @@ function arrayChildToFlexTree(
|
|
|
1330
1332
|
throw new TypeError(`Received unsupported array entry value: ${child}.`);
|
|
1331
1333
|
}
|
|
1332
1334
|
}
|
|
1333
|
-
return
|
|
1335
|
+
return flexTreeFromInsertableNode(childWithFallback, allowedTypes);
|
|
1334
1336
|
}
|
|
1335
1337
|
|
|
1336
1338
|
/**
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
} from "../core/index.js";
|
|
17
17
|
import { getUnhydratedContext } from "../createContext.js";
|
|
18
18
|
import {
|
|
19
|
-
|
|
19
|
+
flexTreeFromInsertableNode,
|
|
20
20
|
type InsertableContent,
|
|
21
21
|
} from "../unhydratedFlexTreeFromInsertable.js";
|
|
22
22
|
|
|
@@ -44,10 +44,7 @@ export function recordLikeDataToFlexContent(
|
|
|
44
44
|
|
|
45
45
|
// Omit undefined values - an entry with an undefined value is equivalent to one that has been removed or omitted
|
|
46
46
|
if (value !== undefined) {
|
|
47
|
-
const child =
|
|
48
|
-
value,
|
|
49
|
-
allowedChildTypes.evaluateSet(),
|
|
50
|
-
);
|
|
47
|
+
const child = flexTreeFromInsertableNode(value, allowedChildTypes.evaluateSet());
|
|
51
48
|
const field = createField(context, FieldKinds.optional.identifier, brand(key), [child]);
|
|
52
49
|
transformedFields.set(brand(key), field);
|
|
53
50
|
}
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
type FlexibleNodeContent,
|
|
13
13
|
type FlexTreeNode,
|
|
14
14
|
type FlexTreeOptionalField,
|
|
15
|
-
type
|
|
15
|
+
type OptionalFieldEditor,
|
|
16
16
|
} from "../../../feature-libraries/index.js";
|
|
17
17
|
import {
|
|
18
18
|
brand,
|
|
@@ -178,14 +178,14 @@ abstract class CustomMapNodeBase<const T extends ImplicitAllowedTypes> extends T
|
|
|
178
178
|
return getInnerNode(this);
|
|
179
179
|
}
|
|
180
180
|
|
|
181
|
-
private editor(key: string):
|
|
181
|
+
private editor(key: string): OptionalFieldEditor<FlexibleNodeContent, FlexTreeNode> {
|
|
182
182
|
const field = this.innerNode.getBoxed(brand(key)) as FlexTreeOptionalField;
|
|
183
183
|
return field.editor;
|
|
184
184
|
}
|
|
185
185
|
|
|
186
186
|
public delete(key: string): void {
|
|
187
187
|
const field = this.innerNode.getBoxed(brand(key));
|
|
188
|
-
this.editor(key).
|
|
188
|
+
this.editor(key).clear(field.length === 0);
|
|
189
189
|
}
|
|
190
190
|
public *entries(): IterableIterator<[string, TreeNodeFromImplicitAllowedTypes<T>]> {
|
|
191
191
|
const node = this.innerNode;
|
|
@@ -228,7 +228,7 @@ abstract class CustomMapNodeBase<const T extends ImplicitAllowedTypes> extends T
|
|
|
228
228
|
|
|
229
229
|
const field = node.getBoxed(brand(key));
|
|
230
230
|
|
|
231
|
-
this.editor(key).
|
|
231
|
+
this.editor(key).attach(mapTree, field.length === 0);
|
|
232
232
|
return this;
|
|
233
233
|
}
|
|
234
234
|
public get size(): number {
|
|
@@ -77,7 +77,7 @@ import type { SimpleObjectFieldSchema } from "../../simpleSchema.js";
|
|
|
77
77
|
import { convertFieldKind } from "../../toStoredSchema.js";
|
|
78
78
|
import {
|
|
79
79
|
unhydratedFlexTreeFromInsertable,
|
|
80
|
-
|
|
80
|
+
flexTreeFromInsertableNode,
|
|
81
81
|
type FactoryContent,
|
|
82
82
|
type FactoryContentObject,
|
|
83
83
|
type InsertableContent,
|
|
@@ -354,30 +354,32 @@ export function setField(
|
|
|
354
354
|
value: InsertableContent | undefined,
|
|
355
355
|
destinationSchema: TreeFieldStoredSchema,
|
|
356
356
|
): void {
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
357
|
+
field.context.runInTransaction(() => {
|
|
358
|
+
const mapTree = prepareForInsertion(
|
|
359
|
+
value,
|
|
360
|
+
simpleFieldSchema,
|
|
361
|
+
field.context,
|
|
362
|
+
destinationSchema,
|
|
363
|
+
);
|
|
363
364
|
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
365
|
+
switch (field.schema) {
|
|
366
|
+
case FieldKinds.required.identifier: {
|
|
367
|
+
assert(mapTree !== undefined, 0xa04 /* Cannot set a required field to undefined */);
|
|
368
|
+
const typedField = field as FlexTreeRequiredField;
|
|
369
|
+
typedField.editor.attach(mapTree);
|
|
370
|
+
break;
|
|
371
|
+
}
|
|
372
|
+
case FieldKinds.optional.identifier: {
|
|
373
|
+
const typedField = field as FlexTreeOptionalField;
|
|
374
|
+
typedField.editor.attach(mapTree, typedField.length === 0);
|
|
375
|
+
break;
|
|
376
|
+
}
|
|
376
377
|
|
|
377
|
-
|
|
378
|
-
|
|
378
|
+
default: {
|
|
379
|
+
fail(0xade /* invalid FieldKind */);
|
|
380
|
+
}
|
|
379
381
|
}
|
|
380
|
-
}
|
|
382
|
+
});
|
|
381
383
|
}
|
|
382
384
|
|
|
383
385
|
/**
|
|
@@ -663,7 +665,7 @@ function objectToFlexContent(
|
|
|
663
665
|
for (const [key, fieldInfo] of schema.flexKeyMap) {
|
|
664
666
|
const value = getFieldProperty(data, key);
|
|
665
667
|
|
|
666
|
-
let children:
|
|
668
|
+
let children: FlexTreeNode[] | ContextualFieldProvider;
|
|
667
669
|
if (value === undefined) {
|
|
668
670
|
const defaultProvider =
|
|
669
671
|
fieldInfo.schema.props?.defaultProvider ??
|
|
@@ -671,9 +673,7 @@ function objectToFlexContent(
|
|
|
671
673
|
const fieldProvider = extractFieldProvider(defaultProvider);
|
|
672
674
|
children = isConstant(fieldProvider) ? fieldProvider() : fieldProvider;
|
|
673
675
|
} else {
|
|
674
|
-
children = [
|
|
675
|
-
unhydratedFlexTreeFromInsertableNode(value, fieldInfo.schema.allowedTypeSet),
|
|
676
|
-
];
|
|
676
|
+
children = [flexTreeFromInsertableNode(value, fieldInfo.schema.allowedTypeSet)];
|
|
677
677
|
}
|
|
678
678
|
|
|
679
679
|
const kind =
|
|
@@ -127,15 +127,16 @@ function createRecordNodeProxy(
|
|
|
127
127
|
innerSchema instanceof MapNodeStoredSchema,
|
|
128
128
|
0xc1a /* Expected MapNodeStoredSchema */,
|
|
129
129
|
);
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
130
|
+
field.context.runInTransaction(() => {
|
|
131
|
+
const mapTree = prepareForInsertion(
|
|
132
|
+
value,
|
|
133
|
+
createFieldSchema(FieldKind.Optional, kernel.schema.info as ImplicitAllowedTypes),
|
|
134
|
+
innerNode.context,
|
|
135
|
+
innerSchema.mapFields,
|
|
136
|
+
);
|
|
137
|
+
|
|
138
|
+
field.editor.attach(mapTree, field.length === 0);
|
|
139
|
+
});
|
|
139
140
|
return true;
|
|
140
141
|
},
|
|
141
142
|
has: (target, key): boolean => {
|