@fluidframework/tree 2.80.0 → 2.81.0-374083
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 +43 -7
- package/dist/alpha.d.ts +5 -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 +46 -8
- 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 +30 -8
- package/dist/core/rebase/utils.js.map +1 -1
- package/dist/core/tree/anchorSet.js +1 -0
- package/dist/core/tree/anchorSet.js.map +1 -1
- package/dist/core/tree/detachedFieldIndex.d.ts +6 -0
- package/dist/core/tree/detachedFieldIndex.d.ts.map +1 -1
- package/dist/core/tree/detachedFieldIndex.js +9 -0
- package/dist/core/tree/detachedFieldIndex.js.map +1 -1
- package/dist/core/tree/index.d.ts +1 -1
- 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 +3 -2
- package/dist/core/tree/visitDelta.js.map +1 -1
- package/dist/core/tree/visitorUtils.d.ts.map +1 -1
- package/dist/core/tree/visitorUtils.js +58 -18
- package/dist/core/tree/visitorUtils.js.map +1 -1
- package/dist/feature-libraries/changeAtomIdBTree.d.ts +10 -4
- package/dist/feature-libraries/changeAtomIdBTree.d.ts.map +1 -1
- package/dist/feature-libraries/changeAtomIdBTree.js +16 -2
- package/dist/feature-libraries/changeAtomIdBTree.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/basicChunk.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/basicChunk.js +7 -0
- package/dist/feature-libraries/chunked-forest/basicChunk.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/chunkTree.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/chunkTree.js +4 -1
- package/dist/feature-libraries/chunked-forest/chunkTree.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/chunkedForest.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/chunkedForest.js +3 -1
- package/dist/feature-libraries/chunked-forest/chunkedForest.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js +1 -0
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -1
- package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts +93 -44
- package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
- package/dist/feature-libraries/default-schema/defaultEditBuilder.js +238 -69
- package/dist/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
- package/dist/feature-libraries/default-schema/defaultFieldKinds.d.ts +1 -1
- package/dist/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -1
- package/dist/feature-libraries/default-schema/defaultFieldKinds.js +11 -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 +5 -2
- package/dist/feature-libraries/default-schema/index.js.map +1 -1
- package/dist/feature-libraries/default-schema/locationBasedEditBuilder.d.ts +38 -0
- package/dist/feature-libraries/default-schema/locationBasedEditBuilder.d.ts.map +1 -0
- package/dist/feature-libraries/default-schema/locationBasedEditBuilder.js +132 -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 +40 -9
- package/dist/feature-libraries/flex-tree/lazyField.js.map +1 -1
- package/dist/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
- package/dist/feature-libraries/forest-summary/forestSummarizer.js +3 -1
- package/dist/feature-libraries/forest-summary/forestSummarizer.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 -3
- package/dist/feature-libraries/index.js.map +1 -1
- package/dist/feature-libraries/mapTreeCursor.d.ts.map +1 -1
- package/dist/feature-libraries/mapTreeCursor.js +1 -0
- package/dist/feature-libraries/mapTreeCursor.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 +97 -21
- package/dist/feature-libraries/modular-schema/crossFieldQueries.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/crossFieldQueries.js +4 -7
- package/dist/feature-libraries/modular-schema/crossFieldQueries.js.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts +20 -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 +3 -9
- package/dist/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
- package/dist/feature-libraries/modular-schema/index.d.ts +4 -4
- package/dist/feature-libraries/modular-schema/index.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/index.js +2 -2
- package/dist/feature-libraries/modular-schema/index.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecV1.d.ts +11 -28
- package/dist/feature-libraries/modular-schema/modularChangeCodecV1.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecV1.js +255 -161
- package/dist/feature-libraries/modular-schema/modularChangeCodecV1.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 +393 -0
- package/dist/feature-libraries/modular-schema/modularChangeCodecV3.js.map +1 -0
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.js +8 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts +48 -20
- package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js +1350 -476
- 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/modularChangeFormatV3.d.ts +146 -0
- package/dist/feature-libraries/modular-schema/modularChangeFormatV3.d.ts.map +1 -0
- package/dist/feature-libraries/modular-schema/modularChangeFormatV3.js +32 -0
- package/dist/feature-libraries/modular-schema/modularChangeFormatV3.js.map +1 -0
- package/dist/feature-libraries/modular-schema/modularChangeTypes.d.ts +47 -11
- 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/object-forest/objectForest.d.ts.map +1 -1
- package/dist/feature-libraries/object-forest/objectForest.js +3 -1
- package/dist/feature-libraries/object-forest/objectForest.js.map +1 -1
- package/dist/feature-libraries/optional-field/index.d.ts +2 -2
- package/dist/feature-libraries/optional-field/index.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/index.js +1 -2
- package/dist/feature-libraries/optional-field/index.js.map +1 -1
- package/dist/feature-libraries/optional-field/optionalField.d.ts +5 -26
- package/dist/feature-libraries/optional-field/optionalField.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/optionalField.js +221 -443
- 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 +24 -33
- 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/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 +83 -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/index.d.ts +2 -3
- package/dist/feature-libraries/sequence-field/index.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/index.js +1 -3
- package/dist/feature-libraries/sequence-field/index.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 +107 -114
- 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 +18 -31
- 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 +0 -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 +365 -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 +10 -10
- 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 +14 -109
- package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.js.map +1 -1
- package/dist/feature-libraries/sequence-field/types.d.ts +30 -59
- 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 +15 -24
- package/dist/feature-libraries/sequence-field/utils.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/utils.js +116 -305
- package/dist/feature-libraries/sequence-field/utils.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.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/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 +38 -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 +11 -0
- package/dist/shared-tree/sharedTree.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeCodecs.d.ts +1 -1
- package/dist/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeChangeCodecs.js +1 -0
- package/dist/shared-tree/sharedTreeChangeCodecs.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeEnricher.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeChangeEnricher.js +1 -1
- package/dist/shared-tree/sharedTreeChangeEnricher.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeFamily.d.ts +5 -5
- package/dist/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeChangeFamily.js +10 -4
- 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 +9 -10
- package/dist/shared-tree/treeCheckout.d.ts.map +1 -1
- package/dist/shared-tree/treeCheckout.js +63 -8
- 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 +9 -4
- 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 +20 -14
- 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/api/index.d.ts +1 -1
- package/dist/simple-tree/api/index.d.ts.map +1 -1
- package/dist/simple-tree/api/index.js +2 -1
- package/dist/simple-tree/api/index.js.map +1 -1
- package/dist/simple-tree/api/schemaFactoryAlpha.js +1 -1
- package/dist/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
- package/dist/simple-tree/api/schemaFactoryBeta.js +1 -1
- package/dist/simple-tree/api/schemaFactoryBeta.js.map +1 -1
- package/dist/simple-tree/api/simpleSchemaToJsonSchema.js +4 -4
- package/dist/simple-tree/api/simpleSchemaToJsonSchema.js.map +1 -1
- package/dist/simple-tree/api/snapshotCompatibilityChecker.d.ts +244 -0
- package/dist/simple-tree/api/snapshotCompatibilityChecker.d.ts.map +1 -1
- package/dist/simple-tree/api/snapshotCompatibilityChecker.js +297 -1
- package/dist/simple-tree/api/snapshotCompatibilityChecker.js.map +1 -1
- package/dist/simple-tree/api/tree.d.ts +3 -1
- package/dist/simple-tree/api/tree.d.ts.map +1 -1
- package/dist/simple-tree/api/tree.js.map +1 -1
- package/dist/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
- package/dist/simple-tree/core/treeNodeKernel.js +6 -2
- package/dist/simple-tree/core/treeNodeKernel.js.map +1 -1
- package/dist/simple-tree/core/unhydratedFlexTree.d.ts +15 -15
- 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 +3 -3
- package/dist/simple-tree/index.d.ts.map +1 -1
- package/dist/simple-tree/index.js +4 -3
- 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 +7 -5
- 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 +184 -126
- package/dist/simple-tree/prepareForInsertion.js.map +1 -1
- package/dist/simple-tree/unhydratedFlexTreeFromInsertable.d.ts +13 -4
- package/dist/simple-tree/unhydratedFlexTreeFromInsertable.d.ts.map +1 -1
- package/dist/simple-tree/unhydratedFlexTreeFromInsertable.js +31 -13
- package/dist/simple-tree/unhydratedFlexTreeFromInsertable.js.map +1 -1
- package/dist/text/index.d.ts +6 -0
- package/dist/text/index.d.ts.map +1 -0
- package/dist/text/index.js +10 -0
- package/dist/text/index.js.map +1 -0
- package/dist/text/textDomain.d.ts +138 -0
- package/dist/text/textDomain.d.ts.map +1 -0
- package/dist/text/textDomain.js +121 -0
- package/dist/text/textDomain.js.map +1 -0
- package/dist/treeFactory.d.ts.map +1 -1
- package/dist/treeFactory.js +12 -2
- package/dist/treeFactory.js.map +1 -1
- package/dist/util/bTreeUtils.d.ts +12 -4
- package/dist/util/bTreeUtils.d.ts.map +1 -1
- package/dist/util/bTreeUtils.js +14 -18
- package/dist/util/bTreeUtils.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/nestedMap.js +12 -12
- package/dist/util/nestedMap.js.map +1 -1
- package/dist/util/rangeMap.d.ts +24 -12
- package/dist/util/rangeMap.d.ts.map +1 -1
- package/dist/util/rangeMap.js +46 -6
- package/dist/util/rangeMap.js.map +1 -1
- package/docs/user-facing/merge-semantics.md +3 -2
- package/eslint.config.mts +4 -32
- package/lib/alpha.d.ts +5 -0
- 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 +46 -8
- 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 +30 -8
- package/lib/core/rebase/utils.js.map +1 -1
- package/lib/core/tree/anchorSet.js +1 -0
- package/lib/core/tree/anchorSet.js.map +1 -1
- package/lib/core/tree/detachedFieldIndex.d.ts +6 -0
- package/lib/core/tree/detachedFieldIndex.d.ts.map +1 -1
- package/lib/core/tree/detachedFieldIndex.js +10 -1
- package/lib/core/tree/detachedFieldIndex.js.map +1 -1
- package/lib/core/tree/index.d.ts +1 -1
- 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 +3 -2
- package/lib/core/tree/visitDelta.js.map +1 -1
- package/lib/core/tree/visitorUtils.d.ts.map +1 -1
- package/lib/core/tree/visitorUtils.js +58 -18
- package/lib/core/tree/visitorUtils.js.map +1 -1
- package/lib/feature-libraries/changeAtomIdBTree.d.ts +10 -4
- package/lib/feature-libraries/changeAtomIdBTree.d.ts.map +1 -1
- package/lib/feature-libraries/changeAtomIdBTree.js +14 -1
- package/lib/feature-libraries/changeAtomIdBTree.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/basicChunk.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/basicChunk.js +8 -1
- package/lib/feature-libraries/chunked-forest/basicChunk.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/chunkTree.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/chunkTree.js +4 -1
- package/lib/feature-libraries/chunked-forest/chunkTree.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/chunkedForest.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/chunkedForest.js +3 -1
- package/lib/feature-libraries/chunked-forest/chunkedForest.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js +1 -0
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -1
- package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts +93 -44
- package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
- package/lib/feature-libraries/default-schema/defaultEditBuilder.js +236 -70
- package/lib/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
- package/lib/feature-libraries/default-schema/defaultFieldKinds.d.ts +1 -1
- package/lib/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -1
- package/lib/feature-libraries/default-schema/defaultFieldKinds.js +11 -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 +38 -0
- package/lib/feature-libraries/default-schema/locationBasedEditBuilder.d.ts.map +1 -0
- package/lib/feature-libraries/default-schema/locationBasedEditBuilder.js +128 -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 +41 -10
- package/lib/feature-libraries/flex-tree/lazyField.js.map +1 -1
- package/lib/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
- package/lib/feature-libraries/forest-summary/forestSummarizer.js +3 -1
- package/lib/feature-libraries/forest-summary/forestSummarizer.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 +2 -2
- package/lib/feature-libraries/index.js.map +1 -1
- package/lib/feature-libraries/mapTreeCursor.d.ts.map +1 -1
- package/lib/feature-libraries/mapTreeCursor.js +2 -1
- package/lib/feature-libraries/mapTreeCursor.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 +97 -21
- package/lib/feature-libraries/modular-schema/crossFieldQueries.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/crossFieldQueries.js +3 -5
- package/lib/feature-libraries/modular-schema/crossFieldQueries.js.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts +20 -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 +3 -9
- package/lib/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
- package/lib/feature-libraries/modular-schema/index.d.ts +4 -4
- package/lib/feature-libraries/modular-schema/index.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/index.js +2 -2
- package/lib/feature-libraries/modular-schema/index.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecV1.d.ts +11 -28
- package/lib/feature-libraries/modular-schema/modularChangeCodecV1.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecV1.js +247 -143
- package/lib/feature-libraries/modular-schema/modularChangeCodecV1.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 +389 -0
- package/lib/feature-libraries/modular-schema/modularChangeCodecV3.js.map +1 -0
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.js +8 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts +48 -20
- package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js +1344 -479
- 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/modularChangeFormatV3.d.ts +146 -0
- package/lib/feature-libraries/modular-schema/modularChangeFormatV3.d.ts.map +1 -0
- package/lib/feature-libraries/modular-schema/modularChangeFormatV3.js +29 -0
- package/lib/feature-libraries/modular-schema/modularChangeFormatV3.js.map +1 -0
- package/lib/feature-libraries/modular-schema/modularChangeTypes.d.ts +47 -11
- 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/object-forest/objectForest.d.ts.map +1 -1
- package/lib/feature-libraries/object-forest/objectForest.js +3 -1
- package/lib/feature-libraries/object-forest/objectForest.js.map +1 -1
- package/lib/feature-libraries/optional-field/index.d.ts +2 -2
- package/lib/feature-libraries/optional-field/index.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/index.js +1 -1
- package/lib/feature-libraries/optional-field/index.js.map +1 -1
- package/lib/feature-libraries/optional-field/optionalField.d.ts +5 -26
- package/lib/feature-libraries/optional-field/optionalField.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/optionalField.js +221 -441
- 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 +24 -33
- 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/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 +85 -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/index.d.ts +2 -3
- package/lib/feature-libraries/sequence-field/index.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/index.js +0 -1
- package/lib/feature-libraries/sequence-field/index.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 +109 -116
- 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 +18 -31
- 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 +0 -2
- 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 +356 -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 +10 -10
- 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 +14 -109
- package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.js.map +1 -1
- package/lib/feature-libraries/sequence-field/types.d.ts +30 -59
- 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 +15 -24
- package/lib/feature-libraries/sequence-field/utils.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/utils.js +112 -298
- package/lib/feature-libraries/sequence-field/utils.js.map +1 -1
- package/lib/index.d.ts +3 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -1
- package/lib/index.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/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 +41 -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 +11 -0
- package/lib/shared-tree/sharedTree.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeCodecs.d.ts +1 -1
- package/lib/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeCodecs.js +1 -0
- package/lib/shared-tree/sharedTreeChangeCodecs.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeEnricher.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeEnricher.js +2 -2
- package/lib/shared-tree/sharedTreeChangeEnricher.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFamily.d.ts +5 -5
- package/lib/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFamily.js +11 -5
- 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 +9 -10
- package/lib/shared-tree/treeCheckout.d.ts.map +1 -1
- package/lib/shared-tree/treeCheckout.js +66 -11
- 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 +9 -4
- 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 +20 -14
- 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/api/index.d.ts +1 -1
- package/lib/simple-tree/api/index.d.ts.map +1 -1
- package/lib/simple-tree/api/index.js +1 -1
- package/lib/simple-tree/api/index.js.map +1 -1
- package/lib/simple-tree/api/schemaFactoryAlpha.js +1 -1
- package/lib/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
- package/lib/simple-tree/api/schemaFactoryBeta.js +1 -1
- package/lib/simple-tree/api/schemaFactoryBeta.js.map +1 -1
- package/lib/simple-tree/api/simpleSchemaToJsonSchema.js +4 -4
- package/lib/simple-tree/api/simpleSchemaToJsonSchema.js.map +1 -1
- package/lib/simple-tree/api/snapshotCompatibilityChecker.d.ts +244 -0
- package/lib/simple-tree/api/snapshotCompatibilityChecker.d.ts.map +1 -1
- package/lib/simple-tree/api/snapshotCompatibilityChecker.js +270 -0
- package/lib/simple-tree/api/snapshotCompatibilityChecker.js.map +1 -1
- package/lib/simple-tree/api/tree.d.ts +3 -1
- package/lib/simple-tree/api/tree.d.ts.map +1 -1
- package/lib/simple-tree/api/tree.js.map +1 -1
- package/lib/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
- package/lib/simple-tree/core/treeNodeKernel.js +6 -2
- package/lib/simple-tree/core/treeNodeKernel.js.map +1 -1
- package/lib/simple-tree/core/unhydratedFlexTree.d.ts +15 -15
- 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 +3 -3
- package/lib/simple-tree/index.d.ts.map +1 -1
- package/lib/simple-tree/index.js +2 -2
- 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 +8 -6
- 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 +13 -4
- package/lib/simple-tree/unhydratedFlexTreeFromInsertable.d.ts.map +1 -1
- package/lib/simple-tree/unhydratedFlexTreeFromInsertable.js +28 -11
- package/lib/simple-tree/unhydratedFlexTreeFromInsertable.js.map +1 -1
- package/lib/text/index.d.ts +6 -0
- package/lib/text/index.d.ts.map +1 -0
- package/lib/text/index.js +6 -0
- package/lib/text/index.js.map +1 -0
- package/lib/text/textDomain.d.ts +138 -0
- package/lib/text/textDomain.d.ts.map +1 -0
- package/lib/text/textDomain.js +118 -0
- package/lib/text/textDomain.js.map +1 -0
- package/lib/treeFactory.d.ts.map +1 -1
- package/lib/treeFactory.js +13 -3
- package/lib/treeFactory.js.map +1 -1
- package/lib/util/bTreeUtils.d.ts +12 -4
- package/lib/util/bTreeUtils.d.ts.map +1 -1
- package/lib/util/bTreeUtils.js +15 -19
- package/lib/util/bTreeUtils.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/nestedMap.js +12 -12
- package/lib/util/nestedMap.js.map +1 -1
- package/lib/util/rangeMap.d.ts +24 -12
- package/lib/util/rangeMap.d.ts.map +1 -1
- package/lib/util/rangeMap.js +44 -5
- package/lib/util/rangeMap.js.map +1 -1
- package/package.json +25 -25
- package/src/core/change-family/changeFamily.ts +5 -0
- package/src/core/change-family/index.ts +1 -0
- package/src/core/index.ts +6 -1
- package/src/core/rebase/changeRebaser.ts +6 -1
- package/src/core/rebase/index.ts +3 -0
- package/src/core/rebase/types.ts +65 -21
- package/src/core/rebase/utils.ts +39 -11
- package/src/core/tree/anchorSet.ts +1 -0
- package/src/core/tree/detachedFieldIndex.ts +17 -1
- package/src/core/tree/index.ts +2 -1
- package/src/core/tree/pathTree.ts +16 -4
- package/src/core/tree/visitDelta.ts +6 -2
- package/src/core/tree/visitorUtils.ts +55 -19
- package/src/feature-libraries/changeAtomIdBTree.ts +37 -5
- package/src/feature-libraries/chunked-forest/basicChunk.ts +7 -1
- package/src/feature-libraries/chunked-forest/chunkTree.ts +6 -1
- package/src/feature-libraries/chunked-forest/chunkedForest.ts +3 -1
- package/src/feature-libraries/chunked-forest/codec/compressedEncode.ts +1 -0
- package/src/feature-libraries/default-schema/defaultEditBuilder.ts +399 -127
- package/src/feature-libraries/default-schema/defaultFieldKinds.ts +13 -5
- package/src/feature-libraries/default-schema/index.ts +17 -5
- package/src/feature-libraries/default-schema/locationBasedEditBuilder.ts +188 -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 +68 -25
- package/src/feature-libraries/forest-summary/forestSummarizer.ts +3 -1
- package/src/feature-libraries/index.ts +22 -8
- package/src/feature-libraries/mapTreeCursor.ts +2 -1
- package/src/feature-libraries/mitigatedChangeFamily.ts +3 -1
- package/src/feature-libraries/modular-schema/crossFieldQueries.ts +142 -44
- package/src/feature-libraries/modular-schema/fieldChangeHandler.ts +32 -58
- package/src/feature-libraries/modular-schema/genericFieldKind.ts +6 -18
- package/src/feature-libraries/modular-schema/index.ts +16 -15
- package/src/feature-libraries/modular-schema/modularChangeCodecV1.ts +560 -351
- package/src/feature-libraries/modular-schema/modularChangeCodecV3.ts +760 -0
- package/src/feature-libraries/modular-schema/modularChangeCodecs.ts +14 -1
- package/src/feature-libraries/modular-schema/modularChangeFamily.ts +2620 -782
- package/src/feature-libraries/modular-schema/modularChangeFormatV1.ts +1 -0
- package/src/feature-libraries/modular-schema/modularChangeFormatV3.ts +62 -0
- package/src/feature-libraries/modular-schema/modularChangeTypes.ts +58 -11
- package/src/feature-libraries/object-forest/objectForest.ts +3 -1
- package/src/feature-libraries/optional-field/index.ts +1 -3
- package/src/feature-libraries/optional-field/optionalField.ts +318 -562
- package/src/feature-libraries/optional-field/optionalFieldChangeFormatV3.ts +45 -0
- package/src/feature-libraries/optional-field/optionalFieldChangeTypes.ts +24 -38
- 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/sequence-field/compose.ts +139 -522
- package/src/feature-libraries/sequence-field/helperTypes.ts +34 -19
- package/src/feature-libraries/sequence-field/index.ts +0 -9
- package/src/feature-libraries/sequence-field/invert.ts +103 -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 +169 -205
- package/src/feature-libraries/sequence-field/replaceRevisions.ts +25 -47
- package/src/feature-libraries/sequence-field/sequenceFieldChangeHandler.ts +0 -2
- package/src/feature-libraries/sequence-field/sequenceFieldCodecV2.ts +648 -228
- package/src/feature-libraries/sequence-field/sequenceFieldCodecV3.ts +56 -70
- package/src/feature-libraries/sequence-field/sequenceFieldEditor.ts +25 -27
- package/src/feature-libraries/sequence-field/sequenceFieldToDelta.ts +19 -129
- package/src/feature-libraries/sequence-field/types.ts +34 -64
- package/src/feature-libraries/sequence-field/utils.ts +139 -353
- package/src/index.ts +7 -0
- package/src/packageVersion.ts +1 -1
- package/src/shared-tree/index.ts +3 -2
- package/src/shared-tree/schematizeTree.ts +21 -8
- package/src/shared-tree/schematizingTreeView.ts +56 -70
- package/src/shared-tree/sharedTree.ts +20 -3
- package/src/shared-tree/sharedTreeChangeCodecs.ts +5 -1
- package/src/shared-tree/sharedTreeChangeEnricher.ts +2 -0
- package/src/shared-tree/sharedTreeChangeFamily.ts +15 -5
- package/src/shared-tree/sharedTreeEditBuilder.ts +39 -8
- package/src/shared-tree/treeCheckout.ts +95 -24
- package/src/shared-tree-core/branch.ts +13 -3
- package/src/shared-tree-core/editManager.ts +42 -28
- 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/api/index.ts +3 -0
- package/src/simple-tree/api/schemaFactoryAlpha.ts +1 -1
- package/src/simple-tree/api/schemaFactoryBeta.ts +1 -1
- package/src/simple-tree/api/simpleSchemaToJsonSchema.ts +4 -4
- package/src/simple-tree/api/snapshotCompatibilityChecker.ts +501 -0
- package/src/simple-tree/api/tree.ts +3 -1
- package/src/simple-tree/core/treeNodeKernel.ts +6 -2
- package/src/simple-tree/core/unhydratedFlexTree.ts +87 -36
- package/src/simple-tree/fieldSchema.ts +6 -4
- package/src/simple-tree/index.ts +5 -1
- package/src/simple-tree/node-kinds/array/arrayNode.ts +9 -7
- 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 +343 -201
- package/src/simple-tree/unhydratedFlexTreeFromInsertable.ts +43 -15
- package/src/text/README.md +8 -0
- package/src/text/index.ts +6 -0
- package/src/text/textDomain.ts +199 -0
- package/src/treeFactory.ts +14 -4
- package/src/util/bTreeUtils.ts +33 -22
- package/src/util/index.ts +3 -0
- package/src/util/nestedMap.ts +12 -12
- package/src/util/rangeMap.ts +72 -18
- package/.eslintrc.cjs +0 -125
- package/assertTagging.config.mjs +0 -14
- 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
|
@@ -69,7 +69,9 @@ export {
|
|
|
69
69
|
type NodeChangeInverter,
|
|
70
70
|
type NodeChangeRebaser,
|
|
71
71
|
type NodeChangePruner,
|
|
72
|
-
type
|
|
72
|
+
type ComposeNodeManager,
|
|
73
|
+
type InvertNodeManager,
|
|
74
|
+
type RebaseNodeManager,
|
|
73
75
|
CrossFieldTarget,
|
|
74
76
|
FlexFieldKind,
|
|
75
77
|
type FullSchemaPolicy,
|
|
@@ -79,7 +81,6 @@ export {
|
|
|
79
81
|
type HasFieldChanges,
|
|
80
82
|
type NodeExistsConstraint,
|
|
81
83
|
ModularChangeFamily,
|
|
82
|
-
type RelevantRemovedRootsFromChild,
|
|
83
84
|
EncodedModularChangesetV1,
|
|
84
85
|
EncodedModularChangesetV2,
|
|
85
86
|
updateRefreshers,
|
|
@@ -91,7 +92,11 @@ export {
|
|
|
91
92
|
DefaultRevisionReplacer,
|
|
92
93
|
} from "./modular-schema/index.js";
|
|
93
94
|
|
|
94
|
-
export {
|
|
95
|
+
export {
|
|
96
|
+
mapRootChanges,
|
|
97
|
+
nodeIdFromChangeAtom,
|
|
98
|
+
changeAtomFromDetachedNodeId,
|
|
99
|
+
} from "./deltaUtils.js";
|
|
95
100
|
|
|
96
101
|
export {
|
|
97
102
|
type TreeChunk,
|
|
@@ -132,17 +137,26 @@ export {
|
|
|
132
137
|
type Identifier,
|
|
133
138
|
type Forbidden,
|
|
134
139
|
type DefaultChangeset,
|
|
140
|
+
type DetachedRootIds,
|
|
135
141
|
DefaultChangeFamily,
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
type
|
|
139
|
-
type
|
|
140
|
-
type
|
|
142
|
+
type IdBasedChangeFamilyDataEditor,
|
|
143
|
+
DefaultIdBasedDataEditor,
|
|
144
|
+
type DataEditor,
|
|
145
|
+
type RequiredFieldEditor,
|
|
146
|
+
type OptionalFieldEditor,
|
|
147
|
+
type SequenceFieldEditor,
|
|
141
148
|
defaultSchemaPolicy,
|
|
142
149
|
fieldKinds,
|
|
143
150
|
fieldKindConfigurations,
|
|
144
151
|
intoDelta,
|
|
145
152
|
relevantRemovedRoots,
|
|
153
|
+
getBuildsIds,
|
|
154
|
+
type DetachedRootLocation,
|
|
155
|
+
type DetachedRootsLocation,
|
|
156
|
+
type DetachedRootIdRange,
|
|
157
|
+
type Locator,
|
|
158
|
+
LocationBasedDataEditor,
|
|
159
|
+
type ILocationBasedDataEditor,
|
|
146
160
|
getCodecTreeForModularChangeFormat,
|
|
147
161
|
type ModularChangeFormatVersion,
|
|
148
162
|
} from "./default-schema/index.js";
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { assert } from "@fluidframework/core-utils/internal";
|
|
6
|
+
import { assert, debugAssert } from "@fluidframework/core-utils/internal";
|
|
7
7
|
|
|
8
8
|
import {
|
|
9
9
|
CursorLocationType,
|
|
@@ -161,6 +161,7 @@ export function mapTreeFromCursor(cursor: ITreeCursor): ExclusiveMapTree {
|
|
|
161
161
|
const fields: Map<FieldKey, ExclusiveMapTree[]> = new Map();
|
|
162
162
|
for (let inField = cursor.firstField(); inField; inField = cursor.nextField()) {
|
|
163
163
|
const field: ExclusiveMapTree[] = mapCursorField(cursor, mapTreeFromCursor);
|
|
164
|
+
debugAssert(() => field.length > 0 || "field must have at least one child");
|
|
164
165
|
fields.set(cursor.getFieldKey(), field);
|
|
165
166
|
}
|
|
166
167
|
|
|
@@ -7,6 +7,7 @@ import type {
|
|
|
7
7
|
ChangeFamily,
|
|
8
8
|
ChangeFamilyEditor,
|
|
9
9
|
ChangeRebaser,
|
|
10
|
+
EditorOptions,
|
|
10
11
|
RevisionMetadataSource,
|
|
11
12
|
RevisionReplacer,
|
|
12
13
|
RevisionTag,
|
|
@@ -36,8 +37,9 @@ export function makeMitigatedChangeFamily<TEditor extends ChangeFamilyEditor, TC
|
|
|
36
37
|
buildEditor: (
|
|
37
38
|
mintRevisionTag: () => RevisionTag,
|
|
38
39
|
changeReceiver: (change: TaggedChange<TChange>) => void,
|
|
40
|
+
options?: EditorOptions,
|
|
39
41
|
): TEditor => {
|
|
40
|
-
return unmitigatedChangeFamily.buildEditor(mintRevisionTag, changeReceiver);
|
|
42
|
+
return unmitigatedChangeFamily.buildEditor(mintRevisionTag, changeReceiver, options);
|
|
41
43
|
},
|
|
42
44
|
rebaser: makeMitigatedRebaser(unmitigatedChangeFamily.rebaser, fallbackChange, onError),
|
|
43
45
|
codecs: unmitigatedChangeFamily.codecs,
|
|
@@ -16,23 +16,13 @@ import type { NodeId } from "./modularChangeTypes.js";
|
|
|
16
16
|
export type CrossFieldMap<T> = ChangeAtomIdRangeMap<T>;
|
|
17
17
|
export type CrossFieldQuerySet = CrossFieldMap<boolean>;
|
|
18
18
|
|
|
19
|
-
export function addCrossFieldQuery(
|
|
20
|
-
set: CrossFieldQuerySet,
|
|
21
|
-
revision: RevisionTag | undefined,
|
|
22
|
-
id: ChangesetLocalId,
|
|
23
|
-
count: number,
|
|
24
|
-
): void {
|
|
25
|
-
setInCrossFieldMap(set, revision, id, count, true);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
19
|
export function setInCrossFieldMap<T>(
|
|
29
20
|
map: CrossFieldMap<T>,
|
|
30
|
-
|
|
31
|
-
id: ChangesetLocalId,
|
|
21
|
+
id: ChangeAtomId,
|
|
32
22
|
count: number,
|
|
33
23
|
value: T,
|
|
34
24
|
): void {
|
|
35
|
-
map.set(
|
|
25
|
+
map.set(id, count, value);
|
|
36
26
|
}
|
|
37
27
|
|
|
38
28
|
export function getFirstFromCrossFieldMap<T>(
|
|
@@ -40,60 +30,168 @@ export function getFirstFromCrossFieldMap<T>(
|
|
|
40
30
|
revision: RevisionTag | undefined,
|
|
41
31
|
id: ChangesetLocalId,
|
|
42
32
|
count: number,
|
|
43
|
-
): RangeQueryResult<
|
|
33
|
+
): RangeQueryResult<T | undefined> {
|
|
44
34
|
return map.getFirst({ revision, localId: id }, count);
|
|
45
35
|
}
|
|
46
36
|
|
|
37
|
+
// TODO: Rename to NodeMoveType(Attach | Detach)
|
|
47
38
|
export enum CrossFieldTarget {
|
|
48
39
|
Source,
|
|
49
40
|
Destination,
|
|
50
41
|
}
|
|
51
42
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
43
|
+
export interface InvertNodeManager {
|
|
44
|
+
/**
|
|
45
|
+
* Transfers the given node changes from the input context of the field changeset being inverted to the input context of the detached space (from which it may be further moved).
|
|
46
|
+
*
|
|
47
|
+
* This must be called for each detach in the field kind when rolling-back or undoing an detach.
|
|
48
|
+
* This implies that all detaches in the field must be inverted.
|
|
49
|
+
* @param detachId - The ID of the detach to invert.
|
|
50
|
+
* @param count - The number of nodes being detached.
|
|
51
|
+
* @param nodeChanges - The node changes to transfer.
|
|
52
|
+
* @param newAttachId - The ID that the nodes will be attached with in the inverted changeset of this field.
|
|
53
|
+
*/
|
|
54
|
+
invertDetach(
|
|
55
|
+
detachId: ChangeAtomId,
|
|
56
|
+
count: number,
|
|
57
|
+
nodeChanges: NodeId | undefined,
|
|
58
|
+
newAttachId: ChangeAtomId,
|
|
59
|
+
): void;
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Gets the node changes associated with the node being attached in input changeset.
|
|
63
|
+
*
|
|
64
|
+
* This must be called for each attach in the field kind when rolling-back or undoing an attach.
|
|
65
|
+
* This implies that all attaches in the field must be inverted.
|
|
66
|
+
* @param attachId - The ID of the attach to invert.
|
|
67
|
+
* @param count - The number of nodes being attached.
|
|
68
|
+
*/
|
|
69
|
+
invertAttach(
|
|
70
|
+
attachId: ChangeAtomId,
|
|
71
|
+
count: number,
|
|
72
|
+
): RangeQueryResult<DetachedNodeEntry | undefined>;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export interface ComposeNodeManager {
|
|
76
|
+
/**
|
|
77
|
+
* Allows a field kind to query nested changes associated with a node in the input context of the new changeset.
|
|
78
|
+
* This should be called for every detach in the base changeset.
|
|
79
|
+
* @param baseDetachId - The ID of the detach in the base changeset.
|
|
80
|
+
* @param count - The number of nodes being detached.
|
|
81
|
+
*/
|
|
82
|
+
getNewChangesForBaseDetach(
|
|
83
|
+
baseDetachId: ChangeAtomId,
|
|
84
|
+
count: number,
|
|
85
|
+
): RangeQueryResult<DetachedNodeEntry | undefined>;
|
|
86
|
+
|
|
57
87
|
/**
|
|
58
|
-
*
|
|
59
|
-
*
|
|
88
|
+
* Must be called by a field kind when composing an attach in the base changeset with a detach in the new changeset.
|
|
89
|
+
* This allows Modular Change Family to keep track of how a given node is being renamed.
|
|
90
|
+
* @param baseAttachId - The ID of the attach in the base changeset.
|
|
91
|
+
* @param newDetachId - The ID of the detach in the new changeset.
|
|
92
|
+
* @param count - The number of nodes being attached then detached.
|
|
60
93
|
*/
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
id: ChangesetLocalId,
|
|
94
|
+
composeAttachDetach(
|
|
95
|
+
baseAttachId: ChangeAtomId,
|
|
96
|
+
newDetachId: ChangeAtomId,
|
|
65
97
|
count: number,
|
|
66
|
-
|
|
67
|
-
|
|
98
|
+
): void;
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Must be called by a field kind when composing an attach in the base changeset with nested changes the new changeset.
|
|
102
|
+
*
|
|
103
|
+
* This is needed because child changes are represented at the location of the node they impact in the input context of a changeset.
|
|
104
|
+
* So if the later of the two changes being composed carries nested changes for a node,
|
|
105
|
+
* then in the composed changeset, these nested changes must to be represented at the location of that node in the input context of the composed changeset.
|
|
106
|
+
*
|
|
107
|
+
* @param baseAttachId - The ID of the attach in the base changeset.
|
|
108
|
+
* @param newChanges - The ID of the nested changes associated with this node in the new changeset.
|
|
109
|
+
*/
|
|
110
|
+
sendNewChangesToBaseSourceLocation(baseAttachId: ChangeAtomId, newChanges: NodeId): void;
|
|
68
111
|
|
|
112
|
+
// XXX: It doesn't seem like it should be mandatory to call this if you don't want the rename to be removed (e.g., optional field pin).
|
|
69
113
|
/**
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
114
|
+
* Must be called by a field kind when composing a detach in the base changeset with an attach of the same nodes in the new changeset.
|
|
115
|
+
* @param baseDetachId - The ID of the detach in the base changeset.
|
|
116
|
+
* @param newAttachId - The ID of the attach in the new changeset.
|
|
117
|
+
* @param count - The number of nodes being detached then attached.
|
|
118
|
+
* @param convertToPin - Should be set to true if the composed change will include a detach and attach with `newAttachId`.
|
|
119
|
+
* Otherwise the composed change should not include either `baseDetachId` or `newAttachId`.
|
|
73
120
|
*/
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
id: ChangesetLocalId,
|
|
121
|
+
composeDetachAttach(
|
|
122
|
+
baseDetachId: ChangeAtomId,
|
|
123
|
+
newAttachId: ChangeAtomId,
|
|
78
124
|
count: number,
|
|
79
|
-
|
|
80
|
-
invalidateDependents: boolean,
|
|
125
|
+
convertToPin: boolean,
|
|
81
126
|
): void;
|
|
127
|
+
}
|
|
82
128
|
|
|
129
|
+
export interface RebaseNodeManager {
|
|
130
|
+
// XXX: It's not clear whether the returned changes are already rebased or not.
|
|
83
131
|
/**
|
|
84
|
-
*
|
|
85
|
-
*
|
|
132
|
+
* Must be called by a field kind when rebasing over an attach.
|
|
133
|
+
* The returned child changes and detach intentions must be represented in the output changeset.
|
|
134
|
+
* @param baseAttachId - The ID of the attach that is being rebased over.
|
|
135
|
+
* @param count - The number of nodes attached by the base attach.
|
|
136
|
+
* @returns The new nested changes and detach intentions associated with the node in the changeset being rebased.
|
|
86
137
|
*/
|
|
87
|
-
|
|
138
|
+
getNewChangesForBaseAttach(
|
|
139
|
+
baseAttachId: ChangeAtomId,
|
|
140
|
+
count: number,
|
|
141
|
+
): RangeQueryResult<RebaseDetachedNodeEntry | undefined>;
|
|
88
142
|
|
|
143
|
+
// XXX: It's not clear if this must be called even when newDetachId and nodeChange are undefined.
|
|
144
|
+
// XXX: It's not clear if it's okay to call this once with a newDetachId then once with a nodeChange.
|
|
145
|
+
// XXX: It's not clear if nodeChange should be rebased already, or should not be rebased, or if it doesn't matter.
|
|
89
146
|
/**
|
|
90
|
-
*
|
|
91
|
-
*
|
|
147
|
+
* Must be called by a field kind when rebasing over a detach.
|
|
148
|
+
* The field kind must provide the nested changes and detach intentions associated with the node in the changeset being rebased.
|
|
149
|
+
* @param baseDetachId - The ID of the detach that is being rebased over.
|
|
150
|
+
* @param count - The number of nodes detached by the base detach.
|
|
151
|
+
* @param newDetachId - The ID associated the detach intention (if any) for these nodes in the rebased changeset.
|
|
152
|
+
* @param nodeChange - The nested changes (if any) associated with this node in the rebased changeset.
|
|
153
|
+
* @param newDetachCellId - An additional ID to associate with this node.
|
|
154
|
+
* This ID will be included in the result of {@link getNewChangesForBaseAttach}.
|
|
155
|
+
* This is only used by sequence field for compatibility with earlier client versions.
|
|
92
156
|
*/
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
revision: RevisionTag | undefined,
|
|
96
|
-
id: ChangesetLocalId,
|
|
157
|
+
rebaseOverDetach(
|
|
158
|
+
baseDetachId: ChangeAtomId,
|
|
97
159
|
count: number,
|
|
160
|
+
newDetachId: ChangeAtomId | undefined,
|
|
161
|
+
nodeChange: NodeId | undefined,
|
|
162
|
+
newDetachCellId?: ChangeAtomId,
|
|
98
163
|
): void;
|
|
164
|
+
|
|
165
|
+
addDetach(id: ChangeAtomId, count: number): void;
|
|
166
|
+
removeDetach(id: ChangeAtomId, count: number): void;
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* Returns whether nodes which were either previously detached by `id` or the base changeset is now detaching with `id`
|
|
170
|
+
* are also reattached by the base changeset.
|
|
171
|
+
*/
|
|
172
|
+
doesBaseAttachNodes(id: ChangeAtomId, count: number): RangeQueryResult<boolean>;
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* Returns the root ID the base change renames `id` to, if any.
|
|
176
|
+
*/
|
|
177
|
+
getBaseRename(id: ChangeAtomId, count: number): RangeQueryResult<ChangeAtomId | undefined>;
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* Given a detached node ID in the base changeset's output context,
|
|
181
|
+
* returns the ID the rebased changeset renames that ID to, if any.
|
|
182
|
+
*/
|
|
183
|
+
getNewRenameForBaseRename(
|
|
184
|
+
baseRenameTo: ChangeAtomId,
|
|
185
|
+
count: number,
|
|
186
|
+
): RangeQueryResult<ChangeAtomId | undefined>;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
export interface DetachedNodeEntry {
|
|
190
|
+
nodeChange?: NodeId;
|
|
191
|
+
detachId?: ChangeAtomId;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
export interface RebaseDetachedNodeEntry extends DetachedNodeEntry {
|
|
195
|
+
// This is only needed for sequence field to implement detach cell IDs.
|
|
196
|
+
cellRename?: ChangeAtomId;
|
|
99
197
|
}
|
|
@@ -5,10 +5,9 @@
|
|
|
5
5
|
|
|
6
6
|
import type { ICodecFamily, IJsonCodec } from "../../codec/index.js";
|
|
7
7
|
import type {
|
|
8
|
+
ChangeAtomId,
|
|
9
|
+
ChangeAtomIdRangeMap,
|
|
8
10
|
ChangeEncodingContext,
|
|
9
|
-
DeltaDetachedNodeChanges,
|
|
10
|
-
DeltaDetachedNodeId,
|
|
11
|
-
DeltaDetachedNodeRename,
|
|
12
11
|
DeltaFieldChanges,
|
|
13
12
|
DeltaFieldMap,
|
|
14
13
|
EncodedRevisionTag,
|
|
@@ -16,35 +15,17 @@ import type {
|
|
|
16
15
|
RevisionReplacer,
|
|
17
16
|
RevisionTag,
|
|
18
17
|
} from "../../core/index.js";
|
|
19
|
-
import type { IdAllocator, Invariant } from "../../util/index.js";
|
|
20
|
-
|
|
21
|
-
import type {
|
|
18
|
+
import type { IdAllocator, Invariant, RangeQueryResult } from "../../util/index.js";
|
|
19
|
+
import type { ChangeAtomIdBTree } from "../changeAtomIdBTree.js";
|
|
20
|
+
import type {
|
|
21
|
+
ComposeNodeManager,
|
|
22
|
+
InvertNodeManager,
|
|
23
|
+
RebaseNodeManager,
|
|
24
|
+
} from "./crossFieldQueries.js";
|
|
22
25
|
import type { EncodedNodeChangeset } from "./modularChangeFormatV1.js";
|
|
23
|
-
import type { CrossFieldKeyRange, NodeId } from "./modularChangeTypes.js";
|
|
24
|
-
|
|
25
|
-
export type NestedChangesIndices = [
|
|
26
|
-
NodeId,
|
|
27
|
-
number | undefined /* inputIndex */,
|
|
28
|
-
number | undefined /* outputIndex */,
|
|
29
|
-
][];
|
|
26
|
+
import type { CrossFieldKeyRange, NodeId, RebaseVersion } from "./modularChangeTypes.js";
|
|
30
27
|
|
|
31
|
-
|
|
32
|
-
* The return value of calling {@link FieldChangeHandler.intoDelta}.
|
|
33
|
-
*/
|
|
34
|
-
export interface FieldChangeDelta {
|
|
35
|
-
/**
|
|
36
|
-
* {@inheritdoc DeltaFieldChanges}
|
|
37
|
-
*/
|
|
38
|
-
readonly local?: DeltaFieldChanges;
|
|
39
|
-
/**
|
|
40
|
-
* {@inheritdoc DeltaRoot.global}
|
|
41
|
-
*/
|
|
42
|
-
readonly global?: readonly DeltaDetachedNodeChanges[];
|
|
43
|
-
/**
|
|
44
|
-
* {@inheritdoc DeltaRoot.rename}
|
|
45
|
-
*/
|
|
46
|
-
readonly rename?: readonly DeltaDetachedNodeRename[];
|
|
47
|
-
}
|
|
28
|
+
export type NestedChangesIndices = [NodeId, number /* inputIndex */][];
|
|
48
29
|
|
|
49
30
|
/**
|
|
50
31
|
* Functionality provided by a field kind which will be composed with other `FieldChangeHandler`s to
|
|
@@ -65,27 +46,7 @@ export interface FieldChangeHandler<
|
|
|
65
46
|
>,
|
|
66
47
|
) => ICodecFamily<TChangeset, FieldChangeEncodingContext>;
|
|
67
48
|
readonly editor: TEditor;
|
|
68
|
-
intoDelta(change: TChangeset, deltaFromChild: ToDelta):
|
|
69
|
-
/**
|
|
70
|
-
* Returns the set of removed roots that should be in memory for the given change to be applied.
|
|
71
|
-
* A removed root is relevant if any of the following is true:
|
|
72
|
-
* - It is being inserted
|
|
73
|
-
* - It is being restored
|
|
74
|
-
* - It is being edited
|
|
75
|
-
* - The ID it is associated with is being changed
|
|
76
|
-
*
|
|
77
|
-
* Implementations are allowed to be conservative by returning more removed roots than strictly necessary
|
|
78
|
-
* (though they should, for the sake of performance, try to avoid doing so).
|
|
79
|
-
*
|
|
80
|
-
* Implementations are not allowed to return IDs for non-root trees, even if they are removed.
|
|
81
|
-
*
|
|
82
|
-
* @param change - The change to be applied.
|
|
83
|
-
* @param relevantRemovedRootsFromChild - Delegate for collecting relevant removed roots from child changes.
|
|
84
|
-
*/
|
|
85
|
-
readonly relevantRemovedRoots: (
|
|
86
|
-
change: TChangeset,
|
|
87
|
-
relevantRemovedRootsFromChild: RelevantRemovedRootsFromChild,
|
|
88
|
-
) => Iterable<DeltaDetachedNodeId>;
|
|
49
|
+
intoDelta(change: TChangeset, deltaFromChild: ToDelta): DeltaFieldChanges;
|
|
89
50
|
|
|
90
51
|
/**
|
|
91
52
|
* Returns whether this change is empty, meaning that it represents no modifications to the field
|
|
@@ -130,7 +91,7 @@ export interface FieldChangeRebaser<TChangeset> {
|
|
|
130
91
|
change2: TChangeset,
|
|
131
92
|
composeChild: NodeChangeComposer,
|
|
132
93
|
genId: IdAllocator,
|
|
133
|
-
|
|
94
|
+
nodeManager: ComposeNodeManager,
|
|
134
95
|
revisionMetadata: RevisionMetadataSource,
|
|
135
96
|
): TChangeset;
|
|
136
97
|
|
|
@@ -143,10 +104,11 @@ export interface FieldChangeRebaser<TChangeset> {
|
|
|
143
104
|
isRollback: boolean,
|
|
144
105
|
genId: IdAllocator,
|
|
145
106
|
revision: RevisionTag | undefined,
|
|
146
|
-
|
|
107
|
+
nodeManager: InvertNodeManager,
|
|
147
108
|
revisionMetadata: RevisionMetadataSource,
|
|
148
109
|
): TChangeset;
|
|
149
110
|
|
|
111
|
+
// XXX: It's not clear whether `rebaseChild` must be called in all cases.
|
|
150
112
|
/**
|
|
151
113
|
* Rebase `change` over `over`.
|
|
152
114
|
* See `ChangeRebaser` for details.
|
|
@@ -156,8 +118,9 @@ export interface FieldChangeRebaser<TChangeset> {
|
|
|
156
118
|
over: TChangeset,
|
|
157
119
|
rebaseChild: NodeChangeRebaser,
|
|
158
120
|
genId: IdAllocator,
|
|
159
|
-
|
|
121
|
+
nodeManager: RebaseNodeManager,
|
|
160
122
|
revisionMetadata: RebaseRevisionMetadata,
|
|
123
|
+
rebaseVersion: RebaseVersion,
|
|
161
124
|
): TChangeset;
|
|
162
125
|
|
|
163
126
|
/**
|
|
@@ -246,10 +209,7 @@ export type NodeChangeComposer = (
|
|
|
246
209
|
|
|
247
210
|
export type NodeChangePruner = (change: NodeId) => NodeId | undefined;
|
|
248
211
|
|
|
249
|
-
|
|
250
|
-
* A function that returns the set of removed roots that should be in memory for a given node changeset to be applied.
|
|
251
|
-
*/
|
|
252
|
-
export type RelevantRemovedRootsFromChild = (child: NodeId) => Iterable<DeltaDetachedNodeId>;
|
|
212
|
+
export type HasDetachedChanges = (detachId: ChangeAtomId, count: number) => boolean;
|
|
253
213
|
|
|
254
214
|
export interface RebaseRevisionMetadata extends RevisionMetadataSource {
|
|
255
215
|
readonly getRevisionToRebase: () => RevisionTag | undefined;
|
|
@@ -258,6 +218,20 @@ export interface RebaseRevisionMetadata extends RevisionMetadataSource {
|
|
|
258
218
|
|
|
259
219
|
export interface FieldChangeEncodingContext {
|
|
260
220
|
readonly baseContext: ChangeEncodingContext;
|
|
221
|
+
readonly rootNodeChanges: ChangeAtomIdBTree<NodeId>;
|
|
222
|
+
readonly rootRenames: ChangeAtomIdRangeMap<ChangeAtomId>;
|
|
261
223
|
encodeNode(nodeId: NodeId): EncodedNodeChangeset;
|
|
224
|
+
getInputRootId(
|
|
225
|
+
outputRootId: ChangeAtomId,
|
|
226
|
+
count: number,
|
|
227
|
+
): RangeQueryResult<ChangeAtomId | undefined>;
|
|
228
|
+
|
|
229
|
+
isAttachId(id: ChangeAtomId, count: number): RangeQueryResult<boolean>;
|
|
230
|
+
isDetachId(id: ChangeAtomId, count: number): RangeQueryResult<boolean>;
|
|
231
|
+
|
|
262
232
|
decodeNode(encodedNode: EncodedNodeChangeset): NodeId;
|
|
233
|
+
decodeRootNodeChange(detachId: ChangeAtomId, encodedNode: EncodedNodeChangeset): void;
|
|
234
|
+
decodeRootRename(oldId: ChangeAtomId, newId: ChangeAtomId, count: number): void;
|
|
235
|
+
decodeMoveAndDetach(detachId: ChangeAtomId, count: number): void;
|
|
236
|
+
generateId(): ChangeAtomId;
|
|
263
237
|
}
|
|
@@ -7,21 +7,19 @@ import { assert } from "@fluidframework/core-utils/internal";
|
|
|
7
7
|
import { BTree } from "@tylerbu/sorted-btree-es6";
|
|
8
8
|
|
|
9
9
|
import {
|
|
10
|
-
type DeltaDetachedNodeId,
|
|
11
10
|
type DeltaMark,
|
|
12
11
|
type FieldKindIdentifier,
|
|
13
12
|
Multiplicity,
|
|
13
|
+
type DeltaFieldChanges,
|
|
14
14
|
type RevisionReplacer,
|
|
15
15
|
} from "../../core/index.js";
|
|
16
16
|
|
|
17
17
|
import type {
|
|
18
|
-
FieldChangeDelta,
|
|
19
18
|
FieldChangeHandler,
|
|
20
19
|
NestedChangesIndices,
|
|
21
20
|
NodeChangeComposer,
|
|
22
21
|
NodeChangePruner,
|
|
23
22
|
NodeChangeRebaser,
|
|
24
|
-
RelevantRemovedRootsFromChild,
|
|
25
23
|
ToDelta,
|
|
26
24
|
} from "./fieldChangeHandler.js";
|
|
27
25
|
import { makeGenericChangeCodec } from "./genericFieldKindCodecs.js";
|
|
@@ -36,7 +34,7 @@ import { brandConst } from "../../util/index.js";
|
|
|
36
34
|
export const genericChangeHandler: FieldChangeHandler<GenericChangeset> = {
|
|
37
35
|
rebaser: {
|
|
38
36
|
compose,
|
|
39
|
-
invert: (change
|
|
37
|
+
invert: (change): GenericChangeset => change,
|
|
40
38
|
rebase: rebaseGenericChange,
|
|
41
39
|
prune: pruneGenericChange,
|
|
42
40
|
replaceRevisions,
|
|
@@ -48,7 +46,7 @@ export const genericChangeHandler: FieldChangeHandler<GenericChangeset> = {
|
|
|
48
46
|
return newGenericChangeset([...changes]);
|
|
49
47
|
},
|
|
50
48
|
},
|
|
51
|
-
intoDelta: (change: GenericChangeset, deltaFromChild: ToDelta):
|
|
49
|
+
intoDelta: (change: GenericChangeset, deltaFromChild: ToDelta): DeltaFieldChanges => {
|
|
52
50
|
let nodeIndex = 0;
|
|
53
51
|
const markList: DeltaMark[] = [];
|
|
54
52
|
for (const [index, nodeChange] of change.entries()) {
|
|
@@ -60,9 +58,8 @@ export const genericChangeHandler: FieldChangeHandler<GenericChangeset> = {
|
|
|
60
58
|
markList.push({ count: 1, fields: deltaFromChild(nodeChange) });
|
|
61
59
|
nodeIndex += 1;
|
|
62
60
|
}
|
|
63
|
-
return
|
|
61
|
+
return markList;
|
|
64
62
|
},
|
|
65
|
-
relevantRemovedRoots,
|
|
66
63
|
isEmpty: (change: GenericChangeset): boolean => change.length === 0,
|
|
67
64
|
getNestedChanges,
|
|
68
65
|
createEmpty: newGenericChangeset,
|
|
@@ -86,7 +83,7 @@ function compose(
|
|
|
86
83
|
|
|
87
84
|
function getNestedChanges(change: GenericChangeset): NestedChangesIndices {
|
|
88
85
|
// For generic changeset, the indices in the input and output contexts are the same.
|
|
89
|
-
return change.toArray().map(([index, nodeChange]) => [nodeChange, index
|
|
86
|
+
return change.toArray().map(([index, nodeChange]) => [nodeChange, index]);
|
|
90
87
|
}
|
|
91
88
|
|
|
92
89
|
function rebaseGenericChange(
|
|
@@ -148,7 +145,7 @@ function pruneGenericChange(
|
|
|
148
145
|
for (const [index, node] of changeset.entries()) {
|
|
149
146
|
const prunedNode = pruneChild(node);
|
|
150
147
|
if (prunedNode !== undefined) {
|
|
151
|
-
pruned.set(index,
|
|
148
|
+
pruned.set(index, prunedNode);
|
|
152
149
|
}
|
|
153
150
|
}
|
|
154
151
|
return pruned;
|
|
@@ -186,12 +183,3 @@ export function convertGenericChange<TChange>(
|
|
|
186
183
|
): TChange {
|
|
187
184
|
return target.editor.buildChildChanges(changeset.entries());
|
|
188
185
|
}
|
|
189
|
-
|
|
190
|
-
function* relevantRemovedRoots(
|
|
191
|
-
change: GenericChangeset,
|
|
192
|
-
relevantRemovedRootsFromChild: RelevantRemovedRootsFromChild,
|
|
193
|
-
): Iterable<DeltaDetachedNodeId> {
|
|
194
|
-
for (const nodeChange of change.values()) {
|
|
195
|
-
yield* relevantRemovedRootsFromChild(nodeChange);
|
|
196
|
-
}
|
|
197
|
-
}
|
|
@@ -12,10 +12,12 @@ export {
|
|
|
12
12
|
} from "./comparison.js";
|
|
13
13
|
export { isNeverField, isNeverTree } from "./isNeverTree.js";
|
|
14
14
|
export {
|
|
15
|
-
|
|
16
|
-
type
|
|
15
|
+
type InvertNodeManager,
|
|
16
|
+
type RebaseNodeManager,
|
|
17
|
+
type ComposeNodeManager,
|
|
17
18
|
type CrossFieldMap,
|
|
18
19
|
type CrossFieldQuerySet,
|
|
20
|
+
type DetachedNodeEntry,
|
|
19
21
|
CrossFieldTarget,
|
|
20
22
|
setInCrossFieldMap,
|
|
21
23
|
} from "./crossFieldQueries.js";
|
|
@@ -30,7 +32,6 @@ export { EncodedModularChangesetV2 } from "./modularChangeFormatV2.js";
|
|
|
30
32
|
export { FlexFieldKind, type FullSchemaPolicy } from "./fieldKind.js";
|
|
31
33
|
export {
|
|
32
34
|
type FieldChangeHandler,
|
|
33
|
-
type FieldChangeDelta,
|
|
34
35
|
type FieldChangeRebaser,
|
|
35
36
|
type FieldEditor,
|
|
36
37
|
type NodeChangeComposer,
|
|
@@ -39,23 +40,22 @@ export {
|
|
|
39
40
|
type NodeChangePruner,
|
|
40
41
|
referenceFreeFieldChangeRebaser,
|
|
41
42
|
type RebaseRevisionMetadata,
|
|
42
|
-
type RelevantRemovedRootsFromChild,
|
|
43
43
|
type ToDelta,
|
|
44
44
|
NodeAttachState,
|
|
45
45
|
type FieldChangeEncodingContext,
|
|
46
46
|
type NestedChangesIndices,
|
|
47
47
|
} from "./fieldChangeHandler.js";
|
|
48
|
-
export
|
|
49
|
-
CrossFieldKey,
|
|
50
|
-
CrossFieldKeyRange,
|
|
51
|
-
FieldChange,
|
|
52
|
-
FieldChangeMap,
|
|
53
|
-
FieldChangeset,
|
|
54
|
-
HasFieldChanges,
|
|
55
|
-
ModularChangeset,
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
48
|
+
export {
|
|
49
|
+
type CrossFieldKey,
|
|
50
|
+
type CrossFieldKeyRange,
|
|
51
|
+
type FieldChange,
|
|
52
|
+
type FieldChangeMap,
|
|
53
|
+
type FieldChangeset,
|
|
54
|
+
type HasFieldChanges,
|
|
55
|
+
type ModularChangeset,
|
|
56
|
+
type NodeExistsConstraint,
|
|
57
|
+
type NodeId,
|
|
58
|
+
type RebaseVersion,
|
|
59
59
|
} from "./modularChangeTypes.js";
|
|
60
60
|
export {
|
|
61
61
|
convertGenericChange,
|
|
@@ -72,6 +72,7 @@ export {
|
|
|
72
72
|
rebaseRevisionMetadataFromInfo,
|
|
73
73
|
intoDelta,
|
|
74
74
|
relevantRemovedRoots,
|
|
75
|
+
getBuildIds,
|
|
75
76
|
updateRefreshers,
|
|
76
77
|
} from "./modularChangeFamily.js";
|
|
77
78
|
export { makeModularChangeCodecFamily } from "./modularChangeCodecs.js";
|