@fluidframework/tree 2.91.0 → 2.93.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 +158 -0
- package/README.md +1 -1
- package/api-report/tree.alpha.api.md +117 -51
- package/api-report/tree.beta.api.md +41 -12
- package/api-report/tree.legacy.beta.api.md +41 -12
- package/dist/api.d.ts +11 -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 +63 -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 +5 -6
- package/dist/entrypoints/alpha.js.map +1 -1
- package/dist/entrypoints/beta.d.ts +1 -1
- package/dist/entrypoints/beta.d.ts.map +1 -1
- package/dist/entrypoints/beta.js +4 -2
- 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 +4 -2
- 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/chunkTree.d.ts +2 -2
- package/dist/feature-libraries/chunked-forest/chunkTree.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/chunkTree.js +2 -1
- package/dist/feature-libraries/chunked-forest/chunkTree.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/chunked-forest/uniformChunk.d.ts +13 -5
- package/dist/feature-libraries/chunked-forest/uniformChunk.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/uniformChunk.js +22 -18
- package/dist/feature-libraries/chunked-forest/uniformChunk.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 +3 -0
- package/dist/feature-libraries/indexing/anchorTreeIndex.d.ts.map +1 -1
- package/dist/feature-libraries/indexing/anchorTreeIndex.js +15 -8
- package/dist/feature-libraries/indexing/anchorTreeIndex.js.map +1 -1
- package/dist/feature-libraries/indexing/types.d.ts +4 -3
- package/dist/feature-libraries/indexing/types.d.ts.map +1 -1
- package/dist/feature-libraries/indexing/types.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/serializableDomainSchema.d.ts +5 -5
- package/dist/serializableDomainSchema.d.ts.map +1 -1
- package/dist/serializableDomainSchema.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 +17 -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/discrepancies.js +4 -1
- package/dist/simple-tree/api/discrepancies.js.map +1 -1
- package/dist/simple-tree/api/identifierIndex.d.ts +2 -2
- package/dist/simple-tree/api/identifierIndex.js +1 -1
- package/dist/simple-tree/api/identifierIndex.js.map +1 -1
- package/dist/simple-tree/api/index.d.ts +2 -1
- package/dist/simple-tree/api/index.d.ts.map +1 -1
- package/dist/simple-tree/api/index.js +3 -2
- 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 +33 -4
- package/dist/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFactoryAlpha.js +17 -1
- package/dist/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
- package/dist/simple-tree/api/simpleTreeIndex.d.ts +5 -5
- package/dist/simple-tree/api/simpleTreeIndex.js +1 -1
- package/dist/simple-tree/api/simpleTreeIndex.js.map +1 -1
- package/dist/simple-tree/api/storedSchema.d.ts.map +1 -1
- package/dist/simple-tree/api/storedSchema.js +10 -7
- 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 +126 -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 +4 -1
- 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 +108 -0
- package/dist/simple-tree/api/treeNodeApi.d.ts.map +1 -1
- package/dist/simple-tree/api/treeNodeApi.js +104 -3
- package/dist/simple-tree/api/treeNodeApi.js.map +1 -1
- package/dist/simple-tree/core/toStored.d.ts +7 -0
- package/dist/simple-tree/core/toStored.d.ts.map +1 -1
- package/dist/simple-tree/core/toStored.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 +17 -3
- package/dist/simple-tree/core/unhydratedFlexTree.d.ts.map +1 -1
- package/dist/simple-tree/core/unhydratedFlexTree.js +117 -11
- package/dist/simple-tree/core/unhydratedFlexTree.js.map +1 -1
- package/dist/simple-tree/fieldSchema.d.ts +6 -1
- package/dist/simple-tree/fieldSchema.d.ts.map +1 -1
- package/dist/simple-tree/fieldSchema.js +3 -0
- package/dist/simple-tree/fieldSchema.js.map +1 -1
- package/dist/simple-tree/index.d.ts +2 -2
- package/dist/simple-tree/index.d.ts.map +1 -1
- package/dist/simple-tree/index.js +4 -3
- 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 +2 -2
- 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/simple-tree/node-kinds/map/index.d.ts +1 -1
- package/dist/simple-tree/node-kinds/map/index.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/map/index.js.map +1 -1
- package/dist/simple-tree/node-kinds/map/mapNode.d.ts +13 -0
- package/dist/simple-tree/node-kinds/map/mapNode.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/map/mapNode.js +6 -1
- package/dist/simple-tree/node-kinds/map/mapNode.js.map +1 -1
- package/dist/simple-tree/node-kinds/map/mapNodeTypes.d.ts +6 -6
- package/dist/simple-tree/node-kinds/map/mapNodeTypes.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/map/mapNodeTypes.js.map +1 -1
- package/dist/simple-tree/simpleSchema.d.ts +17 -0
- package/dist/simple-tree/simpleSchema.d.ts.map +1 -1
- package/dist/simple-tree/simpleSchema.js.map +1 -1
- package/dist/simple-tree/toStoredSchema.d.ts.map +1 -1
- package/dist/simple-tree/toStoredSchema.js +23 -1
- package/dist/simple-tree/toStoredSchema.js.map +1 -1
- package/dist/tableSchema.d.ts +4 -5
- package/dist/tableSchema.d.ts.map +1 -1
- package/dist/tableSchema.js +12 -23
- package/dist/tableSchema.js.map +1 -1
- package/dist/text/textDomain.d.ts.map +1 -1
- package/dist/text/textDomain.js +27 -0
- package/dist/text/textDomain.js.map +1 -1
- package/dist/text/textDomainFormatted.d.ts +321 -11
- 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/index.d.ts +1 -1
- package/dist/util/index.d.ts.map +1 -1
- package/dist/util/index.js +2 -3
- package/dist/util/index.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/dist/util/utils.d.ts +0 -1
- package/dist/util/utils.d.ts.map +1 -1
- package/dist/util/utils.js +1 -6
- package/dist/util/utils.js.map +1 -1
- package/eslint.config.mts +1 -1
- package/legacy.d.ts +2 -3
- package/lib/api.d.ts +11 -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 +63 -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.d.ts +1 -1
- package/lib/entrypoints/beta.d.ts.map +1 -1
- package/lib/entrypoints/beta.js +2 -2
- 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 +2 -2
- 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/chunkTree.d.ts +2 -2
- package/lib/feature-libraries/chunked-forest/chunkTree.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/chunkTree.js +2 -1
- package/lib/feature-libraries/chunked-forest/chunkTree.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/chunked-forest/uniformChunk.d.ts +13 -5
- package/lib/feature-libraries/chunked-forest/uniformChunk.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/uniformChunk.js +22 -18
- package/lib/feature-libraries/chunked-forest/uniformChunk.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 +3 -0
- package/lib/feature-libraries/indexing/anchorTreeIndex.d.ts.map +1 -1
- package/lib/feature-libraries/indexing/anchorTreeIndex.js +15 -8
- package/lib/feature-libraries/indexing/anchorTreeIndex.js.map +1 -1
- package/lib/feature-libraries/indexing/types.d.ts +4 -3
- package/lib/feature-libraries/indexing/types.d.ts.map +1 -1
- package/lib/feature-libraries/indexing/types.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/serializableDomainSchema.d.ts +5 -5
- package/lib/serializableDomainSchema.d.ts.map +1 -1
- package/lib/serializableDomainSchema.js +4 -1
- package/lib/serializableDomainSchema.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 +17 -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/discrepancies.js +4 -1
- package/lib/simple-tree/api/discrepancies.js.map +1 -1
- package/lib/simple-tree/api/identifierIndex.d.ts +2 -2
- package/lib/simple-tree/api/identifierIndex.js +1 -1
- package/lib/simple-tree/api/identifierIndex.js.map +1 -1
- package/lib/simple-tree/api/index.d.ts +2 -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/schemaFactory.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFactory.js.map +1 -1
- package/lib/simple-tree/api/schemaFactoryAlpha.d.ts +33 -4
- package/lib/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFactoryAlpha.js +19 -3
- package/lib/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
- package/lib/simple-tree/api/simpleTreeIndex.d.ts +5 -5
- package/lib/simple-tree/api/simpleTreeIndex.js +1 -1
- package/lib/simple-tree/api/simpleTreeIndex.js.map +1 -1
- package/lib/simple-tree/api/storedSchema.d.ts.map +1 -1
- package/lib/simple-tree/api/storedSchema.js +11 -8
- 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 +126 -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 +4 -1
- 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 +108 -0
- package/lib/simple-tree/api/treeNodeApi.d.ts.map +1 -1
- package/lib/simple-tree/api/treeNodeApi.js +101 -2
- package/lib/simple-tree/api/treeNodeApi.js.map +1 -1
- package/lib/simple-tree/core/toStored.d.ts +7 -0
- package/lib/simple-tree/core/toStored.d.ts.map +1 -1
- package/lib/simple-tree/core/toStored.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 +17 -3
- package/lib/simple-tree/core/unhydratedFlexTree.d.ts.map +1 -1
- package/lib/simple-tree/core/unhydratedFlexTree.js +118 -12
- package/lib/simple-tree/core/unhydratedFlexTree.js.map +1 -1
- package/lib/simple-tree/fieldSchema.d.ts +6 -1
- package/lib/simple-tree/fieldSchema.d.ts.map +1 -1
- package/lib/simple-tree/fieldSchema.js +3 -0
- package/lib/simple-tree/fieldSchema.js.map +1 -1
- package/lib/simple-tree/index.d.ts +2 -2
- package/lib/simple-tree/index.d.ts.map +1 -1
- package/lib/simple-tree/index.js +1 -1
- package/lib/simple-tree/index.js.map +1 -1
- package/lib/simple-tree/node-kinds/array/arrayNode.d.ts +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 +2 -2
- 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/simple-tree/node-kinds/map/index.d.ts +1 -1
- package/lib/simple-tree/node-kinds/map/index.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/map/index.js.map +1 -1
- package/lib/simple-tree/node-kinds/map/mapNode.d.ts +13 -0
- package/lib/simple-tree/node-kinds/map/mapNode.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/map/mapNode.js +6 -1
- package/lib/simple-tree/node-kinds/map/mapNode.js.map +1 -1
- package/lib/simple-tree/node-kinds/map/mapNodeTypes.d.ts +6 -6
- package/lib/simple-tree/node-kinds/map/mapNodeTypes.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/map/mapNodeTypes.js.map +1 -1
- package/lib/simple-tree/simpleSchema.d.ts +17 -0
- package/lib/simple-tree/simpleSchema.d.ts.map +1 -1
- package/lib/simple-tree/simpleSchema.js.map +1 -1
- package/lib/simple-tree/toStoredSchema.d.ts.map +1 -1
- package/lib/simple-tree/toStoredSchema.js +24 -2
- package/lib/simple-tree/toStoredSchema.js.map +1 -1
- package/lib/tableSchema.d.ts +4 -5
- package/lib/tableSchema.d.ts.map +1 -1
- package/lib/tableSchema.js +12 -23
- package/lib/tableSchema.js.map +1 -1
- package/lib/text/textDomain.d.ts.map +1 -1
- package/lib/text/textDomain.js +29 -0
- package/lib/text/textDomain.js.map +1 -1
- package/lib/text/textDomainFormatted.d.ts +321 -11
- 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/tsdoc-metadata.json +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/referenceCounting.d.ts.map +1 -1
- package/lib/util/referenceCounting.js +0 -1
- package/lib/util/referenceCounting.js.map +1 -1
- package/lib/util/utils.d.ts +0 -1
- package/lib/util/utils.d.ts.map +1 -1
- package/lib/util/utils.js +0 -1
- package/lib/util/utils.js.map +1 -1
- package/package.json +35 -40
- package/scripts/generate-entrypoint-sources.sh +4 -2
- package/src/api.ts +21 -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 +92 -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 +21 -10
- package/src/entrypoints/beta.ts +7 -1
- package/src/entrypoints/legacy.ts +7 -1
- package/src/entrypoints/public.ts +1 -1
- package/src/feature-libraries/changeAtomIdCodec.ts +8 -7
- package/src/feature-libraries/chunked-forest/chunkTree.ts +3 -2
- 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/chunked-forest/uniformChunk.ts +42 -20
- 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 +21 -10
- package/src/feature-libraries/indexing/types.ts +5 -3
- 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 +14 -3
- package/src/packageVersion.ts +1 -1
- package/src/serializableDomainSchema.ts +6 -0
- 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 +30 -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/discrepancies.ts +6 -1
- package/src/simple-tree/api/identifierIndex.ts +2 -2
- package/src/simple-tree/api/index.ts +14 -0
- package/src/simple-tree/api/schemaFactory.ts +0 -2
- package/src/simple-tree/api/schemaFactoryAlpha.ts +80 -4
- package/src/simple-tree/api/simpleTreeIndex.ts +6 -6
- package/src/simple-tree/api/storedSchema.ts +12 -20
- package/src/simple-tree/api/tree.ts +7 -20
- package/src/simple-tree/api/treeAlpha.ts +153 -0
- package/src/simple-tree/api/treeBeta.ts +1 -1
- package/src/simple-tree/api/treeChangeEvents.ts +4 -1
- package/src/simple-tree/api/treeNodeApi.ts +189 -3
- package/src/simple-tree/core/toStored.ts +8 -0
- package/src/simple-tree/core/treeNodeKernel.ts +53 -7
- package/src/simple-tree/core/unhydratedFlexTree.ts +137 -9
- package/src/simple-tree/fieldSchema.ts +10 -0
- package/src/simple-tree/index.ts +15 -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 +3 -0
- package/src/simple-tree/node-kinds/map/index.ts +1 -0
- package/src/simple-tree/node-kinds/map/mapNode.ts +20 -3
- package/src/simple-tree/node-kinds/map/mapNodeTypes.ts +6 -6
- package/src/simple-tree/simpleSchema.ts +20 -0
- package/src/simple-tree/toStoredSchema.ts +28 -1
- package/src/tableSchema.ts +16 -28
- package/src/text/textDomain.ts +68 -1
- package/src/text/textDomainFormatted.ts +113 -11
- package/src/treeFactory.ts +10 -5
- package/src/util/index.ts +0 -1
- package/src/util/referenceCounting.ts +0 -1
- package/src/util/utils.ts +0 -2
- package/.mocharc.customBenchmarks.cjs +0 -25
- 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
|
@@ -9,7 +9,7 @@ import type {
|
|
|
9
9
|
IEmitter,
|
|
10
10
|
Listenable,
|
|
11
11
|
} from "@fluidframework/core-interfaces/internal";
|
|
12
|
-
import { assert
|
|
12
|
+
import { assert } from "@fluidframework/core-utils/internal";
|
|
13
13
|
import { UsageError } from "@fluidframework/telemetry-utils/internal";
|
|
14
14
|
|
|
15
15
|
import { anchorSlot, rootFieldKey } from "../core/index.js";
|
|
@@ -17,7 +17,6 @@ import {
|
|
|
17
17
|
type NodeIdentifierManager,
|
|
18
18
|
defaultSchemaPolicy,
|
|
19
19
|
cursorForMapTreeField,
|
|
20
|
-
TreeStatus,
|
|
21
20
|
Context,
|
|
22
21
|
combineChunks,
|
|
23
22
|
type FlexTreeOptionalField,
|
|
@@ -41,16 +40,12 @@ import {
|
|
|
41
40
|
type ReadableField,
|
|
42
41
|
type ReadSchema,
|
|
43
42
|
type UnsafeUnknownSchema,
|
|
44
|
-
type TreeBranch,
|
|
45
43
|
type TreeBranchEvents,
|
|
46
|
-
getInnerNode,
|
|
47
|
-
getKernel,
|
|
48
44
|
type VoidTransactionCallbackStatus,
|
|
49
45
|
type TransactionCallbackStatus,
|
|
50
46
|
type TransactionResult,
|
|
51
47
|
type TransactionResultExt,
|
|
52
48
|
type RunTransactionParams,
|
|
53
|
-
type TransactionConstraintAlpha,
|
|
54
49
|
HydratedContext,
|
|
55
50
|
SimpleContextSlot,
|
|
56
51
|
areImplicitFieldSchemaEqual,
|
|
@@ -72,7 +67,7 @@ import {
|
|
|
72
67
|
} from "../util/index.js";
|
|
73
68
|
|
|
74
69
|
import { canInitialize, initialize, initializerFromChunk } from "./schematizeTree.js";
|
|
75
|
-
import type {
|
|
70
|
+
import type { TreeCheckout } from "./treeCheckout.js";
|
|
76
71
|
|
|
77
72
|
/**
|
|
78
73
|
* Creating multiple tree views from the same checkout is not supported. This slot is used to detect if one already
|
|
@@ -276,16 +271,10 @@ export class SchematizingSimpleTreeView<
|
|
|
276
271
|
return this.flexTreeContext;
|
|
277
272
|
}
|
|
278
273
|
|
|
279
|
-
/**
|
|
280
|
-
* {@inheritDoc @fluidframework/shared-tree#TreeViewAlpha.runTransaction}
|
|
281
|
-
*/
|
|
282
274
|
public runTransaction<TSuccessValue, TFailureValue>(
|
|
283
275
|
transaction: () => TransactionCallbackStatus<TSuccessValue, TFailureValue>,
|
|
284
276
|
params?: RunTransactionParams,
|
|
285
277
|
): TransactionResultExt<TSuccessValue, TFailureValue>;
|
|
286
|
-
/**
|
|
287
|
-
* {@inheritDoc @fluidframework/shared-tree#TreeViewAlpha.runTransaction}
|
|
288
|
-
*/
|
|
289
278
|
public runTransaction(
|
|
290
279
|
transaction: () => VoidTransactionCallbackStatus | void,
|
|
291
280
|
params?: RunTransactionParams,
|
|
@@ -297,21 +286,14 @@ export class SchematizingSimpleTreeView<
|
|
|
297
286
|
| void,
|
|
298
287
|
params?: RunTransactionParams,
|
|
299
288
|
): TransactionResultExt<TSuccessValue, TFailureValue> | TransactionResult {
|
|
300
|
-
this.
|
|
301
|
-
|
|
302
|
-
return this.unmountTransaction(transactionCallbackStatus, params);
|
|
289
|
+
this.ensureUndisposed();
|
|
290
|
+
return this.checkout.runTransaction(transaction, params);
|
|
303
291
|
}
|
|
304
292
|
|
|
305
|
-
/**
|
|
306
|
-
* {@inheritDoc @fluidframework/shared-tree#TreeViewAlpha.runTransactionAsync}
|
|
307
|
-
*/
|
|
308
293
|
public runTransactionAsync<TSuccessValue, TFailureValue>(
|
|
309
294
|
transaction: () => Promise<TransactionCallbackStatus<TSuccessValue, TFailureValue>>,
|
|
310
295
|
params?: RunTransactionParams,
|
|
311
296
|
): Promise<TransactionResultExt<TSuccessValue, TFailureValue>>;
|
|
312
|
-
/**
|
|
313
|
-
* {@inheritDoc @fluidframework/shared-tree#TreeViewAlpha.runTransactionAsync}
|
|
314
|
-
*/
|
|
315
297
|
public runTransactionAsync(
|
|
316
298
|
transaction: () => Promise<VoidTransactionCallbackStatus | void>,
|
|
317
299
|
params?: RunTransactionParams,
|
|
@@ -324,66 +306,21 @@ export class SchematizingSimpleTreeView<
|
|
|
324
306
|
>,
|
|
325
307
|
params: RunTransactionParams | undefined,
|
|
326
308
|
): Promise<TransactionResultExt<TSuccessValue, TFailureValue> | TransactionResult> {
|
|
327
|
-
this.mountTransaction(params, true);
|
|
328
|
-
const transactionCallbackStatus = await transaction();
|
|
329
|
-
return this.unmountTransaction(transactionCallbackStatus, params);
|
|
330
|
-
}
|
|
331
|
-
|
|
332
|
-
private mountTransaction(params: RunTransactionParams | undefined, isAsync: boolean): void {
|
|
333
309
|
this.ensureUndisposed();
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
throw
|
|
337
|
-
|
|
310
|
+
if (this.checkout.transaction.size > 0) {
|
|
311
|
+
// breaker.break() sets brokenBy synchronously before throwing.
|
|
312
|
+
// A plain `throw` inside an async function would be captured as a rejected Promise
|
|
313
|
+
// before @breakingClass could set brokenBy. By setting it here first, the
|
|
314
|
+
// subsequent call to unmountTransaction (also @breakingClass-wrapped) will see the
|
|
315
|
+
// broken state and throw synchronously, propagating out of the outer runTransaction
|
|
316
|
+
// to its caller.
|
|
317
|
+
this.breaker.break(
|
|
318
|
+
new UsageError(
|
|
319
|
+
"An asynchronous transaction cannot be started while another transaction is already in progress.",
|
|
320
|
+
),
|
|
338
321
|
);
|
|
339
322
|
}
|
|
340
|
-
checkout.
|
|
341
|
-
checkout.transaction.start();
|
|
342
|
-
|
|
343
|
-
// Validate preconditions before running the transaction callback.
|
|
344
|
-
addConstraintsToTransaction(
|
|
345
|
-
checkout,
|
|
346
|
-
false /* constraintsOnRevert */,
|
|
347
|
-
params?.preconditions,
|
|
348
|
-
);
|
|
349
|
-
}
|
|
350
|
-
|
|
351
|
-
private unmountTransaction<TSuccessValue, TFailureValue>(
|
|
352
|
-
transactionCallbackStatus:
|
|
353
|
-
| TransactionCallbackStatus<TSuccessValue, TFailureValue>
|
|
354
|
-
| VoidTransactionCallbackStatus
|
|
355
|
-
| void,
|
|
356
|
-
params: RunTransactionParams | undefined,
|
|
357
|
-
): TransactionResultExt<TSuccessValue, TFailureValue> | TransactionResult {
|
|
358
|
-
this.ensureUndisposed();
|
|
359
|
-
const { checkout } = this;
|
|
360
|
-
const rollback = transactionCallbackStatus?.rollback;
|
|
361
|
-
const value = (
|
|
362
|
-
transactionCallbackStatus as TransactionCallbackStatus<TSuccessValue, TFailureValue>
|
|
363
|
-
)?.value;
|
|
364
|
-
|
|
365
|
-
if (rollback === true) {
|
|
366
|
-
checkout.popLabelFrame(true);
|
|
367
|
-
checkout.transaction.abort();
|
|
368
|
-
return value === undefined
|
|
369
|
-
? { success: false }
|
|
370
|
-
: { success: false, value: value as TFailureValue };
|
|
371
|
-
}
|
|
372
|
-
|
|
373
|
-
// Validate preconditions on revert after running the transaction callback and was successful.
|
|
374
|
-
addConstraintsToTransaction(
|
|
375
|
-
checkout,
|
|
376
|
-
true /* constraintsOnRevert */,
|
|
377
|
-
transactionCallbackStatus?.preconditionsOnRevert,
|
|
378
|
-
);
|
|
379
|
-
|
|
380
|
-
checkout.popLabelFrame(false);
|
|
381
|
-
checkout.runWithTransactionLabel(() => {
|
|
382
|
-
checkout.transaction.commit();
|
|
383
|
-
}, params?.label);
|
|
384
|
-
return value === undefined
|
|
385
|
-
? { success: true }
|
|
386
|
-
: { success: true, value: value as TSuccessValue };
|
|
323
|
+
return this.checkout.runTransactionAsync(transaction, params);
|
|
387
324
|
}
|
|
388
325
|
|
|
389
326
|
private ensureUndisposed(): void {
|
|
@@ -581,99 +518,16 @@ export class SchematizingSimpleTreeView<
|
|
|
581
518
|
|
|
582
519
|
public fork(): ReturnType<TreeBranchAlpha["fork"]> &
|
|
583
520
|
SchematizingSimpleTreeView<TRootSchema> {
|
|
584
|
-
return this.checkout.
|
|
521
|
+
return this.checkout.fork().viewWith(this.config);
|
|
585
522
|
}
|
|
586
523
|
|
|
587
524
|
public merge(context: TreeBranchAlpha, disposeMerged = true): void {
|
|
588
|
-
this.checkout.merge(
|
|
525
|
+
this.checkout.merge(context, disposeMerged);
|
|
589
526
|
}
|
|
590
527
|
|
|
591
528
|
public rebaseOnto(context: TreeBranchAlpha): void {
|
|
592
|
-
|
|
529
|
+
this.checkout.rebaseOnto(context);
|
|
593
530
|
}
|
|
594
531
|
|
|
595
532
|
// #endregion Branching
|
|
596
533
|
}
|
|
597
|
-
|
|
598
|
-
/**
|
|
599
|
-
* Get the {@link TreeCheckout} associated with a given {@link TreeBranch}.
|
|
600
|
-
* @remarks Currently, all contexts are also {@link SchematizingSimpleTreeView}s.
|
|
601
|
-
* Other checkout implementations (e.g. not associated with a view) may be supported in the future.
|
|
602
|
-
*/
|
|
603
|
-
export function getCheckout(context: TreeBranch): TreeCheckout {
|
|
604
|
-
if (context instanceof SchematizingSimpleTreeView) {
|
|
605
|
-
return context.checkout;
|
|
606
|
-
}
|
|
607
|
-
throw new UsageError("Unsupported context implementation");
|
|
608
|
-
}
|
|
609
|
-
|
|
610
|
-
/**
|
|
611
|
-
* Adds constraints to a `checkout`'s pending transaction.
|
|
612
|
-
*
|
|
613
|
-
* @param checkout - The checkout's who's transaction will have the constraints added to it.
|
|
614
|
-
* @param constraintsOnRevert - If true, use {@link ISharedTreeEditor.addNodeExistsConstraintOnRevert}.
|
|
615
|
-
* @param constraints - The constraints to add to the transaction.
|
|
616
|
-
*
|
|
617
|
-
* @see {@link RunTransactionParams.preconditions}.
|
|
618
|
-
*/
|
|
619
|
-
export function addConstraintsToTransaction(
|
|
620
|
-
checkout: ITreeCheckout,
|
|
621
|
-
constraintsOnRevert: boolean,
|
|
622
|
-
constraints: readonly TransactionConstraintAlpha[] = [],
|
|
623
|
-
): void {
|
|
624
|
-
for (const constraint of constraints) {
|
|
625
|
-
assertValidConstraint(constraint, constraintsOnRevert);
|
|
626
|
-
const constraintType = constraint.type;
|
|
627
|
-
switch (constraintType) {
|
|
628
|
-
case "nodeInDocument": {
|
|
629
|
-
const node = getInnerNode(constraint.node);
|
|
630
|
-
assert(node.isHydrated(), 0xbc2 /* In document node must be hydrated. */);
|
|
631
|
-
if (constraintsOnRevert) {
|
|
632
|
-
checkout.editor.addNodeExistsConstraintOnRevert(node.anchorNode);
|
|
633
|
-
} else {
|
|
634
|
-
checkout.editor.addNodeExistsConstraint(node.anchorNode);
|
|
635
|
-
}
|
|
636
|
-
break;
|
|
637
|
-
}
|
|
638
|
-
case "noChange": {
|
|
639
|
-
if (constraintsOnRevert) {
|
|
640
|
-
checkout.editor.addNoChangeConstraintOnRevert();
|
|
641
|
-
} else {
|
|
642
|
-
checkout.editor.addNoChangeConstraint();
|
|
643
|
-
}
|
|
644
|
-
break;
|
|
645
|
-
}
|
|
646
|
-
default: {
|
|
647
|
-
unreachableCase(constraintType);
|
|
648
|
-
}
|
|
649
|
-
}
|
|
650
|
-
}
|
|
651
|
-
}
|
|
652
|
-
|
|
653
|
-
/**
|
|
654
|
-
* Throws if the given {@link TransactionConstraintAlpha | transaction constraint} is not currently satisfied.
|
|
655
|
-
*/
|
|
656
|
-
export function assertValidConstraint(
|
|
657
|
-
constraint: TransactionConstraintAlpha,
|
|
658
|
-
onRevert: boolean,
|
|
659
|
-
): void {
|
|
660
|
-
switch (constraint.type) {
|
|
661
|
-
case "nodeInDocument": {
|
|
662
|
-
const nodeStatus = getKernel(constraint.node).getStatus();
|
|
663
|
-
if (nodeStatus !== TreeStatus.InDocument) {
|
|
664
|
-
const revertText = onRevert ? " on revert" : "";
|
|
665
|
-
throw new UsageError(
|
|
666
|
-
`Attempted to add a "nodeInDocument" constraint${revertText}, but the node is not currently in the document. Node status: ${nodeStatus}`,
|
|
667
|
-
);
|
|
668
|
-
}
|
|
669
|
-
break;
|
|
670
|
-
}
|
|
671
|
-
case "noChange": {
|
|
672
|
-
// 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.
|
|
673
|
-
break;
|
|
674
|
-
}
|
|
675
|
-
default: {
|
|
676
|
-
unreachableCase(constraint);
|
|
677
|
-
}
|
|
678
|
-
}
|
|
679
|
-
}
|
|
@@ -60,33 +60,29 @@ import {
|
|
|
60
60
|
forestCodecBuilder,
|
|
61
61
|
jsonableTreeFromFieldCursor,
|
|
62
62
|
makeMitigatedChangeFamily,
|
|
63
|
-
makeSchemaCodec,
|
|
64
63
|
makeTreeChunker,
|
|
65
64
|
type IncrementalEncodingPolicy,
|
|
66
65
|
} from "../feature-libraries/index.js";
|
|
67
|
-
|
|
68
|
-
import { schemaCodecBuilder, type FormatV1 } from "../feature-libraries/schema-index/index.js";
|
|
66
|
+
import { schemaCodecBuilder } from "../feature-libraries/index.js";
|
|
69
67
|
import {
|
|
70
68
|
type BranchId,
|
|
71
|
-
clientVersionToEditManagerFormatVersion,
|
|
72
|
-
clientVersionToMessageFormatVersion,
|
|
73
69
|
type ClonableSchemaAndPolicy,
|
|
74
70
|
getCodecTreeForEditManagerFormatWithChange,
|
|
75
71
|
getCodecTreeForMessageFormatWithChange,
|
|
72
|
+
makeMessageCodecBuilder,
|
|
76
73
|
type SharedTreeCoreOptionsInternal,
|
|
77
74
|
MessageFormatVersion,
|
|
78
75
|
SharedTreeCore,
|
|
79
76
|
EditManagerFormatVersion,
|
|
77
|
+
makeEditManagerCodecBuilder,
|
|
80
78
|
} from "../shared-tree-core/index.js";
|
|
81
79
|
import {
|
|
82
|
-
type ITree,
|
|
83
80
|
type ImplicitFieldSchema,
|
|
84
81
|
NodeKind,
|
|
85
82
|
type ReadSchema,
|
|
86
83
|
type SimpleFieldSchema,
|
|
87
84
|
type SimpleTreeSchema,
|
|
88
85
|
type TreeView,
|
|
89
|
-
type TreeViewAlpha,
|
|
90
86
|
type TreeViewConfiguration,
|
|
91
87
|
type UnsafeUnknownSchema,
|
|
92
88
|
type VerboseTree,
|
|
@@ -105,7 +101,7 @@ import {
|
|
|
105
101
|
throwIfBroken,
|
|
106
102
|
} from "../util/index.js";
|
|
107
103
|
|
|
108
|
-
import { SchematizingSimpleTreeView } from "./schematizingTreeView.js";
|
|
104
|
+
import type { SchematizingSimpleTreeView } from "./schematizingTreeView.js";
|
|
109
105
|
import {
|
|
110
106
|
getCodecTreeForChangeFormat,
|
|
111
107
|
SharedTreeChangeFormatVersion,
|
|
@@ -113,7 +109,7 @@ import {
|
|
|
113
109
|
import { SharedTreeChangeFamily } from "./sharedTreeChangeFamily.js";
|
|
114
110
|
import type { SharedTreeChange } from "./sharedTreeChangeTypes.js";
|
|
115
111
|
import type { SharedTreeEditBuilder } from "./sharedTreeEditBuilder.js";
|
|
116
|
-
import { type TreeCheckout,
|
|
112
|
+
import { type TreeCheckout, createTreeCheckout } from "./treeCheckout.js";
|
|
117
113
|
|
|
118
114
|
/**
|
|
119
115
|
* Copy of data from an {@link ITreePrivate} at some point in time.
|
|
@@ -231,7 +227,7 @@ export class SharedTreeKernel
|
|
|
231
227
|
idCompressor,
|
|
232
228
|
options,
|
|
233
229
|
);
|
|
234
|
-
const schemaCodec =
|
|
230
|
+
const schemaCodec = schemaCodecBuilder.build(options);
|
|
235
231
|
const schemaSummarizer = new SchemaSummarizer(
|
|
236
232
|
schema,
|
|
237
233
|
{
|
|
@@ -404,7 +400,7 @@ export class SharedTreeKernel
|
|
|
404
400
|
}
|
|
405
401
|
|
|
406
402
|
private checkoutBranch(branchId: BranchId): TreeCheckout {
|
|
407
|
-
const checkout = this.checkout.
|
|
403
|
+
const checkout = this.checkout.fork();
|
|
408
404
|
checkout.switchBranch(this.getSharedBranch(branchId));
|
|
409
405
|
this.registerSharedBranchForEditing(branchId, checkout);
|
|
410
406
|
this.registerCheckout(branchId, checkout);
|
|
@@ -498,56 +494,17 @@ export function persistedToSimpleSchema(
|
|
|
498
494
|
persisted: JsonCompatible,
|
|
499
495
|
options: ICodecOptions,
|
|
500
496
|
): SimpleTreeSchema {
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
const schemaCodec = makeSchemaCodec({
|
|
504
|
-
...options,
|
|
505
|
-
minVersionForCollab: FluidClientVersion.v2_0,
|
|
506
|
-
});
|
|
507
|
-
const stored = schemaCodec.decode(persisted as FormatV1);
|
|
497
|
+
const schemaCodec = schemaCodecBuilder.buildDecoder(options);
|
|
498
|
+
const stored = schemaCodec.decode(persisted);
|
|
508
499
|
return exportSimpleSchema(stored);
|
|
509
500
|
}
|
|
510
501
|
|
|
511
|
-
/**
|
|
512
|
-
* Get a {@link BranchableTree} from a {@link ITree}.
|
|
513
|
-
* @remarks The branch can be used for "version control"-style coordination of edits on the tree.
|
|
514
|
-
* @privateRemarks This function will be removed if/when the branching API becomes public,
|
|
515
|
-
* but it (or something like it) is necessary in the meantime to prevent the alpha types from being exposed as public.
|
|
516
|
-
* @alpha
|
|
517
|
-
* @deprecated This API is superseded by {@link TreeBranch}, which should be used instead.
|
|
518
|
-
*/
|
|
519
|
-
export function getBranch(tree: ITree): BranchableTree;
|
|
520
|
-
/**
|
|
521
|
-
* Get a {@link BranchableTree} from a {@link TreeView}.
|
|
522
|
-
* @remarks The branch can be used for "version control"-style coordination of edits on the tree.
|
|
523
|
-
* Branches are currently an unstable "alpha" API and are subject to change in the future.
|
|
524
|
-
* @privateRemarks This function will be removed if/when the branching API becomes public,
|
|
525
|
-
* but it (or something like it) is necessary in the meantime to prevent the alpha types from being exposed as public.
|
|
526
|
-
* @alpha
|
|
527
|
-
* @deprecated This API is superseded by {@link TreeBranch}, which should be used instead.
|
|
528
|
-
*/
|
|
529
|
-
export function getBranch<T extends ImplicitFieldSchema | UnsafeUnknownSchema>(
|
|
530
|
-
view: TreeViewAlpha<T>,
|
|
531
|
-
): BranchableTree;
|
|
532
|
-
export function getBranch<T extends ImplicitFieldSchema | UnsafeUnknownSchema>(
|
|
533
|
-
treeOrView: ITree | TreeViewAlpha<T>,
|
|
534
|
-
): BranchableTree {
|
|
535
|
-
if (treeOrView instanceof SchematizingSimpleTreeView) {
|
|
536
|
-
return treeOrView.checkout as unknown as BranchableTree;
|
|
537
|
-
}
|
|
538
|
-
const kernel = (treeOrView as ITree as ITreePrivate).kernel;
|
|
539
|
-
assert(kernel instanceof SharedTreeKernel, 0xb56 /* Invalid ITree */);
|
|
540
|
-
// This cast is safe so long as TreeCheckout supports all the operations on the branch interface.
|
|
541
|
-
return kernel.checkout as unknown as BranchableTree;
|
|
542
|
-
}
|
|
543
|
-
|
|
544
502
|
/**
|
|
545
503
|
* Defines for each EditManagerFormatVersion the SharedTreeChangeFormatVersion to use.
|
|
546
504
|
* This is an arbitrary mapping that is injected in the EditManger codec.
|
|
547
505
|
* Once an entry is defined and used in production, it cannot be changed.
|
|
548
506
|
* This is because the format for SharedTree changes are not explicitly versioned.
|
|
549
507
|
*/
|
|
550
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison -- intentional comparison
|
|
551
508
|
export const changeFormatVersionForEditManager = DependentFormatVersion.fromPairs<
|
|
552
509
|
EditManagerFormatVersion,
|
|
553
510
|
SharedTreeChangeFormatVersion
|
|
@@ -575,17 +532,19 @@ export const changeFormatVersionForMessage = DependentFormatVersion.fromPairs<
|
|
|
575
532
|
]);
|
|
576
533
|
|
|
577
534
|
function getCodecTreeForEditManagerFormat(clientVersion: MinimumVersionForCollab): CodecTree {
|
|
578
|
-
const
|
|
579
|
-
|
|
580
|
-
);
|
|
535
|
+
const editManagerVersion = makeEditManagerCodecBuilder().getCodecTree(clientVersion).version;
|
|
536
|
+
const change = changeFormatVersionForEditManager.lookup(editManagerVersion);
|
|
581
537
|
const changeCodecTree = getCodecTreeForChangeFormat(change, clientVersion);
|
|
582
538
|
return getCodecTreeForEditManagerFormatWithChange(clientVersion, changeCodecTree);
|
|
583
539
|
}
|
|
584
540
|
|
|
585
541
|
function getCodecTreeForMessageFormat(clientVersion: MinimumVersionForCollab): CodecTree {
|
|
586
|
-
const
|
|
587
|
-
|
|
542
|
+
const messageVersion = makeMessageCodecBuilder().getCodecTree(clientVersion).version;
|
|
543
|
+
assert(
|
|
544
|
+
messageVersion !== undefined,
|
|
545
|
+
0xce3 /* Deprecated 'undefined' version shouldn't be selected */,
|
|
588
546
|
);
|
|
547
|
+
const change = changeFormatVersionForMessage.lookup(messageVersion);
|
|
589
548
|
const changeCodecTree = getCodecTreeForChangeFormat(change, clientVersion);
|
|
590
549
|
return getCodecTreeForMessageFormatWithChange(clientVersion, changeCodecTree);
|
|
591
550
|
}
|
|
@@ -764,8 +723,6 @@ export const defaultSharedTreeOptions: Required<SharedTreeOptionsInternal> = {
|
|
|
764
723
|
treeEncodeType: TreeCompressionStrategy.Compressed,
|
|
765
724
|
disposeForksAfterTransaction: true,
|
|
766
725
|
shouldEncodeIncrementally: defaultIncrementalEncodingPolicy,
|
|
767
|
-
editManagerFormatSelector: clientVersionToEditManagerFormatVersion,
|
|
768
|
-
messageFormatSelector: clientVersionToMessageFormatVersion,
|
|
769
726
|
enableSharedBranches: false,
|
|
770
727
|
writeVersionOverrides: new Map(),
|
|
771
728
|
allowPossiblyIncompatibleWriteVersionOverrides: false,
|
|
@@ -12,24 +12,18 @@ import {
|
|
|
12
12
|
DiscriminatedUnionDispatcher,
|
|
13
13
|
type FormatVersion,
|
|
14
14
|
type ICodecFamily,
|
|
15
|
-
type ICodecOptions,
|
|
16
15
|
type IJsonCodec,
|
|
17
16
|
makeCodecFamily,
|
|
18
17
|
withSchemaValidation,
|
|
19
18
|
} from "../codec/index.js";
|
|
20
|
-
import {
|
|
21
|
-
type ChangeEncodingContext,
|
|
22
|
-
SchemaFormatVersion,
|
|
23
|
-
type TreeStoredSchema,
|
|
24
|
-
} from "../core/index.js";
|
|
19
|
+
import type { ChangeEncodingContext, TreeStoredSchema } from "../core/index.js";
|
|
25
20
|
import {
|
|
26
21
|
ModularChangeFormatVersion,
|
|
27
22
|
type ModularChangeset,
|
|
28
|
-
type SchemaChange,
|
|
29
23
|
defaultSchemaPolicy,
|
|
30
24
|
getCodecTreeForModularChangeFormat,
|
|
31
|
-
|
|
32
|
-
|
|
25
|
+
makeSchemaChangeCodec,
|
|
26
|
+
schemaCodecBuilder,
|
|
33
27
|
} from "../feature-libraries/index.js";
|
|
34
28
|
import {
|
|
35
29
|
strictEnum,
|
|
@@ -48,7 +42,6 @@ export function makeSharedTreeChangeCodecFamily(
|
|
|
48
42
|
modularChangeCodecFamily: ICodecFamily<ModularChangeset, ChangeEncodingContext>,
|
|
49
43
|
options: CodecWriteOptions,
|
|
50
44
|
): ICodecFamily<SharedTreeChange, ChangeEncodingContext> {
|
|
51
|
-
const schemaChangeCodecs = makeSchemaChangeCodecs(options);
|
|
52
45
|
const versions: [
|
|
53
46
|
FormatVersion,
|
|
54
47
|
IJsonCodec<
|
|
@@ -57,22 +50,15 @@ export function makeSharedTreeChangeCodecFamily(
|
|
|
57
50
|
EncodedSharedTreeChange,
|
|
58
51
|
ChangeEncodingContext
|
|
59
52
|
>,
|
|
60
|
-
][] = [...dependenciesForChangeFormat.entries()].map(
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
modularChangeCodecFamily.resolve(modularChange),
|
|
65
|
-
schemaChangeCodecs.resolve(schemaChange),
|
|
66
|
-
options,
|
|
67
|
-
),
|
|
68
|
-
],
|
|
69
|
-
);
|
|
53
|
+
][] = [...dependenciesForChangeFormat.entries()].map(([format, { modularChange }]) => [
|
|
54
|
+
format,
|
|
55
|
+
makeSharedTreeChangeCodec(modularChangeCodecFamily.resolve(modularChange), options),
|
|
56
|
+
]);
|
|
70
57
|
return makeCodecFamily(versions);
|
|
71
58
|
}
|
|
72
59
|
|
|
73
60
|
interface ChangeFormatDependencies {
|
|
74
61
|
readonly modularChange: ModularChangeFormatVersion;
|
|
75
|
-
readonly schemaChange: SchemaFormatVersion;
|
|
76
62
|
}
|
|
77
63
|
|
|
78
64
|
/**
|
|
@@ -107,6 +93,8 @@ export type SharedTreeChangeFormatVersion = Values<typeof SharedTreeChangeFormat
|
|
|
107
93
|
* This is an arbitrary mapping that is injected in the SharedTree change codec.
|
|
108
94
|
* Once an entry is defined and used in production, it cannot be changed.
|
|
109
95
|
* This is because the format for the dependent formats are not explicitly versioned.
|
|
96
|
+
* @remarks
|
|
97
|
+
* SchemaFormatVersion (used by SchemaChangeFormat) is not included here since it is explicitly versioned.
|
|
110
98
|
*/
|
|
111
99
|
export const dependenciesForChangeFormat = new Map<
|
|
112
100
|
SharedTreeChangeFormatVersion,
|
|
@@ -114,15 +102,21 @@ export const dependenciesForChangeFormat = new Map<
|
|
|
114
102
|
>([
|
|
115
103
|
[
|
|
116
104
|
SharedTreeChangeFormatVersion.v3,
|
|
117
|
-
{
|
|
105
|
+
{
|
|
106
|
+
modularChange: ModularChangeFormatVersion.v3,
|
|
107
|
+
},
|
|
118
108
|
],
|
|
119
109
|
[
|
|
120
110
|
SharedTreeChangeFormatVersion.v4,
|
|
121
|
-
{
|
|
111
|
+
{
|
|
112
|
+
modularChange: ModularChangeFormatVersion.v4,
|
|
113
|
+
},
|
|
122
114
|
],
|
|
123
115
|
[
|
|
124
116
|
SharedTreeChangeFormatVersion.v5,
|
|
125
|
-
{
|
|
117
|
+
{
|
|
118
|
+
modularChange: ModularChangeFormatVersion.v5,
|
|
119
|
+
},
|
|
126
120
|
],
|
|
127
121
|
]);
|
|
128
122
|
|
|
@@ -130,14 +124,14 @@ export function getCodecTreeForChangeFormat(
|
|
|
130
124
|
version: SharedTreeChangeFormatVersion,
|
|
131
125
|
clientVersion: MinimumVersionForCollab,
|
|
132
126
|
): CodecTree {
|
|
133
|
-
const { modularChange
|
|
127
|
+
const { modularChange } =
|
|
134
128
|
dependenciesForChangeFormat.get(version) ?? fail(0xc78 /* Unknown change format */);
|
|
135
129
|
return {
|
|
136
130
|
name: "SharedTreeChange",
|
|
137
131
|
version,
|
|
138
132
|
children: [
|
|
139
133
|
getCodecTreeForModularChangeFormat(modularChange),
|
|
140
|
-
|
|
134
|
+
schemaCodecBuilder.getCodecTree(clientVersion),
|
|
141
135
|
],
|
|
142
136
|
};
|
|
143
137
|
}
|
|
@@ -149,14 +143,14 @@ function makeSharedTreeChangeCodec(
|
|
|
149
143
|
JsonCompatibleReadOnly,
|
|
150
144
|
ChangeEncodingContext
|
|
151
145
|
>,
|
|
152
|
-
|
|
153
|
-
codecOptions: ICodecOptions,
|
|
146
|
+
codecOptions: CodecWriteOptions,
|
|
154
147
|
): IJsonCodec<
|
|
155
148
|
SharedTreeChange,
|
|
156
149
|
EncodedSharedTreeChange,
|
|
157
150
|
EncodedSharedTreeChange,
|
|
158
151
|
ChangeEncodingContext
|
|
159
152
|
> {
|
|
153
|
+
const schemaChangeCodec = makeSchemaChangeCodec(codecOptions);
|
|
160
154
|
const decoderLibrary = new DiscriminatedUnionDispatcher<
|
|
161
155
|
EncodedSharedTreeInnerChange,
|
|
162
156
|
[context: ChangeEncodingContext],
|
|
@@ -177,7 +171,7 @@ function makeSharedTreeChangeCodec(
|
|
|
177
171
|
});
|
|
178
172
|
|
|
179
173
|
return withSchemaValidation(
|
|
180
|
-
EncodedSharedTreeChange,
|
|
174
|
+
EncodedSharedTreeChange(schemaChangeCodec.encodedSchema),
|
|
181
175
|
{
|
|
182
176
|
encode: (change, context) => {
|
|
183
177
|
const changes: EncodedSharedTreeInnerChange[] = [];
|
|
@@ -7,7 +7,6 @@ import { unreachableCase } from "@fluidframework/core-utils/internal";
|
|
|
7
7
|
import type { IIdCompressor } from "@fluidframework/id-compressor";
|
|
8
8
|
|
|
9
9
|
import {
|
|
10
|
-
AnchorSet,
|
|
11
10
|
type DeltaDetachedNodeId,
|
|
12
11
|
type DetachedFieldIndex,
|
|
13
12
|
type IEditableForest,
|
|
@@ -118,7 +117,7 @@ export class SharedTreeChangeEnricher {
|
|
|
118
117
|
if (this.owned === undefined) {
|
|
119
118
|
this.onForkState?.();
|
|
120
119
|
this.owned = {
|
|
121
|
-
forest: this.borrowed.forest.clone(this.schema
|
|
120
|
+
forest: this.borrowed.forest.clone(this.schema),
|
|
122
121
|
removedRoots: this.borrowed.removedRoots.clone(),
|
|
123
122
|
};
|
|
124
123
|
}
|
|
@@ -168,6 +168,7 @@ export class SharedTreeChangeFamily
|
|
|
168
168
|
change: TaggedChange<SharedTreeChange>,
|
|
169
169
|
over: TaggedChange<SharedTreeChange>,
|
|
170
170
|
revisionMetadata: RevisionMetadataSource,
|
|
171
|
+
ignoreNoChangeViolation?: boolean,
|
|
171
172
|
): SharedTreeChange {
|
|
172
173
|
if (change.change.changes.length === 0 || over.change.changes.length === 0) {
|
|
173
174
|
return change.change;
|
|
@@ -204,6 +205,7 @@ export class SharedTreeChangeFamily
|
|
|
204
205
|
mapTaggedChange(change, dataChangeIntention.innerChange),
|
|
205
206
|
mapTaggedChange(over, dataChangeOver.innerChange),
|
|
206
207
|
revisionMetadata,
|
|
208
|
+
ignoreNoChangeViolation,
|
|
207
209
|
),
|
|
208
210
|
},
|
|
209
211
|
],
|
|
@@ -3,17 +3,32 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { type Static, Type } from "@sinclair/typebox";
|
|
6
|
+
import { type Static, type TSchema, Type } from "@sinclair/typebox";
|
|
7
7
|
|
|
8
|
+
import type { EncodedSchemaChange } from "../feature-libraries/index.js";
|
|
8
9
|
import { JsonCompatibleReadOnlySchema } from "../util/index.js";
|
|
9
10
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
|
|
12
|
+
export function EncodedSharedTreeInnerChange<TEncodedSchema extends TSchema>(
|
|
13
|
+
encodedSchemaSchema: TEncodedSchema,
|
|
14
|
+
) {
|
|
15
|
+
return Type.Object({
|
|
16
|
+
schema: Type.Optional(encodedSchemaSchema),
|
|
17
|
+
data: Type.Optional(JsonCompatibleReadOnlySchema),
|
|
18
|
+
});
|
|
19
|
+
}
|
|
14
20
|
|
|
15
|
-
export type EncodedSharedTreeInnerChange
|
|
21
|
+
export type EncodedSharedTreeInnerChange<
|
|
22
|
+
TEncodedSchema extends TSchema = typeof EncodedSchemaChange,
|
|
23
|
+
> = Static<ReturnType<typeof EncodedSharedTreeInnerChange<TEncodedSchema>>>;
|
|
16
24
|
|
|
17
|
-
|
|
25
|
+
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
|
|
26
|
+
export function EncodedSharedTreeChange<TEncodedSchema extends TSchema>(
|
|
27
|
+
encodedSchemaSchema: TEncodedSchema,
|
|
28
|
+
) {
|
|
29
|
+
return Type.Array(EncodedSharedTreeInnerChange(encodedSchemaSchema));
|
|
30
|
+
}
|
|
18
31
|
|
|
19
|
-
export type EncodedSharedTreeChange
|
|
32
|
+
export type EncodedSharedTreeChange<
|
|
33
|
+
TEncodedSchema extends TSchema = typeof EncodedSchemaChange,
|
|
34
|
+
> = Static<ReturnType<typeof EncodedSharedTreeChange<TEncodedSchema>>>;
|
package/src/shared-tree/tree.ts
CHANGED
|
@@ -18,11 +18,8 @@ import {
|
|
|
18
18
|
type TransactionConstraint,
|
|
19
19
|
} from "../simple-tree/index.js";
|
|
20
20
|
|
|
21
|
-
import {
|
|
22
|
-
|
|
23
|
-
SchematizingSimpleTreeView,
|
|
24
|
-
} from "./schematizingTreeView.js";
|
|
25
|
-
import type { ITreeCheckout } from "./treeCheckout.js";
|
|
21
|
+
import { SchematizingSimpleTreeView } from "./schematizingTreeView.js";
|
|
22
|
+
import { addConstraintsToTransaction, type ITreeCheckout } from "./treeCheckout.js";
|
|
26
23
|
|
|
27
24
|
/**
|
|
28
25
|
* Provides various functions for interacting with {@link TreeNode}s.
|