@fluidframework/tree 2.82.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/CHANGELOG.md +43 -0
- package/README.md +33 -5
- package/api-report/tree.alpha.api.md +26 -21
- package/api-report/tree.beta.api.md +14 -2
- package/api-report/tree.legacy.beta.api.md +14 -2
- package/api-report/tree.legacy.public.api.md +1 -1
- package/api-report/tree.public.api.md +1 -1
- package/dist/alpha.d.ts +3 -3
- package/dist/beta.d.ts +1 -0
- package/dist/codec/codec.d.ts +3 -39
- package/dist/codec/codec.d.ts.map +1 -1
- package/dist/codec/codec.js +5 -50
- package/dist/codec/codec.js.map +1 -1
- package/dist/codec/index.d.ts +1 -1
- package/dist/codec/index.d.ts.map +1 -1
- package/dist/codec/index.js +1 -2
- package/dist/codec/index.js.map +1 -1
- package/dist/codec/versioned/codec.d.ts +20 -7
- package/dist/codec/versioned/codec.d.ts.map +1 -1
- package/dist/codec/versioned/codec.js +56 -30
- package/dist/codec/versioned/codec.js.map +1 -1
- 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/detachedFieldIndexCodecs.d.ts.map +1 -1
- package/dist/core/tree/detachedFieldIndexCodecs.js +6 -4
- package/dist/core/tree/detachedFieldIndexCodecs.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/extensibleUnionNode.d.ts +97 -0
- package/dist/extensibleUnionNode.d.ts.map +1 -0
- package/dist/{extensibleSchemaUnion.js → extensibleUnionNode.js} +28 -18
- package/dist/extensibleUnionNode.js.map +1 -0
- 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/chunked-forest/codec/codecs.d.ts +1 -1
- package/dist/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/codecs.js +4 -4
- package/dist/feature-libraries/chunked-forest/codec/codecs.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/forest-summary/codec.d.ts.map +1 -1
- package/dist/feature-libraries/forest-summary/codec.js +7 -1
- package/dist/feature-libraries/forest-summary/codec.js.map +1 -1
- package/dist/feature-libraries/forest-summary/formatCommon.d.ts +3 -3
- package/dist/feature-libraries/forest-summary/formatCommon.d.ts.map +1 -1
- package/dist/feature-libraries/forest-summary/formatCommon.js.map +1 -1
- package/dist/feature-libraries/forest-summary/formatV1.d.ts +2 -3
- package/dist/feature-libraries/forest-summary/formatV1.d.ts.map +1 -1
- package/dist/feature-libraries/forest-summary/formatV1.js +1 -2
- package/dist/feature-libraries/forest-summary/formatV1.js.map +1 -1
- package/dist/feature-libraries/forest-summary/formatV2.d.ts +2 -3
- package/dist/feature-libraries/forest-summary/formatV2.d.ts.map +1 -1
- package/dist/feature-libraries/forest-summary/formatV2.js +1 -2
- package/dist/feature-libraries/forest-summary/formatV2.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 +20 -24
- package/dist/feature-libraries/modular-schema/modularChangeCodecV1.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecV1.js +277 -159
- 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/schema-index/codec.d.ts.map +1 -1
- package/dist/feature-libraries/schema-index/codec.js +6 -4
- package/dist/feature-libraries/schema-index/codec.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/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/legacy.d.ts +1 -0
- 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 +9 -1
- 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/tree.d.ts +1 -1
- package/dist/shared-tree/tree.js.map +1 -1
- package/dist/shared-tree/treeAlpha.d.ts +1 -1
- package/dist/shared-tree/treeAlpha.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 +58 -10
- 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/editManagerCodecsCommons.d.ts +3 -3
- package/dist/shared-tree-core/editManagerCodecsCommons.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerCodecsCommons.js +2 -2
- package/dist/shared-tree-core/editManagerCodecsCommons.js.map +1 -1
- package/dist/shared-tree-core/editManagerCodecsV1toV4.d.ts +2 -2
- package/dist/shared-tree-core/editManagerCodecsV1toV4.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerCodecsV1toV4.js +1 -1
- package/dist/shared-tree-core/editManagerCodecsV1toV4.js.map +1 -1
- package/dist/shared-tree-core/editManagerCodecsVSharedBranches.d.ts +2 -2
- package/dist/shared-tree-core/editManagerCodecsVSharedBranches.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerCodecsVSharedBranches.js +1 -1
- package/dist/shared-tree-core/editManagerCodecsVSharedBranches.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 +12 -4
- 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 -2
- package/dist/simple-tree/api/index.js.map +1 -1
- package/dist/simple-tree/api/snapshotCompatibilityChecker.d.ts +148 -29
- package/dist/simple-tree/api/snapshotCompatibilityChecker.d.ts.map +1 -1
- package/dist/simple-tree/api/snapshotCompatibilityChecker.js +180 -99
- package/dist/simple-tree/api/snapshotCompatibilityChecker.js.map +1 -1
- package/dist/simple-tree/api/tree.d.ts +1 -1
- package/dist/simple-tree/api/tree.js.map +1 -1
- package/dist/simple-tree/api/treeBeta.d.ts +1 -1
- package/dist/simple-tree/api/treeBeta.js.map +1 -1
- package/dist/simple-tree/core/allowedTypes.d.ts +1 -1
- package/dist/simple-tree/core/allowedTypes.js.map +1 -1
- package/dist/simple-tree/core/unhydratedFlexTree.d.ts +17 -12
- package/dist/simple-tree/core/unhydratedFlexTree.d.ts.map +1 -1
- package/dist/simple-tree/core/unhydratedFlexTree.js +88 -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 +3 -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 +9 -16
- 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 +59 -19
- package/dist/simple-tree/unhydratedFlexTreeFromInsertable.js.map +1 -1
- package/dist/text/textDomainFormatted.d.ts +3 -3
- package/dist/text/textDomainFormatted.d.ts.map +1 -1
- package/dist/text/textDomainFormatted.js +48 -32
- package/dist/text/textDomainFormatted.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/bTreeUtils.d.ts.map +1 -1
- package/dist/util/bTreeUtils.js +6 -6
- 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/rangeMap.d.ts +23 -11
- package/dist/util/rangeMap.d.ts.map +1 -1
- package/dist/util/rangeMap.js +42 -10
- package/dist/util/rangeMap.js.map +1 -1
- package/lib/alpha.d.ts +3 -3
- package/lib/beta.d.ts +1 -0
- package/lib/codec/codec.d.ts +3 -39
- package/lib/codec/codec.d.ts.map +1 -1
- package/lib/codec/codec.js +4 -47
- package/lib/codec/codec.js.map +1 -1
- package/lib/codec/index.d.ts +1 -1
- package/lib/codec/index.d.ts.map +1 -1
- package/lib/codec/index.js +1 -1
- package/lib/codec/index.js.map +1 -1
- package/lib/codec/versioned/codec.d.ts +20 -7
- package/lib/codec/versioned/codec.d.ts.map +1 -1
- package/lib/codec/versioned/codec.js +59 -33
- package/lib/codec/versioned/codec.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/detachedFieldIndexCodecs.d.ts.map +1 -1
- package/lib/core/tree/detachedFieldIndexCodecs.js +6 -4
- package/lib/core/tree/detachedFieldIndexCodecs.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/extensibleUnionNode.d.ts +97 -0
- package/lib/extensibleUnionNode.d.ts.map +1 -0
- package/lib/{extensibleSchemaUnion.js → extensibleUnionNode.js} +28 -18
- package/lib/extensibleUnionNode.js.map +1 -0
- 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/chunked-forest/codec/codecs.d.ts +1 -1
- package/lib/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/codecs.js +5 -5
- package/lib/feature-libraries/chunked-forest/codec/codecs.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/forest-summary/codec.d.ts.map +1 -1
- package/lib/feature-libraries/forest-summary/codec.js +8 -2
- package/lib/feature-libraries/forest-summary/codec.js.map +1 -1
- package/lib/feature-libraries/forest-summary/formatCommon.d.ts +3 -3
- package/lib/feature-libraries/forest-summary/formatCommon.d.ts.map +1 -1
- package/lib/feature-libraries/forest-summary/formatCommon.js.map +1 -1
- package/lib/feature-libraries/forest-summary/formatV1.d.ts +2 -3
- package/lib/feature-libraries/forest-summary/formatV1.d.ts.map +1 -1
- package/lib/feature-libraries/forest-summary/formatV1.js +1 -2
- package/lib/feature-libraries/forest-summary/formatV1.js.map +1 -1
- package/lib/feature-libraries/forest-summary/formatV2.d.ts +2 -3
- package/lib/feature-libraries/forest-summary/formatV2.d.ts.map +1 -1
- package/lib/feature-libraries/forest-summary/formatV2.js +1 -2
- package/lib/feature-libraries/forest-summary/formatV2.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 +20 -24
- package/lib/feature-libraries/modular-schema/modularChangeCodecV1.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecV1.js +268 -145
- 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/schema-index/codec.d.ts.map +1 -1
- package/lib/feature-libraries/schema-index/codec.js +6 -4
- package/lib/feature-libraries/schema-index/codec.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/index.d.ts +2 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -2
- package/lib/index.js.map +1 -1
- package/lib/legacy.d.ts +1 -0
- 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 +9 -1
- 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/tree.d.ts +1 -1
- package/lib/shared-tree/tree.js.map +1 -1
- package/lib/shared-tree/treeAlpha.d.ts +1 -1
- package/lib/shared-tree/treeAlpha.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 +61 -13
- 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/editManagerCodecsCommons.d.ts +3 -3
- package/lib/shared-tree-core/editManagerCodecsCommons.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerCodecsCommons.js +2 -2
- package/lib/shared-tree-core/editManagerCodecsCommons.js.map +1 -1
- package/lib/shared-tree-core/editManagerCodecsV1toV4.d.ts +2 -2
- package/lib/shared-tree-core/editManagerCodecsV1toV4.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerCodecsV1toV4.js +2 -2
- package/lib/shared-tree-core/editManagerCodecsV1toV4.js.map +1 -1
- package/lib/shared-tree-core/editManagerCodecsVSharedBranches.d.ts +2 -2
- package/lib/shared-tree-core/editManagerCodecsVSharedBranches.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerCodecsVSharedBranches.js +2 -2
- package/lib/shared-tree-core/editManagerCodecsVSharedBranches.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 +10 -3
- 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/snapshotCompatibilityChecker.d.ts +148 -29
- package/lib/simple-tree/api/snapshotCompatibilityChecker.d.ts.map +1 -1
- package/lib/simple-tree/api/snapshotCompatibilityChecker.js +179 -98
- package/lib/simple-tree/api/snapshotCompatibilityChecker.js.map +1 -1
- package/lib/simple-tree/api/tree.d.ts +1 -1
- package/lib/simple-tree/api/tree.js.map +1 -1
- package/lib/simple-tree/api/treeBeta.d.ts +1 -1
- package/lib/simple-tree/api/treeBeta.js.map +1 -1
- package/lib/simple-tree/core/allowedTypes.d.ts +1 -1
- package/lib/simple-tree/core/allowedTypes.js.map +1 -1
- package/lib/simple-tree/core/unhydratedFlexTree.d.ts +17 -12
- package/lib/simple-tree/core/unhydratedFlexTree.d.ts.map +1 -1
- package/lib/simple-tree/core/unhydratedFlexTree.js +87 -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 +11 -18
- 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 +56 -17
- package/lib/simple-tree/unhydratedFlexTreeFromInsertable.js.map +1 -1
- package/lib/text/textDomainFormatted.d.ts +3 -3
- package/lib/text/textDomainFormatted.d.ts.map +1 -1
- package/lib/text/textDomainFormatted.js +30 -14
- package/lib/text/textDomainFormatted.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/bTreeUtils.d.ts.map +1 -1
- package/lib/util/bTreeUtils.js +6 -6
- 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/rangeMap.d.ts +23 -11
- package/lib/util/rangeMap.d.ts.map +1 -1
- package/lib/util/rangeMap.js +40 -9
- package/lib/util/rangeMap.js.map +1 -1
- package/package.json +23 -23
- package/src/codec/codec.ts +10 -112
- package/src/codec/index.ts +0 -3
- package/src/codec/versioned/codec.ts +119 -83
- 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/detachedFieldIndexCodecs.ts +6 -4
- 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/{extensibleSchemaUnion.ts → extensibleUnionNode.ts} +61 -19
- package/src/feature-libraries/changeAtomIdBTree.ts +28 -3
- package/src/feature-libraries/chunked-forest/codec/codecs.ts +5 -11
- 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/forest-summary/codec.ts +8 -7
- package/src/feature-libraries/forest-summary/formatCommon.ts +5 -3
- package/src/feature-libraries/forest-summary/formatV1.ts +1 -3
- package/src/feature-libraries/forest-summary/formatV2.ts +1 -3
- 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 +626 -352
- 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/schema-index/codec.ts +6 -4
- 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/index.ts +3 -3
- 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 +10 -2
- package/src/shared-tree/sharedTreeChangeFamily.ts +7 -4
- package/src/shared-tree/sharedTreeEditBuilder.ts +43 -8
- package/src/shared-tree/tree.ts +1 -1
- package/src/shared-tree/treeAlpha.ts +1 -1
- package/src/shared-tree/treeCheckout.ts +95 -21
- 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/editManagerCodecsCommons.ts +7 -7
- package/src/shared-tree-core/editManagerCodecsV1toV4.ts +3 -10
- package/src/shared-tree-core/editManagerCodecsVSharedBranches.ts +3 -10
- 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 +13 -7
- 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 +2 -2
- package/src/simple-tree/api/snapshotCompatibilityChecker.ts +344 -142
- package/src/simple-tree/api/tree.ts +1 -1
- package/src/simple-tree/api/treeBeta.ts +1 -1
- package/src/simple-tree/core/allowedTypes.ts +1 -1
- package/src/simple-tree/core/unhydratedFlexTree.ts +124 -35
- package/src/simple-tree/fieldSchema.ts +6 -4
- package/src/simple-tree/index.ts +4 -3
- package/src/simple-tree/node-kinds/array/arrayNode.ts +20 -24
- 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 +83 -22
- package/src/text/textDomainFormatted.ts +37 -17
- package/src/treeFactory.ts +16 -4
- package/src/util/bTreeUtils.ts +10 -6
- package/src/util/index.ts +3 -0
- package/src/util/rangeMap.ts +67 -22
- package/api-extractor-lint.json +0 -4
- package/dist/extensibleSchemaUnion.d.ts +0 -72
- package/dist/extensibleSchemaUnion.d.ts.map +0 -1
- package/dist/extensibleSchemaUnion.js.map +0 -1
- 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/extensibleSchemaUnion.d.ts +0 -72
- package/lib/extensibleSchemaUnion.d.ts.map +0 -1
- package/lib/extensibleSchemaUnion.js.map +0 -1
- 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
|
@@ -53,23 +53,32 @@ import {
|
|
|
53
53
|
type TreeNodeSchemaIdentifier,
|
|
54
54
|
type TreeNodeStoredSchema,
|
|
55
55
|
LeafNodeStoredSchema,
|
|
56
|
+
type ChangeAtomId,
|
|
57
|
+
offsetChangeAtomId,
|
|
56
58
|
diffHistories,
|
|
57
59
|
type ChangeMetadata,
|
|
58
60
|
type ChangeEncodingContext,
|
|
59
61
|
type ReadOnlyDetachedFieldIndex,
|
|
60
62
|
makeAnonChange,
|
|
61
63
|
type TaggedChange,
|
|
64
|
+
type EditorOptions,
|
|
62
65
|
} from "../core/index.js";
|
|
63
66
|
import {
|
|
67
|
+
type DetachedRootIds,
|
|
68
|
+
type DetachedRootLocation,
|
|
69
|
+
type DetachedRootsLocation,
|
|
64
70
|
type FieldBatchCodec,
|
|
71
|
+
type Locator,
|
|
65
72
|
type TreeCompressionStrategy,
|
|
66
73
|
allowsRepoSuperset,
|
|
67
74
|
buildForest,
|
|
75
|
+
changeAtomFromDetachedNodeId,
|
|
68
76
|
createNodeIdentifierManager,
|
|
69
77
|
defaultSchemaPolicy,
|
|
70
78
|
intoDelta,
|
|
71
79
|
jsonableTreeFromCursor,
|
|
72
80
|
makeFieldBatchCodec,
|
|
81
|
+
nodeIdFromChangeAtom,
|
|
73
82
|
} from "../feature-libraries/index.js";
|
|
74
83
|
import {
|
|
75
84
|
SquashingTransactionStack,
|
|
@@ -98,6 +107,7 @@ import {
|
|
|
98
107
|
disposeSymbol,
|
|
99
108
|
getOrCreate,
|
|
100
109
|
hasSome,
|
|
110
|
+
makeArray,
|
|
101
111
|
type JsonCompatibleReadOnly,
|
|
102
112
|
type WithBreakable,
|
|
103
113
|
} from "../util/index.js";
|
|
@@ -106,7 +116,12 @@ import { getCheckout, SchematizingSimpleTreeView } from "./schematizingTreeView.
|
|
|
106
116
|
import { SharedTreeChangeEnricher } from "./sharedTreeChangeEnricher.js";
|
|
107
117
|
import { SharedTreeChangeFamily, hasSchemaChange } from "./sharedTreeChangeFamily.js";
|
|
108
118
|
import type { SharedTreeChange } from "./sharedTreeChangeTypes.js";
|
|
109
|
-
import
|
|
119
|
+
import {
|
|
120
|
+
LocationBasedSharedTreeEditBuilder,
|
|
121
|
+
type IIdBasedSharedTreeEditor,
|
|
122
|
+
type ILocationBasedSharedTreeEditor,
|
|
123
|
+
type IdBasedSharedTreeEditBuilder,
|
|
124
|
+
} from "./sharedTreeEditBuilder.js";
|
|
110
125
|
|
|
111
126
|
/**
|
|
112
127
|
* Events for {@link ITreeCheckout}.
|
|
@@ -239,7 +254,7 @@ export interface ITreeCheckout extends AnchorLocator, ViewableTree, WithBreakabl
|
|
|
239
254
|
* Used to edit the state of the tree. Edits will be immediately applied locally to the tree.
|
|
240
255
|
* If there is no transaction currently ongoing, then the edits will be submitted to Fluid immediately as well.
|
|
241
256
|
*/
|
|
242
|
-
readonly editor:
|
|
257
|
+
readonly editor: ILocationBasedSharedTreeEditor;
|
|
243
258
|
|
|
244
259
|
/**
|
|
245
260
|
* A collection of functions for managing transactions.
|
|
@@ -296,9 +311,10 @@ export function createTreeCheckout(
|
|
|
296
311
|
idCompressor: IIdCompressor,
|
|
297
312
|
mintRevisionTag: () => RevisionTag,
|
|
298
313
|
revisionTagCodec: RevisionTagCodec,
|
|
314
|
+
editorOptions: EditorOptions,
|
|
299
315
|
args?: {
|
|
300
|
-
branch?: SharedTreeBranch<
|
|
301
|
-
changeFamily?: ChangeFamily<
|
|
316
|
+
branch?: SharedTreeBranch<IdBasedSharedTreeEditBuilder, SharedTreeChange>;
|
|
317
|
+
changeFamily?: ChangeFamily<IdBasedSharedTreeEditBuilder, SharedTreeChange>;
|
|
302
318
|
schema?: TreeStoredSchemaRepository;
|
|
303
319
|
forest?: IEditableForest;
|
|
304
320
|
fieldBatchCodec?: FieldBatchCodec;
|
|
@@ -350,6 +366,7 @@ export function createTreeCheckout(
|
|
|
350
366
|
mintRevisionTag,
|
|
351
367
|
revisionTagCodec,
|
|
352
368
|
idCompressor,
|
|
369
|
+
editorOptions,
|
|
353
370
|
args?.removedRoots,
|
|
354
371
|
args?.logger,
|
|
355
372
|
breaker,
|
|
@@ -387,6 +404,7 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
387
404
|
public disposed = false;
|
|
388
405
|
|
|
389
406
|
private editLock: EditLock;
|
|
407
|
+
private readonly locator: Locator;
|
|
390
408
|
|
|
391
409
|
/**
|
|
392
410
|
* User-defined label associated with the transaction whose commit is currently being produced for this checkout.
|
|
@@ -410,7 +428,7 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
410
428
|
*/
|
|
411
429
|
private readonly revertibleCommitBranches = new Map<
|
|
412
430
|
RevisionTag,
|
|
413
|
-
SharedTreeBranch<
|
|
431
|
+
SharedTreeBranch<IdBasedSharedTreeEditBuilder, SharedTreeChange>
|
|
414
432
|
>();
|
|
415
433
|
|
|
416
434
|
/**
|
|
@@ -423,15 +441,19 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
423
441
|
public events: Listenable<CheckoutEvents> = this.#events;
|
|
424
442
|
|
|
425
443
|
public constructor(
|
|
426
|
-
branch: SharedTreeBranch<
|
|
444
|
+
branch: SharedTreeBranch<IdBasedSharedTreeEditBuilder, SharedTreeChange>,
|
|
427
445
|
/** True if and only if this checkout is for a branch which is persisted and shared with other clients. */
|
|
428
446
|
public readonly isSharedBranch: boolean,
|
|
429
|
-
private readonly changeFamily: ChangeFamily<
|
|
447
|
+
private readonly changeFamily: ChangeFamily<
|
|
448
|
+
IdBasedSharedTreeEditBuilder,
|
|
449
|
+
SharedTreeChange
|
|
450
|
+
>,
|
|
430
451
|
public readonly storedSchema: TreeStoredSchemaRepository,
|
|
431
452
|
public readonly forest: IEditableForest,
|
|
432
453
|
private readonly mintRevisionTag: () => RevisionTag,
|
|
433
454
|
private readonly revisionTagCodec: RevisionTagCodec,
|
|
434
455
|
private readonly idCompressor: IIdCompressor,
|
|
456
|
+
public readonly editorOptions: EditorOptions,
|
|
435
457
|
private readonly _removedRoots: DetachedFieldIndex = makeDetachedFieldIndex(
|
|
436
458
|
"repair",
|
|
437
459
|
revisionTagCodec,
|
|
@@ -444,6 +466,34 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
444
466
|
) {
|
|
445
467
|
this.#transaction = this.createTransactionStack(branch);
|
|
446
468
|
this.editLock = new EditLock(this.#transaction.activeBranchEditor);
|
|
469
|
+
this.locator = {
|
|
470
|
+
locationFromId: (id: ChangeAtomId): DetachedRootLocation => {
|
|
471
|
+
const rootId = this.removedRoots.getEntry(nodeIdFromChangeAtom(id));
|
|
472
|
+
return this.removedRoots.toFieldKey(rootId);
|
|
473
|
+
},
|
|
474
|
+
idFromLocation: (location: DetachedRootLocation): ChangeAtomId => {
|
|
475
|
+
const nodeId = this.removedRoots.fromFieldKey(location);
|
|
476
|
+
return changeAtomFromDetachedNodeId(nodeId);
|
|
477
|
+
},
|
|
478
|
+
locationsFromIdRanges: (ids: DetachedRootIds): DetachedRootsLocation => {
|
|
479
|
+
return ids.flatMap((id) => {
|
|
480
|
+
return makeArray(id.count, (offset) => {
|
|
481
|
+
const field = this.locator.locationFromId(offsetChangeAtomId(id.first, offset));
|
|
482
|
+
return { field, count: 1 };
|
|
483
|
+
});
|
|
484
|
+
});
|
|
485
|
+
},
|
|
486
|
+
idRangesFromLocations: (ids: DetachedRootsLocation): DetachedRootIds => {
|
|
487
|
+
return ids.map((id) => {
|
|
488
|
+
assert(id.count === 1, "Expected count of 1");
|
|
489
|
+
const first = this.locator.idFromLocation(id.field);
|
|
490
|
+
return { first, count: id.count };
|
|
491
|
+
});
|
|
492
|
+
},
|
|
493
|
+
isAttachable: (id: ChangeAtomId): boolean | undefined => {
|
|
494
|
+
return this.removedRoots.isAttachable(nodeIdFromChangeAtom(id));
|
|
495
|
+
},
|
|
496
|
+
};
|
|
447
497
|
this.registerForBranchEvents();
|
|
448
498
|
}
|
|
449
499
|
|
|
@@ -492,8 +542,8 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
492
542
|
}
|
|
493
543
|
|
|
494
544
|
private createTransactionStack(
|
|
495
|
-
branch: SharedTreeBranch<
|
|
496
|
-
): SquashingTransactionStack<
|
|
545
|
+
branch: SharedTreeBranch<IdBasedSharedTreeEditBuilder, SharedTreeChange>,
|
|
546
|
+
): SquashingTransactionStack<IdBasedSharedTreeEditBuilder, SharedTreeChange> {
|
|
497
547
|
return new SquashingTransactionStack(branch, this.mintRevisionTag, () => {
|
|
498
548
|
const disposeForks = this.disposeForksAfterTransaction
|
|
499
549
|
? trackForksForDisposal(this)
|
|
@@ -597,9 +647,7 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
597
647
|
originatorId: this.idCompressor.localSessionId,
|
|
598
648
|
revision,
|
|
599
649
|
};
|
|
600
|
-
const encodedChange = this.changeFamily.codecs
|
|
601
|
-
.resolve(4)
|
|
602
|
-
.json.encode(change, context);
|
|
650
|
+
const encodedChange = this.changeFamily.codecs.resolve(4).encode(change, context);
|
|
603
651
|
|
|
604
652
|
assert(
|
|
605
653
|
commit.parent !== undefined,
|
|
@@ -666,7 +714,7 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
666
714
|
originatorId: this.idCompressor.localSessionId,
|
|
667
715
|
revision,
|
|
668
716
|
};
|
|
669
|
-
const decodedChange = this.changeFamily.codecs.resolve(4).
|
|
717
|
+
const decodedChange = this.changeFamily.codecs.resolve(4).decode(change, context);
|
|
670
718
|
this.applyChange(decodedChange, revision);
|
|
671
719
|
}
|
|
672
720
|
|
|
@@ -842,9 +890,13 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
842
890
|
return this.forest.anchors.events;
|
|
843
891
|
}
|
|
844
892
|
|
|
845
|
-
public get editor():
|
|
893
|
+
public get editor(): ILocationBasedSharedTreeEditor {
|
|
846
894
|
this.checkNotDisposed();
|
|
847
|
-
return
|
|
895
|
+
return new LocationBasedSharedTreeEditBuilder(
|
|
896
|
+
this.editLock.editor,
|
|
897
|
+
this.locator,
|
|
898
|
+
this.editorOptions,
|
|
899
|
+
);
|
|
848
900
|
}
|
|
849
901
|
|
|
850
902
|
public locate(anchor: Anchor): AnchorNode | undefined {
|
|
@@ -865,18 +917,19 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
865
917
|
* To avoid updating observers of the view state with intermediate results during a transaction,
|
|
866
918
|
* use {@link ITreeCheckout#branch} and {@link ISharedTreeFork#merge}.
|
|
867
919
|
*/
|
|
868
|
-
#transaction: SquashingTransactionStack<
|
|
920
|
+
#transaction: SquashingTransactionStack<IdBasedSharedTreeEditBuilder, SharedTreeChange>;
|
|
869
921
|
|
|
870
922
|
public branch(): TreeCheckout {
|
|
871
923
|
this.checkNotDisposed(
|
|
872
924
|
"The parent branch has already been disposed and can no longer create new branches.",
|
|
873
925
|
);
|
|
926
|
+
this.editLock.checkUnlocked("Branching");
|
|
927
|
+
|
|
874
928
|
// Branching after an unfinished transaction would expose the application to a state where its invariants may be violated.
|
|
875
929
|
if (this.transaction.isInProgress()) {
|
|
876
930
|
throw new UsageError("A view cannot be forked while it has a pending transaction.");
|
|
877
931
|
}
|
|
878
932
|
|
|
879
|
-
this.editLock.checkUnlocked("Branching");
|
|
880
933
|
const anchors = new AnchorSet();
|
|
881
934
|
const branch = this.#transaction.activeBranch.fork();
|
|
882
935
|
const storedSchema = this.storedSchema.clone();
|
|
@@ -890,6 +943,7 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
890
943
|
this.mintRevisionTag,
|
|
891
944
|
this.revisionTagCodec,
|
|
892
945
|
this.idCompressor,
|
|
946
|
+
this.editorOptions,
|
|
893
947
|
this._removedRoots.clone(),
|
|
894
948
|
this.logger,
|
|
895
949
|
this.breaker,
|
|
@@ -900,7 +954,7 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
900
954
|
}
|
|
901
955
|
|
|
902
956
|
public switchBranch(
|
|
903
|
-
branch: SharedTreeBranch<
|
|
957
|
+
branch: SharedTreeBranch<IdBasedSharedTreeEditBuilder, SharedTreeChange>,
|
|
904
958
|
): void {
|
|
905
959
|
// TODO: Dispose old branch, if necessary
|
|
906
960
|
assert(
|
|
@@ -1266,7 +1320,7 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
1266
1320
|
return enriched;
|
|
1267
1321
|
}
|
|
1268
1322
|
|
|
1269
|
-
public get mainBranch(): SharedTreeBranch<
|
|
1323
|
+
public get mainBranch(): SharedTreeBranch<IdBasedSharedTreeEditBuilder, SharedTreeChange> {
|
|
1270
1324
|
return this.#transaction.branch;
|
|
1271
1325
|
}
|
|
1272
1326
|
|
|
@@ -1281,19 +1335,23 @@ class EditLock {
|
|
|
1281
1335
|
* Edits the tree by calling the methods of the editor passed into the {@link EditLock} constructor.
|
|
1282
1336
|
* @remarks Edits will throw an error if the lock is currently locked.
|
|
1283
1337
|
*/
|
|
1284
|
-
public readonly editor:
|
|
1338
|
+
public readonly editor: IIdBasedSharedTreeEditor;
|
|
1285
1339
|
private locked = false;
|
|
1286
1340
|
|
|
1287
1341
|
/**
|
|
1288
1342
|
* @param editor - an editor which will be used to create a new editor that is monitored to determine if any changes are happening to the tree.
|
|
1289
1343
|
* Use {@link EditLock.editor} in place of the original editor to ensure that changes are monitored.
|
|
1290
1344
|
*/
|
|
1291
|
-
public constructor(editor:
|
|
1345
|
+
public constructor(editor: IIdBasedSharedTreeEditor) {
|
|
1292
1346
|
const checkLock = (): void => this.checkUnlocked("Editing the tree");
|
|
1293
1347
|
this.editor = {
|
|
1294
1348
|
get schema() {
|
|
1295
1349
|
return editor.schema;
|
|
1296
1350
|
},
|
|
1351
|
+
buildRoots(unhydrated) {
|
|
1352
|
+
checkLock();
|
|
1353
|
+
return editor.buildRoots(unhydrated);
|
|
1354
|
+
},
|
|
1297
1355
|
valueField(...fieldArgs) {
|
|
1298
1356
|
const valueField = editor.valueField(...fieldArgs);
|
|
1299
1357
|
return {
|
|
@@ -1301,6 +1359,10 @@ class EditLock {
|
|
|
1301
1359
|
checkLock();
|
|
1302
1360
|
valueField.set(...editArgs);
|
|
1303
1361
|
},
|
|
1362
|
+
attach(...editArgs) {
|
|
1363
|
+
checkLock();
|
|
1364
|
+
valueField.attach(...editArgs);
|
|
1365
|
+
},
|
|
1304
1366
|
};
|
|
1305
1367
|
},
|
|
1306
1368
|
optionalField(...fieldArgs) {
|
|
@@ -1310,6 +1372,14 @@ class EditLock {
|
|
|
1310
1372
|
checkLock();
|
|
1311
1373
|
optionalField.set(...editArgs);
|
|
1312
1374
|
},
|
|
1375
|
+
attach(...editArgs) {
|
|
1376
|
+
checkLock();
|
|
1377
|
+
optionalField.attach(...editArgs);
|
|
1378
|
+
},
|
|
1379
|
+
clear(...editArgs) {
|
|
1380
|
+
checkLock();
|
|
1381
|
+
optionalField.clear(...editArgs);
|
|
1382
|
+
},
|
|
1313
1383
|
};
|
|
1314
1384
|
},
|
|
1315
1385
|
sequenceField(...fieldArgs) {
|
|
@@ -1319,6 +1389,10 @@ class EditLock {
|
|
|
1319
1389
|
checkLock();
|
|
1320
1390
|
sequenceField.insert(...editArgs);
|
|
1321
1391
|
},
|
|
1392
|
+
attach(...editArgs) {
|
|
1393
|
+
checkLock();
|
|
1394
|
+
sequenceField.attach(...editArgs);
|
|
1395
|
+
},
|
|
1322
1396
|
remove(...editArgs) {
|
|
1323
1397
|
checkLock();
|
|
1324
1398
|
sequenceField.remove(...editArgs);
|
|
@@ -26,6 +26,7 @@ import {
|
|
|
26
26
|
rebaseBranch,
|
|
27
27
|
tagRollbackInverse,
|
|
28
28
|
type RebaseStatsWithDuration,
|
|
29
|
+
type EditorOptions,
|
|
29
30
|
} from "../core/index.js";
|
|
30
31
|
import { hasSome, defineLazyCachedProperty } from "../util/index.js";
|
|
31
32
|
|
|
@@ -129,9 +130,12 @@ export class SharedTreeBranch<TEditor extends ChangeFamilyEditor, TChange> {
|
|
|
129
130
|
private readonly telemetryEventBatcher?: TelemetryEventBatcher<
|
|
130
131
|
keyof RebaseStatsWithDuration
|
|
131
132
|
>,
|
|
133
|
+
private readonly editorOptions?: EditorOptions,
|
|
132
134
|
) {
|
|
133
|
-
this.editor = this.changeFamily.buildEditor(
|
|
134
|
-
|
|
135
|
+
this.editor = this.changeFamily.buildEditor(
|
|
136
|
+
mintRevisionTag,
|
|
137
|
+
(change) => this.apply(change),
|
|
138
|
+
this.editorOptions,
|
|
135
139
|
);
|
|
136
140
|
this.unsubscribeBranchTrimmer = branchTrimmer?.on("ancestryTrimmed", (commit) => {
|
|
137
141
|
this.#events.emit("ancestryTrimmed", commit);
|
|
@@ -201,6 +205,8 @@ export class SharedTreeBranch<TEditor extends ChangeFamilyEditor, TChange> {
|
|
|
201
205
|
this.changeFamily,
|
|
202
206
|
mintRevisionTag,
|
|
203
207
|
this.branchTrimmer,
|
|
208
|
+
undefined,
|
|
209
|
+
this.editorOptions,
|
|
204
210
|
);
|
|
205
211
|
this.#events.emit("fork", fork);
|
|
206
212
|
return fork;
|
|
@@ -23,6 +23,7 @@ import {
|
|
|
23
23
|
mintCommit,
|
|
24
24
|
type RebaseStatsWithDuration,
|
|
25
25
|
tagChange,
|
|
26
|
+
type EditorOptions,
|
|
26
27
|
} from "../core/index.js";
|
|
27
28
|
import { type Mutable, brand, getOrCreate, mapIterable } from "../util/index.js";
|
|
28
29
|
|
|
@@ -123,6 +124,7 @@ export class EditManager<
|
|
|
123
124
|
public readonly localSessionId: SessionId,
|
|
124
125
|
private readonly mintRevisionTag: () => RevisionTag,
|
|
125
126
|
private readonly onSharedBranchCreated?: (branchId: BranchId) => void,
|
|
127
|
+
editorOptions?: EditorOptions,
|
|
126
128
|
logger?: ITelemetryLoggerExt,
|
|
127
129
|
) {
|
|
128
130
|
this.trunkBase = {
|
|
@@ -147,9 +149,10 @@ export class EditManager<
|
|
|
147
149
|
mintRevisionTag,
|
|
148
150
|
this._events,
|
|
149
151
|
this.telemetryEventBatcher,
|
|
152
|
+
editorOptions,
|
|
150
153
|
);
|
|
151
154
|
|
|
152
|
-
this.createAndAddSharedBranch("main", undefined, undefined, mainTrunk);
|
|
155
|
+
this.createAndAddSharedBranch("main", undefined, undefined, mainTrunk, editorOptions);
|
|
153
156
|
}
|
|
154
157
|
|
|
155
158
|
public getLocalBranch(branchId: BranchId): SharedTreeBranch<TEditor, TChangeset> {
|
|
@@ -480,8 +483,15 @@ export class EditManager<
|
|
|
480
483
|
sessionId: SessionId | undefined,
|
|
481
484
|
parent: SharedBranch<TEditor, TChangeset> | undefined,
|
|
482
485
|
branch: SharedTreeBranch<TEditor, TChangeset>,
|
|
486
|
+
editorOptions?: EditorOptions,
|
|
483
487
|
): SharedBranch<TEditor, TChangeset> {
|
|
484
|
-
const sharedBranch = this.createSharedBranch(
|
|
488
|
+
const sharedBranch = this.createSharedBranch(
|
|
489
|
+
branchId,
|
|
490
|
+
sessionId,
|
|
491
|
+
parent,
|
|
492
|
+
branch,
|
|
493
|
+
editorOptions,
|
|
494
|
+
);
|
|
485
495
|
this.addSharedBranch(branchId, sharedBranch);
|
|
486
496
|
return sharedBranch;
|
|
487
497
|
}
|
|
@@ -512,6 +522,7 @@ export class EditManager<
|
|
|
512
522
|
sessionId: SessionId | undefined,
|
|
513
523
|
parent: SharedBranch<TEditor, TChangeset> | undefined,
|
|
514
524
|
branch: SharedTreeBranch<TEditor, TChangeset>,
|
|
525
|
+
editorOptions?: EditorOptions,
|
|
515
526
|
): SharedBranch<TEditor, TChangeset> {
|
|
516
527
|
const sharedBranch = new SharedBranch(
|
|
517
528
|
parent,
|
|
@@ -523,6 +534,7 @@ export class EditManager<
|
|
|
523
534
|
this.mintRevisionTag,
|
|
524
535
|
this._events,
|
|
525
536
|
this.telemetryEventBatcher,
|
|
537
|
+
editorOptions,
|
|
526
538
|
);
|
|
527
539
|
|
|
528
540
|
return sharedBranch;
|
|
@@ -695,6 +707,7 @@ class SharedBranch<TEditor extends ChangeFamilyEditor, TChangeset> {
|
|
|
695
707
|
private readonly mintRevisionTag: () => RevisionTag,
|
|
696
708
|
branchTrimmer: Listenable<BranchTrimmingEvents>,
|
|
697
709
|
telemetryEventBatcher: TelemetryEventBatcher<keyof RebaseStatsWithDuration> | undefined,
|
|
710
|
+
editorOptions?: EditorOptions,
|
|
698
711
|
) {
|
|
699
712
|
this.localBranch = new SharedTreeBranch(
|
|
700
713
|
this.trunk.getHead(),
|
|
@@ -702,6 +715,7 @@ class SharedBranch<TEditor extends ChangeFamilyEditor, TChangeset> {
|
|
|
702
715
|
mintRevisionTag,
|
|
703
716
|
branchTrimmer,
|
|
704
717
|
telemetryEventBatcher,
|
|
718
|
+
editorOptions,
|
|
705
719
|
);
|
|
706
720
|
|
|
707
721
|
this.sequenceIdToCommit.set(baseCommitSequenceId, this.trunk.getHead());
|
|
@@ -74,6 +74,15 @@ export function editManagerFormatVersionSelectorForSharedBranches(
|
|
|
74
74
|
return brand(EditManagerFormatVersion.vSharedBranches);
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
+
/**
|
|
78
|
+
* Returns the version that should be used for testing shared branches.
|
|
79
|
+
*/
|
|
80
|
+
export function editManagerFormatVersionSelectorForDetachedRootEditing(
|
|
81
|
+
clientVersion: MinimumVersionForCollab,
|
|
82
|
+
): EditManagerFormatVersion {
|
|
83
|
+
return brand(EditManagerFormatVersion.vDetachedRoots);
|
|
84
|
+
}
|
|
85
|
+
|
|
77
86
|
export interface EditManagerCodecOptions {
|
|
78
87
|
readonly editManagerFormatSelector?: (
|
|
79
88
|
minVersionForCollab: MinimumVersionForCollab,
|
|
@@ -141,7 +150,8 @@ export function makeEditManagerCodecs<TChangeset>(
|
|
|
141
150
|
}
|
|
142
151
|
case unbrand(EditManagerFormatVersion.v3):
|
|
143
152
|
case unbrand(EditManagerFormatVersion.v4):
|
|
144
|
-
case unbrand(EditManagerFormatVersion.v6):
|
|
153
|
+
case unbrand(EditManagerFormatVersion.v6):
|
|
154
|
+
case unbrand(EditManagerFormatVersion.vDetachedRoots): {
|
|
145
155
|
const changeCodec = changeCodecs.resolve(dependentChangeFormatVersion.lookup(version));
|
|
146
156
|
return [
|
|
147
157
|
version,
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import { assert } from "@fluidframework/core-utils/internal";
|
|
7
7
|
import type { IIdCompressor, SessionId } from "@fluidframework/id-compressor";
|
|
8
8
|
|
|
9
|
-
import type { IJsonCodec
|
|
9
|
+
import type { IJsonCodec } from "../codec/index.js";
|
|
10
10
|
import type {
|
|
11
11
|
ChangeEncodingContext,
|
|
12
12
|
EncodedRevisionTag,
|
|
@@ -32,7 +32,7 @@ export interface EditManagerEncodingContext {
|
|
|
32
32
|
|
|
33
33
|
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
|
|
34
34
|
function encodeCommit<TChangeset, T extends Commit<TChangeset>>(
|
|
35
|
-
changeCodec:
|
|
35
|
+
changeCodec: IJsonCodec<
|
|
36
36
|
TChangeset,
|
|
37
37
|
JsonCompatibleReadOnly,
|
|
38
38
|
JsonCompatibleReadOnly,
|
|
@@ -54,13 +54,13 @@ function encodeCommit<TChangeset, T extends Commit<TChangeset>>(
|
|
|
54
54
|
idCompressor: context.idCompressor,
|
|
55
55
|
revision: undefined,
|
|
56
56
|
}),
|
|
57
|
-
change: changeCodec.
|
|
57
|
+
change: changeCodec.encode(commit.change, { ...context, revision: commit.revision }),
|
|
58
58
|
};
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
|
|
62
62
|
function decodeCommit<TChangeset, T extends EncodedCommit<JsonCompatibleReadOnly>>(
|
|
63
|
-
changeCodec:
|
|
63
|
+
changeCodec: IJsonCodec<
|
|
64
64
|
TChangeset,
|
|
65
65
|
JsonCompatibleReadOnly,
|
|
66
66
|
JsonCompatibleReadOnly,
|
|
@@ -84,12 +84,12 @@ function decodeCommit<TChangeset, T extends EncodedCommit<JsonCompatibleReadOnly
|
|
|
84
84
|
return {
|
|
85
85
|
...commit,
|
|
86
86
|
revision,
|
|
87
|
-
change: changeCodec.
|
|
87
|
+
change: changeCodec.decode(commit.change, { ...context, revision }),
|
|
88
88
|
};
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
export function encodeSharedBranch<TChangeset>(
|
|
92
|
-
changeCodec:
|
|
92
|
+
changeCodec: IJsonCodec<
|
|
93
93
|
TChangeset,
|
|
94
94
|
JsonCompatibleReadOnly,
|
|
95
95
|
JsonCompatibleReadOnly,
|
|
@@ -160,7 +160,7 @@ export function encodeSharedBranch<TChangeset>(
|
|
|
160
160
|
}
|
|
161
161
|
|
|
162
162
|
export function decodeSharedBranch<TChangeset>(
|
|
163
|
-
changeCodec:
|
|
163
|
+
changeCodec: IJsonCodec<
|
|
164
164
|
TChangeset,
|
|
165
165
|
JsonCompatibleReadOnly,
|
|
166
166
|
JsonCompatibleReadOnly,
|
|
@@ -5,12 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
import type { IIdCompressor } from "@fluidframework/id-compressor";
|
|
7
7
|
|
|
8
|
-
import {
|
|
9
|
-
type ICodecOptions,
|
|
10
|
-
type IJsonCodec,
|
|
11
|
-
type IMultiFormatCodec,
|
|
12
|
-
withSchemaValidation,
|
|
13
|
-
} from "../codec/index.js";
|
|
8
|
+
import { type ICodecOptions, type IJsonCodec, withSchemaValidation } from "../codec/index.js";
|
|
14
9
|
import type {
|
|
15
10
|
ChangeEncodingContext,
|
|
16
11
|
EncodedRevisionTag,
|
|
@@ -29,7 +24,7 @@ export interface EditManagerEncodingContext {
|
|
|
29
24
|
}
|
|
30
25
|
|
|
31
26
|
export function makeV1CodecWithVersion<TChangeset>(
|
|
32
|
-
changeCodec:
|
|
27
|
+
changeCodec: IJsonCodec<
|
|
33
28
|
TChangeset,
|
|
34
29
|
JsonCompatibleReadOnly,
|
|
35
30
|
JsonCompatibleReadOnly,
|
|
@@ -49,9 +44,7 @@ export function makeV1CodecWithVersion<TChangeset>(
|
|
|
49
44
|
JsonCompatibleReadOnly,
|
|
50
45
|
EditManagerEncodingContext
|
|
51
46
|
> {
|
|
52
|
-
const format = EncodedEditManager(
|
|
53
|
-
changeCodec.json.encodedSchema ?? JsonCompatibleReadOnlySchema,
|
|
54
|
-
);
|
|
47
|
+
const format = EncodedEditManager(changeCodec.encodedSchema ?? JsonCompatibleReadOnlySchema);
|
|
55
48
|
|
|
56
49
|
const codec: IJsonCodec<
|
|
57
50
|
SummaryData<TChangeset>,
|
|
@@ -6,12 +6,7 @@
|
|
|
6
6
|
import { assert } from "@fluidframework/core-utils/internal";
|
|
7
7
|
import type { IIdCompressor } from "@fluidframework/id-compressor";
|
|
8
8
|
|
|
9
|
-
import {
|
|
10
|
-
type ICodecOptions,
|
|
11
|
-
type IJsonCodec,
|
|
12
|
-
type IMultiFormatCodec,
|
|
13
|
-
withSchemaValidation,
|
|
14
|
-
} from "../codec/index.js";
|
|
9
|
+
import { type ICodecOptions, type IJsonCodec, withSchemaValidation } from "../codec/index.js";
|
|
15
10
|
import type {
|
|
16
11
|
ChangeEncodingContext,
|
|
17
12
|
EncodedRevisionTag,
|
|
@@ -36,7 +31,7 @@ export interface EditManagerEncodingContext {
|
|
|
36
31
|
}
|
|
37
32
|
|
|
38
33
|
export function makeSharedBranchesCodecWithVersion<TChangeset>(
|
|
39
|
-
changeCodec:
|
|
34
|
+
changeCodec: IJsonCodec<
|
|
40
35
|
TChangeset,
|
|
41
36
|
JsonCompatibleReadOnly,
|
|
42
37
|
JsonCompatibleReadOnly,
|
|
@@ -56,9 +51,7 @@ export function makeSharedBranchesCodecWithVersion<TChangeset>(
|
|
|
56
51
|
JsonCompatibleReadOnly,
|
|
57
52
|
EditManagerEncodingContext
|
|
58
53
|
> {
|
|
59
|
-
const format = EncodedEditManager(
|
|
60
|
-
changeCodec.json.encodedSchema ?? JsonCompatibleReadOnlySchema,
|
|
61
|
-
);
|
|
54
|
+
const format = EncodedEditManager(changeCodec.encodedSchema ?? JsonCompatibleReadOnlySchema);
|
|
62
55
|
|
|
63
56
|
const codec: IJsonCodec<
|
|
64
57
|
SummaryData<TChangeset>,
|
|
@@ -167,6 +167,11 @@ export const EditManagerFormatVersion = strictEnum("editManager.FormatVersion",
|
|
|
167
167
|
* Only used for testing shared branches.
|
|
168
168
|
*/
|
|
169
169
|
vSharedBranches: "shared-branches|v0.1",
|
|
170
|
+
/**
|
|
171
|
+
* Not yet released.
|
|
172
|
+
* Only used for testing detached roots.
|
|
173
|
+
*/
|
|
174
|
+
vDetachedRoots: "detached-roots|v0.1",
|
|
170
175
|
});
|
|
171
176
|
export type EditManagerFormatVersion = Values<typeof EditManagerFormatVersion>;
|
|
172
177
|
export const supportedEditManagerFormatVersions: ReadonlySet<EditManagerFormatVersion> =
|
|
@@ -175,6 +180,7 @@ export const supportedEditManagerFormatVersions: ReadonlySet<EditManagerFormatVe
|
|
|
175
180
|
EditManagerFormatVersion.v4,
|
|
176
181
|
EditManagerFormatVersion.v6,
|
|
177
182
|
EditManagerFormatVersion.vSharedBranches,
|
|
183
|
+
EditManagerFormatVersion.vDetachedRoots,
|
|
178
184
|
]);
|
|
179
185
|
export const editManagerFormatVersions: ReadonlySet<EditManagerFormatVersion> = new Set(
|
|
180
186
|
Object.values(EditManagerFormatVersion),
|
|
@@ -28,7 +28,8 @@ export interface EncodedEditManager<TChangeset> {
|
|
|
28
28
|
| typeof EditManagerFormatVersion.v2
|
|
29
29
|
| typeof EditManagerFormatVersion.v3
|
|
30
30
|
| typeof EditManagerFormatVersion.v4
|
|
31
|
-
| typeof EditManagerFormatVersion.v6
|
|
31
|
+
| typeof EditManagerFormatVersion.v6
|
|
32
|
+
| typeof EditManagerFormatVersion.vDetachedRoots;
|
|
32
33
|
}
|
|
33
34
|
|
|
34
35
|
export const EncodedEditManager = <ChangeSchema extends TSchema>(tChange: ChangeSchema) =>
|
|
@@ -40,6 +41,7 @@ export const EncodedEditManager = <ChangeSchema extends TSchema>(tChange: Change
|
|
|
40
41
|
Type.Literal(EditManagerFormatVersion.v3),
|
|
41
42
|
Type.Literal(EditManagerFormatVersion.v4),
|
|
42
43
|
Type.Literal(EditManagerFormatVersion.v6),
|
|
44
|
+
Type.Literal(EditManagerFormatVersion.vDetachedRoots),
|
|
43
45
|
]),
|
|
44
46
|
trunk: Type.Array(SequencedCommit(tChange)),
|
|
45
47
|
branches: Type.Array(Type.Tuple([SessionIdSchema, SummarySessionBranch(tChange)])),
|
|
@@ -48,6 +48,7 @@ export {
|
|
|
48
48
|
type EditManagerCodecOptions,
|
|
49
49
|
clientVersionToEditManagerFormatVersion,
|
|
50
50
|
editManagerFormatVersionSelectorForSharedBranches,
|
|
51
|
+
editManagerFormatVersionSelectorForDetachedRootEditing,
|
|
51
52
|
} from "./editManagerCodecs.js";
|
|
52
53
|
export {
|
|
53
54
|
EditManagerFormatVersion,
|
|
@@ -73,6 +74,7 @@ export {
|
|
|
73
74
|
getCodecTreeForMessageFormatWithChange,
|
|
74
75
|
clientVersionToMessageFormatVersion,
|
|
75
76
|
messageFormatVersionSelectorForSharedBranches,
|
|
77
|
+
messageFormatVersionSelectorForDetachedRootEditing,
|
|
76
78
|
makeMessageCodec,
|
|
77
79
|
type MessageEncodingContext,
|
|
78
80
|
} from "./messageCodecs.js";
|
|
@@ -35,7 +35,8 @@ export function makeV1ToV4CodecWithVersion<TChangeset>(
|
|
|
35
35
|
| typeof MessageFormatVersion.v2
|
|
36
36
|
| typeof MessageFormatVersion.v3
|
|
37
37
|
| typeof MessageFormatVersion.v4
|
|
38
|
-
| typeof MessageFormatVersion.v6
|
|
38
|
+
| typeof MessageFormatVersion.v6
|
|
39
|
+
| typeof MessageFormatVersion.vDetachedRoots,
|
|
39
40
|
): IJsonCodec<
|
|
40
41
|
DecodedMessage<TChangeset>,
|
|
41
42
|
JsonCompatibleReadOnly,
|
|
@@ -83,6 +83,15 @@ export function messageFormatVersionSelectorForSharedBranches(
|
|
|
83
83
|
return brand(MessageFormatVersion.vSharedBranches);
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
+
/**
|
|
87
|
+
* Returns the version that should be used for testing detached root editing.
|
|
88
|
+
*/
|
|
89
|
+
export function messageFormatVersionSelectorForDetachedRootEditing(
|
|
90
|
+
clientVersion: MinimumVersionForCollab,
|
|
91
|
+
): MessageFormatVersion {
|
|
92
|
+
return brand(MessageFormatVersion.vDetachedRoots);
|
|
93
|
+
}
|
|
94
|
+
|
|
86
95
|
export function makeMessageCodec<TChangeset>(
|
|
87
96
|
changeCodecs: ICodecFamily<TChangeset, ChangeEncodingContext>,
|
|
88
97
|
dependentChangeFormatVersion: DependentFormatVersion<MessageFormatVersion>,
|
|
@@ -145,10 +154,9 @@ export function makeMessageCodecs<TChangeset>(
|
|
|
145
154
|
}
|
|
146
155
|
case unbrand(MessageFormatVersion.v3):
|
|
147
156
|
case unbrand(MessageFormatVersion.v4):
|
|
148
|
-
case unbrand(MessageFormatVersion.v6):
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
).json;
|
|
157
|
+
case unbrand(MessageFormatVersion.v6):
|
|
158
|
+
case unbrand(MessageFormatVersion.vDetachedRoots): {
|
|
159
|
+
const changeCodec = changeCodecs.resolve(dependentChangeFormatVersion.lookup(version));
|
|
152
160
|
return [
|
|
153
161
|
version,
|
|
154
162
|
makeV1ToV4CodecWithVersion(changeCodec, revisionTagCodec, options, version),
|
|
@@ -158,9 +166,7 @@ export function makeMessageCodecs<TChangeset>(
|
|
|
158
166
|
return [version, makeDiscontinuedCodecVersion(options, version, "2.74.0")];
|
|
159
167
|
}
|
|
160
168
|
case unbrand(MessageFormatVersion.vSharedBranches): {
|
|
161
|
-
const changeCodec = changeCodecs.resolve(
|
|
162
|
-
dependentChangeFormatVersion.lookup(version),
|
|
163
|
-
).json;
|
|
169
|
+
const changeCodec = changeCodecs.resolve(dependentChangeFormatVersion.lookup(version));
|
|
164
170
|
return [
|
|
165
171
|
version,
|
|
166
172
|
makeSharedBranchesCodecWithVersion(changeCodec, revisionTagCodec, options, version),
|