@fluidframework/tree 2.91.0 → 2.92.0
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 +118 -0
- package/api-report/tree.alpha.api.md +60 -22
- package/dist/api.d.ts +6 -1
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js.map +1 -1
- package/dist/codec/codec.d.ts +28 -2
- package/dist/codec/codec.d.ts.map +1 -1
- package/dist/codec/codec.js +1 -0
- package/dist/codec/codec.js.map +1 -1
- package/dist/codec/index.d.ts +2 -2
- package/dist/codec/index.d.ts.map +1 -1
- package/dist/codec/index.js +2 -4
- package/dist/codec/index.js.map +1 -1
- package/dist/codec/versioned/codec.d.ts +18 -36
- package/dist/codec/versioned/codec.d.ts.map +1 -1
- package/dist/codec/versioned/codec.js +46 -59
- package/dist/codec/versioned/codec.js.map +1 -1
- package/dist/codec/versioned/index.d.ts +1 -1
- package/dist/codec/versioned/index.d.ts.map +1 -1
- package/dist/codec/versioned/index.js +2 -4
- package/dist/codec/versioned/index.js.map +1 -1
- package/dist/core/forest/forest.d.ts +5 -2
- package/dist/core/forest/forest.d.ts.map +1 -1
- package/dist/core/forest/forest.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +6 -2
- package/dist/core/index.js.map +1 -1
- package/dist/core/rebase/changeRebaser.d.ts +8 -1
- package/dist/core/rebase/changeRebaser.d.ts.map +1 -1
- package/dist/core/rebase/changeRebaser.js.map +1 -1
- package/dist/core/rebase/revisionTagCodec.d.ts +4 -3
- package/dist/core/rebase/revisionTagCodec.d.ts.map +1 -1
- package/dist/core/rebase/revisionTagCodec.js +2 -0
- package/dist/core/rebase/revisionTagCodec.js.map +1 -1
- package/dist/core/rebase/utils.d.ts +2 -2
- package/dist/core/rebase/utils.d.ts.map +1 -1
- package/dist/core/rebase/utils.js +4 -4
- package/dist/core/rebase/utils.js.map +1 -1
- package/dist/core/schema-stored/formatV2.d.ts +1 -1
- package/dist/core/schema-stored/formatV2.js +1 -1
- package/dist/core/schema-stored/formatV2.js.map +1 -1
- package/dist/core/tree/anchorSet.d.ts +8 -0
- package/dist/core/tree/anchorSet.d.ts.map +1 -1
- package/dist/core/tree/anchorSet.js +42 -7
- package/dist/core/tree/anchorSet.js.map +1 -1
- package/dist/core/tree/cursor.d.ts +25 -1
- package/dist/core/tree/cursor.d.ts.map +1 -1
- package/dist/core/tree/cursor.js +45 -1
- package/dist/core/tree/cursor.js.map +1 -1
- package/dist/core/tree/deltaUtil.d.ts +13 -1
- package/dist/core/tree/deltaUtil.d.ts.map +1 -1
- package/dist/core/tree/deltaUtil.js +34 -1
- package/dist/core/tree/deltaUtil.js.map +1 -1
- package/dist/core/tree/detachedFieldIndexCodecs.d.ts +5 -5
- package/dist/core/tree/detachedFieldIndexCodecs.d.ts.map +1 -1
- package/dist/core/tree/detachedFieldIndexCodecs.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 +6 -2
- package/dist/core/tree/index.js.map +1 -1
- package/dist/core/tree/visitDelta.d.ts +11 -0
- package/dist/core/tree/visitDelta.d.ts.map +1 -1
- package/dist/core/tree/visitDelta.js +1 -1
- package/dist/core/tree/visitDelta.js.map +1 -1
- package/dist/core/tree/visitorUtils.d.ts.map +1 -1
- package/dist/core/tree/visitorUtils.js +5 -0
- package/dist/core/tree/visitorUtils.js.map +1 -1
- package/dist/entrypoints/alpha.d.ts +1 -1
- package/dist/entrypoints/alpha.d.ts.map +1 -1
- package/dist/entrypoints/alpha.js +2 -3
- package/dist/entrypoints/alpha.js.map +1 -1
- package/dist/entrypoints/beta.js +1 -1
- package/dist/entrypoints/beta.js.map +1 -1
- package/dist/entrypoints/legacy.d.ts +1 -1
- package/dist/entrypoints/legacy.d.ts.map +1 -1
- package/dist/entrypoints/legacy.js +1 -1
- package/dist/entrypoints/legacy.js.map +1 -1
- package/dist/entrypoints/public.js +1 -1
- package/dist/entrypoints/public.js.map +1 -1
- package/dist/feature-libraries/changeAtomIdCodec.d.ts +4 -3
- package/dist/feature-libraries/changeAtomIdCodec.d.ts.map +1 -1
- package/dist/feature-libraries/changeAtomIdCodec.js +2 -0
- package/dist/feature-libraries/changeAtomIdCodec.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/chunkedForest.d.ts +2 -1
- package/dist/feature-libraries/chunked-forest/chunkedForest.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/chunkedForest.js +2 -2
- package/dist/feature-libraries/chunked-forest/chunkedForest.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts +4 -4
- package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.js +6 -6
- package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.d.ts +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts +1 -2
- package/dist/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/codecs.d.ts +4 -4
- package/dist/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/codecs.js +6 -6
- package/dist/feature-libraries/chunked-forest/codec/codecs.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.d.ts +12 -12
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js +3 -3
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/{formatGeneric.d.ts → format/formatGeneric.d.ts} +1 -1
- package/dist/feature-libraries/chunked-forest/codec/format/formatGeneric.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/format/formatGeneric.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/format/formatV1.d.ts +187 -0
- package/dist/feature-libraries/chunked-forest/codec/format/formatV1.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/format/formatV1.js +115 -0
- package/dist/feature-libraries/chunked-forest/codec/format/formatV1.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/format/formatV2.d.ts +33 -0
- package/dist/feature-libraries/chunked-forest/codec/format/formatV2.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/format/formatV2.js +16 -0
- package/dist/feature-libraries/chunked-forest/codec/format/formatV2.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/format/index.d.ts +10 -0
- package/dist/feature-libraries/chunked-forest/codec/format/index.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/format/index.js +18 -0
- package/dist/feature-libraries/chunked-forest/codec/format/index.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/format/versions.d.ts +93 -0
- package/dist/feature-libraries/chunked-forest/codec/format/versions.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/format/versions.js +29 -0
- package/dist/feature-libraries/chunked-forest/codec/format/versions.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/index.d.ts +2 -2
- package/dist/feature-libraries/chunked-forest/codec/index.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/index.js +2 -2
- package/dist/feature-libraries/chunked-forest/codec/index.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/nodeEncoder.d.ts +7 -7
- package/dist/feature-libraries/chunked-forest/codec/nodeEncoder.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/nodeEncoder.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncode.d.ts +1 -1
- package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncode.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncode.js +6 -4
- package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncode.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts +1 -1
- package/dist/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/uncompressedEncode.js +3 -3
- package/dist/feature-libraries/chunked-forest/codec/uncompressedEncode.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/index.d.ts +1 -1
- package/dist/feature-libraries/chunked-forest/index.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/index.js.map +1 -1
- package/dist/feature-libraries/cursorComparator.d.ts +23 -0
- package/dist/feature-libraries/cursorComparator.d.ts.map +1 -0
- package/dist/feature-libraries/cursorComparator.js +65 -0
- package/dist/feature-libraries/cursorComparator.js.map +1 -0
- package/dist/feature-libraries/forest-summary/codec.d.ts +1 -1
- package/dist/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts +3 -3
- package/dist/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts.map +1 -1
- package/dist/feature-libraries/forest-summary/incrementalSummaryBuilder.js.map +1 -1
- package/dist/feature-libraries/index.d.ts +3 -2
- package/dist/feature-libraries/index.d.ts.map +1 -1
- package/dist/feature-libraries/index.js +5 -5
- package/dist/feature-libraries/index.js.map +1 -1
- package/dist/feature-libraries/indexing/anchorTreeIndex.d.ts +2 -0
- package/dist/feature-libraries/indexing/anchorTreeIndex.d.ts.map +1 -1
- package/dist/feature-libraries/indexing/anchorTreeIndex.js +12 -7
- package/dist/feature-libraries/indexing/anchorTreeIndex.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/fieldChangeHandler.d.ts +3 -3
- 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 +0 -1
- package/dist/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecV1.d.ts +10 -10
- package/dist/feature-libraries/modular-schema/modularChangeCodecV1.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecV1.js +2 -4
- package/dist/feature-libraries/modular-schema/modularChangeCodecV1.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecV2.d.ts +3 -3
- package/dist/feature-libraries/modular-schema/modularChangeCodecV2.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecV2.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.d.ts +3 -3
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js +4 -3
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/dist/feature-libraries/object-forest/objectForest.d.ts +1 -1
- package/dist/feature-libraries/object-forest/objectForest.d.ts.map +1 -1
- package/dist/feature-libraries/object-forest/objectForest.js +2 -2
- package/dist/feature-libraries/object-forest/objectForest.js.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecV2.d.ts +4 -4
- package/dist/feature-libraries/optional-field/optionalFieldCodecV2.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecV2.js.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecs.d.ts +3 -3
- package/dist/feature-libraries/optional-field/optionalFieldCodecs.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecs.js.map +1 -1
- package/dist/feature-libraries/schema-edits/index.d.ts +1 -1
- package/dist/feature-libraries/schema-edits/index.d.ts.map +1 -1
- package/dist/feature-libraries/schema-edits/index.js +2 -3
- package/dist/feature-libraries/schema-edits/index.js.map +1 -1
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.d.ts +6 -15
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.d.ts.map +1 -1
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.js +8 -54
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.js.map +1 -1
- package/dist/feature-libraries/schema-index/codec.d.ts +3 -16
- package/dist/feature-libraries/schema-index/codec.d.ts.map +1 -1
- package/dist/feature-libraries/schema-index/codec.js +1 -21
- package/dist/feature-libraries/schema-index/codec.js.map +1 -1
- package/dist/feature-libraries/schema-index/formatV2.d.ts +1 -1
- package/dist/feature-libraries/schema-index/formatV2.js +1 -1
- package/dist/feature-libraries/schema-index/formatV2.js.map +1 -1
- package/dist/feature-libraries/schema-index/index.d.ts +1 -1
- package/dist/feature-libraries/schema-index/index.d.ts.map +1 -1
- package/dist/feature-libraries/schema-index/index.js +1 -2
- package/dist/feature-libraries/schema-index/index.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts +4 -4
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV3.d.ts +3 -3
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV3.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV3.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts +3 -3
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -3
- package/dist/index.js.map +1 -1
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/dist/shared-tree/independentView.d.ts +1 -1
- package/dist/shared-tree/independentView.d.ts.map +1 -1
- package/dist/shared-tree/independentView.js +14 -21
- package/dist/shared-tree/independentView.js.map +1 -1
- package/dist/shared-tree/index.d.ts +2 -2
- package/dist/shared-tree/index.d.ts.map +1 -1
- package/dist/shared-tree/index.js +1 -2
- package/dist/shared-tree/index.js.map +1 -1
- package/dist/shared-tree/schematizingTreeView.d.ts +2 -36
- package/dist/shared-tree/schematizingTreeView.d.ts.map +1 -1
- package/dist/shared-tree/schematizingTreeView.js +15 -117
- package/dist/shared-tree/schematizingTreeView.js.map +1 -1
- package/dist/shared-tree/sharedTree.d.ts +3 -22
- package/dist/shared-tree/sharedTree.d.ts.map +1 -1
- package/dist/shared-tree/sharedTree.js +10 -27
- package/dist/shared-tree/sharedTree.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeCodecs.d.ts +3 -2
- package/dist/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeChangeCodecs.js +23 -16
- package/dist/shared-tree/sharedTreeChangeCodecs.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeEnricher.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeChangeEnricher.js +1 -1
- package/dist/shared-tree/sharedTreeChangeEnricher.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeFamily.d.ts +1 -1
- 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/sharedTreeChangeFormat.d.ts +8 -7
- package/dist/shared-tree/sharedTreeChangeFormat.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeChangeFormat.js +13 -5
- package/dist/shared-tree/sharedTreeChangeFormat.js.map +1 -1
- package/dist/shared-tree/tree.d.ts.map +1 -1
- package/dist/shared-tree/tree.js +2 -1
- package/dist/shared-tree/tree.js.map +1 -1
- package/dist/shared-tree/treeAlpha.d.ts +13 -1
- package/dist/shared-tree/treeAlpha.d.ts.map +1 -1
- package/dist/shared-tree/treeAlpha.js +3 -0
- package/dist/shared-tree/treeAlpha.js.map +1 -1
- package/dist/shared-tree/treeCheckout.d.ts +34 -69
- package/dist/shared-tree/treeCheckout.d.ts.map +1 -1
- package/dist/shared-tree/treeCheckout.js +885 -678
- package/dist/shared-tree/treeCheckout.js.map +1 -1
- package/dist/shared-tree/unhydratedTreeContext.js +3 -3
- package/dist/shared-tree/unhydratedTreeContext.js.map +1 -1
- package/dist/shared-tree-core/editManagerCodecs.d.ts +23 -12
- package/dist/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerCodecs.js +40 -67
- package/dist/shared-tree-core/editManagerCodecs.js.map +1 -1
- package/dist/shared-tree-core/editManagerCodecsCommons.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerCodecsCommons.js +0 -1
- package/dist/shared-tree-core/editManagerCodecsCommons.js.map +1 -1
- package/dist/shared-tree-core/editManagerCodecsV1toV4.d.ts +10 -2
- package/dist/shared-tree-core/editManagerCodecsV1toV4.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerCodecsV1toV4.js +18 -13
- 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 +6 -9
- package/dist/shared-tree-core/editManagerCodecsVSharedBranches.js.map +1 -1
- package/dist/shared-tree-core/index.d.ts +3 -3
- package/dist/shared-tree-core/index.d.ts.map +1 -1
- package/dist/shared-tree-core/index.js +5 -8
- package/dist/shared-tree-core/index.js.map +1 -1
- package/dist/shared-tree-core/messageCodecV1ToV4.d.ts +2 -3
- package/dist/shared-tree-core/messageCodecV1ToV4.d.ts.map +1 -1
- package/dist/shared-tree-core/messageCodecV1ToV4.js +8 -8
- package/dist/shared-tree-core/messageCodecV1ToV4.js.map +1 -1
- package/dist/shared-tree-core/messageCodecVSharedBranches.d.ts +2 -3
- package/dist/shared-tree-core/messageCodecVSharedBranches.d.ts.map +1 -1
- package/dist/shared-tree-core/messageCodecVSharedBranches.js +5 -4
- package/dist/shared-tree-core/messageCodecVSharedBranches.js.map +1 -1
- package/dist/shared-tree-core/messageCodecs.d.ts +15 -14
- package/dist/shared-tree-core/messageCodecs.d.ts.map +1 -1
- package/dist/shared-tree-core/messageCodecs.js +38 -74
- package/dist/shared-tree-core/messageCodecs.js.map +1 -1
- package/dist/shared-tree-core/messageFormat.d.ts +0 -1
- package/dist/shared-tree-core/messageFormat.d.ts.map +1 -1
- package/dist/shared-tree-core/messageFormat.js +1 -2
- package/dist/shared-tree-core/messageFormat.js.map +1 -1
- package/dist/shared-tree-core/sharedTreeCore.d.ts +1 -3
- package/dist/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
- package/dist/shared-tree-core/sharedTreeCore.js +12 -2
- package/dist/shared-tree-core/sharedTreeCore.js.map +1 -1
- package/dist/sharedTreeAttributes.d.ts.map +1 -1
- package/dist/sharedTreeAttributes.js +3 -0
- package/dist/sharedTreeAttributes.js.map +1 -1
- package/dist/simple-tree/api/index.d.ts +1 -0
- package/dist/simple-tree/api/index.d.ts.map +1 -1
- package/dist/simple-tree/api/index.js.map +1 -1
- package/dist/simple-tree/api/schemaFactory.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFactory.js.map +1 -1
- package/dist/simple-tree/api/schemaFactoryAlpha.d.ts +2 -2
- package/dist/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
- package/dist/simple-tree/api/storedSchema.d.ts.map +1 -1
- package/dist/simple-tree/api/storedSchema.js +6 -6
- package/dist/simple-tree/api/storedSchema.js.map +1 -1
- package/dist/simple-tree/api/tree.d.ts +7 -19
- package/dist/simple-tree/api/tree.d.ts.map +1 -1
- package/dist/simple-tree/api/tree.js.map +1 -1
- package/dist/simple-tree/api/treeAlpha.d.ts +69 -0
- package/dist/simple-tree/api/treeAlpha.d.ts.map +1 -0
- package/dist/simple-tree/api/treeAlpha.js +7 -0
- package/dist/simple-tree/api/treeAlpha.js.map +1 -0
- package/dist/simple-tree/api/treeBeta.d.ts +1 -1
- package/dist/simple-tree/api/treeBeta.js.map +1 -1
- package/dist/simple-tree/api/treeChangeEvents.d.ts +3 -0
- package/dist/simple-tree/api/treeChangeEvents.d.ts.map +1 -1
- package/dist/simple-tree/api/treeChangeEvents.js.map +1 -1
- package/dist/simple-tree/api/treeNodeApi.d.ts +49 -0
- package/dist/simple-tree/api/treeNodeApi.d.ts.map +1 -1
- package/dist/simple-tree/api/treeNodeApi.js +41 -2
- package/dist/simple-tree/api/treeNodeApi.js.map +1 -1
- package/dist/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
- package/dist/simple-tree/core/treeNodeKernel.js +45 -8
- package/dist/simple-tree/core/treeNodeKernel.js.map +1 -1
- package/dist/simple-tree/core/unhydratedFlexTree.d.ts.map +1 -1
- package/dist/simple-tree/core/unhydratedFlexTree.js +5 -1
- package/dist/simple-tree/core/unhydratedFlexTree.js.map +1 -1
- package/dist/simple-tree/index.d.ts +2 -2
- package/dist/simple-tree/index.d.ts.map +1 -1
- package/dist/simple-tree/index.js.map +1 -1
- package/dist/simple-tree/node-kinds/array/arrayNode.d.ts +16 -0
- package/dist/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/array/arrayNode.js +23 -0
- package/dist/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
- package/dist/simple-tree/node-kinds/array/arrayNodeTypes.d.ts +10 -1
- package/dist/simple-tree/node-kinds/array/arrayNodeTypes.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/array/arrayNodeTypes.js.map +1 -1
- package/dist/simple-tree/node-kinds/array/index.d.ts +2 -2
- package/dist/simple-tree/node-kinds/array/index.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/array/index.js.map +1 -1
- package/dist/simple-tree/node-kinds/index.d.ts +1 -1
- package/dist/simple-tree/node-kinds/index.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/index.js.map +1 -1
- package/dist/text/textDomainFormatted.d.ts +319 -9
- package/dist/text/textDomainFormatted.d.ts.map +1 -1
- package/dist/text/textDomainFormatted.js +100 -25
- package/dist/text/textDomainFormatted.js.map +1 -1
- package/dist/treeFactory.d.ts.map +1 -1
- package/dist/treeFactory.js +5 -2
- package/dist/treeFactory.js.map +1 -1
- package/dist/util/referenceCounting.d.ts.map +1 -1
- package/dist/util/referenceCounting.js +0 -1
- package/dist/util/referenceCounting.js.map +1 -1
- package/legacy.d.ts +2 -3
- package/lib/api.d.ts +6 -1
- package/lib/api.d.ts.map +1 -1
- package/lib/api.js.map +1 -1
- package/lib/codec/codec.d.ts +28 -2
- package/lib/codec/codec.d.ts.map +1 -1
- package/lib/codec/codec.js +1 -0
- package/lib/codec/codec.js.map +1 -1
- package/lib/codec/index.d.ts +2 -2
- 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 +18 -36
- package/lib/codec/versioned/codec.d.ts.map +1 -1
- package/lib/codec/versioned/codec.js +45 -56
- package/lib/codec/versioned/codec.js.map +1 -1
- package/lib/codec/versioned/index.d.ts +1 -1
- package/lib/codec/versioned/index.d.ts.map +1 -1
- package/lib/codec/versioned/index.js +1 -1
- package/lib/codec/versioned/index.js.map +1 -1
- package/lib/core/forest/forest.d.ts +5 -2
- package/lib/core/forest/forest.d.ts.map +1 -1
- package/lib/core/forest/forest.js.map +1 -1
- package/lib/core/index.d.ts +1 -1
- package/lib/core/index.d.ts.map +1 -1
- package/lib/core/index.js +1 -1
- package/lib/core/index.js.map +1 -1
- package/lib/core/rebase/changeRebaser.d.ts +8 -1
- package/lib/core/rebase/changeRebaser.d.ts.map +1 -1
- package/lib/core/rebase/changeRebaser.js.map +1 -1
- package/lib/core/rebase/revisionTagCodec.d.ts +4 -3
- package/lib/core/rebase/revisionTagCodec.d.ts.map +1 -1
- package/lib/core/rebase/revisionTagCodec.js +2 -0
- package/lib/core/rebase/revisionTagCodec.js.map +1 -1
- package/lib/core/rebase/utils.d.ts +2 -2
- package/lib/core/rebase/utils.d.ts.map +1 -1
- package/lib/core/rebase/utils.js +4 -4
- package/lib/core/rebase/utils.js.map +1 -1
- package/lib/core/schema-stored/formatV2.d.ts +1 -1
- package/lib/core/schema-stored/formatV2.js +1 -1
- package/lib/core/schema-stored/formatV2.js.map +1 -1
- package/lib/core/tree/anchorSet.d.ts +8 -0
- package/lib/core/tree/anchorSet.d.ts.map +1 -1
- package/lib/core/tree/anchorSet.js +42 -7
- package/lib/core/tree/anchorSet.js.map +1 -1
- package/lib/core/tree/cursor.d.ts +25 -1
- package/lib/core/tree/cursor.d.ts.map +1 -1
- package/lib/core/tree/cursor.js +43 -0
- package/lib/core/tree/cursor.js.map +1 -1
- package/lib/core/tree/deltaUtil.d.ts +13 -1
- package/lib/core/tree/deltaUtil.d.ts.map +1 -1
- package/lib/core/tree/deltaUtil.js +31 -0
- package/lib/core/tree/deltaUtil.js.map +1 -1
- package/lib/core/tree/detachedFieldIndexCodecs.d.ts +5 -5
- package/lib/core/tree/detachedFieldIndexCodecs.d.ts.map +1 -1
- package/lib/core/tree/detachedFieldIndexCodecs.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 +2 -2
- package/lib/core/tree/index.js.map +1 -1
- package/lib/core/tree/visitDelta.d.ts +11 -0
- package/lib/core/tree/visitDelta.d.ts.map +1 -1
- package/lib/core/tree/visitDelta.js +1 -1
- package/lib/core/tree/visitDelta.js.map +1 -1
- package/lib/core/tree/visitorUtils.d.ts.map +1 -1
- package/lib/core/tree/visitorUtils.js +5 -0
- package/lib/core/tree/visitorUtils.js.map +1 -1
- package/lib/entrypoints/alpha.d.ts +1 -1
- package/lib/entrypoints/alpha.d.ts.map +1 -1
- package/lib/entrypoints/alpha.js +2 -2
- package/lib/entrypoints/alpha.js.map +1 -1
- package/lib/entrypoints/beta.js +1 -1
- package/lib/entrypoints/beta.js.map +1 -1
- package/lib/entrypoints/legacy.d.ts +1 -1
- package/lib/entrypoints/legacy.d.ts.map +1 -1
- package/lib/entrypoints/legacy.js +1 -1
- package/lib/entrypoints/legacy.js.map +1 -1
- package/lib/entrypoints/public.js +1 -1
- package/lib/entrypoints/public.js.map +1 -1
- package/lib/feature-libraries/changeAtomIdCodec.d.ts +4 -3
- package/lib/feature-libraries/changeAtomIdCodec.d.ts.map +1 -1
- package/lib/feature-libraries/changeAtomIdCodec.js +2 -0
- package/lib/feature-libraries/changeAtomIdCodec.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/chunkedForest.d.ts +2 -1
- package/lib/feature-libraries/chunked-forest/chunkedForest.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/chunkedForest.js +2 -2
- package/lib/feature-libraries/chunked-forest/chunkedForest.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts +4 -4
- package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.js +4 -4
- package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.d.ts +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts +1 -2
- package/lib/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/codecs.d.ts +4 -4
- package/lib/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/codecs.js +1 -1
- package/lib/feature-libraries/chunked-forest/codec/codecs.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.d.ts +12 -12
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js +1 -1
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/{formatGeneric.d.ts → format/formatGeneric.d.ts} +1 -1
- package/lib/feature-libraries/chunked-forest/codec/format/formatGeneric.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/format/formatGeneric.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/format/formatV1.d.ts +187 -0
- package/lib/feature-libraries/chunked-forest/codec/format/formatV1.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/format/formatV1.js +112 -0
- package/lib/feature-libraries/chunked-forest/codec/format/formatV1.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/format/formatV2.d.ts +33 -0
- package/lib/feature-libraries/chunked-forest/codec/format/formatV2.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/format/formatV2.js +13 -0
- package/lib/feature-libraries/chunked-forest/codec/format/formatV2.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/format/index.d.ts +10 -0
- package/lib/feature-libraries/chunked-forest/codec/format/index.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/format/index.js +8 -0
- package/lib/feature-libraries/chunked-forest/codec/format/index.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/format/versions.d.ts +93 -0
- package/lib/feature-libraries/chunked-forest/codec/format/versions.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/format/versions.js +26 -0
- package/lib/feature-libraries/chunked-forest/codec/format/versions.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/index.d.ts +2 -2
- package/lib/feature-libraries/chunked-forest/codec/index.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/index.js +1 -1
- package/lib/feature-libraries/chunked-forest/codec/index.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/nodeEncoder.d.ts +7 -7
- package/lib/feature-libraries/chunked-forest/codec/nodeEncoder.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/nodeEncoder.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncode.d.ts +1 -1
- package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncode.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncode.js +4 -2
- package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncode.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts +1 -1
- package/lib/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/uncompressedEncode.js +1 -1
- package/lib/feature-libraries/chunked-forest/codec/uncompressedEncode.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/index.d.ts +1 -1
- package/lib/feature-libraries/chunked-forest/index.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/index.js.map +1 -1
- package/lib/feature-libraries/cursorComparator.d.ts +23 -0
- package/lib/feature-libraries/cursorComparator.d.ts.map +1 -0
- package/lib/feature-libraries/cursorComparator.js +61 -0
- package/lib/feature-libraries/cursorComparator.js.map +1 -0
- package/lib/feature-libraries/forest-summary/codec.d.ts +1 -1
- package/lib/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts +3 -3
- package/lib/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts.map +1 -1
- package/lib/feature-libraries/forest-summary/incrementalSummaryBuilder.js.map +1 -1
- package/lib/feature-libraries/index.d.ts +3 -2
- package/lib/feature-libraries/index.d.ts.map +1 -1
- package/lib/feature-libraries/index.js +3 -2
- package/lib/feature-libraries/index.js.map +1 -1
- package/lib/feature-libraries/indexing/anchorTreeIndex.d.ts +2 -0
- package/lib/feature-libraries/indexing/anchorTreeIndex.d.ts.map +1 -1
- package/lib/feature-libraries/indexing/anchorTreeIndex.js +12 -7
- package/lib/feature-libraries/indexing/anchorTreeIndex.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/fieldChangeHandler.d.ts +3 -3
- 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 +0 -1
- package/lib/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecV1.d.ts +10 -10
- package/lib/feature-libraries/modular-schema/modularChangeCodecV1.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecV1.js +2 -4
- package/lib/feature-libraries/modular-schema/modularChangeCodecV1.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecV2.d.ts +3 -3
- package/lib/feature-libraries/modular-schema/modularChangeCodecV2.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecV2.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.d.ts +3 -3
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js +4 -3
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/lib/feature-libraries/object-forest/objectForest.d.ts +1 -1
- package/lib/feature-libraries/object-forest/objectForest.d.ts.map +1 -1
- package/lib/feature-libraries/object-forest/objectForest.js +2 -2
- package/lib/feature-libraries/object-forest/objectForest.js.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecV2.d.ts +4 -4
- package/lib/feature-libraries/optional-field/optionalFieldCodecV2.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecV2.js +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecV2.js.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecs.d.ts +3 -3
- package/lib/feature-libraries/optional-field/optionalFieldCodecs.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecs.js.map +1 -1
- package/lib/feature-libraries/schema-edits/index.d.ts +1 -1
- package/lib/feature-libraries/schema-edits/index.d.ts.map +1 -1
- package/lib/feature-libraries/schema-edits/index.js +1 -1
- package/lib/feature-libraries/schema-edits/index.js.map +1 -1
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.d.ts +6 -15
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.d.ts.map +1 -1
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.js +6 -50
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.js.map +1 -1
- package/lib/feature-libraries/schema-index/codec.d.ts +3 -16
- package/lib/feature-libraries/schema-index/codec.d.ts.map +1 -1
- package/lib/feature-libraries/schema-index/codec.js +0 -19
- package/lib/feature-libraries/schema-index/codec.js.map +1 -1
- package/lib/feature-libraries/schema-index/formatV2.d.ts +1 -1
- package/lib/feature-libraries/schema-index/formatV2.js +1 -1
- package/lib/feature-libraries/schema-index/formatV2.js.map +1 -1
- package/lib/feature-libraries/schema-index/index.d.ts +1 -1
- package/lib/feature-libraries/schema-index/index.d.ts.map +1 -1
- package/lib/feature-libraries/schema-index/index.js +1 -1
- package/lib/feature-libraries/schema-index/index.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts +4 -4
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.d.ts +3 -3
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.js +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts +3 -3
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.js.map +1 -1
- package/lib/index.d.ts +2 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/packageVersion.d.ts +1 -1
- package/lib/packageVersion.js +1 -1
- package/lib/packageVersion.js.map +1 -1
- package/lib/shared-tree/independentView.d.ts +1 -1
- package/lib/shared-tree/independentView.d.ts.map +1 -1
- package/lib/shared-tree/independentView.js +4 -11
- package/lib/shared-tree/independentView.js.map +1 -1
- package/lib/shared-tree/index.d.ts +2 -2
- package/lib/shared-tree/index.d.ts.map +1 -1
- package/lib/shared-tree/index.js +1 -1
- package/lib/shared-tree/index.js.map +1 -1
- package/lib/shared-tree/schematizingTreeView.d.ts +2 -36
- package/lib/shared-tree/schematizingTreeView.d.ts.map +1 -1
- package/lib/shared-tree/schematizingTreeView.js +17 -116
- package/lib/shared-tree/schematizingTreeView.js.map +1 -1
- package/lib/shared-tree/sharedTree.d.ts +3 -22
- package/lib/shared-tree/sharedTree.d.ts.map +1 -1
- package/lib/shared-tree/sharedTree.js +11 -27
- package/lib/shared-tree/sharedTree.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeCodecs.d.ts +3 -2
- package/lib/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeCodecs.js +19 -12
- package/lib/shared-tree/sharedTreeChangeCodecs.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeEnricher.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeEnricher.js +2 -2
- package/lib/shared-tree/sharedTreeChangeEnricher.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFamily.d.ts +1 -1
- package/lib/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFamily.js +2 -2
- package/lib/shared-tree/sharedTreeChangeFamily.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFormat.d.ts +8 -7
- package/lib/shared-tree/sharedTreeChangeFormat.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFormat.js +11 -5
- package/lib/shared-tree/sharedTreeChangeFormat.js.map +1 -1
- package/lib/shared-tree/tree.d.ts.map +1 -1
- package/lib/shared-tree/tree.js +2 -1
- package/lib/shared-tree/tree.js.map +1 -1
- package/lib/shared-tree/treeAlpha.d.ts +13 -1
- package/lib/shared-tree/treeAlpha.d.ts.map +1 -1
- package/lib/shared-tree/treeAlpha.js +3 -0
- package/lib/shared-tree/treeAlpha.js.map +1 -1
- package/lib/shared-tree/treeCheckout.d.ts +34 -69
- package/lib/shared-tree/treeCheckout.d.ts.map +1 -1
- package/lib/shared-tree/treeCheckout.js +889 -683
- package/lib/shared-tree/treeCheckout.js.map +1 -1
- package/lib/shared-tree/unhydratedTreeContext.js +1 -1
- package/lib/shared-tree/unhydratedTreeContext.js.map +1 -1
- package/lib/shared-tree-core/editManagerCodecs.d.ts +23 -12
- package/lib/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerCodecs.js +41 -65
- package/lib/shared-tree-core/editManagerCodecs.js.map +1 -1
- package/lib/shared-tree-core/editManagerCodecsCommons.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerCodecsCommons.js +0 -1
- package/lib/shared-tree-core/editManagerCodecsCommons.js.map +1 -1
- package/lib/shared-tree-core/editManagerCodecsV1toV4.d.ts +10 -2
- package/lib/shared-tree-core/editManagerCodecsV1toV4.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerCodecsV1toV4.js +16 -11
- 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 +5 -8
- package/lib/shared-tree-core/editManagerCodecsVSharedBranches.js.map +1 -1
- package/lib/shared-tree-core/index.d.ts +3 -3
- package/lib/shared-tree-core/index.d.ts.map +1 -1
- package/lib/shared-tree-core/index.js +3 -3
- package/lib/shared-tree-core/index.js.map +1 -1
- package/lib/shared-tree-core/messageCodecV1ToV4.d.ts +2 -3
- package/lib/shared-tree-core/messageCodecV1ToV4.d.ts.map +1 -1
- package/lib/shared-tree-core/messageCodecV1ToV4.js +8 -8
- package/lib/shared-tree-core/messageCodecV1ToV4.js.map +1 -1
- package/lib/shared-tree-core/messageCodecVSharedBranches.d.ts +2 -3
- package/lib/shared-tree-core/messageCodecVSharedBranches.d.ts.map +1 -1
- package/lib/shared-tree-core/messageCodecVSharedBranches.js +5 -4
- package/lib/shared-tree-core/messageCodecVSharedBranches.js.map +1 -1
- package/lib/shared-tree-core/messageCodecs.d.ts +15 -14
- package/lib/shared-tree-core/messageCodecs.d.ts.map +1 -1
- package/lib/shared-tree-core/messageCodecs.js +38 -71
- package/lib/shared-tree-core/messageCodecs.js.map +1 -1
- package/lib/shared-tree-core/messageFormat.d.ts +0 -1
- package/lib/shared-tree-core/messageFormat.d.ts.map +1 -1
- package/lib/shared-tree-core/messageFormat.js +0 -1
- package/lib/shared-tree-core/messageFormat.js.map +1 -1
- package/lib/shared-tree-core/sharedTreeCore.d.ts +1 -3
- package/lib/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
- package/lib/shared-tree-core/sharedTreeCore.js +14 -4
- package/lib/shared-tree-core/sharedTreeCore.js.map +1 -1
- package/lib/sharedTreeAttributes.d.ts.map +1 -1
- package/lib/sharedTreeAttributes.js +3 -0
- package/lib/sharedTreeAttributes.js.map +1 -1
- package/lib/simple-tree/api/index.d.ts +1 -0
- package/lib/simple-tree/api/index.d.ts.map +1 -1
- package/lib/simple-tree/api/index.js.map +1 -1
- package/lib/simple-tree/api/schemaFactory.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFactory.js.map +1 -1
- package/lib/simple-tree/api/schemaFactoryAlpha.d.ts +2 -2
- package/lib/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
- package/lib/simple-tree/api/storedSchema.d.ts.map +1 -1
- package/lib/simple-tree/api/storedSchema.js +7 -7
- package/lib/simple-tree/api/storedSchema.js.map +1 -1
- package/lib/simple-tree/api/tree.d.ts +7 -19
- package/lib/simple-tree/api/tree.d.ts.map +1 -1
- package/lib/simple-tree/api/tree.js.map +1 -1
- package/lib/simple-tree/api/treeAlpha.d.ts +69 -0
- package/lib/simple-tree/api/treeAlpha.d.ts.map +1 -0
- package/lib/simple-tree/api/treeAlpha.js +6 -0
- package/lib/simple-tree/api/treeAlpha.js.map +1 -0
- package/lib/simple-tree/api/treeBeta.d.ts +1 -1
- package/lib/simple-tree/api/treeBeta.js.map +1 -1
- package/lib/simple-tree/api/treeChangeEvents.d.ts +3 -0
- package/lib/simple-tree/api/treeChangeEvents.d.ts.map +1 -1
- package/lib/simple-tree/api/treeChangeEvents.js.map +1 -1
- package/lib/simple-tree/api/treeNodeApi.d.ts +49 -0
- package/lib/simple-tree/api/treeNodeApi.d.ts.map +1 -1
- package/lib/simple-tree/api/treeNodeApi.js +41 -2
- package/lib/simple-tree/api/treeNodeApi.js.map +1 -1
- package/lib/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
- package/lib/simple-tree/core/treeNodeKernel.js +45 -8
- package/lib/simple-tree/core/treeNodeKernel.js.map +1 -1
- package/lib/simple-tree/core/unhydratedFlexTree.d.ts.map +1 -1
- package/lib/simple-tree/core/unhydratedFlexTree.js +5 -1
- package/lib/simple-tree/core/unhydratedFlexTree.js.map +1 -1
- package/lib/simple-tree/index.d.ts +2 -2
- package/lib/simple-tree/index.d.ts.map +1 -1
- package/lib/simple-tree/index.js.map +1 -1
- package/lib/simple-tree/node-kinds/array/arrayNode.d.ts +16 -0
- package/lib/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/array/arrayNode.js +23 -0
- package/lib/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
- package/lib/simple-tree/node-kinds/array/arrayNodeTypes.d.ts +10 -1
- package/lib/simple-tree/node-kinds/array/arrayNodeTypes.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/array/arrayNodeTypes.js.map +1 -1
- package/lib/simple-tree/node-kinds/array/index.d.ts +2 -2
- package/lib/simple-tree/node-kinds/array/index.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/array/index.js.map +1 -1
- package/lib/simple-tree/node-kinds/index.d.ts +1 -1
- package/lib/simple-tree/node-kinds/index.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/index.js.map +1 -1
- package/lib/text/textDomainFormatted.d.ts +319 -9
- package/lib/text/textDomainFormatted.d.ts.map +1 -1
- package/lib/text/textDomainFormatted.js +103 -28
- package/lib/text/textDomainFormatted.js.map +1 -1
- package/lib/treeFactory.d.ts.map +1 -1
- package/lib/treeFactory.js +6 -3
- package/lib/treeFactory.js.map +1 -1
- package/lib/util/referenceCounting.d.ts.map +1 -1
- package/lib/util/referenceCounting.js +0 -1
- package/lib/util/referenceCounting.js.map +1 -1
- package/package.json +27 -27
- package/scripts/generate-entrypoint-sources.sh +4 -2
- package/src/api.ts +11 -0
- package/src/codec/codec.ts +32 -2
- package/src/codec/index.ts +2 -3
- package/src/codec/versioned/codec.ts +99 -109
- package/src/codec/versioned/index.ts +1 -3
- package/src/core/forest/forest.ts +5 -2
- package/src/core/index.ts +4 -0
- package/src/core/rebase/changeRebaser.ts +8 -0
- package/src/core/rebase/revisionTagCodec.ts +4 -4
- package/src/core/rebase/utils.ts +9 -2
- package/src/core/schema-stored/formatV2.ts +1 -1
- package/src/core/tree/anchorSet.ts +67 -10
- package/src/core/tree/cursor.ts +52 -1
- package/src/core/tree/deltaUtil.ts +37 -1
- package/src/core/tree/detachedFieldIndexCodecs.ts +4 -4
- package/src/core/tree/index.ts +4 -0
- package/src/core/tree/visitDelta.ts +13 -1
- package/src/core/tree/visitorUtils.ts +5 -0
- package/src/entrypoints/alpha.ts +13 -6
- package/src/entrypoints/beta.ts +2 -2
- package/src/entrypoints/legacy.ts +11 -3
- package/src/entrypoints/public.ts +1 -1
- package/src/feature-libraries/changeAtomIdCodec.ts +8 -7
- package/src/feature-libraries/chunked-forest/chunkedForest.ts +3 -2
- package/src/feature-libraries/chunked-forest/codec/chunkDecoding.ts +18 -13
- package/src/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.ts +1 -1
- package/src/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.ts +1 -2
- package/src/feature-libraries/chunked-forest/codec/codecs.ts +16 -10
- package/src/feature-libraries/chunked-forest/codec/compressedEncode.ts +16 -14
- package/src/feature-libraries/chunked-forest/codec/{formatGeneric.ts → format/formatGeneric.ts} +1 -1
- package/src/feature-libraries/chunked-forest/codec/{format.ts → format/formatV1.ts} +41 -111
- package/src/feature-libraries/chunked-forest/codec/format/formatV2.ts +31 -0
- package/src/feature-libraries/chunked-forest/codec/format/index.ts +31 -0
- package/src/feature-libraries/chunked-forest/codec/format/versions.ts +81 -0
- package/src/feature-libraries/chunked-forest/codec/index.ts +6 -2
- package/src/feature-libraries/chunked-forest/codec/nodeEncoder.ts +19 -12
- package/src/feature-libraries/chunked-forest/codec/schemaBasedEncode.ts +6 -4
- package/src/feature-libraries/chunked-forest/codec/uncompressedEncode.ts +10 -10
- package/src/feature-libraries/chunked-forest/index.ts +2 -1
- package/src/feature-libraries/cursorComparator.ts +77 -0
- package/src/feature-libraries/forest-summary/incrementalSummaryBuilder.ts +5 -5
- package/src/feature-libraries/index.ts +5 -3
- package/src/feature-libraries/indexing/anchorTreeIndex.ts +20 -10
- package/src/feature-libraries/mitigatedChangeFamily.ts +4 -1
- package/src/feature-libraries/modular-schema/fieldChangeHandler.ts +4 -5
- package/src/feature-libraries/modular-schema/genericFieldKind.ts +0 -1
- package/src/feature-libraries/modular-schema/modularChangeCodecV1.ts +19 -26
- package/src/feature-libraries/modular-schema/modularChangeCodecV2.ts +4 -4
- package/src/feature-libraries/modular-schema/modularChangeCodecs.ts +4 -5
- package/src/feature-libraries/modular-schema/modularChangeFamily.ts +6 -2
- package/src/feature-libraries/object-forest/objectForest.ts +8 -2
- package/src/feature-libraries/optional-field/optionalFieldCodecV2.ts +11 -13
- package/src/feature-libraries/optional-field/optionalFieldCodecs.ts +4 -5
- package/src/feature-libraries/schema-edits/index.ts +1 -4
- package/src/feature-libraries/schema-edits/schemaChangeCodecs.ts +10 -78
- package/src/feature-libraries/schema-index/codec.ts +0 -25
- package/src/feature-libraries/schema-index/formatV2.ts +1 -1
- package/src/feature-libraries/schema-index/index.ts +1 -4
- package/src/feature-libraries/sequence-field/sequenceFieldCodecV2.ts +6 -6
- package/src/feature-libraries/sequence-field/sequenceFieldCodecV3.ts +8 -5
- package/src/feature-libraries/sequence-field/sequenceFieldCodecs.ts +4 -5
- package/src/index.ts +10 -3
- package/src/packageVersion.ts +1 -1
- package/src/shared-tree/independentView.ts +5 -18
- package/src/shared-tree/index.ts +0 -4
- package/src/shared-tree/schematizingTreeView.ts +19 -165
- package/src/shared-tree/sharedTree.ts +16 -59
- package/src/shared-tree/sharedTreeChangeCodecs.ts +23 -29
- package/src/shared-tree/sharedTreeChangeEnricher.ts +1 -2
- package/src/shared-tree/sharedTreeChangeFamily.ts +2 -0
- package/src/shared-tree/sharedTreeChangeFormat.ts +23 -8
- package/src/shared-tree/tree.ts +2 -5
- package/src/shared-tree/treeAlpha.ts +26 -0
- package/src/shared-tree/treeCheckout.ts +275 -99
- package/src/shared-tree/unhydratedTreeContext.ts +1 -1
- package/src/shared-tree-core/editManagerCodecs.ts +99 -124
- package/src/shared-tree-core/editManagerCodecsCommons.ts +0 -1
- package/src/shared-tree-core/editManagerCodecsV1toV4.ts +54 -59
- package/src/shared-tree-core/editManagerCodecsVSharedBranches.ts +72 -95
- package/src/shared-tree-core/index.ts +4 -8
- package/src/shared-tree-core/messageCodecV1ToV4.ts +56 -71
- package/src/shared-tree-core/messageCodecVSharedBranches.ts +76 -92
- package/src/shared-tree-core/messageCodecs.ts +88 -126
- package/src/shared-tree-core/messageFormat.ts +0 -3
- package/src/shared-tree-core/sharedTreeCore.ts +14 -21
- package/src/sharedTreeAttributes.ts +3 -0
- package/src/simple-tree/api/index.ts +10 -0
- package/src/simple-tree/api/schemaFactory.ts +0 -2
- package/src/simple-tree/api/schemaFactoryAlpha.ts +13 -2
- package/src/simple-tree/api/storedSchema.ts +8 -19
- package/src/simple-tree/api/tree.ts +7 -20
- package/src/simple-tree/api/treeAlpha.ts +90 -0
- package/src/simple-tree/api/treeBeta.ts +1 -1
- package/src/simple-tree/api/treeChangeEvents.ts +3 -0
- package/src/simple-tree/api/treeNodeApi.ts +95 -3
- package/src/simple-tree/core/treeNodeKernel.ts +53 -7
- package/src/simple-tree/core/unhydratedFlexTree.ts +5 -1
- package/src/simple-tree/index.ts +10 -0
- package/src/simple-tree/node-kinds/array/arrayNode.ts +64 -0
- package/src/simple-tree/node-kinds/array/arrayNodeTypes.ts +25 -1
- package/src/simple-tree/node-kinds/array/index.ts +2 -0
- package/src/simple-tree/node-kinds/index.ts +2 -0
- package/src/text/textDomainFormatted.ts +113 -11
- package/src/treeFactory.ts +10 -5
- package/src/util/referenceCounting.ts +0 -1
- package/dist/feature-libraries/chunked-forest/codec/format.d.ts +0 -383
- package/dist/feature-libraries/chunked-forest/codec/format.d.ts.map +0 -1
- package/dist/feature-libraries/chunked-forest/codec/format.js +0 -191
- package/dist/feature-libraries/chunked-forest/codec/format.js.map +0 -1
- package/dist/feature-libraries/chunked-forest/codec/formatGeneric.d.ts.map +0 -1
- package/dist/feature-libraries/chunked-forest/codec/formatGeneric.js.map +0 -1
- package/lib/feature-libraries/chunked-forest/codec/format.d.ts +0 -383
- package/lib/feature-libraries/chunked-forest/codec/format.d.ts.map +0 -1
- package/lib/feature-libraries/chunked-forest/codec/format.js +0 -188
- package/lib/feature-libraries/chunked-forest/codec/format.js.map +0 -1
- package/lib/feature-libraries/chunked-forest/codec/formatGeneric.d.ts.map +0 -1
- package/lib/feature-libraries/chunked-forest/codec/formatGeneric.js.map +0 -1
- /package/dist/feature-libraries/chunked-forest/codec/{formatGeneric.js → format/formatGeneric.js} +0 -0
- /package/lib/feature-libraries/chunked-forest/codec/{formatGeneric.js → format/formatGeneric.js} +0 -0
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { createEmitter } from "@fluid-internal/client-utils";
|
|
7
|
-
import type { IDisposable } from "@fluidframework/core-interfaces";
|
|
8
7
|
import type { IFluidHandle, Listenable } from "@fluidframework/core-interfaces/internal";
|
|
9
8
|
import { assert, unreachableCase, fail } from "@fluidframework/core-utils/internal";
|
|
10
9
|
import type { IIdCompressor, SessionId } from "@fluidframework/id-compressor";
|
|
@@ -23,7 +22,6 @@ import {
|
|
|
23
22
|
type Anchor,
|
|
24
23
|
type AnchorLocator,
|
|
25
24
|
type AnchorNode,
|
|
26
|
-
AnchorSet,
|
|
27
25
|
type AnchorSetRootEvents,
|
|
28
26
|
type ChangeFamily,
|
|
29
27
|
CommitKind,
|
|
@@ -61,6 +59,7 @@ import {
|
|
|
61
59
|
type ReadOnlyDetachedFieldIndex,
|
|
62
60
|
makeAnonChange,
|
|
63
61
|
type TaggedChange,
|
|
62
|
+
deltaFieldMapHasVisibleChanges,
|
|
64
63
|
} from "../core/index.js";
|
|
65
64
|
import {
|
|
66
65
|
type FieldBatchCodec,
|
|
@@ -70,13 +69,14 @@ import {
|
|
|
70
69
|
createNodeIdentifierManager,
|
|
71
70
|
defaultSchemaPolicy,
|
|
72
71
|
fieldBatchCodecBuilder,
|
|
72
|
+
TreeStatus,
|
|
73
73
|
intoDelta,
|
|
74
74
|
jsonableTreeFromCursor,
|
|
75
75
|
} from "../feature-libraries/index.js";
|
|
76
76
|
import {
|
|
77
77
|
SquashingTransactionStack,
|
|
78
78
|
SharedTreeBranch,
|
|
79
|
-
TransactionResult,
|
|
79
|
+
TransactionResult as InternalTransactionResult,
|
|
80
80
|
onForkTransitive,
|
|
81
81
|
type SharedTreeBranchChange,
|
|
82
82
|
type Transactor,
|
|
@@ -89,22 +89,34 @@ import {
|
|
|
89
89
|
type UnsafeUnknownSchema,
|
|
90
90
|
type ViewableTree,
|
|
91
91
|
type TreeBranch,
|
|
92
|
+
type TreeBranchAlpha,
|
|
92
93
|
type TreeChangeEvents,
|
|
93
94
|
type VerboseTree,
|
|
95
|
+
type VoidTransactionCallbackStatus,
|
|
96
|
+
type TransactionCallbackStatus,
|
|
97
|
+
type TransactionResult,
|
|
98
|
+
type TransactionResultExt,
|
|
99
|
+
type RunTransactionParams,
|
|
100
|
+
type TransactionConstraintAlpha,
|
|
101
|
+
type TreeViewAlpha,
|
|
102
|
+
getInnerNode,
|
|
103
|
+
getKernel,
|
|
94
104
|
customFromCursorStored,
|
|
95
105
|
type CustomTreeValue,
|
|
96
106
|
type CustomTreeNode,
|
|
97
107
|
} from "../simple-tree/index.js";
|
|
98
108
|
import {
|
|
99
109
|
Breakable,
|
|
110
|
+
breakingMethod,
|
|
100
111
|
disposeSymbol,
|
|
101
112
|
getOrCreate,
|
|
102
113
|
hasSome,
|
|
114
|
+
throwIfBroken,
|
|
103
115
|
type JsonCompatibleReadOnly,
|
|
104
116
|
type WithBreakable,
|
|
105
117
|
} from "../util/index.js";
|
|
106
118
|
|
|
107
|
-
import {
|
|
119
|
+
import { SchematizingSimpleTreeView } from "./schematizingTreeView.js";
|
|
108
120
|
import { SharedTreeChangeEnricher } from "./sharedTreeChangeEnricher.js";
|
|
109
121
|
import { SharedTreeChangeFamily, hasSchemaChange } from "./sharedTreeChangeFamily.js";
|
|
110
122
|
import type { SharedTreeChange } from "./sharedTreeChangeTypes.js";
|
|
@@ -183,57 +195,6 @@ export interface CheckoutEvents {
|
|
|
183
195
|
dispose(): void;
|
|
184
196
|
}
|
|
185
197
|
|
|
186
|
-
/**
|
|
187
|
-
* A "version control"-style branch of a SharedTree.
|
|
188
|
-
* @remarks Branches may be used to coordinate edits to a SharedTree, e.g. via merge and rebase operations.
|
|
189
|
-
* Changes applied to a branch of a branch only apply to that branch and are isolated from other branches.
|
|
190
|
-
* Changes may be synchronized across branches via merge and rebase operations provided on the branch object.
|
|
191
|
-
* @alpha @sealed
|
|
192
|
-
*/
|
|
193
|
-
export interface BranchableTree extends ViewableTree {
|
|
194
|
-
/**
|
|
195
|
-
* Spawn a new branch which is based off of the current state of this branch.
|
|
196
|
-
* Any mutations of the new branch will not apply to this branch until the new branch is merged back into this branch via `merge()`.
|
|
197
|
-
*/
|
|
198
|
-
branch(): TreeBranchFork;
|
|
199
|
-
|
|
200
|
-
/**
|
|
201
|
-
* Apply all the new changes on the given branch to this branch.
|
|
202
|
-
* @param view - a branch which was created by a call to `branch()`.
|
|
203
|
-
* It is automatically disposed after the merge completes.
|
|
204
|
-
* @remarks All ongoing transactions (if any) in `branch` will be committed before the merge.
|
|
205
|
-
* A "changed" event and a corresponding {@link Revertible} will be emitted on this branch for each new change merged from 'branch'.
|
|
206
|
-
*/
|
|
207
|
-
merge(branch: TreeBranchFork): void;
|
|
208
|
-
|
|
209
|
-
/**
|
|
210
|
-
* Apply all the new changes on the given branch to this branch.
|
|
211
|
-
* @param branch - a branch which was created by a call to `branch()`.
|
|
212
|
-
* @param disposeMerged - whether or not to dispose `branch` after the merge completes.
|
|
213
|
-
* @remarks All ongoing transactions (if any) in `branch` will be committed before the merge.
|
|
214
|
-
*/
|
|
215
|
-
merge(branch: TreeBranchFork, disposeMerged: boolean): void;
|
|
216
|
-
|
|
217
|
-
/**
|
|
218
|
-
* Rebase the given branch onto this branch.
|
|
219
|
-
* @param branch - a branch which was created by a call to `branch()`. It is modified by this operation.
|
|
220
|
-
*/
|
|
221
|
-
rebase(branch: TreeBranchFork): void;
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
/**
|
|
225
|
-
* A {@link BranchableTree | branch} of a SharedTree that has merged from another branch.
|
|
226
|
-
* @remarks This branch should be disposed when it is no longer needed in order to free resources.
|
|
227
|
-
* @alpha @sealed
|
|
228
|
-
*/
|
|
229
|
-
export interface TreeBranchFork extends BranchableTree, IDisposable {
|
|
230
|
-
/**
|
|
231
|
-
* Rebase the changes that have been applied to this branch over all the new changes in the given branch.
|
|
232
|
-
* @param branch - Either the root branch or a branch that was created by a call to `branch()`. It is not modified by this operation.
|
|
233
|
-
*/
|
|
234
|
-
rebaseOnto(branch: BranchableTree): void;
|
|
235
|
-
}
|
|
236
|
-
|
|
237
198
|
/**
|
|
238
199
|
* Provides a means for interacting with a SharedTree.
|
|
239
200
|
* This includes reading data from the tree and running transactions to mutate the tree.
|
|
@@ -242,7 +203,11 @@ export interface TreeBranchFork extends BranchableTree, IDisposable {
|
|
|
242
203
|
* API for interacting with a {@link SharedTreeBranch}.
|
|
243
204
|
* Implementations of this interface must implement the {@link branchKey} property.
|
|
244
205
|
*/
|
|
245
|
-
export interface ITreeCheckout
|
|
206
|
+
export interface ITreeCheckout
|
|
207
|
+
extends TreeBranchAlpha,
|
|
208
|
+
AnchorLocator,
|
|
209
|
+
ViewableTree,
|
|
210
|
+
WithBreakable {
|
|
246
211
|
/**
|
|
247
212
|
* Read and Write access for schema stored in the document.
|
|
248
213
|
*
|
|
@@ -278,13 +243,7 @@ export interface ITreeCheckout extends AnchorLocator, ViewableTree, WithBreakabl
|
|
|
278
243
|
*/
|
|
279
244
|
readonly transaction: Transactor;
|
|
280
245
|
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
merge(checkout: ITreeCheckoutFork): void;
|
|
284
|
-
|
|
285
|
-
merge(checkout: ITreeCheckoutFork, disposeMerged: boolean): void;
|
|
286
|
-
|
|
287
|
-
rebase(checkout: ITreeCheckoutFork): void;
|
|
246
|
+
fork(): ITreeCheckout;
|
|
288
247
|
|
|
289
248
|
/**
|
|
290
249
|
* Replaces all schema with the provided schema.
|
|
@@ -389,15 +348,6 @@ export function createTreeCheckout(
|
|
|
389
348
|
);
|
|
390
349
|
}
|
|
391
350
|
|
|
392
|
-
/**
|
|
393
|
-
* Branch (like in a version control system) of SharedTree.
|
|
394
|
-
*
|
|
395
|
-
* {@link ITreeCheckout} that has forked off of the main trunk/branch.
|
|
396
|
-
*/
|
|
397
|
-
export interface ITreeCheckoutFork extends ITreeCheckout {
|
|
398
|
-
rebaseOnto(view: ITreeCheckout): void;
|
|
399
|
-
}
|
|
400
|
-
|
|
401
351
|
/**
|
|
402
352
|
* Metrics derived from a revert operation.
|
|
403
353
|
*
|
|
@@ -413,9 +363,93 @@ export interface RevertMetrics {
|
|
|
413
363
|
}
|
|
414
364
|
|
|
415
365
|
/**
|
|
416
|
-
*
|
|
366
|
+
* Get the {@link TreeCheckout} associated with a given {@link TreeBranch}.
|
|
367
|
+
*/
|
|
368
|
+
function getCheckout(context: TreeBranch): TreeCheckout {
|
|
369
|
+
if (context instanceof TreeCheckout) {
|
|
370
|
+
return context;
|
|
371
|
+
}
|
|
372
|
+
if (context instanceof SchematizingSimpleTreeView) {
|
|
373
|
+
return context.checkout;
|
|
374
|
+
}
|
|
375
|
+
throw new UsageError("Unsupported context implementation");
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
/**
|
|
379
|
+
* Adds constraints to a `checkout`'s pending transaction.
|
|
380
|
+
*
|
|
381
|
+
* @param checkout - The checkout whose transaction will have the constraints added to it.
|
|
382
|
+
* @param constraintsOnRevert - If true, use {@link ISharedTreeEditor.addNodeExistsConstraintOnRevert}.
|
|
383
|
+
* @param constraints - The constraints to add to the transaction.
|
|
384
|
+
*
|
|
385
|
+
* @see {@link RunTransactionParams.preconditions}.
|
|
386
|
+
*/
|
|
387
|
+
export function addConstraintsToTransaction(
|
|
388
|
+
checkout: ITreeCheckout,
|
|
389
|
+
constraintsOnRevert: boolean,
|
|
390
|
+
constraints: readonly TransactionConstraintAlpha[] = [],
|
|
391
|
+
): void {
|
|
392
|
+
for (const constraint of constraints) {
|
|
393
|
+
assertValidConstraint(constraint, constraintsOnRevert);
|
|
394
|
+
const constraintType = constraint.type;
|
|
395
|
+
switch (constraintType) {
|
|
396
|
+
case "nodeInDocument": {
|
|
397
|
+
const node = getInnerNode(constraint.node);
|
|
398
|
+
assert(node.isHydrated(), 0xbc2 /* In document node must be hydrated. */);
|
|
399
|
+
if (constraintsOnRevert) {
|
|
400
|
+
checkout.editor.addNodeExistsConstraintOnRevert(node.anchorNode);
|
|
401
|
+
} else {
|
|
402
|
+
checkout.editor.addNodeExistsConstraint(node.anchorNode);
|
|
403
|
+
}
|
|
404
|
+
break;
|
|
405
|
+
}
|
|
406
|
+
case "noChange": {
|
|
407
|
+
if (constraintsOnRevert) {
|
|
408
|
+
checkout.editor.addNoChangeConstraintOnRevert();
|
|
409
|
+
} else {
|
|
410
|
+
checkout.editor.addNoChangeConstraint();
|
|
411
|
+
}
|
|
412
|
+
break;
|
|
413
|
+
}
|
|
414
|
+
default: {
|
|
415
|
+
unreachableCase(constraintType);
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
/**
|
|
422
|
+
* Throws if the given {@link TransactionConstraintAlpha | transaction constraint} is not currently satisfied.
|
|
417
423
|
*/
|
|
418
|
-
export
|
|
424
|
+
export function assertValidConstraint(
|
|
425
|
+
constraint: TransactionConstraintAlpha,
|
|
426
|
+
onRevert: boolean,
|
|
427
|
+
): void {
|
|
428
|
+
switch (constraint.type) {
|
|
429
|
+
case "nodeInDocument": {
|
|
430
|
+
const nodeStatus = getKernel(constraint.node).getStatus();
|
|
431
|
+
if (nodeStatus !== TreeStatus.InDocument) {
|
|
432
|
+
const revertText = onRevert ? " on revert" : "";
|
|
433
|
+
throw new UsageError(
|
|
434
|
+
`Attempted to add a "nodeInDocument" constraint${revertText}, but the node is not currently in the document. Node status: ${nodeStatus}`,
|
|
435
|
+
);
|
|
436
|
+
}
|
|
437
|
+
break;
|
|
438
|
+
}
|
|
439
|
+
case "noChange": {
|
|
440
|
+
// This constraint is always satisfied at the time of checking, since it just requires that no changes have been made since the transaction callback returned.
|
|
441
|
+
break;
|
|
442
|
+
}
|
|
443
|
+
default: {
|
|
444
|
+
unreachableCase(constraint);
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
/**
|
|
450
|
+
* An implementation of {@link ITreeCheckout}.
|
|
451
|
+
*/
|
|
452
|
+
export class TreeCheckout implements ITreeCheckout {
|
|
419
453
|
public disposed = false;
|
|
420
454
|
|
|
421
455
|
private editLock: EditLock;
|
|
@@ -622,16 +656,16 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
622
656
|
return (result, viewUpdate: SharedTreeChange | undefined) => {
|
|
623
657
|
const newHead = this.#transaction.branch.getHead();
|
|
624
658
|
switch (result) {
|
|
625
|
-
case
|
|
659
|
+
case InternalTransactionResult.Abort: {
|
|
626
660
|
restoreRemovedRoots();
|
|
627
661
|
if (viewUpdate !== undefined) {
|
|
628
|
-
this.
|
|
662
|
+
this.applyInternalChange(viewUpdate, newHead.revision);
|
|
629
663
|
}
|
|
630
664
|
break;
|
|
631
665
|
}
|
|
632
|
-
case
|
|
666
|
+
case InternalTransactionResult.Commit: {
|
|
633
667
|
if (viewUpdate !== undefined) {
|
|
634
|
-
this.
|
|
668
|
+
this.applyInternalChange(viewUpdate, newHead.revision);
|
|
635
669
|
}
|
|
636
670
|
if (this.transaction.size === 0) {
|
|
637
671
|
// The changes in a transaction squash commit have already applied to the checkout and are known to be valid, so we can validate the squash commit automatically.
|
|
@@ -648,6 +682,7 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
648
682
|
});
|
|
649
683
|
}
|
|
650
684
|
|
|
685
|
+
@throwIfBroken
|
|
651
686
|
public exportVerbose(): VerboseTree | undefined {
|
|
652
687
|
const cursor = this.forest.allocateCursor("contentSnapshot");
|
|
653
688
|
try {
|
|
@@ -756,7 +791,7 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
756
791
|
? this.#transaction.activeBranch.getHead().revision
|
|
757
792
|
: event.change.revision;
|
|
758
793
|
|
|
759
|
-
this.
|
|
794
|
+
this.applyInternalChange(event.change.change, revision);
|
|
760
795
|
}
|
|
761
796
|
this.#events.emit("afterBatch");
|
|
762
797
|
this.editLock.unlock();
|
|
@@ -770,6 +805,7 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
770
805
|
/**
|
|
771
806
|
* Applies the given serialized change (as was produced via a `"changed"` event of another checkout) to this checkout.
|
|
772
807
|
*/
|
|
808
|
+
@throwIfBroken
|
|
773
809
|
public applySerializedChange(serializedChange: JsonCompatibleReadOnly): void {
|
|
774
810
|
if (!isSerializedChange(serializedChange)) {
|
|
775
811
|
throw new UsageError(`Cannot apply change. Invalid serialized change format.`);
|
|
@@ -790,8 +826,115 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
790
826
|
this.#transaction.branch.apply(tagChange(decodedChange, revision));
|
|
791
827
|
}
|
|
792
828
|
|
|
829
|
+
// #region TreeBranchAlpha
|
|
830
|
+
|
|
831
|
+
@throwIfBroken
|
|
832
|
+
public applyChange(change: JsonCompatibleReadOnly): void {
|
|
833
|
+
this.applySerializedChange(change);
|
|
834
|
+
}
|
|
835
|
+
|
|
836
|
+
public isBranch(): this is TreeBranchAlpha {
|
|
837
|
+
return true;
|
|
838
|
+
}
|
|
839
|
+
|
|
840
|
+
public hasRootSchema<TSchema extends ImplicitFieldSchema>(
|
|
841
|
+
_schema: TSchema,
|
|
842
|
+
): this is TreeViewAlpha<TSchema> {
|
|
843
|
+
return false;
|
|
844
|
+
}
|
|
845
|
+
|
|
846
|
+
public runTransaction<TSuccessValue, TFailureValue>(
|
|
847
|
+
transaction: () => TransactionCallbackStatus<TSuccessValue, TFailureValue>,
|
|
848
|
+
params?: RunTransactionParams,
|
|
849
|
+
): TransactionResultExt<TSuccessValue, TFailureValue>;
|
|
850
|
+
public runTransaction(
|
|
851
|
+
transaction: () => VoidTransactionCallbackStatus | void,
|
|
852
|
+
params?: RunTransactionParams,
|
|
853
|
+
): TransactionResult;
|
|
854
|
+
@breakingMethod
|
|
855
|
+
public runTransaction<TSuccessValue, TFailureValue>(
|
|
856
|
+
transaction: () =>
|
|
857
|
+
| TransactionCallbackStatus<TSuccessValue, TFailureValue>
|
|
858
|
+
| VoidTransactionCallbackStatus
|
|
859
|
+
| void,
|
|
860
|
+
params?: RunTransactionParams,
|
|
861
|
+
): TransactionResultExt<TSuccessValue, TFailureValue> | TransactionResult {
|
|
862
|
+
this.mountTransaction(params, false);
|
|
863
|
+
const transactionCallbackStatus = transaction();
|
|
864
|
+
return this.unmountTransaction(transactionCallbackStatus, params);
|
|
865
|
+
}
|
|
866
|
+
|
|
867
|
+
public runTransactionAsync<TSuccessValue, TFailureValue>(
|
|
868
|
+
transaction: () => Promise<TransactionCallbackStatus<TSuccessValue, TFailureValue>>,
|
|
869
|
+
params?: RunTransactionParams,
|
|
870
|
+
): Promise<TransactionResultExt<TSuccessValue, TFailureValue>>;
|
|
871
|
+
public runTransactionAsync(
|
|
872
|
+
transaction: () => Promise<VoidTransactionCallbackStatus | void>,
|
|
873
|
+
params?: RunTransactionParams,
|
|
874
|
+
): Promise<TransactionResult>;
|
|
875
|
+
@breakingMethod
|
|
876
|
+
public async runTransactionAsync<TSuccessValue, TFailureValue>(
|
|
877
|
+
transaction: () => Promise<
|
|
878
|
+
| TransactionCallbackStatus<TSuccessValue, TFailureValue>
|
|
879
|
+
| VoidTransactionCallbackStatus
|
|
880
|
+
| void
|
|
881
|
+
>,
|
|
882
|
+
params: RunTransactionParams | undefined,
|
|
883
|
+
): Promise<TransactionResultExt<TSuccessValue, TFailureValue> | TransactionResult> {
|
|
884
|
+
this.mountTransaction(params, true);
|
|
885
|
+
const transactionCallbackStatus = await transaction();
|
|
886
|
+
return this.unmountTransaction(transactionCallbackStatus, params);
|
|
887
|
+
}
|
|
888
|
+
|
|
889
|
+
private mountTransaction(params: RunTransactionParams | undefined, isAsync: boolean): void {
|
|
890
|
+
this.checkNotDisposed();
|
|
891
|
+
if (isAsync && this.transaction.size > 0) {
|
|
892
|
+
throw new UsageError(
|
|
893
|
+
"An asynchronous transaction cannot be started while another transaction is already in progress.",
|
|
894
|
+
);
|
|
895
|
+
}
|
|
896
|
+
this.pushLabelFrame(params?.label);
|
|
897
|
+
this.transaction.start();
|
|
898
|
+
|
|
899
|
+
addConstraintsToTransaction(this, false, params?.preconditions);
|
|
900
|
+
}
|
|
901
|
+
|
|
902
|
+
private unmountTransaction<TSuccessValue, TFailureValue>(
|
|
903
|
+
transactionCallbackStatus:
|
|
904
|
+
| TransactionCallbackStatus<TSuccessValue, TFailureValue>
|
|
905
|
+
| VoidTransactionCallbackStatus
|
|
906
|
+
| void,
|
|
907
|
+
params: RunTransactionParams | undefined,
|
|
908
|
+
): TransactionResultExt<TSuccessValue, TFailureValue> | TransactionResult {
|
|
909
|
+
this.checkNotDisposed();
|
|
910
|
+
const rollback = transactionCallbackStatus?.rollback;
|
|
911
|
+
const value = (
|
|
912
|
+
transactionCallbackStatus as TransactionCallbackStatus<TSuccessValue, TFailureValue>
|
|
913
|
+
)?.value;
|
|
914
|
+
|
|
915
|
+
if (rollback === true) {
|
|
916
|
+
this.popLabelFrame(true);
|
|
917
|
+
this.transaction.abort();
|
|
918
|
+
return value === undefined
|
|
919
|
+
? { success: false }
|
|
920
|
+
: { success: false, value: value as TFailureValue };
|
|
921
|
+
}
|
|
922
|
+
|
|
923
|
+
addConstraintsToTransaction(this, true, transactionCallbackStatus?.preconditionsOnRevert);
|
|
924
|
+
|
|
925
|
+
this.popLabelFrame(false);
|
|
926
|
+
this.runWithTransactionLabel(() => {
|
|
927
|
+
this.transaction.commit();
|
|
928
|
+
}, params?.label);
|
|
929
|
+
return value === undefined
|
|
930
|
+
? { success: true }
|
|
931
|
+
: { success: true, value: value as TSuccessValue };
|
|
932
|
+
}
|
|
933
|
+
|
|
934
|
+
// #endregion TreeBranchAlpha
|
|
935
|
+
|
|
793
936
|
// Revision is the revision of the commit, if any, which caused this change.
|
|
794
|
-
private
|
|
937
|
+
private applyInternalChange(change: SharedTreeChange, revision?: RevisionTag): void {
|
|
795
938
|
// Conflicts due to schema will be empty and thus are not applied.
|
|
796
939
|
for (const innerChange of change.changes) {
|
|
797
940
|
if (innerChange.type === "data") {
|
|
@@ -943,6 +1086,7 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
943
1086
|
config: TreeViewConfiguration<TRoot>,
|
|
944
1087
|
): TreeView<TRoot>;
|
|
945
1088
|
|
|
1089
|
+
@throwIfBroken
|
|
946
1090
|
public viewWith<TRoot extends ImplicitFieldSchema | UnsafeUnknownSchema>(
|
|
947
1091
|
config: TreeViewConfiguration<ReadSchema<TRoot>>,
|
|
948
1092
|
): SchematizingSimpleTreeView<TRoot> {
|
|
@@ -983,11 +1127,12 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
983
1127
|
* Transactions may nest, meaning that a transaction may be started while a transaction is already ongoing.
|
|
984
1128
|
*
|
|
985
1129
|
* To avoid updating observers of the view state with intermediate results during a transaction,
|
|
986
|
-
* use {@link ITreeCheckout#
|
|
1130
|
+
* use {@link ITreeCheckout#fork} and {@link ISharedTreeFork#merge}.
|
|
987
1131
|
*/
|
|
988
1132
|
#transaction: SquashingTransactionStack<SharedTreeEditBuilder, SharedTreeChange>;
|
|
989
1133
|
|
|
990
|
-
|
|
1134
|
+
@throwIfBroken
|
|
1135
|
+
public fork(): TreeCheckout {
|
|
991
1136
|
this.checkNotDisposed(
|
|
992
1137
|
"The parent branch has already been disposed and can no longer create new branches.",
|
|
993
1138
|
);
|
|
@@ -997,10 +1142,10 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
997
1142
|
}
|
|
998
1143
|
|
|
999
1144
|
this.editLock.checkUnlocked("Branching");
|
|
1000
|
-
const anchors = new AnchorSet();
|
|
1001
1145
|
const branch = this.#transaction.activeBranch.fork();
|
|
1002
1146
|
const storedSchema = this.storedSchema.clone();
|
|
1003
|
-
const
|
|
1147
|
+
const forkBreaker = new Breakable("TreeCheckout");
|
|
1148
|
+
const forest = this.forest.clone(storedSchema, forkBreaker);
|
|
1004
1149
|
const checkout = new TreeCheckout(
|
|
1005
1150
|
branch,
|
|
1006
1151
|
false,
|
|
@@ -1012,7 +1157,7 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
1012
1157
|
this.idCompressor,
|
|
1013
1158
|
this._removedRoots.clone(),
|
|
1014
1159
|
this.logger,
|
|
1015
|
-
|
|
1160
|
+
forkBreaker,
|
|
1016
1161
|
this.disposeForksAfterTransaction,
|
|
1017
1162
|
);
|
|
1018
1163
|
this.#events.emit("fork", checkout);
|
|
@@ -1041,16 +1186,17 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
1041
1186
|
this.registerForBranchEvents();
|
|
1042
1187
|
|
|
1043
1188
|
// TODO: Rework eventing
|
|
1044
|
-
this.
|
|
1189
|
+
this.applyInternalChange(diff);
|
|
1045
1190
|
this.#events.emit("afterBatch");
|
|
1046
1191
|
}
|
|
1047
1192
|
|
|
1048
|
-
|
|
1193
|
+
private rebase(branch: TreeBranch): void {
|
|
1194
|
+
const checkout = getCheckout(branch);
|
|
1049
1195
|
this.checkNotDisposed(
|
|
1050
|
-
"The target of the
|
|
1196
|
+
"The target branch of the rebase has been disposed and cannot be rebased.",
|
|
1051
1197
|
);
|
|
1052
1198
|
checkout.checkNotDisposed(
|
|
1053
|
-
"The source of the
|
|
1199
|
+
"The source branch of the rebase has been disposed and cannot be rebased.",
|
|
1054
1200
|
);
|
|
1055
1201
|
this.editLock.checkUnlocked("Rebasing");
|
|
1056
1202
|
|
|
@@ -1071,21 +1217,19 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
1071
1217
|
checkout.#transaction.activeBranch.rebaseOnto(this.#transaction.activeBranch);
|
|
1072
1218
|
}
|
|
1073
1219
|
|
|
1074
|
-
public rebaseOnto(
|
|
1075
|
-
|
|
1076
|
-
"The target of the branch rebase has been disposed and cannot be rebased.",
|
|
1077
|
-
);
|
|
1078
|
-
checkout.rebase(this);
|
|
1220
|
+
public rebaseOnto(branch: TreeBranch): void {
|
|
1221
|
+
getCheckout(branch).rebase(this);
|
|
1079
1222
|
}
|
|
1080
1223
|
|
|
1081
|
-
public merge(
|
|
1082
|
-
public merge(
|
|
1083
|
-
public merge(
|
|
1224
|
+
public merge(branch: TreeBranch): void;
|
|
1225
|
+
public merge(branch: TreeBranch, disposeMerged: boolean): void;
|
|
1226
|
+
public merge(branch: TreeBranch, disposeMerged = true): void {
|
|
1227
|
+
const checkout = getCheckout(branch);
|
|
1084
1228
|
this.checkNotDisposed(
|
|
1085
|
-
"The target of the
|
|
1229
|
+
"The target branch of the merge has been disposed and cannot be merged.",
|
|
1086
1230
|
);
|
|
1087
1231
|
checkout.checkNotDisposed(
|
|
1088
|
-
"The source of the
|
|
1232
|
+
"The source branch of the merge has been disposed and cannot be merged.",
|
|
1089
1233
|
);
|
|
1090
1234
|
this.editLock.checkUnlocked("Merging");
|
|
1091
1235
|
if (this.transaction.size > 0) {
|
|
@@ -1196,6 +1340,17 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
1196
1340
|
const headCommit = this.#transaction.activeBranch.getHead();
|
|
1197
1341
|
// Rebase the inverted change onto any commits that occurred after the undoable commits.
|
|
1198
1342
|
if (commitToRevert !== headCommit) {
|
|
1343
|
+
// The inverse may be rebased over newer commits which (despite being present in the history)
|
|
1344
|
+
// have no net effect on the document state (e.g. an edit plus its undo).
|
|
1345
|
+
// In that case, a no-change constraint should not be violated during rebase.
|
|
1346
|
+
const diff = diffHistories(
|
|
1347
|
+
this.changeFamily.rebaser,
|
|
1348
|
+
commitToRevert,
|
|
1349
|
+
headCommit,
|
|
1350
|
+
this.mintRevisionTag,
|
|
1351
|
+
);
|
|
1352
|
+
const ignoreNoChangeViolation = !sharedTreeChangeHasVisibleChanges(diff);
|
|
1353
|
+
|
|
1199
1354
|
change = tagChange(
|
|
1200
1355
|
rebaseChange(
|
|
1201
1356
|
this.changeFamily.rebaser,
|
|
@@ -1203,6 +1358,7 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
1203
1358
|
commitToRevert,
|
|
1204
1359
|
headCommit,
|
|
1205
1360
|
this.mintRevisionTag,
|
|
1361
|
+
ignoreNoChangeViolation,
|
|
1206
1362
|
).change,
|
|
1207
1363
|
revisionForInvert,
|
|
1208
1364
|
);
|
|
@@ -1567,3 +1723,23 @@ function isSerializedChange(value: unknown): value is SerializedChange {
|
|
|
1567
1723
|
change.change !== undefined
|
|
1568
1724
|
);
|
|
1569
1725
|
}
|
|
1726
|
+
|
|
1727
|
+
/**
|
|
1728
|
+
* Enumerates through a shared tree change, looking for schema change and field changes that result in visible changes to the tree (e.g. an insert, move, delete).
|
|
1729
|
+
* This function also considers changes to detached roots to be visible changes, but not renames of roots or builds of new roots.
|
|
1730
|
+
*
|
|
1731
|
+
* @param change - The change to analyze.
|
|
1732
|
+
* @returns True if the change contains any schema changes or any field changes that result in visible changes to the tree, false otherwise.
|
|
1733
|
+
*/
|
|
1734
|
+
function sharedTreeChangeHasVisibleChanges(change: SharedTreeChange): boolean {
|
|
1735
|
+
for (const inner of change.changes) {
|
|
1736
|
+
if (inner.type === "schema") {
|
|
1737
|
+
return true;
|
|
1738
|
+
}
|
|
1739
|
+
const delta = intoDelta(tagChange(inner.innerChange, undefined));
|
|
1740
|
+
if (deltaFieldMapHasVisibleChanges(delta.fields)) {
|
|
1741
|
+
return true;
|
|
1742
|
+
}
|
|
1743
|
+
}
|
|
1744
|
+
return false;
|
|
1745
|
+
}
|
|
@@ -14,7 +14,7 @@ import type {
|
|
|
14
14
|
WithValue,
|
|
15
15
|
} from "../simple-tree/index.js";
|
|
16
16
|
|
|
17
|
-
import { assertValidConstraint } from "./
|
|
17
|
+
import { assertValidConstraint } from "./treeCheckout.js";
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* A {@link TreeContextAlpha | tree context} that can be used for e.g. unhydrated nodes.
|