@fluidframework/tree 2.91.0 → 2.92.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +118 -0
- package/api-report/tree.alpha.api.md +60 -22
- package/dist/api.d.ts +6 -1
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js.map +1 -1
- package/dist/codec/codec.d.ts +28 -2
- package/dist/codec/codec.d.ts.map +1 -1
- package/dist/codec/codec.js +1 -0
- package/dist/codec/codec.js.map +1 -1
- package/dist/codec/index.d.ts +2 -2
- package/dist/codec/index.d.ts.map +1 -1
- package/dist/codec/index.js +2 -4
- package/dist/codec/index.js.map +1 -1
- package/dist/codec/versioned/codec.d.ts +18 -36
- package/dist/codec/versioned/codec.d.ts.map +1 -1
- package/dist/codec/versioned/codec.js +46 -59
- package/dist/codec/versioned/codec.js.map +1 -1
- package/dist/codec/versioned/index.d.ts +1 -1
- package/dist/codec/versioned/index.d.ts.map +1 -1
- package/dist/codec/versioned/index.js +2 -4
- package/dist/codec/versioned/index.js.map +1 -1
- package/dist/core/forest/forest.d.ts +5 -2
- package/dist/core/forest/forest.d.ts.map +1 -1
- package/dist/core/forest/forest.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +6 -2
- package/dist/core/index.js.map +1 -1
- package/dist/core/rebase/changeRebaser.d.ts +8 -1
- package/dist/core/rebase/changeRebaser.d.ts.map +1 -1
- package/dist/core/rebase/changeRebaser.js.map +1 -1
- package/dist/core/rebase/revisionTagCodec.d.ts +4 -3
- package/dist/core/rebase/revisionTagCodec.d.ts.map +1 -1
- package/dist/core/rebase/revisionTagCodec.js +2 -0
- package/dist/core/rebase/revisionTagCodec.js.map +1 -1
- package/dist/core/rebase/utils.d.ts +2 -2
- package/dist/core/rebase/utils.d.ts.map +1 -1
- package/dist/core/rebase/utils.js +4 -4
- package/dist/core/rebase/utils.js.map +1 -1
- package/dist/core/schema-stored/formatV2.d.ts +1 -1
- package/dist/core/schema-stored/formatV2.js +1 -1
- package/dist/core/schema-stored/formatV2.js.map +1 -1
- package/dist/core/tree/anchorSet.d.ts +8 -0
- package/dist/core/tree/anchorSet.d.ts.map +1 -1
- package/dist/core/tree/anchorSet.js +42 -7
- package/dist/core/tree/anchorSet.js.map +1 -1
- package/dist/core/tree/cursor.d.ts +25 -1
- package/dist/core/tree/cursor.d.ts.map +1 -1
- package/dist/core/tree/cursor.js +45 -1
- package/dist/core/tree/cursor.js.map +1 -1
- package/dist/core/tree/deltaUtil.d.ts +13 -1
- package/dist/core/tree/deltaUtil.d.ts.map +1 -1
- package/dist/core/tree/deltaUtil.js +34 -1
- package/dist/core/tree/deltaUtil.js.map +1 -1
- package/dist/core/tree/detachedFieldIndexCodecs.d.ts +5 -5
- package/dist/core/tree/detachedFieldIndexCodecs.d.ts.map +1 -1
- package/dist/core/tree/detachedFieldIndexCodecs.js.map +1 -1
- package/dist/core/tree/index.d.ts +2 -2
- package/dist/core/tree/index.d.ts.map +1 -1
- package/dist/core/tree/index.js +6 -2
- package/dist/core/tree/index.js.map +1 -1
- package/dist/core/tree/visitDelta.d.ts +11 -0
- package/dist/core/tree/visitDelta.d.ts.map +1 -1
- package/dist/core/tree/visitDelta.js +1 -1
- package/dist/core/tree/visitDelta.js.map +1 -1
- package/dist/core/tree/visitorUtils.d.ts.map +1 -1
- package/dist/core/tree/visitorUtils.js +5 -0
- package/dist/core/tree/visitorUtils.js.map +1 -1
- package/dist/entrypoints/alpha.d.ts +1 -1
- package/dist/entrypoints/alpha.d.ts.map +1 -1
- package/dist/entrypoints/alpha.js +2 -3
- package/dist/entrypoints/alpha.js.map +1 -1
- package/dist/entrypoints/beta.js +1 -1
- package/dist/entrypoints/beta.js.map +1 -1
- package/dist/entrypoints/legacy.d.ts +1 -1
- package/dist/entrypoints/legacy.d.ts.map +1 -1
- package/dist/entrypoints/legacy.js +1 -1
- package/dist/entrypoints/legacy.js.map +1 -1
- package/dist/entrypoints/public.js +1 -1
- package/dist/entrypoints/public.js.map +1 -1
- package/dist/feature-libraries/changeAtomIdCodec.d.ts +4 -3
- package/dist/feature-libraries/changeAtomIdCodec.d.ts.map +1 -1
- package/dist/feature-libraries/changeAtomIdCodec.js +2 -0
- package/dist/feature-libraries/changeAtomIdCodec.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/chunkedForest.d.ts +2 -1
- package/dist/feature-libraries/chunked-forest/chunkedForest.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/chunkedForest.js +2 -2
- package/dist/feature-libraries/chunked-forest/chunkedForest.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts +4 -4
- package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.js +6 -6
- package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.d.ts +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts +1 -2
- package/dist/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/codecs.d.ts +4 -4
- package/dist/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/codecs.js +6 -6
- package/dist/feature-libraries/chunked-forest/codec/codecs.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.d.ts +12 -12
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js +3 -3
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/{formatGeneric.d.ts → format/formatGeneric.d.ts} +1 -1
- package/dist/feature-libraries/chunked-forest/codec/format/formatGeneric.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/format/formatGeneric.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/format/formatV1.d.ts +187 -0
- package/dist/feature-libraries/chunked-forest/codec/format/formatV1.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/format/formatV1.js +115 -0
- package/dist/feature-libraries/chunked-forest/codec/format/formatV1.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/format/formatV2.d.ts +33 -0
- package/dist/feature-libraries/chunked-forest/codec/format/formatV2.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/format/formatV2.js +16 -0
- package/dist/feature-libraries/chunked-forest/codec/format/formatV2.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/format/index.d.ts +10 -0
- package/dist/feature-libraries/chunked-forest/codec/format/index.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/format/index.js +18 -0
- package/dist/feature-libraries/chunked-forest/codec/format/index.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/format/versions.d.ts +93 -0
- package/dist/feature-libraries/chunked-forest/codec/format/versions.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/format/versions.js +29 -0
- package/dist/feature-libraries/chunked-forest/codec/format/versions.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/index.d.ts +2 -2
- package/dist/feature-libraries/chunked-forest/codec/index.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/index.js +2 -2
- package/dist/feature-libraries/chunked-forest/codec/index.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/nodeEncoder.d.ts +7 -7
- package/dist/feature-libraries/chunked-forest/codec/nodeEncoder.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/nodeEncoder.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncode.d.ts +1 -1
- package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncode.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncode.js +6 -4
- package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncode.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts +1 -1
- package/dist/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/uncompressedEncode.js +3 -3
- package/dist/feature-libraries/chunked-forest/codec/uncompressedEncode.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/index.d.ts +1 -1
- package/dist/feature-libraries/chunked-forest/index.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/index.js.map +1 -1
- package/dist/feature-libraries/cursorComparator.d.ts +23 -0
- package/dist/feature-libraries/cursorComparator.d.ts.map +1 -0
- package/dist/feature-libraries/cursorComparator.js +65 -0
- package/dist/feature-libraries/cursorComparator.js.map +1 -0
- package/dist/feature-libraries/forest-summary/codec.d.ts +1 -1
- package/dist/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts +3 -3
- package/dist/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts.map +1 -1
- package/dist/feature-libraries/forest-summary/incrementalSummaryBuilder.js.map +1 -1
- package/dist/feature-libraries/index.d.ts +3 -2
- package/dist/feature-libraries/index.d.ts.map +1 -1
- package/dist/feature-libraries/index.js +5 -5
- package/dist/feature-libraries/index.js.map +1 -1
- package/dist/feature-libraries/indexing/anchorTreeIndex.d.ts +2 -0
- package/dist/feature-libraries/indexing/anchorTreeIndex.d.ts.map +1 -1
- package/dist/feature-libraries/indexing/anchorTreeIndex.js +12 -7
- package/dist/feature-libraries/indexing/anchorTreeIndex.js.map +1 -1
- package/dist/feature-libraries/mitigatedChangeFamily.d.ts.map +1 -1
- package/dist/feature-libraries/mitigatedChangeFamily.js +2 -2
- package/dist/feature-libraries/mitigatedChangeFamily.js.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts +3 -3
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -1
- package/dist/feature-libraries/modular-schema/genericFieldKind.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/genericFieldKind.js +0 -1
- package/dist/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecV1.d.ts +10 -10
- package/dist/feature-libraries/modular-schema/modularChangeCodecV1.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecV1.js +2 -4
- package/dist/feature-libraries/modular-schema/modularChangeCodecV1.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecV2.d.ts +3 -3
- package/dist/feature-libraries/modular-schema/modularChangeCodecV2.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecV2.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.d.ts +3 -3
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js +4 -3
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/dist/feature-libraries/object-forest/objectForest.d.ts +1 -1
- package/dist/feature-libraries/object-forest/objectForest.d.ts.map +1 -1
- package/dist/feature-libraries/object-forest/objectForest.js +2 -2
- package/dist/feature-libraries/object-forest/objectForest.js.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecV2.d.ts +4 -4
- package/dist/feature-libraries/optional-field/optionalFieldCodecV2.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecV2.js.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecs.d.ts +3 -3
- package/dist/feature-libraries/optional-field/optionalFieldCodecs.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecs.js.map +1 -1
- package/dist/feature-libraries/schema-edits/index.d.ts +1 -1
- package/dist/feature-libraries/schema-edits/index.d.ts.map +1 -1
- package/dist/feature-libraries/schema-edits/index.js +2 -3
- package/dist/feature-libraries/schema-edits/index.js.map +1 -1
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.d.ts +6 -15
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.d.ts.map +1 -1
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.js +8 -54
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.js.map +1 -1
- package/dist/feature-libraries/schema-index/codec.d.ts +3 -16
- package/dist/feature-libraries/schema-index/codec.d.ts.map +1 -1
- package/dist/feature-libraries/schema-index/codec.js +1 -21
- package/dist/feature-libraries/schema-index/codec.js.map +1 -1
- package/dist/feature-libraries/schema-index/formatV2.d.ts +1 -1
- package/dist/feature-libraries/schema-index/formatV2.js +1 -1
- package/dist/feature-libraries/schema-index/formatV2.js.map +1 -1
- package/dist/feature-libraries/schema-index/index.d.ts +1 -1
- package/dist/feature-libraries/schema-index/index.d.ts.map +1 -1
- package/dist/feature-libraries/schema-index/index.js +1 -2
- package/dist/feature-libraries/schema-index/index.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts +4 -4
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV3.d.ts +3 -3
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV3.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV3.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts +3 -3
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -3
- package/dist/index.js.map +1 -1
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/dist/shared-tree/independentView.d.ts +1 -1
- package/dist/shared-tree/independentView.d.ts.map +1 -1
- package/dist/shared-tree/independentView.js +14 -21
- package/dist/shared-tree/independentView.js.map +1 -1
- package/dist/shared-tree/index.d.ts +2 -2
- package/dist/shared-tree/index.d.ts.map +1 -1
- package/dist/shared-tree/index.js +1 -2
- package/dist/shared-tree/index.js.map +1 -1
- package/dist/shared-tree/schematizingTreeView.d.ts +2 -36
- package/dist/shared-tree/schematizingTreeView.d.ts.map +1 -1
- package/dist/shared-tree/schematizingTreeView.js +15 -117
- package/dist/shared-tree/schematizingTreeView.js.map +1 -1
- package/dist/shared-tree/sharedTree.d.ts +3 -22
- package/dist/shared-tree/sharedTree.d.ts.map +1 -1
- package/dist/shared-tree/sharedTree.js +10 -27
- package/dist/shared-tree/sharedTree.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeCodecs.d.ts +3 -2
- package/dist/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeChangeCodecs.js +23 -16
- package/dist/shared-tree/sharedTreeChangeCodecs.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeEnricher.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeChangeEnricher.js +1 -1
- package/dist/shared-tree/sharedTreeChangeEnricher.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeFamily.d.ts +1 -1
- package/dist/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeChangeFamily.js +2 -2
- package/dist/shared-tree/sharedTreeChangeFamily.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeFormat.d.ts +8 -7
- package/dist/shared-tree/sharedTreeChangeFormat.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeChangeFormat.js +13 -5
- package/dist/shared-tree/sharedTreeChangeFormat.js.map +1 -1
- package/dist/shared-tree/tree.d.ts.map +1 -1
- package/dist/shared-tree/tree.js +2 -1
- package/dist/shared-tree/tree.js.map +1 -1
- package/dist/shared-tree/treeAlpha.d.ts +13 -1
- package/dist/shared-tree/treeAlpha.d.ts.map +1 -1
- package/dist/shared-tree/treeAlpha.js +3 -0
- package/dist/shared-tree/treeAlpha.js.map +1 -1
- package/dist/shared-tree/treeCheckout.d.ts +34 -69
- package/dist/shared-tree/treeCheckout.d.ts.map +1 -1
- package/dist/shared-tree/treeCheckout.js +885 -678
- package/dist/shared-tree/treeCheckout.js.map +1 -1
- package/dist/shared-tree/unhydratedTreeContext.js +3 -3
- package/dist/shared-tree/unhydratedTreeContext.js.map +1 -1
- package/dist/shared-tree-core/editManagerCodecs.d.ts +23 -12
- package/dist/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerCodecs.js +40 -67
- package/dist/shared-tree-core/editManagerCodecs.js.map +1 -1
- package/dist/shared-tree-core/editManagerCodecsCommons.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerCodecsCommons.js +0 -1
- package/dist/shared-tree-core/editManagerCodecsCommons.js.map +1 -1
- package/dist/shared-tree-core/editManagerCodecsV1toV4.d.ts +10 -2
- package/dist/shared-tree-core/editManagerCodecsV1toV4.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerCodecsV1toV4.js +18 -13
- package/dist/shared-tree-core/editManagerCodecsV1toV4.js.map +1 -1
- package/dist/shared-tree-core/editManagerCodecsVSharedBranches.d.ts +2 -2
- package/dist/shared-tree-core/editManagerCodecsVSharedBranches.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerCodecsVSharedBranches.js +6 -9
- package/dist/shared-tree-core/editManagerCodecsVSharedBranches.js.map +1 -1
- package/dist/shared-tree-core/index.d.ts +3 -3
- package/dist/shared-tree-core/index.d.ts.map +1 -1
- package/dist/shared-tree-core/index.js +5 -8
- package/dist/shared-tree-core/index.js.map +1 -1
- package/dist/shared-tree-core/messageCodecV1ToV4.d.ts +2 -3
- package/dist/shared-tree-core/messageCodecV1ToV4.d.ts.map +1 -1
- package/dist/shared-tree-core/messageCodecV1ToV4.js +8 -8
- package/dist/shared-tree-core/messageCodecV1ToV4.js.map +1 -1
- package/dist/shared-tree-core/messageCodecVSharedBranches.d.ts +2 -3
- package/dist/shared-tree-core/messageCodecVSharedBranches.d.ts.map +1 -1
- package/dist/shared-tree-core/messageCodecVSharedBranches.js +5 -4
- package/dist/shared-tree-core/messageCodecVSharedBranches.js.map +1 -1
- package/dist/shared-tree-core/messageCodecs.d.ts +15 -14
- package/dist/shared-tree-core/messageCodecs.d.ts.map +1 -1
- package/dist/shared-tree-core/messageCodecs.js +38 -74
- package/dist/shared-tree-core/messageCodecs.js.map +1 -1
- package/dist/shared-tree-core/messageFormat.d.ts +0 -1
- package/dist/shared-tree-core/messageFormat.d.ts.map +1 -1
- package/dist/shared-tree-core/messageFormat.js +1 -2
- package/dist/shared-tree-core/messageFormat.js.map +1 -1
- package/dist/shared-tree-core/sharedTreeCore.d.ts +1 -3
- package/dist/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
- package/dist/shared-tree-core/sharedTreeCore.js +12 -2
- package/dist/shared-tree-core/sharedTreeCore.js.map +1 -1
- package/dist/sharedTreeAttributes.d.ts.map +1 -1
- package/dist/sharedTreeAttributes.js +3 -0
- package/dist/sharedTreeAttributes.js.map +1 -1
- package/dist/simple-tree/api/index.d.ts +1 -0
- package/dist/simple-tree/api/index.d.ts.map +1 -1
- package/dist/simple-tree/api/index.js.map +1 -1
- package/dist/simple-tree/api/schemaFactory.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFactory.js.map +1 -1
- package/dist/simple-tree/api/schemaFactoryAlpha.d.ts +2 -2
- package/dist/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
- package/dist/simple-tree/api/storedSchema.d.ts.map +1 -1
- package/dist/simple-tree/api/storedSchema.js +6 -6
- package/dist/simple-tree/api/storedSchema.js.map +1 -1
- package/dist/simple-tree/api/tree.d.ts +7 -19
- package/dist/simple-tree/api/tree.d.ts.map +1 -1
- package/dist/simple-tree/api/tree.js.map +1 -1
- package/dist/simple-tree/api/treeAlpha.d.ts +69 -0
- package/dist/simple-tree/api/treeAlpha.d.ts.map +1 -0
- package/dist/simple-tree/api/treeAlpha.js +7 -0
- package/dist/simple-tree/api/treeAlpha.js.map +1 -0
- package/dist/simple-tree/api/treeBeta.d.ts +1 -1
- package/dist/simple-tree/api/treeBeta.js.map +1 -1
- package/dist/simple-tree/api/treeChangeEvents.d.ts +3 -0
- package/dist/simple-tree/api/treeChangeEvents.d.ts.map +1 -1
- package/dist/simple-tree/api/treeChangeEvents.js.map +1 -1
- package/dist/simple-tree/api/treeNodeApi.d.ts +49 -0
- package/dist/simple-tree/api/treeNodeApi.d.ts.map +1 -1
- package/dist/simple-tree/api/treeNodeApi.js +41 -2
- package/dist/simple-tree/api/treeNodeApi.js.map +1 -1
- package/dist/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
- package/dist/simple-tree/core/treeNodeKernel.js +45 -8
- package/dist/simple-tree/core/treeNodeKernel.js.map +1 -1
- package/dist/simple-tree/core/unhydratedFlexTree.d.ts.map +1 -1
- package/dist/simple-tree/core/unhydratedFlexTree.js +5 -1
- package/dist/simple-tree/core/unhydratedFlexTree.js.map +1 -1
- package/dist/simple-tree/index.d.ts +2 -2
- package/dist/simple-tree/index.d.ts.map +1 -1
- package/dist/simple-tree/index.js.map +1 -1
- package/dist/simple-tree/node-kinds/array/arrayNode.d.ts +16 -0
- package/dist/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/array/arrayNode.js +23 -0
- package/dist/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
- package/dist/simple-tree/node-kinds/array/arrayNodeTypes.d.ts +10 -1
- package/dist/simple-tree/node-kinds/array/arrayNodeTypes.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/array/arrayNodeTypes.js.map +1 -1
- package/dist/simple-tree/node-kinds/array/index.d.ts +2 -2
- package/dist/simple-tree/node-kinds/array/index.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/array/index.js.map +1 -1
- package/dist/simple-tree/node-kinds/index.d.ts +1 -1
- package/dist/simple-tree/node-kinds/index.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/index.js.map +1 -1
- package/dist/text/textDomainFormatted.d.ts +319 -9
- package/dist/text/textDomainFormatted.d.ts.map +1 -1
- package/dist/text/textDomainFormatted.js +100 -25
- package/dist/text/textDomainFormatted.js.map +1 -1
- package/dist/treeFactory.d.ts.map +1 -1
- package/dist/treeFactory.js +5 -2
- package/dist/treeFactory.js.map +1 -1
- package/dist/util/referenceCounting.d.ts.map +1 -1
- package/dist/util/referenceCounting.js +0 -1
- package/dist/util/referenceCounting.js.map +1 -1
- package/legacy.d.ts +2 -3
- package/lib/api.d.ts +6 -1
- package/lib/api.d.ts.map +1 -1
- package/lib/api.js.map +1 -1
- package/lib/codec/codec.d.ts +28 -2
- package/lib/codec/codec.d.ts.map +1 -1
- package/lib/codec/codec.js +1 -0
- package/lib/codec/codec.js.map +1 -1
- package/lib/codec/index.d.ts +2 -2
- package/lib/codec/index.d.ts.map +1 -1
- package/lib/codec/index.js +1 -1
- package/lib/codec/index.js.map +1 -1
- package/lib/codec/versioned/codec.d.ts +18 -36
- package/lib/codec/versioned/codec.d.ts.map +1 -1
- package/lib/codec/versioned/codec.js +45 -56
- package/lib/codec/versioned/codec.js.map +1 -1
- package/lib/codec/versioned/index.d.ts +1 -1
- package/lib/codec/versioned/index.d.ts.map +1 -1
- package/lib/codec/versioned/index.js +1 -1
- package/lib/codec/versioned/index.js.map +1 -1
- package/lib/core/forest/forest.d.ts +5 -2
- package/lib/core/forest/forest.d.ts.map +1 -1
- package/lib/core/forest/forest.js.map +1 -1
- package/lib/core/index.d.ts +1 -1
- package/lib/core/index.d.ts.map +1 -1
- package/lib/core/index.js +1 -1
- package/lib/core/index.js.map +1 -1
- package/lib/core/rebase/changeRebaser.d.ts +8 -1
- package/lib/core/rebase/changeRebaser.d.ts.map +1 -1
- package/lib/core/rebase/changeRebaser.js.map +1 -1
- package/lib/core/rebase/revisionTagCodec.d.ts +4 -3
- package/lib/core/rebase/revisionTagCodec.d.ts.map +1 -1
- package/lib/core/rebase/revisionTagCodec.js +2 -0
- package/lib/core/rebase/revisionTagCodec.js.map +1 -1
- package/lib/core/rebase/utils.d.ts +2 -2
- package/lib/core/rebase/utils.d.ts.map +1 -1
- package/lib/core/rebase/utils.js +4 -4
- package/lib/core/rebase/utils.js.map +1 -1
- package/lib/core/schema-stored/formatV2.d.ts +1 -1
- package/lib/core/schema-stored/formatV2.js +1 -1
- package/lib/core/schema-stored/formatV2.js.map +1 -1
- package/lib/core/tree/anchorSet.d.ts +8 -0
- package/lib/core/tree/anchorSet.d.ts.map +1 -1
- package/lib/core/tree/anchorSet.js +42 -7
- package/lib/core/tree/anchorSet.js.map +1 -1
- package/lib/core/tree/cursor.d.ts +25 -1
- package/lib/core/tree/cursor.d.ts.map +1 -1
- package/lib/core/tree/cursor.js +43 -0
- package/lib/core/tree/cursor.js.map +1 -1
- package/lib/core/tree/deltaUtil.d.ts +13 -1
- package/lib/core/tree/deltaUtil.d.ts.map +1 -1
- package/lib/core/tree/deltaUtil.js +31 -0
- package/lib/core/tree/deltaUtil.js.map +1 -1
- package/lib/core/tree/detachedFieldIndexCodecs.d.ts +5 -5
- package/lib/core/tree/detachedFieldIndexCodecs.d.ts.map +1 -1
- package/lib/core/tree/detachedFieldIndexCodecs.js.map +1 -1
- package/lib/core/tree/index.d.ts +2 -2
- package/lib/core/tree/index.d.ts.map +1 -1
- package/lib/core/tree/index.js +2 -2
- package/lib/core/tree/index.js.map +1 -1
- package/lib/core/tree/visitDelta.d.ts +11 -0
- package/lib/core/tree/visitDelta.d.ts.map +1 -1
- package/lib/core/tree/visitDelta.js +1 -1
- package/lib/core/tree/visitDelta.js.map +1 -1
- package/lib/core/tree/visitorUtils.d.ts.map +1 -1
- package/lib/core/tree/visitorUtils.js +5 -0
- package/lib/core/tree/visitorUtils.js.map +1 -1
- package/lib/entrypoints/alpha.d.ts +1 -1
- package/lib/entrypoints/alpha.d.ts.map +1 -1
- package/lib/entrypoints/alpha.js +2 -2
- package/lib/entrypoints/alpha.js.map +1 -1
- package/lib/entrypoints/beta.js +1 -1
- package/lib/entrypoints/beta.js.map +1 -1
- package/lib/entrypoints/legacy.d.ts +1 -1
- package/lib/entrypoints/legacy.d.ts.map +1 -1
- package/lib/entrypoints/legacy.js +1 -1
- package/lib/entrypoints/legacy.js.map +1 -1
- package/lib/entrypoints/public.js +1 -1
- package/lib/entrypoints/public.js.map +1 -1
- package/lib/feature-libraries/changeAtomIdCodec.d.ts +4 -3
- package/lib/feature-libraries/changeAtomIdCodec.d.ts.map +1 -1
- package/lib/feature-libraries/changeAtomIdCodec.js +2 -0
- package/lib/feature-libraries/changeAtomIdCodec.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/chunkedForest.d.ts +2 -1
- package/lib/feature-libraries/chunked-forest/chunkedForest.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/chunkedForest.js +2 -2
- package/lib/feature-libraries/chunked-forest/chunkedForest.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts +4 -4
- package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.js +4 -4
- package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.d.ts +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts +1 -2
- package/lib/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/codecs.d.ts +4 -4
- package/lib/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/codecs.js +1 -1
- package/lib/feature-libraries/chunked-forest/codec/codecs.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.d.ts +12 -12
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js +1 -1
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/{formatGeneric.d.ts → format/formatGeneric.d.ts} +1 -1
- package/lib/feature-libraries/chunked-forest/codec/format/formatGeneric.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/format/formatGeneric.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/format/formatV1.d.ts +187 -0
- package/lib/feature-libraries/chunked-forest/codec/format/formatV1.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/format/formatV1.js +112 -0
- package/lib/feature-libraries/chunked-forest/codec/format/formatV1.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/format/formatV2.d.ts +33 -0
- package/lib/feature-libraries/chunked-forest/codec/format/formatV2.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/format/formatV2.js +13 -0
- package/lib/feature-libraries/chunked-forest/codec/format/formatV2.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/format/index.d.ts +10 -0
- package/lib/feature-libraries/chunked-forest/codec/format/index.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/format/index.js +8 -0
- package/lib/feature-libraries/chunked-forest/codec/format/index.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/format/versions.d.ts +93 -0
- package/lib/feature-libraries/chunked-forest/codec/format/versions.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/format/versions.js +26 -0
- package/lib/feature-libraries/chunked-forest/codec/format/versions.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/index.d.ts +2 -2
- package/lib/feature-libraries/chunked-forest/codec/index.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/index.js +1 -1
- package/lib/feature-libraries/chunked-forest/codec/index.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/nodeEncoder.d.ts +7 -7
- package/lib/feature-libraries/chunked-forest/codec/nodeEncoder.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/nodeEncoder.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncode.d.ts +1 -1
- package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncode.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncode.js +4 -2
- package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncode.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts +1 -1
- package/lib/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/uncompressedEncode.js +1 -1
- package/lib/feature-libraries/chunked-forest/codec/uncompressedEncode.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/index.d.ts +1 -1
- package/lib/feature-libraries/chunked-forest/index.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/index.js.map +1 -1
- package/lib/feature-libraries/cursorComparator.d.ts +23 -0
- package/lib/feature-libraries/cursorComparator.d.ts.map +1 -0
- package/lib/feature-libraries/cursorComparator.js +61 -0
- package/lib/feature-libraries/cursorComparator.js.map +1 -0
- package/lib/feature-libraries/forest-summary/codec.d.ts +1 -1
- package/lib/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts +3 -3
- package/lib/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts.map +1 -1
- package/lib/feature-libraries/forest-summary/incrementalSummaryBuilder.js.map +1 -1
- package/lib/feature-libraries/index.d.ts +3 -2
- package/lib/feature-libraries/index.d.ts.map +1 -1
- package/lib/feature-libraries/index.js +3 -2
- package/lib/feature-libraries/index.js.map +1 -1
- package/lib/feature-libraries/indexing/anchorTreeIndex.d.ts +2 -0
- package/lib/feature-libraries/indexing/anchorTreeIndex.d.ts.map +1 -1
- package/lib/feature-libraries/indexing/anchorTreeIndex.js +12 -7
- package/lib/feature-libraries/indexing/anchorTreeIndex.js.map +1 -1
- package/lib/feature-libraries/mitigatedChangeFamily.d.ts.map +1 -1
- package/lib/feature-libraries/mitigatedChangeFamily.js +2 -2
- package/lib/feature-libraries/mitigatedChangeFamily.js.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts +3 -3
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKind.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKind.js +0 -1
- package/lib/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecV1.d.ts +10 -10
- package/lib/feature-libraries/modular-schema/modularChangeCodecV1.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecV1.js +2 -4
- package/lib/feature-libraries/modular-schema/modularChangeCodecV1.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecV2.d.ts +3 -3
- package/lib/feature-libraries/modular-schema/modularChangeCodecV2.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecV2.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.d.ts +3 -3
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js +4 -3
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/lib/feature-libraries/object-forest/objectForest.d.ts +1 -1
- package/lib/feature-libraries/object-forest/objectForest.d.ts.map +1 -1
- package/lib/feature-libraries/object-forest/objectForest.js +2 -2
- package/lib/feature-libraries/object-forest/objectForest.js.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecV2.d.ts +4 -4
- package/lib/feature-libraries/optional-field/optionalFieldCodecV2.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecV2.js +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecV2.js.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecs.d.ts +3 -3
- package/lib/feature-libraries/optional-field/optionalFieldCodecs.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecs.js.map +1 -1
- package/lib/feature-libraries/schema-edits/index.d.ts +1 -1
- package/lib/feature-libraries/schema-edits/index.d.ts.map +1 -1
- package/lib/feature-libraries/schema-edits/index.js +1 -1
- package/lib/feature-libraries/schema-edits/index.js.map +1 -1
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.d.ts +6 -15
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.d.ts.map +1 -1
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.js +6 -50
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.js.map +1 -1
- package/lib/feature-libraries/schema-index/codec.d.ts +3 -16
- package/lib/feature-libraries/schema-index/codec.d.ts.map +1 -1
- package/lib/feature-libraries/schema-index/codec.js +0 -19
- package/lib/feature-libraries/schema-index/codec.js.map +1 -1
- package/lib/feature-libraries/schema-index/formatV2.d.ts +1 -1
- package/lib/feature-libraries/schema-index/formatV2.js +1 -1
- package/lib/feature-libraries/schema-index/formatV2.js.map +1 -1
- package/lib/feature-libraries/schema-index/index.d.ts +1 -1
- package/lib/feature-libraries/schema-index/index.d.ts.map +1 -1
- package/lib/feature-libraries/schema-index/index.js +1 -1
- package/lib/feature-libraries/schema-index/index.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts +4 -4
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.d.ts +3 -3
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.js +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts +3 -3
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.js.map +1 -1
- package/lib/index.d.ts +2 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/packageVersion.d.ts +1 -1
- package/lib/packageVersion.js +1 -1
- package/lib/packageVersion.js.map +1 -1
- package/lib/shared-tree/independentView.d.ts +1 -1
- package/lib/shared-tree/independentView.d.ts.map +1 -1
- package/lib/shared-tree/independentView.js +4 -11
- package/lib/shared-tree/independentView.js.map +1 -1
- package/lib/shared-tree/index.d.ts +2 -2
- package/lib/shared-tree/index.d.ts.map +1 -1
- package/lib/shared-tree/index.js +1 -1
- package/lib/shared-tree/index.js.map +1 -1
- package/lib/shared-tree/schematizingTreeView.d.ts +2 -36
- package/lib/shared-tree/schematizingTreeView.d.ts.map +1 -1
- package/lib/shared-tree/schematizingTreeView.js +17 -116
- package/lib/shared-tree/schematizingTreeView.js.map +1 -1
- package/lib/shared-tree/sharedTree.d.ts +3 -22
- package/lib/shared-tree/sharedTree.d.ts.map +1 -1
- package/lib/shared-tree/sharedTree.js +11 -27
- package/lib/shared-tree/sharedTree.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeCodecs.d.ts +3 -2
- package/lib/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeCodecs.js +19 -12
- package/lib/shared-tree/sharedTreeChangeCodecs.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeEnricher.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeEnricher.js +2 -2
- package/lib/shared-tree/sharedTreeChangeEnricher.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFamily.d.ts +1 -1
- package/lib/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFamily.js +2 -2
- package/lib/shared-tree/sharedTreeChangeFamily.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFormat.d.ts +8 -7
- package/lib/shared-tree/sharedTreeChangeFormat.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFormat.js +11 -5
- package/lib/shared-tree/sharedTreeChangeFormat.js.map +1 -1
- package/lib/shared-tree/tree.d.ts.map +1 -1
- package/lib/shared-tree/tree.js +2 -1
- package/lib/shared-tree/tree.js.map +1 -1
- package/lib/shared-tree/treeAlpha.d.ts +13 -1
- package/lib/shared-tree/treeAlpha.d.ts.map +1 -1
- package/lib/shared-tree/treeAlpha.js +3 -0
- package/lib/shared-tree/treeAlpha.js.map +1 -1
- package/lib/shared-tree/treeCheckout.d.ts +34 -69
- package/lib/shared-tree/treeCheckout.d.ts.map +1 -1
- package/lib/shared-tree/treeCheckout.js +889 -683
- package/lib/shared-tree/treeCheckout.js.map +1 -1
- package/lib/shared-tree/unhydratedTreeContext.js +1 -1
- package/lib/shared-tree/unhydratedTreeContext.js.map +1 -1
- package/lib/shared-tree-core/editManagerCodecs.d.ts +23 -12
- package/lib/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerCodecs.js +41 -65
- package/lib/shared-tree-core/editManagerCodecs.js.map +1 -1
- package/lib/shared-tree-core/editManagerCodecsCommons.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerCodecsCommons.js +0 -1
- package/lib/shared-tree-core/editManagerCodecsCommons.js.map +1 -1
- package/lib/shared-tree-core/editManagerCodecsV1toV4.d.ts +10 -2
- package/lib/shared-tree-core/editManagerCodecsV1toV4.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerCodecsV1toV4.js +16 -11
- package/lib/shared-tree-core/editManagerCodecsV1toV4.js.map +1 -1
- package/lib/shared-tree-core/editManagerCodecsVSharedBranches.d.ts +2 -2
- package/lib/shared-tree-core/editManagerCodecsVSharedBranches.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerCodecsVSharedBranches.js +5 -8
- package/lib/shared-tree-core/editManagerCodecsVSharedBranches.js.map +1 -1
- package/lib/shared-tree-core/index.d.ts +3 -3
- package/lib/shared-tree-core/index.d.ts.map +1 -1
- package/lib/shared-tree-core/index.js +3 -3
- package/lib/shared-tree-core/index.js.map +1 -1
- package/lib/shared-tree-core/messageCodecV1ToV4.d.ts +2 -3
- package/lib/shared-tree-core/messageCodecV1ToV4.d.ts.map +1 -1
- package/lib/shared-tree-core/messageCodecV1ToV4.js +8 -8
- package/lib/shared-tree-core/messageCodecV1ToV4.js.map +1 -1
- package/lib/shared-tree-core/messageCodecVSharedBranches.d.ts +2 -3
- package/lib/shared-tree-core/messageCodecVSharedBranches.d.ts.map +1 -1
- package/lib/shared-tree-core/messageCodecVSharedBranches.js +5 -4
- package/lib/shared-tree-core/messageCodecVSharedBranches.js.map +1 -1
- package/lib/shared-tree-core/messageCodecs.d.ts +15 -14
- package/lib/shared-tree-core/messageCodecs.d.ts.map +1 -1
- package/lib/shared-tree-core/messageCodecs.js +38 -71
- package/lib/shared-tree-core/messageCodecs.js.map +1 -1
- package/lib/shared-tree-core/messageFormat.d.ts +0 -1
- package/lib/shared-tree-core/messageFormat.d.ts.map +1 -1
- package/lib/shared-tree-core/messageFormat.js +0 -1
- package/lib/shared-tree-core/messageFormat.js.map +1 -1
- package/lib/shared-tree-core/sharedTreeCore.d.ts +1 -3
- package/lib/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
- package/lib/shared-tree-core/sharedTreeCore.js +14 -4
- package/lib/shared-tree-core/sharedTreeCore.js.map +1 -1
- package/lib/sharedTreeAttributes.d.ts.map +1 -1
- package/lib/sharedTreeAttributes.js +3 -0
- package/lib/sharedTreeAttributes.js.map +1 -1
- package/lib/simple-tree/api/index.d.ts +1 -0
- package/lib/simple-tree/api/index.d.ts.map +1 -1
- package/lib/simple-tree/api/index.js.map +1 -1
- package/lib/simple-tree/api/schemaFactory.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFactory.js.map +1 -1
- package/lib/simple-tree/api/schemaFactoryAlpha.d.ts +2 -2
- package/lib/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
- package/lib/simple-tree/api/storedSchema.d.ts.map +1 -1
- package/lib/simple-tree/api/storedSchema.js +7 -7
- package/lib/simple-tree/api/storedSchema.js.map +1 -1
- package/lib/simple-tree/api/tree.d.ts +7 -19
- package/lib/simple-tree/api/tree.d.ts.map +1 -1
- package/lib/simple-tree/api/tree.js.map +1 -1
- package/lib/simple-tree/api/treeAlpha.d.ts +69 -0
- package/lib/simple-tree/api/treeAlpha.d.ts.map +1 -0
- package/lib/simple-tree/api/treeAlpha.js +6 -0
- package/lib/simple-tree/api/treeAlpha.js.map +1 -0
- package/lib/simple-tree/api/treeBeta.d.ts +1 -1
- package/lib/simple-tree/api/treeBeta.js.map +1 -1
- package/lib/simple-tree/api/treeChangeEvents.d.ts +3 -0
- package/lib/simple-tree/api/treeChangeEvents.d.ts.map +1 -1
- package/lib/simple-tree/api/treeChangeEvents.js.map +1 -1
- package/lib/simple-tree/api/treeNodeApi.d.ts +49 -0
- package/lib/simple-tree/api/treeNodeApi.d.ts.map +1 -1
- package/lib/simple-tree/api/treeNodeApi.js +41 -2
- package/lib/simple-tree/api/treeNodeApi.js.map +1 -1
- package/lib/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
- package/lib/simple-tree/core/treeNodeKernel.js +45 -8
- package/lib/simple-tree/core/treeNodeKernel.js.map +1 -1
- package/lib/simple-tree/core/unhydratedFlexTree.d.ts.map +1 -1
- package/lib/simple-tree/core/unhydratedFlexTree.js +5 -1
- package/lib/simple-tree/core/unhydratedFlexTree.js.map +1 -1
- package/lib/simple-tree/index.d.ts +2 -2
- package/lib/simple-tree/index.d.ts.map +1 -1
- package/lib/simple-tree/index.js.map +1 -1
- package/lib/simple-tree/node-kinds/array/arrayNode.d.ts +16 -0
- package/lib/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/array/arrayNode.js +23 -0
- package/lib/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
- package/lib/simple-tree/node-kinds/array/arrayNodeTypes.d.ts +10 -1
- package/lib/simple-tree/node-kinds/array/arrayNodeTypes.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/array/arrayNodeTypes.js.map +1 -1
- package/lib/simple-tree/node-kinds/array/index.d.ts +2 -2
- package/lib/simple-tree/node-kinds/array/index.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/array/index.js.map +1 -1
- package/lib/simple-tree/node-kinds/index.d.ts +1 -1
- package/lib/simple-tree/node-kinds/index.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/index.js.map +1 -1
- package/lib/text/textDomainFormatted.d.ts +319 -9
- package/lib/text/textDomainFormatted.d.ts.map +1 -1
- package/lib/text/textDomainFormatted.js +103 -28
- package/lib/text/textDomainFormatted.js.map +1 -1
- package/lib/treeFactory.d.ts.map +1 -1
- package/lib/treeFactory.js +6 -3
- package/lib/treeFactory.js.map +1 -1
- package/lib/util/referenceCounting.d.ts.map +1 -1
- package/lib/util/referenceCounting.js +0 -1
- package/lib/util/referenceCounting.js.map +1 -1
- package/package.json +27 -27
- package/scripts/generate-entrypoint-sources.sh +4 -2
- package/src/api.ts +11 -0
- package/src/codec/codec.ts +32 -2
- package/src/codec/index.ts +2 -3
- package/src/codec/versioned/codec.ts +99 -109
- package/src/codec/versioned/index.ts +1 -3
- package/src/core/forest/forest.ts +5 -2
- package/src/core/index.ts +4 -0
- package/src/core/rebase/changeRebaser.ts +8 -0
- package/src/core/rebase/revisionTagCodec.ts +4 -4
- package/src/core/rebase/utils.ts +9 -2
- package/src/core/schema-stored/formatV2.ts +1 -1
- package/src/core/tree/anchorSet.ts +67 -10
- package/src/core/tree/cursor.ts +52 -1
- package/src/core/tree/deltaUtil.ts +37 -1
- package/src/core/tree/detachedFieldIndexCodecs.ts +4 -4
- package/src/core/tree/index.ts +4 -0
- package/src/core/tree/visitDelta.ts +13 -1
- package/src/core/tree/visitorUtils.ts +5 -0
- package/src/entrypoints/alpha.ts +13 -6
- package/src/entrypoints/beta.ts +2 -2
- package/src/entrypoints/legacy.ts +11 -3
- package/src/entrypoints/public.ts +1 -1
- package/src/feature-libraries/changeAtomIdCodec.ts +8 -7
- package/src/feature-libraries/chunked-forest/chunkedForest.ts +3 -2
- package/src/feature-libraries/chunked-forest/codec/chunkDecoding.ts +18 -13
- package/src/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.ts +1 -1
- package/src/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.ts +1 -2
- package/src/feature-libraries/chunked-forest/codec/codecs.ts +16 -10
- package/src/feature-libraries/chunked-forest/codec/compressedEncode.ts +16 -14
- package/src/feature-libraries/chunked-forest/codec/{formatGeneric.ts → format/formatGeneric.ts} +1 -1
- package/src/feature-libraries/chunked-forest/codec/{format.ts → format/formatV1.ts} +41 -111
- package/src/feature-libraries/chunked-forest/codec/format/formatV2.ts +31 -0
- package/src/feature-libraries/chunked-forest/codec/format/index.ts +31 -0
- package/src/feature-libraries/chunked-forest/codec/format/versions.ts +81 -0
- package/src/feature-libraries/chunked-forest/codec/index.ts +6 -2
- package/src/feature-libraries/chunked-forest/codec/nodeEncoder.ts +19 -12
- package/src/feature-libraries/chunked-forest/codec/schemaBasedEncode.ts +6 -4
- package/src/feature-libraries/chunked-forest/codec/uncompressedEncode.ts +10 -10
- package/src/feature-libraries/chunked-forest/index.ts +2 -1
- package/src/feature-libraries/cursorComparator.ts +77 -0
- package/src/feature-libraries/forest-summary/incrementalSummaryBuilder.ts +5 -5
- package/src/feature-libraries/index.ts +5 -3
- package/src/feature-libraries/indexing/anchorTreeIndex.ts +20 -10
- package/src/feature-libraries/mitigatedChangeFamily.ts +4 -1
- package/src/feature-libraries/modular-schema/fieldChangeHandler.ts +4 -5
- package/src/feature-libraries/modular-schema/genericFieldKind.ts +0 -1
- package/src/feature-libraries/modular-schema/modularChangeCodecV1.ts +19 -26
- package/src/feature-libraries/modular-schema/modularChangeCodecV2.ts +4 -4
- package/src/feature-libraries/modular-schema/modularChangeCodecs.ts +4 -5
- package/src/feature-libraries/modular-schema/modularChangeFamily.ts +6 -2
- package/src/feature-libraries/object-forest/objectForest.ts +8 -2
- package/src/feature-libraries/optional-field/optionalFieldCodecV2.ts +11 -13
- package/src/feature-libraries/optional-field/optionalFieldCodecs.ts +4 -5
- package/src/feature-libraries/schema-edits/index.ts +1 -4
- package/src/feature-libraries/schema-edits/schemaChangeCodecs.ts +10 -78
- package/src/feature-libraries/schema-index/codec.ts +0 -25
- package/src/feature-libraries/schema-index/formatV2.ts +1 -1
- package/src/feature-libraries/schema-index/index.ts +1 -4
- package/src/feature-libraries/sequence-field/sequenceFieldCodecV2.ts +6 -6
- package/src/feature-libraries/sequence-field/sequenceFieldCodecV3.ts +8 -5
- package/src/feature-libraries/sequence-field/sequenceFieldCodecs.ts +4 -5
- package/src/index.ts +10 -3
- package/src/packageVersion.ts +1 -1
- package/src/shared-tree/independentView.ts +5 -18
- package/src/shared-tree/index.ts +0 -4
- package/src/shared-tree/schematizingTreeView.ts +19 -165
- package/src/shared-tree/sharedTree.ts +16 -59
- package/src/shared-tree/sharedTreeChangeCodecs.ts +23 -29
- package/src/shared-tree/sharedTreeChangeEnricher.ts +1 -2
- package/src/shared-tree/sharedTreeChangeFamily.ts +2 -0
- package/src/shared-tree/sharedTreeChangeFormat.ts +23 -8
- package/src/shared-tree/tree.ts +2 -5
- package/src/shared-tree/treeAlpha.ts +26 -0
- package/src/shared-tree/treeCheckout.ts +275 -99
- package/src/shared-tree/unhydratedTreeContext.ts +1 -1
- package/src/shared-tree-core/editManagerCodecs.ts +99 -124
- package/src/shared-tree-core/editManagerCodecsCommons.ts +0 -1
- package/src/shared-tree-core/editManagerCodecsV1toV4.ts +54 -59
- package/src/shared-tree-core/editManagerCodecsVSharedBranches.ts +72 -95
- package/src/shared-tree-core/index.ts +4 -8
- package/src/shared-tree-core/messageCodecV1ToV4.ts +56 -71
- package/src/shared-tree-core/messageCodecVSharedBranches.ts +76 -92
- package/src/shared-tree-core/messageCodecs.ts +88 -126
- package/src/shared-tree-core/messageFormat.ts +0 -3
- package/src/shared-tree-core/sharedTreeCore.ts +14 -21
- package/src/sharedTreeAttributes.ts +3 -0
- package/src/simple-tree/api/index.ts +10 -0
- package/src/simple-tree/api/schemaFactory.ts +0 -2
- package/src/simple-tree/api/schemaFactoryAlpha.ts +13 -2
- package/src/simple-tree/api/storedSchema.ts +8 -19
- package/src/simple-tree/api/tree.ts +7 -20
- package/src/simple-tree/api/treeAlpha.ts +90 -0
- package/src/simple-tree/api/treeBeta.ts +1 -1
- package/src/simple-tree/api/treeChangeEvents.ts +3 -0
- package/src/simple-tree/api/treeNodeApi.ts +95 -3
- package/src/simple-tree/core/treeNodeKernel.ts +53 -7
- package/src/simple-tree/core/unhydratedFlexTree.ts +5 -1
- package/src/simple-tree/index.ts +10 -0
- package/src/simple-tree/node-kinds/array/arrayNode.ts +64 -0
- package/src/simple-tree/node-kinds/array/arrayNodeTypes.ts +25 -1
- package/src/simple-tree/node-kinds/array/index.ts +2 -0
- package/src/simple-tree/node-kinds/index.ts +2 -0
- package/src/text/textDomainFormatted.ts +113 -11
- package/src/treeFactory.ts +10 -5
- package/src/util/referenceCounting.ts +0 -1
- package/dist/feature-libraries/chunked-forest/codec/format.d.ts +0 -383
- package/dist/feature-libraries/chunked-forest/codec/format.d.ts.map +0 -1
- package/dist/feature-libraries/chunked-forest/codec/format.js +0 -191
- package/dist/feature-libraries/chunked-forest/codec/format.js.map +0 -1
- package/dist/feature-libraries/chunked-forest/codec/formatGeneric.d.ts.map +0 -1
- package/dist/feature-libraries/chunked-forest/codec/formatGeneric.js.map +0 -1
- package/lib/feature-libraries/chunked-forest/codec/format.d.ts +0 -383
- package/lib/feature-libraries/chunked-forest/codec/format.d.ts.map +0 -1
- package/lib/feature-libraries/chunked-forest/codec/format.js +0 -188
- package/lib/feature-libraries/chunked-forest/codec/format.js.map +0 -1
- package/lib/feature-libraries/chunked-forest/codec/formatGeneric.d.ts.map +0 -1
- package/lib/feature-libraries/chunked-forest/codec/formatGeneric.js.map +0 -1
- /package/dist/feature-libraries/chunked-forest/codec/{formatGeneric.js → format/formatGeneric.js} +0 -0
- /package/lib/feature-libraries/chunked-forest/codec/{formatGeneric.js → format/formatGeneric.js} +0 -0
package/src/core/tree/cursor.ts
CHANGED
|
@@ -134,7 +134,7 @@ export interface ITreeCursor {
|
|
|
134
134
|
getFieldKey(): FieldKey;
|
|
135
135
|
|
|
136
136
|
/**
|
|
137
|
-
*
|
|
137
|
+
* Returns the number of immediate children in the current field.
|
|
138
138
|
*
|
|
139
139
|
* Allowed when `mode` is `Fields`, and not `pending`.
|
|
140
140
|
*/
|
|
@@ -334,6 +334,8 @@ export interface ITreeCursorSynchronous extends ITreeCursor {
|
|
|
334
334
|
}
|
|
335
335
|
|
|
336
336
|
/**
|
|
337
|
+
* Applies a mapping function to each field of the current node, returning the results as an array.
|
|
338
|
+
*
|
|
337
339
|
* @param cursor - tree whose fields will be visited.
|
|
338
340
|
* @param f - builds output from field, which will be selected in cursor when cursor is provided.
|
|
339
341
|
* If `f` moves cursor, it must put it back to where it was at the beginning of `f` before returning.
|
|
@@ -353,6 +355,8 @@ export function mapCursorFields<T, TCursor extends ITreeCursor = ITreeCursor>(
|
|
|
353
355
|
}
|
|
354
356
|
|
|
355
357
|
/**
|
|
358
|
+
* Iterates over each field of the current node, invoking a callback for each.
|
|
359
|
+
*
|
|
356
360
|
* @param cursor - cursor at a node whose fields will be visited.
|
|
357
361
|
* @param f - For on each field.
|
|
358
362
|
* If `f` moves cursor, it must put it back to where it was at the beginning of `f` before returning.
|
|
@@ -368,6 +372,8 @@ export function forEachField<TCursor extends ITreeCursor = ITreeCursor>(
|
|
|
368
372
|
}
|
|
369
373
|
|
|
370
374
|
/**
|
|
375
|
+
* Applies a mapping function to each node of the current field, returning the results as an array.
|
|
376
|
+
*
|
|
371
377
|
* @param cursor - tree whose field will be visited.
|
|
372
378
|
* @param f - builds output from field member, which will be selected in cursor when cursor is provided.
|
|
373
379
|
* If `f` moves cursor, it must put it back to where it was at the beginning of `f` before returning.
|
|
@@ -386,6 +392,8 @@ export function mapCursorField<T, TCursor extends ITreeCursor = ITreeCursor>(
|
|
|
386
392
|
}
|
|
387
393
|
|
|
388
394
|
/**
|
|
395
|
+
* Lazily iterates over each node in the current field, yielding the result of applying a mapping function to each.
|
|
396
|
+
*
|
|
389
397
|
* @param cursor - The tree whose field will be visited.
|
|
390
398
|
* @param f - Builds output from field member, which will be selected in cursor when cursor is provided.
|
|
391
399
|
* If `f` moves cursor, it must put it back to where it was at the beginning of `f` before returning.
|
|
@@ -403,6 +411,8 @@ export function* iterateCursorField<T, TCursor extends ITreeCursor = ITreeCursor
|
|
|
403
411
|
}
|
|
404
412
|
|
|
405
413
|
/**
|
|
414
|
+
* Iterates over each node in the current field, invoking a callback for each.
|
|
415
|
+
*
|
|
406
416
|
* @param cursor - cursor at a field whose nodes will be visited.
|
|
407
417
|
* @param f - For on each node.
|
|
408
418
|
* If `f` moves cursor, it must put it back to where it was at the beginning of `f` before returning.
|
|
@@ -418,6 +428,47 @@ export function forEachNode<TCursor extends ITreeCursor = ITreeCursor>(
|
|
|
418
428
|
}
|
|
419
429
|
|
|
420
430
|
/**
|
|
431
|
+
* Iterates over a subrange of nodes in the current field, invoking a callback for each.
|
|
432
|
+
* See {@link forEachNode} for a version that visits all nodes in the field.
|
|
433
|
+
*
|
|
434
|
+
* @param cursor - cursor at a field whose nodes will be visited.
|
|
435
|
+
* @param startIndex - index of first node to visit. Must be non-negative.
|
|
436
|
+
* @param endIndex - index of first node to NOT visit. Must be greater than or equal to `startIndex`.
|
|
437
|
+
* @param f - For on each node.
|
|
438
|
+
* If `f` moves cursor, it must put it back to where it was at the beginning of `f` before returning.
|
|
439
|
+
*/
|
|
440
|
+
export function forEachNodeSubsequence<TCursor extends ITreeCursor = ITreeCursor>(
|
|
441
|
+
cursor: TCursor,
|
|
442
|
+
startIndex: number,
|
|
443
|
+
endIndex: number,
|
|
444
|
+
f: (cursor: TCursor) => void,
|
|
445
|
+
): void {
|
|
446
|
+
assert(cursor.mode === CursorLocationType.Fields, 0xce5 /* should be in fields */);
|
|
447
|
+
|
|
448
|
+
assert(startIndex >= 0, 0xce6 /* invalid startIndex */);
|
|
449
|
+
assert(endIndex >= startIndex, 0xce7 /* invalid endIndex */);
|
|
450
|
+
const outputLength = endIndex - startIndex;
|
|
451
|
+
if (outputLength === 0) {
|
|
452
|
+
// Avoids out of bounds index on cursor.enterNode when requesting 0 length subarray at end of array.
|
|
453
|
+
return;
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
cursor.enterNode(startIndex);
|
|
457
|
+
for (let i = 0; i < outputLength; i++) {
|
|
458
|
+
f(cursor);
|
|
459
|
+
const hasNext = cursor.nextNode();
|
|
460
|
+
if (!hasNext) {
|
|
461
|
+
assert(i === outputLength - 1, 0xce8 /* requested endIndex is out of bounds */);
|
|
462
|
+
return;
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
cursor.exitNode();
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
/**
|
|
469
|
+
* Deeply iterates over each node in the current subtree (rooted at a node or field),
|
|
470
|
+
* invoking a callback for each.
|
|
471
|
+
*
|
|
421
472
|
* @param cursor - cursor at a field or node.
|
|
422
473
|
* @param f - Function to invoke for each node.
|
|
423
474
|
* If `f` moves the cursor, it must put it back to where it was at the beginning of `f` before returning.
|
|
@@ -7,7 +7,7 @@ import type { Mutable } from "../../util/index.js";
|
|
|
7
7
|
import type { FieldKey } from "../schema-stored/index.js";
|
|
8
8
|
|
|
9
9
|
import type { TreeChunk } from "./chunk.js";
|
|
10
|
-
import type { DetachedNodeId, FieldChanges, Root } from "./delta.js";
|
|
10
|
+
import type { DetachedNodeId, FieldChanges, FieldMap, Root } from "./delta.js";
|
|
11
11
|
import { rootFieldKey } from "./types.js";
|
|
12
12
|
|
|
13
13
|
export const emptyDelta: Root = {};
|
|
@@ -58,3 +58,39 @@ export function offsetDetachId(
|
|
|
58
58
|
export function areDetachedNodeIdsEqual(a: DetachedNodeId, b: DetachedNodeId): boolean {
|
|
59
59
|
return a.major === b.major && a.minor === b.minor;
|
|
60
60
|
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Returns true if a delta field map contains any changes that would be visible in the document (eg, an insert, move, edit)
|
|
64
|
+
* @param fields - Delta FieldMap to check for visible changes
|
|
65
|
+
* @returns True if change map contains any changes that would be visible in the document, false otherwise
|
|
66
|
+
*/
|
|
67
|
+
export function deltaFieldMapHasVisibleChanges(fields: FieldMap | undefined): boolean {
|
|
68
|
+
if (fields === undefined || fields.size === 0) {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
for (const [, fieldChanges] of fields) {
|
|
72
|
+
if (deltaFieldChangesHaveVisibleChanges(fieldChanges)) {
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Returns true if the given field changes contains any changes that would be visible in the document (eg, an insert, move, edit)
|
|
81
|
+
* @param fieldChanges - Field changes to check for visible changes
|
|
82
|
+
* @returns True if the field changes contain any changes that would be visible in the document, false otherwise
|
|
83
|
+
*/
|
|
84
|
+
export function deltaFieldChangesHaveVisibleChanges(fieldChanges: FieldChanges): boolean {
|
|
85
|
+
for (const mark of fieldChanges.marks) {
|
|
86
|
+
if (
|
|
87
|
+
mark.attach !== undefined ||
|
|
88
|
+
mark.detach !== undefined ||
|
|
89
|
+
deltaFieldMapHasVisibleChanges(mark.fields)
|
|
90
|
+
) {
|
|
91
|
+
return true;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
@@ -8,8 +8,8 @@ import { lowestMinVersionForCollab } from "@fluidframework/runtime-utils/interna
|
|
|
8
8
|
|
|
9
9
|
import {
|
|
10
10
|
ClientVersionDispatchingCodecBuilder,
|
|
11
|
-
type CodecWriteOptions,
|
|
12
11
|
FluidClientVersion,
|
|
12
|
+
type ICodecOptions,
|
|
13
13
|
} from "../../codec/index.js";
|
|
14
14
|
import type { RevisionTagCodec } from "../rebase/index.js";
|
|
15
15
|
|
|
@@ -17,9 +17,9 @@ import { makeDetachedNodeToFieldCodecV1 } from "./detachedFieldIndexCodecV1.js";
|
|
|
17
17
|
import { makeDetachedNodeToFieldCodecV2 } from "./detachedFieldIndexCodecV2.js";
|
|
18
18
|
import { DetachedFieldIndexFormatVersion } from "./detachedFieldIndexFormatCommon.js";
|
|
19
19
|
|
|
20
|
-
type BuildData =
|
|
21
|
-
revisionTagCodec: RevisionTagCodec;
|
|
22
|
-
idCompressor: IIdCompressor;
|
|
20
|
+
type BuildData = ICodecOptions & {
|
|
21
|
+
readonly revisionTagCodec: RevisionTagCodec;
|
|
22
|
+
readonly idCompressor: IIdCompressor;
|
|
23
23
|
};
|
|
24
24
|
|
|
25
25
|
export const detachedFieldIndexCodecBuilder = ClientVersionDispatchingCodecBuilder.build(
|
package/src/core/tree/index.ts
CHANGED
|
@@ -29,6 +29,7 @@ export {
|
|
|
29
29
|
inCursorNode,
|
|
30
30
|
CursorMarker,
|
|
31
31
|
isCursor,
|
|
32
|
+
forEachNodeSubsequence,
|
|
32
33
|
} from "./cursor.js";
|
|
33
34
|
export type {
|
|
34
35
|
ProtoNodes,
|
|
@@ -107,6 +108,9 @@ export {
|
|
|
107
108
|
makeDetachedNodeId,
|
|
108
109
|
offsetDetachId,
|
|
109
110
|
emptyDelta,
|
|
111
|
+
areDetachedNodeIdsEqual,
|
|
112
|
+
deltaFieldMapHasVisibleChanges,
|
|
113
|
+
deltaFieldChangesHaveVisibleChanges,
|
|
110
114
|
} from "./deltaUtil.js";
|
|
111
115
|
|
|
112
116
|
export {
|
|
@@ -206,7 +206,6 @@ function transferRoots(
|
|
|
206
206
|
delayed.push({ oldId, newId });
|
|
207
207
|
continue;
|
|
208
208
|
}
|
|
209
|
-
// eslint-disable-next-line @typescript-eslint/strict-boolean-expressions -- intentional behavior
|
|
210
209
|
newRootId = detachedFieldIndex.createEntry(newId, revision);
|
|
211
210
|
const fields = mapToUpdate.get(oldRootId);
|
|
212
211
|
if (fields !== undefined) {
|
|
@@ -318,6 +317,18 @@ export interface DeltaVisitor {
|
|
|
318
317
|
* @remarks This should only be called when the "current location" is a Field.
|
|
319
318
|
*/
|
|
320
319
|
exitField(key: FieldKey): void;
|
|
320
|
+
|
|
321
|
+
/**
|
|
322
|
+
* Optional hook for obtaining the complete ordered change description for a field, suitable
|
|
323
|
+
* for producing positional deltas for external representations (e.g. a text editor or virtual
|
|
324
|
+
* list) without needing to diff the old and new states.
|
|
325
|
+
* @remarks
|
|
326
|
+
* Called once per field per delta, during the first (detach) pass only, after `enterField` but
|
|
327
|
+
* before any `attach`, `detach`, or `enterNode` calls for the field. Firing only during the
|
|
328
|
+
* detach pass ensures marks are always relative to the original array positions rather than an
|
|
329
|
+
* intermediate partially-transformed state.
|
|
330
|
+
*/
|
|
331
|
+
fieldMarks?(marks: readonly Delta.Mark[]): void;
|
|
321
332
|
}
|
|
322
333
|
|
|
323
334
|
interface PassConfig {
|
|
@@ -401,6 +412,7 @@ function detachPass(
|
|
|
401
412
|
visitor: DeltaVisitor,
|
|
402
413
|
config: PassConfig,
|
|
403
414
|
): void {
|
|
415
|
+
visitor.fieldMarks?.(fieldChanges.marks);
|
|
404
416
|
let index = 0;
|
|
405
417
|
for (const mark of fieldChanges.marks) {
|
|
406
418
|
if (mark.fields !== undefined) {
|
package/src/entrypoints/alpha.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
/*
|
|
7
7
|
* THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
|
8
|
-
* Generated by "
|
|
8
|
+
* Generated by "generate:entrypoint-sources".
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
export {
|
|
@@ -102,6 +102,10 @@ export {
|
|
|
102
102
|
AnnotatedAllowedTypeUnsafe,
|
|
103
103
|
AnnotatedAllowedTypes,
|
|
104
104
|
AnnotatedAllowedTypesUnsafe,
|
|
105
|
+
ArrayNodeDeltaOp,
|
|
106
|
+
ArrayNodeInsertOp,
|
|
107
|
+
ArrayNodeRemoveOp,
|
|
108
|
+
ArrayNodeRetainOp,
|
|
105
109
|
CodecWriteOptionsBeta,
|
|
106
110
|
ConciseTree,
|
|
107
111
|
ExtensibleUnionNode,
|
|
@@ -115,7 +119,10 @@ export {
|
|
|
115
119
|
JsonCompatible,
|
|
116
120
|
JsonCompatibleObject,
|
|
117
121
|
KeyEncodingOptions,
|
|
118
|
-
NodeChangedData,
|
|
122
|
+
NodeChangedData,
|
|
123
|
+
NodeChangedDataAlpha,
|
|
124
|
+
NodeChangedDataDelta,
|
|
125
|
+
NodeChangedDataProperties,
|
|
119
126
|
ObjectSchemaOptions,
|
|
120
127
|
PopUnion,
|
|
121
128
|
RecordNodeInsertableData,
|
|
@@ -129,7 +136,8 @@ export {
|
|
|
129
136
|
TableSchema,
|
|
130
137
|
TreeBeta,
|
|
131
138
|
TreeBranch,
|
|
132
|
-
TreeChangeEventsBeta,
|
|
139
|
+
TreeChangeEventsBeta,
|
|
140
|
+
TreeChangeEventsAlpha,
|
|
133
141
|
TreeEncodingOptions,
|
|
134
142
|
TreeRecordNode,
|
|
135
143
|
TreeRecordNodeUnsafe,
|
|
@@ -150,11 +158,11 @@ export {
|
|
|
150
158
|
// #region @alpha APIs
|
|
151
159
|
AllowedTypesFullUnsafe,
|
|
152
160
|
ArrayNodeCustomizableSchema,
|
|
161
|
+
ArrayNodeCustomizableSchemaAlpha,
|
|
153
162
|
ArrayNodeCustomizableSchemaUnsafe,
|
|
154
163
|
ArrayNodePojoEmulationSchema,
|
|
155
164
|
ArrayNodeSchema,
|
|
156
165
|
ArrayPlaceAnchor,
|
|
157
|
-
BranchableTree,
|
|
158
166
|
ChangeMetadata,
|
|
159
167
|
CodecName,
|
|
160
168
|
CodecWriteOptions,
|
|
@@ -252,9 +260,9 @@ export {
|
|
|
252
260
|
TransactionResultFailed,
|
|
253
261
|
TransactionResultSuccess,
|
|
254
262
|
TreeAlpha,
|
|
263
|
+
TreeArrayNodeAlpha,
|
|
255
264
|
TreeBranchAlpha,
|
|
256
265
|
TreeBranchEvents,
|
|
257
|
-
TreeBranchFork,
|
|
258
266
|
TreeCompressionStrategy,
|
|
259
267
|
TreeContextAlpha,
|
|
260
268
|
TreeIdentifierUtils,
|
|
@@ -293,7 +301,6 @@ export {
|
|
|
293
301
|
exportCompatibilitySchemaSnapshot,
|
|
294
302
|
extractPersistedSchema,
|
|
295
303
|
generateSchemaFromSimpleSchema,
|
|
296
|
-
getBranch,
|
|
297
304
|
getJsonSchema,
|
|
298
305
|
getSimpleSchema,
|
|
299
306
|
importCompatibilitySchemaSnapshot,
|
package/src/entrypoints/beta.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
/*
|
|
7
7
|
* THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
|
8
|
-
* Generated by "
|
|
8
|
+
* Generated by "generate:entrypoint-sources".
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
export {
|
|
@@ -115,7 +115,7 @@ export {
|
|
|
115
115
|
JsonCompatible,
|
|
116
116
|
JsonCompatibleObject,
|
|
117
117
|
KeyEncodingOptions,
|
|
118
|
-
NodeChangedData,
|
|
118
|
+
NodeChangedData,
|
|
119
119
|
ObjectSchemaOptions,
|
|
120
120
|
PopUnion,
|
|
121
121
|
RecordNodeInsertableData,
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
/*
|
|
7
7
|
* THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
|
8
|
-
* Generated by "
|
|
8
|
+
* Generated by "generate:entrypoint-sources".
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
export {
|
|
@@ -102,6 +102,10 @@ export {
|
|
|
102
102
|
AnnotatedAllowedTypeUnsafe,
|
|
103
103
|
AnnotatedAllowedTypes,
|
|
104
104
|
AnnotatedAllowedTypesUnsafe,
|
|
105
|
+
ArrayNodeDeltaOp,
|
|
106
|
+
ArrayNodeInsertOp,
|
|
107
|
+
ArrayNodeRemoveOp,
|
|
108
|
+
ArrayNodeRetainOp,
|
|
105
109
|
CodecWriteOptionsBeta,
|
|
106
110
|
ConciseTree,
|
|
107
111
|
ExtensibleUnionNode,
|
|
@@ -115,7 +119,10 @@ export {
|
|
|
115
119
|
JsonCompatible,
|
|
116
120
|
JsonCompatibleObject,
|
|
117
121
|
KeyEncodingOptions,
|
|
118
|
-
NodeChangedData,
|
|
122
|
+
NodeChangedData,
|
|
123
|
+
NodeChangedDataAlpha,
|
|
124
|
+
NodeChangedDataDelta,
|
|
125
|
+
NodeChangedDataProperties,
|
|
119
126
|
ObjectSchemaOptions,
|
|
120
127
|
PopUnion,
|
|
121
128
|
RecordNodeInsertableData,
|
|
@@ -129,7 +136,8 @@ export {
|
|
|
129
136
|
TableSchema,
|
|
130
137
|
TreeBeta,
|
|
131
138
|
TreeBranch,
|
|
132
|
-
TreeChangeEventsBeta,
|
|
139
|
+
TreeChangeEventsBeta,
|
|
140
|
+
TreeChangeEventsAlpha,
|
|
133
141
|
TreeEncodingOptions,
|
|
134
142
|
TreeRecordNode,
|
|
135
143
|
TreeRecordNodeUnsafe,
|
|
@@ -3,23 +3,23 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import type {
|
|
6
|
+
import type { JsonCodecPart } from "../codec/index.js";
|
|
7
7
|
import type {
|
|
8
8
|
ChangeAtomId,
|
|
9
9
|
ChangeEncodingContext,
|
|
10
|
-
EncodedChangeAtomId,
|
|
11
|
-
EncodedRevisionTag,
|
|
12
10
|
RevisionTag,
|
|
11
|
+
RevisionTagSchema,
|
|
13
12
|
} from "../core/index.js";
|
|
14
13
|
|
|
14
|
+
import { EncodedChangeAtomId } from "./modular-schema/index.js";
|
|
15
|
+
|
|
15
16
|
export function makeChangeAtomIdCodec(
|
|
16
|
-
revisionTagCodec:
|
|
17
|
+
revisionTagCodec: JsonCodecPart<
|
|
17
18
|
RevisionTag,
|
|
18
|
-
|
|
19
|
-
EncodedRevisionTag,
|
|
19
|
+
typeof RevisionTagSchema,
|
|
20
20
|
ChangeEncodingContext
|
|
21
21
|
>,
|
|
22
|
-
):
|
|
22
|
+
): JsonCodecPart<ChangeAtomId, typeof EncodedChangeAtomId, ChangeEncodingContext> {
|
|
23
23
|
return {
|
|
24
24
|
encode(changeAtomId: ChangeAtomId, context: ChangeEncodingContext): EncodedChangeAtomId {
|
|
25
25
|
return changeAtomId.revision === undefined || changeAtomId.revision === context.revision
|
|
@@ -34,5 +34,6 @@ export function makeChangeAtomIdCodec(
|
|
|
34
34
|
}
|
|
35
35
|
: { localId: changeAtomId, revision: context.revision };
|
|
36
36
|
},
|
|
37
|
+
encodedSchema: EncodedChangeAtomId,
|
|
37
38
|
};
|
|
38
39
|
}
|
|
@@ -41,6 +41,7 @@ import {
|
|
|
41
41
|
getLast,
|
|
42
42
|
getOrAddEmptyToMap,
|
|
43
43
|
hasSome,
|
|
44
|
+
type Breakable,
|
|
44
45
|
} from "../../util/index.js";
|
|
45
46
|
|
|
46
47
|
import { BasicChunk, BasicChunkCursor, type SiblingsOrKey } from "./basicChunk.js";
|
|
@@ -85,9 +86,9 @@ export class ChunkedForest implements IEditableForest {
|
|
|
85
86
|
return this.roots.fields.size === 0;
|
|
86
87
|
}
|
|
87
88
|
|
|
88
|
-
public clone(schema: TreeStoredSchemaSubscription,
|
|
89
|
+
public clone(schema: TreeStoredSchemaSubscription, _breaker?: Breakable): ChunkedForest {
|
|
89
90
|
this.roots.referenceAdded();
|
|
90
|
-
return new ChunkedForest(this.roots, schema, this.chunker.clone(schema)
|
|
91
|
+
return new ChunkedForest(this.roots, schema, this.chunker.clone(schema));
|
|
91
92
|
}
|
|
92
93
|
|
|
93
94
|
public chunkField(cursor: ITreeCursorSynchronous): TreeChunk[] {
|
|
@@ -40,8 +40,10 @@ import {
|
|
|
40
40
|
import type { IncrementalDecoder } from "./codecs.js";
|
|
41
41
|
import {
|
|
42
42
|
type EncodedAnyShape,
|
|
43
|
-
type
|
|
44
|
-
type
|
|
43
|
+
type EncodedChunkShapeV1OrV2,
|
|
44
|
+
type EncodedChunkShapeV2,
|
|
45
|
+
type EncodedFieldBatchV1OrV2,
|
|
46
|
+
type EncodedFieldBatchV2,
|
|
45
47
|
type EncodedIncrementalChunkShape,
|
|
46
48
|
type EncodedInlineArrayShape,
|
|
47
49
|
type EncodedNestedArrayShape,
|
|
@@ -49,7 +51,7 @@ import {
|
|
|
49
51
|
type EncodedValueShape,
|
|
50
52
|
FieldBatchFormatVersion,
|
|
51
53
|
SpecialField,
|
|
52
|
-
} from "./format.js";
|
|
54
|
+
} from "./format/index.js";
|
|
53
55
|
|
|
54
56
|
export interface IdDecodingContext {
|
|
55
57
|
idCompressor: IIdCompressor;
|
|
@@ -62,7 +64,7 @@ export interface IdDecodingContext {
|
|
|
62
64
|
* Decode `chunk` into a TreeChunk.
|
|
63
65
|
*/
|
|
64
66
|
export function decode(
|
|
65
|
-
chunk:
|
|
67
|
+
chunk: EncodedFieldBatchV1OrV2,
|
|
66
68
|
idDecodingContext: { idCompressor: IIdCompressor; originatorId: SessionId },
|
|
67
69
|
incrementalDecoder?: IncrementalDecoder,
|
|
68
70
|
): TreeChunk[] {
|
|
@@ -75,8 +77,8 @@ export function decode(
|
|
|
75
77
|
}
|
|
76
78
|
|
|
77
79
|
const decoderLibrary = new DiscriminatedUnionDispatcher<
|
|
78
|
-
|
|
79
|
-
[context: DecoderContext<
|
|
80
|
+
EncodedChunkShapeV1OrV2,
|
|
81
|
+
[context: DecoderContext<EncodedChunkShapeV1OrV2>],
|
|
80
82
|
ChunkDecoder
|
|
81
83
|
>({
|
|
82
84
|
a(shape: EncodedNestedArrayShape, context): ChunkDecoder {
|
|
@@ -91,8 +93,11 @@ const decoderLibrary = new DiscriminatedUnionDispatcher<
|
|
|
91
93
|
d(shape: EncodedAnyShape): ChunkDecoder {
|
|
92
94
|
return anyDecoder;
|
|
93
95
|
},
|
|
94
|
-
e(
|
|
95
|
-
|
|
96
|
+
e(
|
|
97
|
+
shape: EncodedIncrementalChunkShape,
|
|
98
|
+
context: DecoderContext<EncodedChunkShapeV2>,
|
|
99
|
+
): ChunkDecoder {
|
|
100
|
+
return new IncrementalChunkDecoder(context);
|
|
96
101
|
},
|
|
97
102
|
});
|
|
98
103
|
|
|
@@ -242,14 +247,14 @@ export class InlineArrayDecoder implements ChunkDecoder {
|
|
|
242
247
|
* Decoder for {@link EncodedIncrementalChunkShape}s.
|
|
243
248
|
*/
|
|
244
249
|
export class IncrementalChunkDecoder implements ChunkDecoder {
|
|
245
|
-
public constructor(private readonly context: DecoderContext<
|
|
250
|
+
public constructor(private readonly context: DecoderContext<EncodedChunkShapeV2>) {}
|
|
246
251
|
public decode(_: readonly ChunkDecoder[], stream: StreamCursor): TreeChunk {
|
|
247
252
|
assert(
|
|
248
253
|
this.context.incrementalDecoder !== undefined,
|
|
249
254
|
0xc27 /* incremental decoder not available for incremental field decoding */,
|
|
250
255
|
);
|
|
251
256
|
|
|
252
|
-
const chunkDecoder = (batch:
|
|
257
|
+
const chunkDecoder = (batch: EncodedFieldBatchV2): TreeChunk => {
|
|
253
258
|
assert(
|
|
254
259
|
batch.version >= FieldBatchFormatVersion.v2,
|
|
255
260
|
0xc9f /* Unsupported FieldBatchFormatVersion for incremental chunks; must be v2 or higher */,
|
|
@@ -292,10 +297,10 @@ type BasicFieldDecoder = (
|
|
|
292
297
|
) => [FieldKey, TreeChunk];
|
|
293
298
|
|
|
294
299
|
/**
|
|
295
|
-
* Get a decoder for fields of a provided (via `shape` and `context`)
|
|
300
|
+
* Get a decoder for fields of a provided (via `shape` and `context`).
|
|
296
301
|
*/
|
|
297
302
|
function fieldDecoder(
|
|
298
|
-
context: DecoderContext<
|
|
303
|
+
context: DecoderContext<EncodedChunkShapeV1OrV2>,
|
|
299
304
|
key: FieldKey,
|
|
300
305
|
shape: number,
|
|
301
306
|
): BasicFieldDecoder {
|
|
@@ -314,7 +319,7 @@ export class NodeDecoder implements ChunkDecoder {
|
|
|
314
319
|
private readonly fieldDecoders: readonly BasicFieldDecoder[];
|
|
315
320
|
public constructor(
|
|
316
321
|
private readonly shape: EncodedNodeShape,
|
|
317
|
-
private readonly context: DecoderContext<
|
|
322
|
+
private readonly context: DecoderContext<EncodedChunkShapeV1OrV2>,
|
|
318
323
|
) {
|
|
319
324
|
this.type = shape.type === undefined ? undefined : context.identifier(shape.type);
|
|
320
325
|
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
} from "./chunkCodecUtilities.js";
|
|
18
18
|
import type { IdDecodingContext } from "./chunkDecoding.js";
|
|
19
19
|
import type { IncrementalDecoder } from "./codecs.js";
|
|
20
|
-
import type { EncodedFieldBatchGeneric, IdentifierOrIndex } from "./
|
|
20
|
+
import type { EncodedFieldBatchGeneric, IdentifierOrIndex } from "./format/index.js";
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
23
|
* General purpose shape based tree decoder which gets its support for specific shapes from the caller.
|
|
@@ -14,8 +14,7 @@ import {
|
|
|
14
14
|
type DeduplicationTable,
|
|
15
15
|
jsonMinimizingFilter,
|
|
16
16
|
} from "./chunkCodecUtilities.js";
|
|
17
|
-
import type { FieldBatchFormatVersion } from "./format.js";
|
|
18
|
-
import type { EncodedFieldBatchGeneric } from "./formatGeneric.js";
|
|
17
|
+
import type { FieldBatchFormatVersion, EncodedFieldBatchGeneric } from "./format/index.js";
|
|
19
18
|
|
|
20
19
|
/**
|
|
21
20
|
* An identifier which can be compressed using {@link Counter}.
|
|
@@ -27,11 +27,11 @@ import { TreeCompressionStrategy } from "../../treeCompressionUtils.js";
|
|
|
27
27
|
import { decode } from "./chunkDecoding.js";
|
|
28
28
|
import type { FieldBatch } from "./fieldBatch.js";
|
|
29
29
|
import {
|
|
30
|
-
type EncodedFieldBatch,
|
|
31
|
-
FieldBatchFormatVersion,
|
|
32
30
|
EncodedFieldBatchV1,
|
|
33
31
|
EncodedFieldBatchV2,
|
|
34
|
-
|
|
32
|
+
FieldBatchFormatVersion,
|
|
33
|
+
type EncodedFieldBatchV1OrV2,
|
|
34
|
+
} from "./format/index.js";
|
|
35
35
|
import type { IncrementalEncodingPolicy } from "./incrementalEncodingPolicy.js";
|
|
36
36
|
import { schemaCompressedEncodeV1, schemaCompressedEncodeV2 } from "./schemaBasedEncode.js";
|
|
37
37
|
import { uncompressedEncodeV1, uncompressedEncodeV2 } from "./uncompressedEncode.js";
|
|
@@ -67,7 +67,7 @@ export interface IncrementalEncoder {
|
|
|
67
67
|
*/
|
|
68
68
|
encodeIncrementalField(
|
|
69
69
|
cursor: ITreeCursorSynchronous,
|
|
70
|
-
chunkEncoder: (chunk: TreeChunk) =>
|
|
70
|
+
chunkEncoder: (chunk: TreeChunk) => EncodedFieldBatchV2,
|
|
71
71
|
): ChunkReferenceId[];
|
|
72
72
|
}
|
|
73
73
|
|
|
@@ -87,7 +87,7 @@ export interface IncrementalDecoder {
|
|
|
87
87
|
*/
|
|
88
88
|
decodeIncrementalChunk(
|
|
89
89
|
referenceId: ChunkReferenceId,
|
|
90
|
-
chunkDecoder: (encoded:
|
|
90
|
+
chunkDecoder: (encoded: EncodedFieldBatchV2) => TreeChunk,
|
|
91
91
|
): TreeChunk;
|
|
92
92
|
}
|
|
93
93
|
/**
|
|
@@ -117,25 +117,28 @@ export type FieldBatchCodec = ReturnType<typeof fieldBatchCodecBuilder.build>;
|
|
|
117
117
|
*/
|
|
118
118
|
function makeFieldBatchCodecForVersion(
|
|
119
119
|
version: FieldBatchFormatVersion,
|
|
120
|
-
uncompressedEncodeFn: (batch: FieldBatch) =>
|
|
120
|
+
uncompressedEncodeFn: (batch: FieldBatch) => EncodedFieldBatchV1OrV2,
|
|
121
121
|
schemaCompressedEncodeFn: (
|
|
122
122
|
schema: StoredSchemaCollection,
|
|
123
123
|
policy: SchemaPolicy,
|
|
124
124
|
fieldBatch: FieldBatch,
|
|
125
125
|
idCompressor: IIdCompressor,
|
|
126
126
|
incrementalEncoder: IncrementalEncoder | undefined,
|
|
127
|
-
) =>
|
|
127
|
+
) => EncodedFieldBatchV1OrV2,
|
|
128
128
|
encodedFieldBatchType: TSchema,
|
|
129
129
|
): CodecAndSchema<FieldBatch, FieldBatchEncodingContext> {
|
|
130
130
|
return {
|
|
131
|
-
encode: (
|
|
131
|
+
encode: (
|
|
132
|
+
data: FieldBatch,
|
|
133
|
+
context: FieldBatchEncodingContext,
|
|
134
|
+
): EncodedFieldBatchV1OrV2 => {
|
|
132
135
|
for (const cursor of data) {
|
|
133
136
|
assert(
|
|
134
137
|
cursor.mode === CursorLocationType.Fields,
|
|
135
138
|
0x8a3 /* FieldBatch expects fields cursors */,
|
|
136
139
|
);
|
|
137
140
|
}
|
|
138
|
-
let encoded:
|
|
141
|
+
let encoded: EncodedFieldBatchV1OrV2;
|
|
139
142
|
let incrementalEncoder: IncrementalEncoder | undefined;
|
|
140
143
|
switch (context.encodeType) {
|
|
141
144
|
case TreeCompressionStrategy.Uncompressed: {
|
|
@@ -176,7 +179,10 @@ function makeFieldBatchCodecForVersion(
|
|
|
176
179
|
// TODO: consider checking input data was in schema.
|
|
177
180
|
return encoded;
|
|
178
181
|
},
|
|
179
|
-
decode: (
|
|
182
|
+
decode: (
|
|
183
|
+
data: EncodedFieldBatchV1OrV2,
|
|
184
|
+
context: FieldBatchEncodingContext,
|
|
185
|
+
): FieldBatch => {
|
|
180
186
|
// TODO: consider checking data is in schema.
|
|
181
187
|
return decode(
|
|
182
188
|
data,
|