@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
|
@@ -51,14 +51,10 @@ import { BranchCommitEnricher } from "./branchCommitEnricher.js";
|
|
|
51
51
|
import type { ChangeEnricher } from "./changeEnricher.js";
|
|
52
52
|
import { DefaultResubmitMachine } from "./defaultResubmitMachine.js";
|
|
53
53
|
import { EditManager, minimumPossibleSequenceNumber } from "./editManager.js";
|
|
54
|
-
import {
|
|
54
|
+
import { makeEditManagerCodecBuilder } from "./editManagerCodecs.js";
|
|
55
55
|
import type { EditManagerFormatVersion, SeqNumber } from "./editManagerFormatCommons.js";
|
|
56
56
|
import { EditManagerSummarizer } from "./editManagerSummarizer.js";
|
|
57
|
-
import {
|
|
58
|
-
type MessageCodecOptions,
|
|
59
|
-
type MessageEncodingContext,
|
|
60
|
-
makeMessageCodec,
|
|
61
|
-
} from "./messageCodecs.js";
|
|
57
|
+
import { type MessageEncodingContext, makeMessageCodecBuilder } from "./messageCodecs.js";
|
|
62
58
|
import type { MessageFormatVersion } from "./messageFormat.js";
|
|
63
59
|
import type { DecodedMessage } from "./messageTypes.js";
|
|
64
60
|
import type { ResubmitMachine } from "./resubmitMachine.js";
|
|
@@ -77,10 +73,7 @@ export interface ClonableSchemaAndPolicy extends SchemaAndPolicy {
|
|
|
77
73
|
schema: TreeStoredSchemaRepository;
|
|
78
74
|
}
|
|
79
75
|
|
|
80
|
-
export interface SharedTreeCoreOptionsInternal
|
|
81
|
-
extends CodecWriteOptions,
|
|
82
|
-
EditManagerCodecOptions,
|
|
83
|
-
MessageCodecOptions {}
|
|
76
|
+
export interface SharedTreeCoreOptionsInternal extends CodecWriteOptions {}
|
|
84
77
|
|
|
85
78
|
export interface EnrichmentConfig<TChange> {
|
|
86
79
|
readonly enricher: ChangeEnricher<TChange>;
|
|
@@ -186,12 +179,12 @@ export class SharedTreeCore<TEditor extends ChangeFamilyEditor, TChange>
|
|
|
186
179
|
this.registerSharedBranch("main");
|
|
187
180
|
|
|
188
181
|
const revisionTagCodec = new RevisionTagCodec(idCompressor);
|
|
189
|
-
const editManagerCodec =
|
|
190
|
-
|
|
191
|
-
|
|
182
|
+
const editManagerCodec = makeEditManagerCodecBuilder<TChange>().build({
|
|
183
|
+
...options,
|
|
184
|
+
changeCodecs: this.editManager.changeFamily.codecs,
|
|
185
|
+
dependentChangeFormatVersion: changeFormatVersionForEditManager,
|
|
192
186
|
revisionTagCodec,
|
|
193
|
-
|
|
194
|
-
);
|
|
187
|
+
});
|
|
195
188
|
this.summarizables = [
|
|
196
189
|
new EditManagerSummarizer(
|
|
197
190
|
this.editManager,
|
|
@@ -207,12 +200,12 @@ export class SharedTreeCore<TEditor extends ChangeFamilyEditor, TChange>
|
|
|
207
200
|
0x350 /* Index summary element keys must be unique */,
|
|
208
201
|
);
|
|
209
202
|
|
|
210
|
-
this.messageCodec =
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
);
|
|
203
|
+
this.messageCodec = makeMessageCodecBuilder<TChange>().build({
|
|
204
|
+
...options,
|
|
205
|
+
changeCodecs: changeFamily.codecs,
|
|
206
|
+
dependentChangeFormatVersion: changeFormatVersionForMessage,
|
|
207
|
+
revisionTagCodec: new RevisionTagCodec(idCompressor),
|
|
208
|
+
});
|
|
216
209
|
|
|
217
210
|
if (enrichmentConfig !== undefined) {
|
|
218
211
|
this.registerSharedBranchForEditing(
|
|
@@ -12,6 +12,9 @@ import { pkgVersion } from "./packageVersion.js";
|
|
|
12
12
|
* @beta
|
|
13
13
|
* @legacy
|
|
14
14
|
*/
|
|
15
|
+
// New type string, to be activated once the migration has been fully shipped dark and is safe to flip.
|
|
16
|
+
// See LegacyTypeAwareRegistry in packages/runtime/datastore/src/dataStoreRuntime.ts.
|
|
17
|
+
// export const SharedTreeFactoryType = "tree";
|
|
15
18
|
export const SharedTreeFactoryType = "https://graph.microsoft.com/types/tree";
|
|
16
19
|
|
|
17
20
|
/**
|
|
@@ -363,7 +363,12 @@ function* getFieldDiscrepancies(
|
|
|
363
363
|
fail(0xbef /* A conversion from a FieldKind to a FlexFieldKind should exist */);
|
|
364
364
|
|
|
365
365
|
// This checks if the field kind in the view schema is not compatible with the stored schema.
|
|
366
|
-
|
|
366
|
+
// A staged optional field (optional in the view) is compatible with a required stored field
|
|
367
|
+
// during the rollout period — suppress the kind discrepancy in that case.
|
|
368
|
+
if (
|
|
369
|
+
viewKind.identifier !== stored.kind &&
|
|
370
|
+
!(view.isStagedOptional !== false && stored.kind === FieldKinds.required.identifier)
|
|
371
|
+
) {
|
|
367
372
|
yield {
|
|
368
373
|
identifier,
|
|
369
374
|
fieldKey,
|
|
@@ -17,7 +17,7 @@ import type { TreeView } from "./tree.js";
|
|
|
17
17
|
/**
|
|
18
18
|
* An index that returns tree nodes given their associated identifiers.
|
|
19
19
|
*
|
|
20
|
-
* @
|
|
20
|
+
* @beta
|
|
21
21
|
*/
|
|
22
22
|
export type IdentifierIndex = TreeIndex<string, TreeNode>;
|
|
23
23
|
|
|
@@ -28,7 +28,7 @@ function isStringKey(key: TreeIndexKey): key is string {
|
|
|
28
28
|
/**
|
|
29
29
|
* Creates an {@link IdentifierIndex} for a given {@link TreeView}.
|
|
30
30
|
*
|
|
31
|
-
* @
|
|
31
|
+
* @beta
|
|
32
32
|
*/
|
|
33
33
|
export function createIdentifierIndex<TSchema extends ImplicitFieldSchema>(
|
|
34
34
|
view: TreeView<TSchema>,
|
|
@@ -66,6 +66,7 @@ export {
|
|
|
66
66
|
createCustomizedFluidFrameworkScopedFactory,
|
|
67
67
|
} from "./schemaCreationUtilities.js";
|
|
68
68
|
export {
|
|
69
|
+
deltaMarksToArrayOps,
|
|
69
70
|
getIdentifierFromNode,
|
|
70
71
|
getPropertyKeyFromStoredKey,
|
|
71
72
|
getStoredKey,
|
|
@@ -153,6 +154,19 @@ export {
|
|
|
153
154
|
TreeBeta,
|
|
154
155
|
type TreeChangeEventsBeta,
|
|
155
156
|
} from "./treeBeta.js";
|
|
157
|
+
export {
|
|
158
|
+
type ArrayNodeDeltaOp,
|
|
159
|
+
type ArrayNodeInsertOp,
|
|
160
|
+
type ArrayNodeRemoveOp,
|
|
161
|
+
type ArrayNodeRetainOp,
|
|
162
|
+
type ArrayNodeTreeChangedDeltaOp,
|
|
163
|
+
type ArrayNodeTreeChangedRetainOp,
|
|
164
|
+
type NodeChangedDataAlpha,
|
|
165
|
+
type NodeChangedDataDelta,
|
|
166
|
+
type NodeChangedDataProperties,
|
|
167
|
+
type NodeChangedDataTreeDelta,
|
|
168
|
+
type TreeChangeEventsAlpha,
|
|
169
|
+
} from "./treeAlpha.js";
|
|
156
170
|
export { createTreeIndex, type TreeIndexKey } from "./simpleTreeIndex.js";
|
|
157
171
|
export {
|
|
158
172
|
createIdentifierIndex,
|
|
@@ -10,8 +10,6 @@ import { isFluidHandle } from "@fluidframework/runtime-utils/internal";
|
|
|
10
10
|
import { UsageError } from "@fluidframework/telemetry-utils/internal";
|
|
11
11
|
|
|
12
12
|
import type { TreeValue } from "../../core/index.js";
|
|
13
|
-
// This import is required for intellisense in @link doc comments on mouseover in VSCode.
|
|
14
|
-
// eslint-disable-next-line unused-imports/no-unused-imports, @typescript-eslint/no-unused-vars
|
|
15
13
|
import type { FlexTreeHydratedContextMinimal } from "../../feature-libraries/index.js";
|
|
16
14
|
import {
|
|
17
15
|
type JsonCompatibleReadOnlyObject,
|
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
type WithType,
|
|
12
12
|
normalizeAllowedTypes,
|
|
13
13
|
isTreeNode,
|
|
14
|
+
createSchemaUpgrade,
|
|
14
15
|
} from "../core/index.js";
|
|
15
16
|
// These imports prevent a large number of type references in the API reports from showing up as *_2.
|
|
16
17
|
/* eslint-disable unused-imports/no-unused-imports, @typescript-eslint/no-unused-vars, import-x/no-duplicates */
|
|
@@ -18,7 +19,7 @@ import {
|
|
|
18
19
|
type FieldProps,
|
|
19
20
|
type FieldSchemaAlpha,
|
|
20
21
|
type FieldPropsAlpha,
|
|
21
|
-
|
|
22
|
+
FieldKind,
|
|
22
23
|
type ImplicitFieldSchema,
|
|
23
24
|
type InsertableTreeFieldFromImplicitField,
|
|
24
25
|
type FieldSchema,
|
|
@@ -29,6 +30,7 @@ import {
|
|
|
29
30
|
import type { LeafSchema } from "../leafNodeSchema.js";
|
|
30
31
|
import {
|
|
31
32
|
type ArrayNodeCustomizableSchema,
|
|
33
|
+
type ArrayNodeCustomizableSchemaAlpha,
|
|
32
34
|
arraySchema,
|
|
33
35
|
type MapNodeCustomizableSchema,
|
|
34
36
|
mapSchema,
|
|
@@ -142,6 +144,42 @@ export interface SchemaStaticsAlpha {
|
|
|
142
144
|
TCustomMetadata,
|
|
143
145
|
FieldPropsAlpha<TCustomMetadata> & { defaultProvider: DefaultProvider }
|
|
144
146
|
>;
|
|
147
|
+
/**
|
|
148
|
+
* Creates a field schema that is Optional in the view but behaves as Required in the stored schema
|
|
149
|
+
* during the rollout period of an optional-field migration.
|
|
150
|
+
*
|
|
151
|
+
* @remarks
|
|
152
|
+
* Use this to incrementally migrate a required field to optional without a coordinated deployment.
|
|
153
|
+
* The migration path is:
|
|
154
|
+
*
|
|
155
|
+
* 1. Start with `sf.required(T)` — all clients require the field.
|
|
156
|
+
* 2. Deploy `sf.stagedOptional(T)` — new clients can read documents where the field is present or absent, but the stored schema stays Required (so old clients are unaffected). Writing `undefined` is blocked at runtime.
|
|
157
|
+
* 3. Deploy `sf.optional(T)` once all clients support the staged optional field — the stored schema becomes Optional and the field can be cleared.
|
|
158
|
+
*
|
|
159
|
+
* Analogous to {@link SchemaStaticsBeta.staged} for allowed types, but for field optionality.
|
|
160
|
+
*
|
|
161
|
+
* @param t - The types allowed under the field.
|
|
162
|
+
* @param props - Optional properties to associate with the field.
|
|
163
|
+
*
|
|
164
|
+
* @typeParam TCustomMetadata - Custom metadata properties to associate with the field.
|
|
165
|
+
* See {@link FieldSchemaMetadata.custom}.
|
|
166
|
+
*/
|
|
167
|
+
readonly stagedOptional: <
|
|
168
|
+
const T extends ImplicitAllowedTypes,
|
|
169
|
+
const TCustomMetadata = unknown,
|
|
170
|
+
>(
|
|
171
|
+
t: T,
|
|
172
|
+
props?: Omit<
|
|
173
|
+
FieldPropsAlpha<TCustomMetadata>,
|
|
174
|
+
"defaultProvider" | "stagedOptionalUpgrade"
|
|
175
|
+
>,
|
|
176
|
+
) => FieldSchemaAlpha<
|
|
177
|
+
FieldKind.Optional,
|
|
178
|
+
T,
|
|
179
|
+
TCustomMetadata,
|
|
180
|
+
FieldPropsAlpha<TCustomMetadata>
|
|
181
|
+
>;
|
|
182
|
+
|
|
145
183
|
/**
|
|
146
184
|
* {@link SchemaStaticsAlpha.withDefault} except tweaked to work better for recursive types.
|
|
147
185
|
* Use with {@link ValidateRecursiveSchema} for improved type safety.
|
|
@@ -224,10 +262,28 @@ const withDefault = <
|
|
|
224
262
|
);
|
|
225
263
|
};
|
|
226
264
|
|
|
265
|
+
const stagedOptional = <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(
|
|
266
|
+
t: T,
|
|
267
|
+
props?: Omit<FieldPropsAlpha<TCustomMetadata>, "defaultProvider" | "stagedOptionalUpgrade">,
|
|
268
|
+
): FieldSchemaAlpha<
|
|
269
|
+
FieldKind.Optional,
|
|
270
|
+
T,
|
|
271
|
+
TCustomMetadata,
|
|
272
|
+
FieldPropsAlpha<TCustomMetadata>
|
|
273
|
+
> => {
|
|
274
|
+
return createFieldSchema(FieldKind.Optional, t, {
|
|
275
|
+
defaultProvider: getDefaultProvider(() => []),
|
|
276
|
+
...props,
|
|
277
|
+
stagedOptionalUpgrade: createSchemaUpgrade(),
|
|
278
|
+
});
|
|
279
|
+
};
|
|
280
|
+
|
|
227
281
|
const schemaStaticsAlpha: SchemaStaticsAlpha = {
|
|
228
282
|
withDefault,
|
|
229
283
|
|
|
230
284
|
withDefaultRecursive: withDefault as SchemaStaticsAlpha["withDefaultRecursive"],
|
|
285
|
+
|
|
286
|
+
stagedOptional,
|
|
231
287
|
};
|
|
232
288
|
|
|
233
289
|
/**
|
|
@@ -447,7 +503,17 @@ export class SchemaFactoryAlpha<
|
|
|
447
503
|
public static readonly withDefaultRecursive = schemaStaticsAlpha.withDefaultRecursive;
|
|
448
504
|
|
|
449
505
|
/**
|
|
450
|
-
*
|
|
506
|
+
* {@inheritdoc SchemaStaticsAlpha.stagedOptional}
|
|
507
|
+
*/
|
|
508
|
+
public readonly stagedOptional = schemaStaticsAlpha.stagedOptional;
|
|
509
|
+
|
|
510
|
+
/**
|
|
511
|
+
* {@inheritdoc SchemaStaticsAlpha.stagedOptional}
|
|
512
|
+
*/
|
|
513
|
+
public static readonly stagedOptional = schemaStaticsAlpha.stagedOptional;
|
|
514
|
+
|
|
515
|
+
/**
|
|
516
|
+
* Define a {@link TreeNodeSchema} for a {@link TreeMapNodeAlpha}.
|
|
451
517
|
*
|
|
452
518
|
* @param name - Unique identifier for this schema within this factory's scope.
|
|
453
519
|
* @param allowedTypes - The types that may appear as values in the map.
|
|
@@ -518,14 +584,24 @@ export class SchemaFactoryAlpha<
|
|
|
518
584
|
name: Name,
|
|
519
585
|
allowedTypes: T,
|
|
520
586
|
options?: NodeSchemaOptionsAlpha<TCustomMetadata>,
|
|
521
|
-
):
|
|
587
|
+
): ArrayNodeCustomizableSchemaAlpha<
|
|
588
|
+
ScopedSchemaName<TScope, Name>,
|
|
589
|
+
T,
|
|
590
|
+
true,
|
|
591
|
+
TCustomMetadata
|
|
592
|
+
> {
|
|
522
593
|
return arraySchema(
|
|
523
594
|
scoped<TScope, TName, Name>(this, name),
|
|
524
595
|
allowedTypes,
|
|
525
596
|
true,
|
|
526
597
|
true,
|
|
527
598
|
options ?? {},
|
|
528
|
-
)
|
|
599
|
+
) as unknown as ArrayNodeCustomizableSchemaAlpha<
|
|
600
|
+
ScopedSchemaName<TScope, Name>,
|
|
601
|
+
T,
|
|
602
|
+
true,
|
|
603
|
+
TCustomMetadata
|
|
604
|
+
>;
|
|
529
605
|
}
|
|
530
606
|
|
|
531
607
|
/**
|
|
@@ -39,7 +39,7 @@ import { treeNodeApi } from "./treeNodeApi.js";
|
|
|
39
39
|
* @remarks
|
|
40
40
|
* This supports values which have value semantics and are compared by value, just like {@link TreeLeafValue}.
|
|
41
41
|
* This allows using any tree value as a key (for example in an index tracking where those values occur in the tree).
|
|
42
|
-
* @
|
|
42
|
+
* @beta
|
|
43
43
|
*/
|
|
44
44
|
export type TreeIndexKey = TreeLeafValue;
|
|
45
45
|
|
|
@@ -52,7 +52,7 @@ export type TreeIndexKey = TreeLeafValue;
|
|
|
52
52
|
* @param getValue - given at least one {@link TreeNode}, returns an associated value
|
|
53
53
|
* @param isKeyValid - function for verifying the validity of the key retrieved based on the information given by the indexer
|
|
54
54
|
*
|
|
55
|
-
* @
|
|
55
|
+
* @beta
|
|
56
56
|
*/
|
|
57
57
|
export function createTreeIndex<
|
|
58
58
|
TFieldSchema extends ImplicitFieldSchema,
|
|
@@ -75,7 +75,7 @@ export function createTreeIndex<
|
|
|
75
75
|
* @param isKeyValid - function for verifying the validity of the key retrieved based on the information given by the indexer
|
|
76
76
|
* @param indexableSchema - a list of all the schema types that can be indexed
|
|
77
77
|
*
|
|
78
|
-
* @
|
|
78
|
+
* @beta
|
|
79
79
|
*/
|
|
80
80
|
export function createTreeIndex<
|
|
81
81
|
TFieldSchema extends ImplicitFieldSchema,
|
|
@@ -99,7 +99,7 @@ export function createTreeIndex<
|
|
|
99
99
|
* @param getValue - given at least one {@link TreeNode}, returns an associated value
|
|
100
100
|
* @param isKeyValid - function for verifying the validity of the key retrieved based on the information given by the indexer
|
|
101
101
|
*
|
|
102
|
-
* @
|
|
102
|
+
* @beta
|
|
103
103
|
*/
|
|
104
104
|
export function createTreeIndex<
|
|
105
105
|
TFieldSchema extends ImplicitFieldSchema,
|
|
@@ -122,7 +122,7 @@ export function createTreeIndex<
|
|
|
122
122
|
* @param isKeyValid - function for verifying the validity of the key retrieved based on the information given by the indexer
|
|
123
123
|
* @param indexableSchema - a list of all the schema types that can be indexed
|
|
124
124
|
*
|
|
125
|
-
* @
|
|
125
|
+
* @beta
|
|
126
126
|
*/
|
|
127
127
|
export function createTreeIndex<
|
|
128
128
|
TFieldSchema extends ImplicitFieldSchema,
|
|
@@ -140,7 +140,7 @@ export function createTreeIndex<
|
|
|
140
140
|
/**
|
|
141
141
|
* Creates a {@link TreeIndex} with a specified indexer.
|
|
142
142
|
*
|
|
143
|
-
* @
|
|
143
|
+
* @beta
|
|
144
144
|
*/
|
|
145
145
|
export function createTreeIndex<
|
|
146
146
|
TFieldSchema extends ImplicitFieldSchema,
|
|
@@ -5,17 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
import type { MinimumVersionForCollab } from "@fluidframework/runtime-definitions/internal";
|
|
7
7
|
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
FormatValidatorNoOp,
|
|
11
|
-
type ICodecOptions,
|
|
12
|
-
} from "../../codec/index.js";
|
|
13
|
-
import { SchemaFormatVersion } from "../../core/index.js";
|
|
14
|
-
import { makeSchemaCodec } from "../../feature-libraries/index.js";
|
|
15
|
-
import type {
|
|
16
|
-
FormatV1,
|
|
17
|
-
// eslint-disable-next-line import-x/no-internal-modules
|
|
18
|
-
} from "../../feature-libraries/schema-index/index.js";
|
|
8
|
+
import { FormatValidatorNoOp, type ICodecOptions } from "../../codec/index.js";
|
|
9
|
+
import { schemaCodecBuilder } from "../../feature-libraries/index.js";
|
|
19
10
|
import type { JsonCompatible } from "../../util/index.js";
|
|
20
11
|
import type { SchemaUpgrade } from "../core/index.js";
|
|
21
12
|
import { normalizeFieldSchema, type ImplicitFieldSchema } from "../fieldSchema.js";
|
|
@@ -62,8 +53,14 @@ export function extractPersistedSchema(
|
|
|
62
53
|
minVersionForCollab: MinimumVersionForCollab,
|
|
63
54
|
includeStaged: (upgrade: SchemaUpgrade) => boolean,
|
|
64
55
|
): JsonCompatible {
|
|
65
|
-
const stored = toStoredSchema(schema, {
|
|
66
|
-
|
|
56
|
+
const stored = toStoredSchema(schema, {
|
|
57
|
+
includeStaged,
|
|
58
|
+
includeStagedOptional: includeStaged,
|
|
59
|
+
});
|
|
60
|
+
const codec = schemaCodecBuilder.build({
|
|
61
|
+
minVersionForCollab,
|
|
62
|
+
jsonValidator: FormatValidatorNoOp,
|
|
63
|
+
});
|
|
67
64
|
return codec.encode(stored) as JsonCompatible;
|
|
68
65
|
}
|
|
69
66
|
|
|
@@ -102,13 +99,8 @@ export function comparePersistedSchema(
|
|
|
102
99
|
view: ImplicitFieldSchema,
|
|
103
100
|
options: ICodecOptions,
|
|
104
101
|
): Omit<SchemaCompatibilityStatus, "canInitialize"> {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
const schemaCodec = makeSchemaCodec(
|
|
108
|
-
{ ...options, minVersionForCollab: FluidClientVersion.v2_0 },
|
|
109
|
-
SchemaFormatVersion.v1,
|
|
110
|
-
);
|
|
111
|
-
const stored = schemaCodec.decode(persisted as FormatV1);
|
|
102
|
+
const schemaCodec = schemaCodecBuilder.buildDecoder(options);
|
|
103
|
+
const stored = schemaCodec.decode(persisted);
|
|
112
104
|
const config = new TreeViewConfigurationAlpha({
|
|
113
105
|
schema: normalizeFieldSchema(view),
|
|
114
106
|
});
|
|
@@ -136,6 +136,8 @@ export interface ITreeAlpha extends ITree {
|
|
|
136
136
|
* @remarks A `TreeBranch` allows for the {@link TreeBranch.fork | creation of branches} and for those branches to later be {@link TreeBranch.merge | merged}.
|
|
137
137
|
*
|
|
138
138
|
* The branch associated directly with the {@link ITree | SharedTree} is the "main" branch, and all other branches fork (directly or transitively) from that main branch.
|
|
139
|
+
*
|
|
140
|
+
* See {@link TreeBranchAlpha} for additional APIs that are in an earlier stage of development.
|
|
139
141
|
* @sealed @beta
|
|
140
142
|
*/
|
|
141
143
|
export interface TreeBranch extends IDisposable {
|
|
@@ -352,6 +354,8 @@ export interface TreeBranchAlpha extends TreeBranch, TreeContextAlpha {
|
|
|
352
354
|
* Application authors are encouraged to read {@link https://github.com/microsoft/FluidFramework/blob/main/packages/dds/tree/docs/user-facing/schema-evolution.md | schema-evolution.md}
|
|
353
355
|
* and choose a schema compatibility policy that aligns with their application's needs.
|
|
354
356
|
*
|
|
357
|
+
* See also {@link TreeViewAlpha}, {@link TreeViewBeta} and {@link TreeBranch} for additional APIs that are in earlier stages of development.
|
|
358
|
+
*
|
|
355
359
|
* @privateRemarks
|
|
356
360
|
* From an API design perspective, `upgradeSchema` could be merged into `viewWith` and/or `viewWith` could return errors explicitly on incompatible documents.
|
|
357
361
|
* Such approaches would make it discoverable that out of schema handling may need to be done.
|
|
@@ -559,7 +563,7 @@ export interface SchemaCompatibilityStatus {
|
|
|
559
563
|
* Events for {@link TreeBranch}.
|
|
560
564
|
* @sealed @alpha
|
|
561
565
|
*/
|
|
562
|
-
export interface TreeBranchEvents
|
|
566
|
+
export interface TreeBranchEvents {
|
|
563
567
|
/**
|
|
564
568
|
* Fired when a change is made to the branch. Includes data about the change that is made which listeners
|
|
565
569
|
* can use to filter on changes they care about (e.g. local vs. remote changes).
|
|
@@ -569,29 +573,12 @@ export interface TreeBranchEvents extends Omit<TreeViewEvents, "commitApplied">
|
|
|
569
573
|
* this change is not revertible.
|
|
570
574
|
*/
|
|
571
575
|
changed(data: ChangeMetadata, getRevertible?: RevertibleAlphaFactory): void;
|
|
572
|
-
|
|
573
|
-
/**
|
|
574
|
-
* Fired when:
|
|
575
|
-
*
|
|
576
|
-
* - a local commit is applied outside of a transaction
|
|
577
|
-
*
|
|
578
|
-
* - a local transaction is committed
|
|
579
|
-
*
|
|
580
|
-
* The event is not fired when:
|
|
581
|
-
*
|
|
582
|
-
* - a local commit is applied within a transaction
|
|
583
|
-
*
|
|
584
|
-
* - a remote commit is applied
|
|
585
|
-
*
|
|
586
|
-
* @param data - information about the commit that was applied
|
|
587
|
-
* @param getRevertible - a function provided that allows users to get a revertible for the commit that was applied. If not provided,
|
|
588
|
-
* this commit is not revertible.
|
|
589
|
-
*/
|
|
590
|
-
commitApplied(data: ChangeMetadata, getRevertible?: RevertibleAlphaFactory): void;
|
|
591
576
|
}
|
|
592
577
|
|
|
593
578
|
/**
|
|
594
579
|
* Events for {@link TreeView}.
|
|
580
|
+
* @remarks
|
|
581
|
+
* See {@link TreeBranchEvents} for more events related to the underlying branch of the SharedTree.
|
|
595
582
|
* @sealed @public
|
|
596
583
|
*/
|
|
597
584
|
export interface TreeViewEvents {
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import type { NodeKind, TreeNode, WithType } from "../core/index.js";
|
|
7
|
+
|
|
8
|
+
import type { TreeChangeEventsBeta } from "./treeBeta.js";
|
|
9
|
+
import type { TreeChangeEvents } from "./treeChangeEvents.js";
|
|
10
|
+
import type { ArrayNodeDeltaOp, ArrayNodeTreeChangedDeltaOp } from "./treeNodeApi.js";
|
|
11
|
+
export type {
|
|
12
|
+
ArrayNodeDeltaOp,
|
|
13
|
+
ArrayNodeInsertOp,
|
|
14
|
+
ArrayNodeRemoveOp,
|
|
15
|
+
ArrayNodeRetainOp,
|
|
16
|
+
ArrayNodeTreeChangedDeltaOp,
|
|
17
|
+
ArrayNodeTreeChangedRetainOp,
|
|
18
|
+
} from "./treeNodeApi.js";
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Data included for {@link TreeChangeEventsAlpha.nodeChanged} when the node is an object, map, or record node.
|
|
22
|
+
* @sealed @alpha
|
|
23
|
+
*/
|
|
24
|
+
export interface NodeChangedDataProperties<TNode extends TreeNode = TreeNode> {
|
|
25
|
+
/**
|
|
26
|
+
* Lists all the properties which changed on the node.
|
|
27
|
+
* @remarks
|
|
28
|
+
* This only includes changes to the node itself (which would trigger {@link TreeChangeEvents.nodeChanged}).
|
|
29
|
+
*
|
|
30
|
+
* The set should never be empty, since `nodeChanged` will only be triggered when there is a change, and for the supported node types, the only things that can change are properties.
|
|
31
|
+
*/
|
|
32
|
+
readonly changedProperties: ReadonlySet<
|
|
33
|
+
// For Object nodes, strongly type with the property names from the schema:
|
|
34
|
+
TNode extends WithType<string, NodeKind.Object, infer TInfo>
|
|
35
|
+
? string & keyof TInfo
|
|
36
|
+
: string
|
|
37
|
+
>;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Data carried by the {@link TreeChangeEventsAlpha.nodeChanged} event for array nodes.
|
|
42
|
+
* @sealed @alpha
|
|
43
|
+
*/
|
|
44
|
+
export interface NodeChangedDataDelta {
|
|
45
|
+
/**
|
|
46
|
+
* The sequential operations describing what changed in the array node.
|
|
47
|
+
* @remarks
|
|
48
|
+
* The value may be `undefined` when the document was updated in a way that required multiple
|
|
49
|
+
* internal change passes in a single operation (for example, a data change combined with a
|
|
50
|
+
* schema upgrade).
|
|
51
|
+
*
|
|
52
|
+
* See {@link ArrayNodeDeltaOp} for op semantics.
|
|
53
|
+
*/
|
|
54
|
+
readonly delta: readonly ArrayNodeDeltaOp[] | undefined;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Data carried by the {@link TreeChangeEventsAlpha.treeChanged} event for array nodes.
|
|
59
|
+
* @remarks
|
|
60
|
+
* Extends {@link NodeChangedDataDelta}: the retain ops in the delta additionally carry a
|
|
61
|
+
* {@link ArrayNodeTreeChangedRetainOp.subtreeChanged} flag indicating whether any descendant
|
|
62
|
+
* of the retained element changed.
|
|
63
|
+
* @sealed @alpha
|
|
64
|
+
*/
|
|
65
|
+
export interface NodeChangedDataTreeDelta {
|
|
66
|
+
/**
|
|
67
|
+
* The sequential operations describing what changed in the array node,
|
|
68
|
+
* including subtree-change information on retain ops.
|
|
69
|
+
* @remarks
|
|
70
|
+
* The value may be `undefined` when the document was updated in a way that required multiple
|
|
71
|
+
* internal change passes in a single operation (for example, a data change combined with a
|
|
72
|
+
* schema upgrade).
|
|
73
|
+
*
|
|
74
|
+
* See {@link ArrayNodeTreeChangedDeltaOp} for op semantics.
|
|
75
|
+
*/
|
|
76
|
+
readonly delta: readonly ArrayNodeTreeChangedDeltaOp[] | undefined;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* The data passed to {@link TreeChangeEventsAlpha.nodeChanged} and, for array nodes,
|
|
81
|
+
* to {@link TreeChangeEventsAlpha.treeChanged}.
|
|
82
|
+
* @remarks
|
|
83
|
+
* - For array nodes: {@link NodeChangedDataDelta} (includes a {@link NodeChangedDataDelta.delta | delta} payload).
|
|
84
|
+
* - For object, map, and record nodes: {@link NodeChangedDataProperties} (includes {@link NodeChangedDataProperties.changedProperties | changedProperties}).
|
|
85
|
+
* - For a generic/unknown node type: the union of both.
|
|
86
|
+
* @alpha
|
|
87
|
+
*/
|
|
88
|
+
export type NodeChangedDataAlpha<TNode extends TreeNode = TreeNode> =
|
|
89
|
+
TNode extends WithType<string, NodeKind.Array>
|
|
90
|
+
? NodeChangedDataDelta
|
|
91
|
+
: TNode extends WithType<string, NodeKind.Map | NodeKind.Object | NodeKind.Record>
|
|
92
|
+
? NodeChangedDataProperties<TNode>
|
|
93
|
+
: NodeChangedDataProperties<TNode> | NodeChangedDataDelta;
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Extension of {@link TreeChangeEvents} with a richer `nodeChanged` event and a
|
|
97
|
+
* delta-carrying `treeChanged` event for array nodes.
|
|
98
|
+
* @remarks
|
|
99
|
+
* Provides a `nodeChanged` event that includes a delta payload for array nodes and
|
|
100
|
+
* requires `changedProperties` for object, map, and record nodes.
|
|
101
|
+
* Also provides a `treeChanged` event that, for array nodes, carries a {@link NodeChangedDataDelta}
|
|
102
|
+
* payload describing both shallow and deep changes.
|
|
103
|
+
* For non-array nodes, the `treeChanged` signature is the same as the base event.
|
|
104
|
+
*
|
|
105
|
+
* Use via `TreeAlpha.on`.
|
|
106
|
+
* @sealed @alpha
|
|
107
|
+
*/
|
|
108
|
+
export interface TreeChangeEventsAlpha<TNode extends TreeNode = TreeNode>
|
|
109
|
+
extends TreeChangeEvents {
|
|
110
|
+
/**
|
|
111
|
+
* Emitted when a shallow change occurs on this node, i.e., when the node's direct children change.
|
|
112
|
+
*
|
|
113
|
+
* @remarks
|
|
114
|
+
* For array nodes: the event data includes a {@link NodeChangedDataDelta.delta | delta} payload
|
|
115
|
+
* as a sequence of {@link ArrayNodeDeltaOp} values. Does not fire for deep changes (e.g. a
|
|
116
|
+
* property of an array element changed without any shallow array change). Subscribe to
|
|
117
|
+
* {@link TreeChangeEventsAlpha.treeChanged} on the array to receive a delta for those cases as well.
|
|
118
|
+
*
|
|
119
|
+
* For object, map, and record nodes: the event data includes
|
|
120
|
+
* {@link NodeChangedDataProperties.changedProperties | changedProperties}.
|
|
121
|
+
* @privateRemarks
|
|
122
|
+
* This defines a property which is a function instead of using the method syntax to avoid function bi-variance issues with the input data to the callback.
|
|
123
|
+
*/
|
|
124
|
+
nodeChanged: (data: NodeChangedDataAlpha<TNode>) => void;
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Emitted when something in the subtree rooted at this node changes.
|
|
128
|
+
*
|
|
129
|
+
* @remarks
|
|
130
|
+
* For array nodes: emitted when any change occurred within the array, including both
|
|
131
|
+
* shallow changes (insert, remove, move) and deep changes (e.g. a property of an element
|
|
132
|
+
* changed). The event data carries a {@link NodeChangedDataTreeDelta.delta | delta} payload
|
|
133
|
+
* describing what changed. The delta uses {@link ArrayNodeTreeChangedRetainOp.subtreeChanged}
|
|
134
|
+
* to flag elements that have deep changes, without describing the details of those deep changes.
|
|
135
|
+
* To inspect deep changes, subscribe to `nodeChanged` or `treeChanged` on the individual
|
|
136
|
+
* element nodes.
|
|
137
|
+
*
|
|
138
|
+
* When this array is nested inside another array, the outer array's `treeChanged` still
|
|
139
|
+
* fires with a delta, but that delta only shows `subtreeChanged: true` for the element
|
|
140
|
+
* position containing this inner array — it does not include the inner array's detailed
|
|
141
|
+
* insert/remove/retain ops. To receive those detailed ops, subscribe to `treeChanged`
|
|
142
|
+
* directly on the inner array.
|
|
143
|
+
* Ancestor non-array nodes still receive the base (no-payload) `treeChanged` via normal
|
|
144
|
+
* subtree propagation.
|
|
145
|
+
*
|
|
146
|
+
* For non-array nodes: same as the base {@link TreeChangeEvents.treeChanged}.
|
|
147
|
+
* @privateRemarks
|
|
148
|
+
* This defines a property which is a function instead of using the method syntax to avoid function bi-variance issues with the input data to the callback.
|
|
149
|
+
*/
|
|
150
|
+
treeChanged: TNode extends WithType<string, NodeKind.Array>
|
|
151
|
+
? (data: NodeChangedDataTreeDelta) => void
|
|
152
|
+
: TreeChangeEventsBeta<TNode>["treeChanged"];
|
|
153
|
+
}
|
|
@@ -54,7 +54,7 @@ export interface NodeChangedData<TNode extends TreeNode = TreeNode> {
|
|
|
54
54
|
* @remarks
|
|
55
55
|
* This only includes changes to the node itself (which would trigger {@link TreeChangeEvents.nodeChanged}).
|
|
56
56
|
*
|
|
57
|
-
*
|
|
57
|
+
* Not present when the {@link NodeKind} does not support this feature (currently just ArrayNodes).
|
|
58
58
|
*
|
|
59
59
|
* When defined, the set should never be empty, since `nodeChanged` will only be triggered when there is a change, and for the supported node types, the only things that can change are properties.
|
|
60
60
|
*/
|
|
@@ -6,6 +6,9 @@
|
|
|
6
6
|
/**
|
|
7
7
|
* A collection of events that can be emitted by a {@link TreeNode}.
|
|
8
8
|
*
|
|
9
|
+
* @remarks
|
|
10
|
+
* Access these events via the {@link (Tree:variable)}'s {@link TreeNodeApi.on} method.
|
|
11
|
+
*
|
|
9
12
|
* @privateRemarks
|
|
10
13
|
* TODO: add a way to subscribe to a specific field (for nodeChanged and treeChanged).
|
|
11
14
|
* Probably have object node and map node specific APIs for this.
|
|
@@ -33,7 +36,7 @@ export interface TreeChangeEvents {
|
|
|
33
36
|
*
|
|
34
37
|
* - Object nodes define a change as being when the value of one of its properties changes (i.e., the property's value is set, including when set to `undefined`).
|
|
35
38
|
*
|
|
36
|
-
* - Array nodes define a change as when an element is added, removed, moved or replaced.
|
|
39
|
+
* - Array nodes define a change as when an element is added, removed, moved, or replaced.
|
|
37
40
|
*
|
|
38
41
|
* - Map nodes define a change as when an entry is added, updated, or removed.
|
|
39
42
|
*
|