@fluidframework/tree 2.72.0 → 2.74.0-365691
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 +99 -0
- package/api-report/tree.alpha.api.md +32 -31
- package/dist/alpha.d.ts +7 -1
- package/dist/api.d.ts +6 -2
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +2 -11
- package/dist/api.js.map +1 -1
- package/dist/codec/codec.d.ts +9 -2
- package/dist/codec/codec.d.ts.map +1 -1
- package/dist/codec/codec.js +9 -2
- package/dist/codec/codec.js.map +1 -1
- package/dist/codec/index.d.ts +1 -1
- package/dist/codec/index.d.ts.map +1 -1
- package/dist/codec/index.js +2 -1
- package/dist/codec/index.js.map +1 -1
- package/dist/codec/versioned/codec.d.ts +7 -2
- package/dist/codec/versioned/codec.d.ts.map +1 -1
- package/dist/codec/versioned/codec.js +24 -1
- 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 -1
- package/dist/codec/versioned/index.js.map +1 -1
- package/dist/core/schema-stored/schema.d.ts +12 -1
- package/dist/core/schema-stored/schema.d.ts.map +1 -1
- package/dist/core/schema-stored/schema.js.map +1 -1
- package/dist/core/tree/detachedFieldIndexCodecs.d.ts.map +1 -1
- package/dist/core/tree/detachedFieldIndexCodecs.js +5 -3
- package/dist/core/tree/detachedFieldIndexCodecs.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/chunkTree.d.ts +4 -5
- package/dist/feature-libraries/chunked-forest/chunkTree.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/chunkTree.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.js +1 -0
- package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts +2 -1
- 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 +3 -3
- package/dist/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/codecs.js +32 -18
- package/dist/feature-libraries/chunked-forest/codec/codecs.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.d.ts +6 -6
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js +4 -2
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/format.d.ts +156 -4
- package/dist/feature-libraries/chunked-forest/codec/format.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/format.js +7 -3
- package/dist/feature-libraries/chunked-forest/codec/format.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/formatGeneric.d.ts +8 -3
- package/dist/feature-libraries/chunked-forest/codec/formatGeneric.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/formatGeneric.js +4 -1
- package/dist/feature-libraries/chunked-forest/codec/formatGeneric.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/incrementalEncodingPolicy.d.ts +2 -2
- package/dist/feature-libraries/chunked-forest/codec/incrementalEncodingPolicy.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/incrementalEncodingPolicy.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/index.d.ts +1 -1
- package/dist/feature-libraries/chunked-forest/codec/index.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/index.js +2 -1
- package/dist/feature-libraries/chunked-forest/codec/index.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncode.d.ts +13 -13
- package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncode.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncode.js +23 -6
- package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncode.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts +9 -8
- package/dist/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/uncompressedEncode.js +20 -4
- 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 +2 -1
- package/dist/feature-libraries/chunked-forest/index.js.map +1 -1
- package/dist/feature-libraries/default-schema/defaultFieldKinds.d.ts +35 -17
- package/dist/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -1
- package/dist/feature-libraries/default-schema/defaultFieldKinds.js +53 -55
- package/dist/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -1
- package/dist/feature-libraries/default-schema/index.d.ts +1 -3
- package/dist/feature-libraries/default-schema/index.d.ts.map +1 -1
- package/dist/feature-libraries/default-schema/index.js +2 -8
- package/dist/feature-libraries/default-schema/index.js.map +1 -1
- package/dist/feature-libraries/forest-summary/forestSummarizer.js +1 -1
- package/dist/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
- package/dist/feature-libraries/forest-summary/format.d.ts +2 -2
- package/dist/feature-libraries/forest-summary/format.d.ts.map +1 -1
- package/dist/feature-libraries/forest-summary/format.js +4 -2
- package/dist/feature-libraries/forest-summary/format.js.map +1 -1
- package/dist/feature-libraries/index.d.ts +5 -4
- package/dist/feature-libraries/index.d.ts.map +1 -1
- package/dist/feature-libraries/index.js +8 -8
- package/dist/feature-libraries/index.js.map +1 -1
- package/dist/feature-libraries/modular-schema/comparison.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/comparison.js +1 -2
- package/dist/feature-libraries/modular-schema/comparison.js.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldKind.d.ts +38 -12
- package/dist/feature-libraries/modular-schema/fieldKind.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldKind.js +29 -11
- package/dist/feature-libraries/modular-schema/fieldKind.js.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldKindConfiguration.d.ts +2 -2
- package/dist/feature-libraries/modular-schema/fieldKindConfiguration.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldKindConfiguration.js.map +1 -1
- package/dist/feature-libraries/modular-schema/genericFieldKind.d.ts +2 -2
- package/dist/feature-libraries/modular-schema/genericFieldKind.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/genericFieldKind.js +3 -2
- package/dist/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
- package/dist/feature-libraries/modular-schema/index.d.ts +0 -1
- package/dist/feature-libraries/modular-schema/index.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/index.js +1 -3
- package/dist/feature-libraries/modular-schema/index.js.map +1 -1
- package/dist/feature-libraries/modular-schema/isNeverTree.d.ts +5 -6
- package/dist/feature-libraries/modular-schema/isNeverTree.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/isNeverTree.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.d.ts +2 -2
- 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 +8 -8
- package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js +1 -2
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFormat.d.ts +66 -9
- package/dist/feature-libraries/modular-schema/modularChangeFormat.d.ts.map +1 -1
- package/dist/feature-libraries/object-forest/objectForest.d.ts.map +1 -1
- package/dist/feature-libraries/object-forest/objectForest.js +3 -2
- package/dist/feature-libraries/object-forest/objectForest.js.map +1 -1
- package/dist/feature-libraries/optional-field/index.d.ts +1 -1
- package/dist/feature-libraries/optional-field/index.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/index.js.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecs.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecs.js +1 -5
- package/dist/feature-libraries/optional-field/optionalFieldCodecs.js.map +1 -1
- package/dist/feature-libraries/schema-index/codec.d.ts.map +1 -1
- package/dist/feature-libraries/schema-index/codec.js +5 -3
- package/dist/feature-libraries/schema-index/codec.js.map +1 -1
- package/dist/feature-libraries/{default-schema/schemaChecker.d.ts → schemaChecker.d.ts} +2 -2
- package/dist/feature-libraries/schemaChecker.d.ts.map +1 -0
- package/dist/feature-libraries/{default-schema/schemaChecker.js → schemaChecker.js} +3 -3
- package/dist/feature-libraries/schemaChecker.js.map +1 -0
- package/dist/feature-libraries/sequence-field/formatV2.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/formatV2.js +1 -0
- package/dist/feature-libraries/sequence-field/formatV2.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.js +0 -2
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.js.map +1 -1
- package/dist/feature-libraries/treeCompressionUtils.d.ts +2 -12
- package/dist/feature-libraries/treeCompressionUtils.d.ts.map +1 -1
- package/dist/feature-libraries/treeCompressionUtils.js +4 -14
- package/dist/feature-libraries/treeCompressionUtils.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -3
- package/dist/index.js.map +1 -1
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.d.ts.map +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/dist/shared-tree/index.d.ts +1 -1
- 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/sharedTree.d.ts +7 -54
- package/dist/shared-tree/sharedTree.d.ts.map +1 -1
- package/dist/shared-tree/sharedTree.js +2 -52
- package/dist/shared-tree/sharedTree.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeCodecs.d.ts +1 -1
- package/dist/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeChangeCodecs.js +0 -2
- package/dist/shared-tree/sharedTreeChangeCodecs.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeFamily.d.ts +2 -2
- package/dist/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeChangeFamily.js.map +1 -1
- package/dist/shared-tree/treeCheckout.d.ts +2 -2
- package/dist/shared-tree/treeCheckout.d.ts.map +1 -1
- package/dist/shared-tree/treeCheckout.js.map +1 -1
- package/dist/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerCodecs.js +12 -6
- package/dist/shared-tree-core/editManagerCodecs.js.map +1 -1
- package/dist/shared-tree-core/editManagerFormatCommons.d.ts +3 -4
- package/dist/shared-tree-core/editManagerFormatCommons.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerFormatCommons.js +5 -8
- package/dist/shared-tree-core/editManagerFormatCommons.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 +3 -2
- package/dist/shared-tree-core/index.js.map +1 -1
- package/dist/shared-tree-core/messageCodecs.d.ts.map +1 -1
- package/dist/shared-tree-core/messageCodecs.js +20 -9
- package/dist/shared-tree-core/messageCodecs.js.map +1 -1
- package/dist/shared-tree-core/messageFormat.d.ts +4 -6
- package/dist/shared-tree-core/messageFormat.d.ts.map +1 -1
- package/dist/shared-tree-core/messageFormat.js +9 -7
- package/dist/shared-tree-core/messageFormat.js.map +1 -1
- package/dist/simple-tree/api/configuration.d.ts +2 -0
- package/dist/simple-tree/api/configuration.d.ts.map +1 -1
- package/dist/simple-tree/api/configuration.js +10 -0
- package/dist/simple-tree/api/configuration.js.map +1 -1
- package/dist/simple-tree/api/incrementalAllowedTypes.d.ts +15 -12
- package/dist/simple-tree/api/incrementalAllowedTypes.d.ts.map +1 -1
- package/dist/simple-tree/api/incrementalAllowedTypes.js +17 -14
- package/dist/simple-tree/api/incrementalAllowedTypes.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 +6 -2
- package/dist/simple-tree/api/index.js.map +1 -1
- package/dist/simple-tree/api/schemaFromSimple.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFromSimple.js +7 -1
- package/dist/simple-tree/api/schemaFromSimple.js.map +1 -1
- package/dist/simple-tree/api/simpleSchemaCodec.js +4 -6
- package/dist/simple-tree/api/simpleSchemaCodec.js.map +1 -1
- package/dist/simple-tree/api/snapshotCompatibilityChecker.d.ts +103 -0
- package/dist/simple-tree/api/snapshotCompatibilityChecker.d.ts.map +1 -0
- package/dist/simple-tree/api/snapshotCompatibilityChecker.js +128 -0
- package/dist/simple-tree/api/snapshotCompatibilityChecker.js.map +1 -0
- package/dist/simple-tree/api/tree.d.ts +2 -2
- package/dist/simple-tree/api/tree.js +1 -1
- package/dist/simple-tree/api/tree.js.map +1 -1
- package/dist/simple-tree/core/allowedTypes.js +1 -1
- package/dist/simple-tree/core/allowedTypes.js.map +1 -1
- package/dist/simple-tree/core/index.d.ts +3 -3
- package/dist/simple-tree/core/index.d.ts.map +1 -1
- package/dist/simple-tree/core/index.js +3 -1
- package/dist/simple-tree/core/index.js.map +1 -1
- package/dist/simple-tree/core/toStored.d.ts +12 -5
- package/dist/simple-tree/core/toStored.d.ts.map +1 -1
- package/dist/simple-tree/core/toStored.js +26 -10
- 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 +1 -0
- package/dist/simple-tree/core/treeNodeKernel.js.map +1 -1
- package/dist/simple-tree/core/treeNodeSchema.d.ts +1 -6
- package/dist/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
- package/dist/simple-tree/core/treeNodeSchema.js.map +1 -1
- package/dist/simple-tree/core/treeNodeValid.d.ts +1 -1
- package/dist/simple-tree/core/treeNodeValid.d.ts.map +1 -1
- package/dist/simple-tree/core/treeNodeValid.js +1 -2
- package/dist/simple-tree/core/treeNodeValid.js.map +1 -1
- package/dist/simple-tree/fieldSchema.d.ts.map +1 -1
- package/dist/simple-tree/fieldSchema.js +1 -8
- package/dist/simple-tree/fieldSchema.js.map +1 -1
- package/dist/simple-tree/index.d.ts +3 -3
- package/dist/simple-tree/index.d.ts.map +1 -1
- package/dist/simple-tree/index.js +10 -4
- package/dist/simple-tree/index.js.map +1 -1
- package/dist/simple-tree/leafNodeSchema.d.ts.map +1 -1
- package/dist/simple-tree/leafNodeSchema.js +0 -1
- package/dist/simple-tree/leafNodeSchema.js.map +1 -1
- package/dist/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/array/arrayNode.js +14 -49
- package/dist/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
- package/dist/simple-tree/node-kinds/map/mapNode.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/map/mapNode.js +1 -5
- package/dist/simple-tree/node-kinds/map/mapNode.js.map +1 -1
- package/dist/simple-tree/node-kinds/object/objectNode.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/object/objectNode.js +3 -10
- package/dist/simple-tree/node-kinds/object/objectNode.js.map +1 -1
- package/dist/simple-tree/node-kinds/record/recordNode.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/record/recordNode.js +1 -5
- package/dist/simple-tree/node-kinds/record/recordNode.js.map +1 -1
- package/dist/simple-tree/simpleSchema.d.ts +15 -3
- 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 +20 -8
- package/dist/simple-tree/toStoredSchema.d.ts.map +1 -1
- package/dist/simple-tree/toStoredSchema.js +27 -22
- package/dist/simple-tree/toStoredSchema.js.map +1 -1
- package/dist/simple-tree/unhydratedFlexTreeFromInsertable.d.ts.map +1 -1
- package/dist/simple-tree/unhydratedFlexTreeFromInsertable.js +18 -15
- package/dist/simple-tree/unhydratedFlexTreeFromInsertable.js.map +1 -1
- package/dist/tableSchema.d.ts +22 -52
- package/dist/tableSchema.d.ts.map +1 -1
- package/dist/tableSchema.js +141 -277
- package/dist/tableSchema.js.map +1 -1
- package/dist/treeFactory.d.ts +5 -0
- package/dist/treeFactory.d.ts.map +1 -1
- package/dist/treeFactory.js +12 -5
- package/dist/treeFactory.js.map +1 -1
- package/dist/util/arrayUtilities.d.ts +45 -0
- package/dist/util/arrayUtilities.d.ts.map +1 -0
- package/dist/util/arrayUtilities.js +76 -0
- package/dist/util/arrayUtilities.js.map +1 -0
- package/dist/util/breakable.js +3 -3
- package/dist/util/breakable.js.map +1 -1
- package/dist/util/index.d.ts +1 -0
- package/dist/util/index.d.ts.map +1 -1
- package/dist/util/index.js +7 -2
- package/dist/util/index.js.map +1 -1
- package/dist/util/typeCheckTests.d.ts.map +1 -1
- package/dist/util/typeCheckTests.js.map +1 -1
- package/lib/alpha.d.ts +7 -1
- package/lib/api.d.ts +6 -2
- package/lib/api.d.ts.map +1 -1
- package/lib/api.js +2 -13
- package/lib/api.js.map +1 -1
- package/lib/codec/codec.d.ts +9 -2
- package/lib/codec/codec.d.ts.map +1 -1
- package/lib/codec/codec.js +9 -2
- package/lib/codec/codec.js.map +1 -1
- package/lib/codec/index.d.ts +1 -1
- package/lib/codec/index.d.ts.map +1 -1
- package/lib/codec/index.js +1 -1
- package/lib/codec/index.js.map +1 -1
- package/lib/codec/versioned/codec.d.ts +7 -2
- package/lib/codec/versioned/codec.d.ts.map +1 -1
- package/lib/codec/versioned/codec.js +22 -0
- 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/schema-stored/schema.d.ts +12 -1
- package/lib/core/schema-stored/schema.d.ts.map +1 -1
- package/lib/core/schema-stored/schema.js.map +1 -1
- package/lib/core/tree/detachedFieldIndexCodecs.d.ts.map +1 -1
- package/lib/core/tree/detachedFieldIndexCodecs.js +5 -3
- package/lib/core/tree/detachedFieldIndexCodecs.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/chunkTree.d.ts +4 -5
- package/lib/feature-libraries/chunked-forest/chunkTree.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/chunkTree.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.js +2 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts +2 -1
- 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 +3 -3
- package/lib/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/codecs.js +36 -22
- package/lib/feature-libraries/chunked-forest/codec/codecs.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.d.ts +6 -6
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js +4 -2
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/format.d.ts +156 -4
- package/lib/feature-libraries/chunked-forest/codec/format.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/format.js +6 -2
- package/lib/feature-libraries/chunked-forest/codec/format.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/formatGeneric.d.ts +8 -3
- package/lib/feature-libraries/chunked-forest/codec/formatGeneric.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/formatGeneric.js +4 -1
- package/lib/feature-libraries/chunked-forest/codec/formatGeneric.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/incrementalEncodingPolicy.d.ts +2 -2
- package/lib/feature-libraries/chunked-forest/codec/incrementalEncodingPolicy.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/incrementalEncodingPolicy.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/index.d.ts +1 -1
- 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/schemaBasedEncode.d.ts +13 -13
- package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncode.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncode.js +22 -6
- package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncode.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts +9 -8
- package/lib/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/uncompressedEncode.js +17 -2
- 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 +1 -1
- package/lib/feature-libraries/chunked-forest/index.js.map +1 -1
- package/lib/feature-libraries/default-schema/defaultFieldKinds.d.ts +35 -17
- package/lib/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -1
- package/lib/feature-libraries/default-schema/defaultFieldKinds.js +55 -57
- package/lib/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -1
- package/lib/feature-libraries/default-schema/index.d.ts +1 -3
- package/lib/feature-libraries/default-schema/index.d.ts.map +1 -1
- package/lib/feature-libraries/default-schema/index.js +1 -3
- package/lib/feature-libraries/default-schema/index.js.map +1 -1
- package/lib/feature-libraries/forest-summary/forestSummarizer.js +2 -2
- package/lib/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
- package/lib/feature-libraries/forest-summary/format.d.ts +2 -2
- package/lib/feature-libraries/forest-summary/format.d.ts.map +1 -1
- package/lib/feature-libraries/forest-summary/format.js +4 -2
- package/lib/feature-libraries/forest-summary/format.js.map +1 -1
- package/lib/feature-libraries/index.d.ts +5 -4
- package/lib/feature-libraries/index.d.ts.map +1 -1
- package/lib/feature-libraries/index.js +5 -4
- package/lib/feature-libraries/index.js.map +1 -1
- package/lib/feature-libraries/modular-schema/comparison.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/comparison.js +1 -2
- package/lib/feature-libraries/modular-schema/comparison.js.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldKind.d.ts +38 -12
- package/lib/feature-libraries/modular-schema/fieldKind.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldKind.js +29 -11
- package/lib/feature-libraries/modular-schema/fieldKind.js.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldKindConfiguration.d.ts +2 -2
- package/lib/feature-libraries/modular-schema/fieldKindConfiguration.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldKindConfiguration.js.map +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKind.d.ts +2 -2
- package/lib/feature-libraries/modular-schema/genericFieldKind.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKind.js +3 -2
- package/lib/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
- package/lib/feature-libraries/modular-schema/index.d.ts +0 -1
- package/lib/feature-libraries/modular-schema/index.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/index.js +0 -1
- package/lib/feature-libraries/modular-schema/index.js.map +1 -1
- package/lib/feature-libraries/modular-schema/isNeverTree.d.ts +5 -6
- package/lib/feature-libraries/modular-schema/isNeverTree.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/isNeverTree.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.d.ts +2 -2
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.js +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts +8 -8
- package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js +1 -2
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFormat.d.ts +66 -9
- package/lib/feature-libraries/modular-schema/modularChangeFormat.d.ts.map +1 -1
- package/lib/feature-libraries/object-forest/objectForest.d.ts.map +1 -1
- package/lib/feature-libraries/object-forest/objectForest.js +2 -1
- package/lib/feature-libraries/object-forest/objectForest.js.map +1 -1
- package/lib/feature-libraries/optional-field/index.d.ts +1 -1
- package/lib/feature-libraries/optional-field/index.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/index.js.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecs.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecs.js +1 -5
- package/lib/feature-libraries/optional-field/optionalFieldCodecs.js.map +1 -1
- package/lib/feature-libraries/schema-index/codec.d.ts.map +1 -1
- package/lib/feature-libraries/schema-index/codec.js +5 -3
- package/lib/feature-libraries/schema-index/codec.js.map +1 -1
- package/lib/feature-libraries/{default-schema/schemaChecker.d.ts → schemaChecker.d.ts} +2 -2
- package/lib/feature-libraries/schemaChecker.d.ts.map +1 -0
- package/lib/feature-libraries/{default-schema/schemaChecker.js → schemaChecker.js} +3 -3
- package/lib/feature-libraries/schemaChecker.js.map +1 -0
- package/lib/feature-libraries/sequence-field/formatV2.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/formatV2.js +1 -0
- package/lib/feature-libraries/sequence-field/formatV2.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.js +0 -2
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.js.map +1 -1
- package/lib/feature-libraries/treeCompressionUtils.d.ts +2 -12
- package/lib/feature-libraries/treeCompressionUtils.d.ts.map +1 -1
- package/lib/feature-libraries/treeCompressionUtils.js +3 -13
- package/lib/feature-libraries/treeCompressionUtils.js.map +1 -1
- package/lib/index.d.ts +4 -4
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -3
- package/lib/index.js.map +1 -1
- package/lib/packageVersion.d.ts +1 -1
- package/lib/packageVersion.d.ts.map +1 -1
- package/lib/packageVersion.js +1 -1
- package/lib/packageVersion.js.map +1 -1
- package/lib/shared-tree/index.d.ts +1 -1
- 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/sharedTree.d.ts +7 -54
- package/lib/shared-tree/sharedTree.d.ts.map +1 -1
- package/lib/shared-tree/sharedTree.js +1 -51
- package/lib/shared-tree/sharedTree.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeCodecs.d.ts +1 -1
- package/lib/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeCodecs.js +0 -2
- package/lib/shared-tree/sharedTreeChangeCodecs.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFamily.d.ts +2 -2
- package/lib/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFamily.js.map +1 -1
- package/lib/shared-tree/treeCheckout.d.ts +2 -2
- package/lib/shared-tree/treeCheckout.d.ts.map +1 -1
- package/lib/shared-tree/treeCheckout.js.map +1 -1
- package/lib/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerCodecs.js +13 -7
- package/lib/shared-tree-core/editManagerCodecs.js.map +1 -1
- package/lib/shared-tree-core/editManagerFormatCommons.d.ts +3 -4
- package/lib/shared-tree-core/editManagerFormatCommons.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerFormatCommons.js +4 -7
- package/lib/shared-tree-core/editManagerFormatCommons.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 +2 -2
- package/lib/shared-tree-core/index.js.map +1 -1
- package/lib/shared-tree-core/messageCodecs.d.ts.map +1 -1
- package/lib/shared-tree-core/messageCodecs.js +21 -10
- package/lib/shared-tree-core/messageCodecs.js.map +1 -1
- package/lib/shared-tree-core/messageFormat.d.ts +4 -6
- package/lib/shared-tree-core/messageFormat.d.ts.map +1 -1
- package/lib/shared-tree-core/messageFormat.js +8 -6
- package/lib/shared-tree-core/messageFormat.js.map +1 -1
- package/lib/simple-tree/api/configuration.d.ts +2 -0
- package/lib/simple-tree/api/configuration.d.ts.map +1 -1
- package/lib/simple-tree/api/configuration.js +10 -0
- package/lib/simple-tree/api/configuration.js.map +1 -1
- package/lib/simple-tree/api/incrementalAllowedTypes.d.ts +15 -12
- package/lib/simple-tree/api/incrementalAllowedTypes.d.ts.map +1 -1
- package/lib/simple-tree/api/incrementalAllowedTypes.js +15 -12
- package/lib/simple-tree/api/incrementalAllowedTypes.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 +2 -1
- package/lib/simple-tree/api/index.js.map +1 -1
- package/lib/simple-tree/api/schemaFromSimple.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFromSimple.js +8 -2
- package/lib/simple-tree/api/schemaFromSimple.js.map +1 -1
- package/lib/simple-tree/api/simpleSchemaCodec.js +5 -7
- package/lib/simple-tree/api/simpleSchemaCodec.js.map +1 -1
- package/lib/simple-tree/api/snapshotCompatibilityChecker.d.ts +103 -0
- package/lib/simple-tree/api/snapshotCompatibilityChecker.d.ts.map +1 -0
- package/lib/simple-tree/api/snapshotCompatibilityChecker.js +122 -0
- package/lib/simple-tree/api/snapshotCompatibilityChecker.js.map +1 -0
- package/lib/simple-tree/api/tree.d.ts +2 -2
- package/lib/simple-tree/api/tree.js +1 -1
- package/lib/simple-tree/api/tree.js.map +1 -1
- package/lib/simple-tree/core/allowedTypes.js +1 -1
- package/lib/simple-tree/core/allowedTypes.js.map +1 -1
- package/lib/simple-tree/core/index.d.ts +3 -3
- package/lib/simple-tree/core/index.d.ts.map +1 -1
- package/lib/simple-tree/core/index.js +2 -2
- package/lib/simple-tree/core/index.js.map +1 -1
- package/lib/simple-tree/core/toStored.d.ts +12 -5
- package/lib/simple-tree/core/toStored.d.ts.map +1 -1
- package/lib/simple-tree/core/toStored.js +25 -9
- 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 +1 -0
- package/lib/simple-tree/core/treeNodeKernel.js.map +1 -1
- package/lib/simple-tree/core/treeNodeSchema.d.ts +1 -6
- package/lib/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
- package/lib/simple-tree/core/treeNodeSchema.js.map +1 -1
- package/lib/simple-tree/core/treeNodeValid.d.ts +1 -1
- package/lib/simple-tree/core/treeNodeValid.d.ts.map +1 -1
- package/lib/simple-tree/core/treeNodeValid.js +1 -2
- package/lib/simple-tree/core/treeNodeValid.js.map +1 -1
- package/lib/simple-tree/fieldSchema.d.ts.map +1 -1
- package/lib/simple-tree/fieldSchema.js +2 -9
- package/lib/simple-tree/fieldSchema.js.map +1 -1
- package/lib/simple-tree/index.d.ts +3 -3
- package/lib/simple-tree/index.d.ts.map +1 -1
- package/lib/simple-tree/index.js +3 -3
- package/lib/simple-tree/index.js.map +1 -1
- package/lib/simple-tree/leafNodeSchema.d.ts.map +1 -1
- package/lib/simple-tree/leafNodeSchema.js +1 -2
- package/lib/simple-tree/leafNodeSchema.js.map +1 -1
- package/lib/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/array/arrayNode.js +16 -51
- package/lib/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
- package/lib/simple-tree/node-kinds/map/mapNode.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/map/mapNode.js +3 -7
- package/lib/simple-tree/node-kinds/map/mapNode.js.map +1 -1
- package/lib/simple-tree/node-kinds/object/objectNode.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/object/objectNode.js +4 -11
- package/lib/simple-tree/node-kinds/object/objectNode.js.map +1 -1
- package/lib/simple-tree/node-kinds/record/recordNode.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/record/recordNode.js +3 -7
- package/lib/simple-tree/node-kinds/record/recordNode.js.map +1 -1
- package/lib/simple-tree/simpleSchema.d.ts +15 -3
- 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 +20 -8
- package/lib/simple-tree/toStoredSchema.d.ts.map +1 -1
- package/lib/simple-tree/toStoredSchema.js +28 -24
- package/lib/simple-tree/toStoredSchema.js.map +1 -1
- package/lib/simple-tree/unhydratedFlexTreeFromInsertable.d.ts.map +1 -1
- package/lib/simple-tree/unhydratedFlexTreeFromInsertable.js +20 -17
- package/lib/simple-tree/unhydratedFlexTreeFromInsertable.js.map +1 -1
- package/lib/tableSchema.d.ts +22 -52
- package/lib/tableSchema.d.ts.map +1 -1
- package/lib/tableSchema.js +143 -279
- package/lib/tableSchema.js.map +1 -1
- package/lib/treeFactory.d.ts +5 -0
- package/lib/treeFactory.d.ts.map +1 -1
- package/lib/treeFactory.js +10 -4
- package/lib/treeFactory.js.map +1 -1
- package/lib/util/arrayUtilities.d.ts +45 -0
- package/lib/util/arrayUtilities.d.ts.map +1 -0
- package/lib/util/arrayUtilities.js +69 -0
- package/lib/util/arrayUtilities.js.map +1 -0
- package/lib/util/breakable.js +3 -3
- package/lib/util/breakable.js.map +1 -1
- package/lib/util/index.d.ts +1 -0
- package/lib/util/index.d.ts.map +1 -1
- package/lib/util/index.js +1 -0
- package/lib/util/index.js.map +1 -1
- package/lib/util/typeCheckTests.d.ts.map +1 -1
- package/lib/util/typeCheckTests.js.map +1 -1
- package/package.json +22 -22
- package/src/api.ts +22 -11
- package/src/codec/codec.ts +10 -2
- package/src/codec/index.ts +1 -0
- package/src/codec/versioned/codec.ts +40 -2
- package/src/codec/versioned/index.ts +1 -0
- package/src/core/schema-stored/schema.ts +12 -1
- package/src/core/tree/detachedFieldIndexCodecs.ts +10 -3
- package/src/feature-libraries/README.md +1 -1
- package/src/feature-libraries/chunked-forest/chunkTree.ts +3 -3
- package/src/feature-libraries/chunked-forest/codec/chunkDecoding.ts +5 -0
- package/src/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.ts +2 -1
- package/src/feature-libraries/chunked-forest/codec/codecs.ts +55 -26
- package/src/feature-libraries/chunked-forest/codec/compressedEncode.ts +8 -3
- package/src/feature-libraries/chunked-forest/codec/format.ts +14 -4
- package/src/feature-libraries/chunked-forest/codec/formatGeneric.ts +7 -2
- package/src/feature-libraries/chunked-forest/codec/incrementalEncodingPolicy.ts +5 -6
- package/src/feature-libraries/chunked-forest/codec/index.ts +1 -4
- package/src/feature-libraries/chunked-forest/codec/schemaBasedEncode.ts +62 -9
- package/src/feature-libraries/chunked-forest/codec/uncompressedEncode.ts +24 -2
- package/src/feature-libraries/chunked-forest/index.ts +1 -1
- package/src/feature-libraries/default-schema/defaultFieldKinds.ts +86 -74
- package/src/feature-libraries/default-schema/index.ts +1 -9
- package/src/feature-libraries/forest-summary/forestSummarizer.ts +2 -2
- package/src/feature-libraries/forest-summary/format.ts +15 -9
- package/src/feature-libraries/index.ts +8 -10
- package/src/feature-libraries/modular-schema/comparison.ts +2 -3
- package/src/feature-libraries/modular-schema/fieldKind.ts +90 -13
- package/src/feature-libraries/modular-schema/fieldKindConfiguration.ts +2 -3
- package/src/feature-libraries/modular-schema/genericFieldKind.ts +6 -6
- package/src/feature-libraries/modular-schema/index.ts +0 -1
- package/src/feature-libraries/modular-schema/isNeverTree.ts +7 -8
- package/src/feature-libraries/modular-schema/modularChangeCodecs.ts +3 -6
- package/src/feature-libraries/modular-schema/modularChangeFamily.ts +13 -13
- package/src/feature-libraries/object-forest/objectForest.ts +2 -6
- package/src/feature-libraries/optional-field/index.ts +1 -0
- package/src/feature-libraries/optional-field/optionalFieldCodecs.ts +1 -5
- package/src/feature-libraries/schema-index/codec.ts +10 -3
- package/src/feature-libraries/{default-schema/schemaChecker.ts → schemaChecker.ts} +4 -4
- package/src/feature-libraries/sequence-field/formatV2.ts +1 -0
- package/src/feature-libraries/sequence-field/sequenceFieldCodecs.ts +0 -2
- package/src/feature-libraries/treeCompressionUtils.ts +1 -15
- package/src/index.ts +7 -1
- package/src/packageVersion.ts +1 -1
- package/src/shared-tree/index.ts +0 -1
- package/src/shared-tree/sharedTree.ts +12 -88
- package/src/shared-tree/sharedTreeChangeCodecs.ts +1 -6
- package/src/shared-tree/sharedTreeChangeFamily.ts +2 -2
- package/src/shared-tree/treeCheckout.ts +2 -2
- package/src/shared-tree-core/editManagerCodecs.ts +19 -7
- package/src/shared-tree-core/editManagerFormatCommons.ts +11 -12
- package/src/shared-tree-core/index.ts +7 -3
- package/src/shared-tree-core/messageCodecs.ts +32 -17
- package/src/shared-tree-core/messageFormat.ts +8 -6
- package/src/simple-tree/api/configuration.ts +17 -4
- package/src/simple-tree/api/incrementalAllowedTypes.ts +20 -18
- package/src/simple-tree/api/index.ts +6 -1
- package/src/simple-tree/api/schemaFromSimple.ts +14 -6
- package/src/simple-tree/api/simpleSchemaCodec.ts +10 -9
- package/src/simple-tree/api/snapshotCompatibilityChecker.ts +135 -0
- package/src/simple-tree/api/tree.ts +2 -2
- package/src/simple-tree/core/allowedTypes.ts +1 -1
- package/src/simple-tree/core/index.ts +3 -1
- package/src/simple-tree/core/toStored.ts +42 -18
- package/src/simple-tree/core/treeNodeKernel.ts +1 -0
- package/src/simple-tree/core/treeNodeSchema.ts +1 -7
- package/src/simple-tree/core/treeNodeValid.ts +0 -2
- package/src/simple-tree/fieldSchema.ts +2 -11
- package/src/simple-tree/index.ts +7 -2
- package/src/simple-tree/leafNodeSchema.ts +1 -2
- package/src/simple-tree/node-kinds/array/arrayNode.ts +28 -75
- package/src/simple-tree/node-kinds/map/mapNode.ts +1 -15
- package/src/simple-tree/node-kinds/object/objectNode.ts +4 -18
- package/src/simple-tree/node-kinds/record/recordNode.ts +1 -15
- package/src/simple-tree/simpleSchema.ts +16 -3
- package/src/simple-tree/toStoredSchema.ts +54 -38
- package/src/simple-tree/unhydratedFlexTreeFromInsertable.ts +22 -17
- package/src/tableSchema.ts +110 -334
- package/src/treeFactory.ts +13 -4
- package/src/util/arrayUtilities.ts +88 -0
- package/src/util/breakable.ts +4 -4
- package/src/util/index.ts +6 -0
- package/src/util/typeCheckTests.ts +0 -1
- package/dist/feature-libraries/default-schema/defaultSchema.d.ts +0 -10
- package/dist/feature-libraries/default-schema/defaultSchema.d.ts.map +0 -1
- package/dist/feature-libraries/default-schema/defaultSchema.js +0 -15
- package/dist/feature-libraries/default-schema/defaultSchema.js.map +0 -1
- package/dist/feature-libraries/default-schema/schemaChecker.d.ts.map +0 -1
- package/dist/feature-libraries/default-schema/schemaChecker.js.map +0 -1
- package/dist/feature-libraries/modular-schema/fieldKindWithEditor.d.ts +0 -50
- package/dist/feature-libraries/modular-schema/fieldKindWithEditor.d.ts.map +0 -1
- package/dist/feature-libraries/modular-schema/fieldKindWithEditor.js +0 -76
- package/dist/feature-libraries/modular-schema/fieldKindWithEditor.js.map +0 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecV1.d.ts +0 -12
- package/dist/feature-libraries/optional-field/optionalFieldCodecV1.d.ts.map +0 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecV1.js +0 -158
- package/dist/feature-libraries/optional-field/optionalFieldCodecV1.js.map +0 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV1.d.ts +0 -11
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV1.d.ts.map +0 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV1.js +0 -245
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV1.js.map +0 -1
- package/lib/feature-libraries/default-schema/defaultSchema.d.ts +0 -10
- package/lib/feature-libraries/default-schema/defaultSchema.d.ts.map +0 -1
- package/lib/feature-libraries/default-schema/defaultSchema.js +0 -12
- package/lib/feature-libraries/default-schema/defaultSchema.js.map +0 -1
- package/lib/feature-libraries/default-schema/schemaChecker.d.ts.map +0 -1
- package/lib/feature-libraries/default-schema/schemaChecker.js.map +0 -1
- package/lib/feature-libraries/modular-schema/fieldKindWithEditor.d.ts +0 -50
- package/lib/feature-libraries/modular-schema/fieldKindWithEditor.d.ts.map +0 -1
- package/lib/feature-libraries/modular-schema/fieldKindWithEditor.js +0 -71
- package/lib/feature-libraries/modular-schema/fieldKindWithEditor.js.map +0 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecV1.d.ts +0 -12
- package/lib/feature-libraries/optional-field/optionalFieldCodecV1.d.ts.map +0 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecV1.js +0 -154
- package/lib/feature-libraries/optional-field/optionalFieldCodecV1.js.map +0 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV1.d.ts +0 -11
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV1.d.ts.map +0 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV1.js +0 -241
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV1.js.map +0 -1
- package/src/feature-libraries/default-schema/defaultSchema.ts +0 -15
- package/src/feature-libraries/modular-schema/fieldKindWithEditor.ts +0 -108
- package/src/feature-libraries/optional-field/optionalFieldCodecV1.ts +0 -208
- package/src/feature-libraries/sequence-field/sequenceFieldCodecV1.ts +0 -344
|
@@ -40,10 +40,7 @@ import {
|
|
|
40
40
|
chunkFieldSingle,
|
|
41
41
|
defaultChunkPolicy,
|
|
42
42
|
} from "../chunked-forest/index.js";
|
|
43
|
-
import {
|
|
44
|
-
TreeCompressionStrategy,
|
|
45
|
-
type TreeCompressionStrategyPrivate,
|
|
46
|
-
} from "../treeCompressionUtils.js";
|
|
43
|
+
import { TreeCompressionStrategy } from "../treeCompressionUtils.js";
|
|
47
44
|
|
|
48
45
|
import type { FieldChangeEncodingContext, FieldChangeHandler } from "./fieldChangeHandler.js";
|
|
49
46
|
import type {
|
|
@@ -81,7 +78,7 @@ export function makeModularChangeCodecFamily(
|
|
|
81
78
|
>,
|
|
82
79
|
fieldsCodec: FieldBatchCodec,
|
|
83
80
|
codecOptions: ICodecOptions,
|
|
84
|
-
chunkCompressionStrategy:
|
|
81
|
+
chunkCompressionStrategy: TreeCompressionStrategy = TreeCompressionStrategy.Compressed,
|
|
85
82
|
): ICodecFamily<ModularChangeset, ChangeEncodingContext> {
|
|
86
83
|
return makeCodecFamily(
|
|
87
84
|
Array.from(fieldKindConfigurations.entries(), ([version, fieldKinds]) => [
|
|
@@ -121,7 +118,7 @@ function makeModularChangeCodec(
|
|
|
121
118
|
>,
|
|
122
119
|
fieldsCodec: FieldBatchCodec,
|
|
123
120
|
codecOptions: ICodecOptions,
|
|
124
|
-
chunkCompressionStrategy:
|
|
121
|
+
chunkCompressionStrategy: TreeCompressionStrategy = TreeCompressionStrategy.Compressed,
|
|
125
122
|
): ModularChangeCodec {
|
|
126
123
|
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
|
|
127
124
|
const getMapEntry = ({ kind, formatVersion }: FieldKindConfigurationEntry) => {
|
|
@@ -70,7 +70,6 @@ import {
|
|
|
70
70
|
NodeAttachState,
|
|
71
71
|
type RebaseRevisionMetadata,
|
|
72
72
|
} from "./fieldChangeHandler.js";
|
|
73
|
-
import { type FieldKindWithEditor, withEditor } from "./fieldKindWithEditor.js";
|
|
74
73
|
import { convertGenericChange, genericFieldKind } from "./genericFieldKind.js";
|
|
75
74
|
import type { GenericChangeset } from "./genericFieldKindTypes.js";
|
|
76
75
|
import {
|
|
@@ -87,6 +86,7 @@ import {
|
|
|
87
86
|
type NodeChangeset,
|
|
88
87
|
type NodeId,
|
|
89
88
|
} from "./modularChangeTypes.js";
|
|
89
|
+
import type { FlexFieldKind } from "./fieldKind.js";
|
|
90
90
|
|
|
91
91
|
/**
|
|
92
92
|
* Implementation of ChangeFamily which delegates work in a given field to the appropriate FieldKind
|
|
@@ -99,10 +99,10 @@ export class ModularChangeFamily
|
|
|
99
99
|
{
|
|
100
100
|
public static readonly emptyChange: ModularChangeset = makeModularChangeset();
|
|
101
101
|
|
|
102
|
-
public readonly fieldKinds: ReadonlyMap<FieldKindIdentifier,
|
|
102
|
+
public readonly fieldKinds: ReadonlyMap<FieldKindIdentifier, FlexFieldKind>;
|
|
103
103
|
|
|
104
104
|
public constructor(
|
|
105
|
-
fieldKinds: ReadonlyMap<FieldKindIdentifier,
|
|
105
|
+
fieldKinds: ReadonlyMap<FieldKindIdentifier, FlexFieldKind>,
|
|
106
106
|
public readonly codecs: ICodecFamily<ModularChangeset, ChangeEncodingContext>,
|
|
107
107
|
) {
|
|
108
108
|
this.fieldKinds = fieldKinds;
|
|
@@ -1908,7 +1908,7 @@ function invertBuilds(
|
|
|
1908
1908
|
*/
|
|
1909
1909
|
export function* relevantRemovedRoots(
|
|
1910
1910
|
change: ModularChangeset,
|
|
1911
|
-
fieldKinds: ReadonlyMap<FieldKindIdentifier,
|
|
1911
|
+
fieldKinds: ReadonlyMap<FieldKindIdentifier, FlexFieldKind>,
|
|
1912
1912
|
): Iterable<DeltaDetachedNodeId> {
|
|
1913
1913
|
yield* relevantRemovedRootsFromFields(change.fieldChanges, change.nodeChanges, fieldKinds);
|
|
1914
1914
|
}
|
|
@@ -1916,7 +1916,7 @@ export function* relevantRemovedRoots(
|
|
|
1916
1916
|
function* relevantRemovedRootsFromFields(
|
|
1917
1917
|
change: FieldChangeMap,
|
|
1918
1918
|
nodeChanges: ChangeAtomIdBTree<NodeChangeset>,
|
|
1919
|
-
fieldKinds: ReadonlyMap<FieldKindIdentifier,
|
|
1919
|
+
fieldKinds: ReadonlyMap<FieldKindIdentifier, FlexFieldKind>,
|
|
1920
1920
|
): Iterable<DeltaDetachedNodeId> {
|
|
1921
1921
|
for (const [_, fieldChange] of change) {
|
|
1922
1922
|
const handler = getChangeHandler(fieldKinds, fieldChange.fieldKind);
|
|
@@ -2022,7 +2022,7 @@ export function updateRefreshers(
|
|
|
2022
2022
|
*/
|
|
2023
2023
|
export function intoDelta(
|
|
2024
2024
|
taggedChange: TaggedChange<ModularChangeset>,
|
|
2025
|
-
fieldKinds: ReadonlyMap<FieldKindIdentifier,
|
|
2025
|
+
fieldKinds: ReadonlyMap<FieldKindIdentifier, FlexFieldKind>,
|
|
2026
2026
|
): DeltaRoot {
|
|
2027
2027
|
const change = taggedChange.change;
|
|
2028
2028
|
const rootDelta: Mutable<DeltaRoot> = {};
|
|
@@ -2091,7 +2091,7 @@ function copyDetachedNodes(
|
|
|
2091
2091
|
function intoDeltaImpl(
|
|
2092
2092
|
change: FieldChangeMap,
|
|
2093
2093
|
nodeChanges: ChangeAtomIdBTree<NodeChangeset>,
|
|
2094
|
-
fieldKinds: ReadonlyMap<FieldKindIdentifier,
|
|
2094
|
+
fieldKinds: ReadonlyMap<FieldKindIdentifier, FlexFieldKind>,
|
|
2095
2095
|
global: DeltaDetachedNodeChanges[],
|
|
2096
2096
|
rename: DeltaDetachedNodeRename[],
|
|
2097
2097
|
): Map<FieldKey, DeltaFieldChanges> {
|
|
@@ -2121,7 +2121,7 @@ function intoDeltaImpl(
|
|
|
2121
2121
|
function deltaFromNodeChange(
|
|
2122
2122
|
change: NodeChangeset,
|
|
2123
2123
|
nodeChanges: ChangeAtomIdBTree<NodeChangeset>,
|
|
2124
|
-
fieldKinds: ReadonlyMap<FieldKindIdentifier,
|
|
2124
|
+
fieldKinds: ReadonlyMap<FieldKindIdentifier, FlexFieldKind>,
|
|
2125
2125
|
global: DeltaDetachedNodeChanges[],
|
|
2126
2126
|
rename: DeltaDetachedNodeRename[],
|
|
2127
2127
|
): DeltaFieldMap {
|
|
@@ -2173,19 +2173,19 @@ function isEmptyNodeChangeset(change: NodeChangeset): boolean {
|
|
|
2173
2173
|
}
|
|
2174
2174
|
|
|
2175
2175
|
export function getFieldKind(
|
|
2176
|
-
fieldKinds: ReadonlyMap<FieldKindIdentifier,
|
|
2176
|
+
fieldKinds: ReadonlyMap<FieldKindIdentifier, FlexFieldKind>,
|
|
2177
2177
|
kind: FieldKindIdentifier,
|
|
2178
|
-
):
|
|
2178
|
+
): FlexFieldKind {
|
|
2179
2179
|
if (kind === genericFieldKind.identifier) {
|
|
2180
2180
|
return genericFieldKind;
|
|
2181
2181
|
}
|
|
2182
2182
|
const fieldKind = fieldKinds.get(kind);
|
|
2183
2183
|
assert(fieldKind !== undefined, 0x3ad /* Unknown field kind */);
|
|
2184
|
-
return
|
|
2184
|
+
return fieldKind;
|
|
2185
2185
|
}
|
|
2186
2186
|
|
|
2187
2187
|
export function getChangeHandler(
|
|
2188
|
-
fieldKinds: ReadonlyMap<FieldKindIdentifier,
|
|
2188
|
+
fieldKinds: ReadonlyMap<FieldKindIdentifier, FlexFieldKind>,
|
|
2189
2189
|
kind: FieldKindIdentifier,
|
|
2190
2190
|
): FieldChangeHandler<unknown> {
|
|
2191
2191
|
return getFieldKind(fieldKinds, kind).changeHandler;
|
|
@@ -2668,7 +2668,7 @@ export class ModularEditBuilder extends EditBuilder<ModularChangeset> {
|
|
|
2668
2668
|
|
|
2669
2669
|
public constructor(
|
|
2670
2670
|
family: ChangeFamily<ChangeFamilyEditor, ModularChangeset>,
|
|
2671
|
-
private readonly fieldKinds: ReadonlyMap<FieldKindIdentifier,
|
|
2671
|
+
private readonly fieldKinds: ReadonlyMap<FieldKindIdentifier, FlexFieldKind>,
|
|
2672
2672
|
changeReceiver: (change: TaggedChange<ModularChangeset>) => void,
|
|
2673
2673
|
) {
|
|
2674
2674
|
super(family, changeReceiver);
|
|
@@ -52,12 +52,8 @@ import {
|
|
|
52
52
|
import { chunkField, defaultChunkPolicy } from "../chunked-forest/index.js";
|
|
53
53
|
import { cursorForMapTreeNode, mapTreeFromCursor } from "../mapTreeCursor.js";
|
|
54
54
|
import { type CursorWithNode, SynchronousCursor } from "../treeCursorUtils.js";
|
|
55
|
-
import {
|
|
56
|
-
|
|
57
|
-
FieldKinds,
|
|
58
|
-
isFieldInSchema,
|
|
59
|
-
throwOutOfSchema,
|
|
60
|
-
} from "../default-schema/index.js";
|
|
55
|
+
import { defaultSchemaPolicy, FieldKinds } from "../default-schema/index.js";
|
|
56
|
+
import { isFieldInSchema, throwOutOfSchema } from "../schemaChecker.js";
|
|
61
57
|
|
|
62
58
|
/** A `MapTree` with mutable fields */
|
|
63
59
|
interface MutableMapTree extends MapTree {
|
|
@@ -12,7 +12,6 @@ import type {
|
|
|
12
12
|
import type { FieldChangeEncodingContext } from "../modular-schema/index.js";
|
|
13
13
|
|
|
14
14
|
import type { OptionalChangeset } from "./optionalFieldChangeTypes.js";
|
|
15
|
-
import { makeOptionalFieldCodec as makeV1Codec } from "./optionalFieldCodecV1.js";
|
|
16
15
|
import { makeOptionalFieldCodec as makeV2Codec } from "./optionalFieldCodecV2.js";
|
|
17
16
|
|
|
18
17
|
export const makeOptionalFieldCodecFamily = (
|
|
@@ -23,7 +22,4 @@ export const makeOptionalFieldCodecFamily = (
|
|
|
23
22
|
ChangeEncodingContext
|
|
24
23
|
>,
|
|
25
24
|
): ICodecFamily<OptionalChangeset, FieldChangeEncodingContext> =>
|
|
26
|
-
makeCodecFamily([
|
|
27
|
-
[1, makeV1Codec(revisionTagCodec)],
|
|
28
|
-
[2, makeV2Codec(revisionTagCodec)],
|
|
29
|
-
]);
|
|
25
|
+
makeCodecFamily([[2, makeV2Codec(revisionTagCodec)]]);
|
|
@@ -4,6 +4,10 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { fail, unreachableCase } from "@fluidframework/core-utils/internal";
|
|
7
|
+
import {
|
|
8
|
+
getConfigForMinVersionForCollab,
|
|
9
|
+
lowestMinVersionForCollab,
|
|
10
|
+
} from "@fluidframework/runtime-utils/internal";
|
|
7
11
|
|
|
8
12
|
import {
|
|
9
13
|
type CodecTree,
|
|
@@ -40,9 +44,12 @@ import type { MinimumVersionForCollab } from "@fluidframework/runtime-definition
|
|
|
40
44
|
export function clientVersionToSchemaVersion(
|
|
41
45
|
clientVersion: MinimumVersionForCollab,
|
|
42
46
|
): SchemaFormatVersion {
|
|
43
|
-
return
|
|
44
|
-
|
|
45
|
-
|
|
47
|
+
return brand(
|
|
48
|
+
getConfigForMinVersionForCollab(clientVersion, {
|
|
49
|
+
[lowestMinVersionForCollab]: SchemaFormatVersion.v1,
|
|
50
|
+
[FluidClientVersion.v2_43]: SchemaFormatVersion.v2,
|
|
51
|
+
}),
|
|
52
|
+
);
|
|
46
53
|
}
|
|
47
54
|
|
|
48
55
|
export function getCodecTreeForSchemaFormat(
|
|
@@ -13,10 +13,10 @@ import {
|
|
|
13
13
|
MapNodeStoredSchema,
|
|
14
14
|
Multiplicity,
|
|
15
15
|
type SchemaAndPolicy,
|
|
16
|
-
} from "
|
|
17
|
-
import { allowsValue } from "
|
|
18
|
-
import type { MapTreeFieldViewGeneric, MinimalMapTreeNodeView } from "
|
|
19
|
-
import { iterableHasSome, mapIterable } from "
|
|
16
|
+
} from "../core/index.js";
|
|
17
|
+
import { allowsValue } from "./valueUtilities.js";
|
|
18
|
+
import type { MapTreeFieldViewGeneric, MinimalMapTreeNodeView } from "./mapTreeCursor.js";
|
|
19
|
+
import { iterableHasSome, mapIterable } from "../util/index.js";
|
|
20
20
|
|
|
21
21
|
export enum SchemaValidationError {
|
|
22
22
|
Field_KindNotInSchemaPolicy,
|
|
@@ -16,6 +16,7 @@ const CellCount = Type.Number({ multipleOf: 1, minimum: 1 });
|
|
|
16
16
|
const MoveId = ChangesetLocalIdSchema;
|
|
17
17
|
const HasMoveId = Type.Object({ id: MoveId });
|
|
18
18
|
|
|
19
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
19
20
|
const IdRange = Type.Tuple([ChangesetLocalIdSchema, CellCount]);
|
|
20
21
|
|
|
21
22
|
export const CellId = EncodedChangeAtomId;
|
|
@@ -11,7 +11,6 @@ import type {
|
|
|
11
11
|
} from "../../core/index.js";
|
|
12
12
|
import type { FieldChangeEncodingContext } from "../modular-schema/index.js";
|
|
13
13
|
|
|
14
|
-
import { makeV1Codec } from "./sequenceFieldCodecV1.js";
|
|
15
14
|
import { makeV2Codec } from "./sequenceFieldCodecV2.js";
|
|
16
15
|
import { makeV3Codec } from "./sequenceFieldCodecV3.js";
|
|
17
16
|
import type { Changeset, MarkList } from "./types.js";
|
|
@@ -25,7 +24,6 @@ export const sequenceFieldChangeCodecFactory = (
|
|
|
25
24
|
>,
|
|
26
25
|
): ICodecFamily<MarkList, FieldChangeEncodingContext> =>
|
|
27
26
|
makeCodecFamily<Changeset, FieldChangeEncodingContext>([
|
|
28
|
-
[1, makeV1Codec(revisionTagCodec)],
|
|
29
27
|
[2, makeV2Codec(revisionTagCodec)],
|
|
30
28
|
[3, makeV3Codec(revisionTagCodec)],
|
|
31
29
|
]);
|
|
@@ -20,23 +20,9 @@ export enum TreeCompressionStrategy {
|
|
|
20
20
|
* Use this when debugging or testing and needing to inspect encoded tree content.
|
|
21
21
|
*/
|
|
22
22
|
Uncompressed = 1,
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* A private extension of {@link TreeCompressionStrategy} for strategies that are not intended for public use just yet.
|
|
27
|
-
*/
|
|
28
|
-
export enum TreeCompressionStrategyExtended {
|
|
29
23
|
/**
|
|
30
|
-
* Optimized for encoded size, same as TreeCompressionStrategy.Compressed
|
|
24
|
+
* Optimized for encoded size, same as TreeCompressionStrategy.Compressed but it enables incremental encoding
|
|
31
25
|
* of the data.
|
|
32
|
-
* @remarks
|
|
33
|
-
* TODO: AB#41865
|
|
34
|
-
* This needs to be stabilized to allow opting into it.
|
|
35
|
-
* It could possibly be made the default instead of {@link TreeCompressionStrategy.Compressed}.
|
|
36
26
|
*/
|
|
37
27
|
CompressedIncremental = 2,
|
|
38
28
|
}
|
|
39
|
-
|
|
40
|
-
export type TreeCompressionStrategyPrivate =
|
|
41
|
-
| TreeCompressionStrategy
|
|
42
|
-
| TreeCompressionStrategyExtended;
|
package/src/index.ts
CHANGED
|
@@ -52,6 +52,7 @@ export {
|
|
|
52
52
|
type TreeIndex,
|
|
53
53
|
type TreeIndexKey,
|
|
54
54
|
type TreeIndexNodes,
|
|
55
|
+
type IncrementalEncodingPolicy,
|
|
55
56
|
} from "./feature-libraries/index.js";
|
|
56
57
|
|
|
57
58
|
export {
|
|
@@ -60,7 +61,6 @@ export {
|
|
|
60
61
|
type SharedTreeOptionsBeta,
|
|
61
62
|
type ForestType,
|
|
62
63
|
type SharedTreeFormatOptions,
|
|
63
|
-
SharedTreeFormatVersion,
|
|
64
64
|
Tree,
|
|
65
65
|
type RunTransaction,
|
|
66
66
|
type ForestOptions,
|
|
@@ -285,10 +285,16 @@ export {
|
|
|
285
285
|
type SimpleAllowedTypeAttributes,
|
|
286
286
|
encodeSimpleSchema,
|
|
287
287
|
decodeSimpleSchema,
|
|
288
|
+
exportCompatibilitySchemaSnapshot,
|
|
289
|
+
importCompatibilitySchemaSnapshot,
|
|
290
|
+
checkCompatibility,
|
|
291
|
+
incrementalSummaryHint,
|
|
292
|
+
incrementalEncodingPolicyForAllowedTypes,
|
|
288
293
|
} from "./simple-tree/index.js";
|
|
289
294
|
export {
|
|
290
295
|
SharedTree,
|
|
291
296
|
configuredSharedTree,
|
|
297
|
+
configuredSharedTreeAlpha,
|
|
292
298
|
configuredSharedTreeBeta,
|
|
293
299
|
configuredSharedTreeBetaLegacy,
|
|
294
300
|
} from "./treeFactory.js";
|
package/src/packageVersion.ts
CHANGED
package/src/shared-tree/index.ts
CHANGED
|
@@ -64,7 +64,6 @@ import {
|
|
|
64
64
|
makeSchemaCodec,
|
|
65
65
|
makeTreeChunker,
|
|
66
66
|
type IncrementalEncodingPolicy,
|
|
67
|
-
type TreeCompressionStrategyPrivate,
|
|
68
67
|
} from "../feature-libraries/index.js";
|
|
69
68
|
// eslint-disable-next-line import-x/no-internal-modules
|
|
70
69
|
import type { FormatV1 } from "../feature-libraries/schema-index/index.js";
|
|
@@ -75,7 +74,7 @@ import {
|
|
|
75
74
|
type ClonableSchemaAndPolicy,
|
|
76
75
|
getCodecTreeForEditManagerFormatWithChange,
|
|
77
76
|
getCodecTreeForMessageFormatWithChange,
|
|
78
|
-
type
|
|
77
|
+
type SharedTreeCoreOptionsInternal,
|
|
79
78
|
MessageFormatVersion,
|
|
80
79
|
SharedTreeCore,
|
|
81
80
|
EditManagerFormatVersion,
|
|
@@ -574,56 +573,6 @@ export function getBranch<T extends ImplicitFieldSchema | UnsafeUnknownSchema>(
|
|
|
574
573
|
return kernel.checkout as unknown as BranchableTree;
|
|
575
574
|
}
|
|
576
575
|
|
|
577
|
-
/**
|
|
578
|
-
* Format versions supported by SharedTree.
|
|
579
|
-
*
|
|
580
|
-
* Each version documents a required minimum version of the \@fluidframework/tree package.
|
|
581
|
-
* @alpha
|
|
582
|
-
*/
|
|
583
|
-
export const SharedTreeFormatVersion = {
|
|
584
|
-
/**
|
|
585
|
-
* Requires \@fluidframework/tree \>= 2.0.0.
|
|
586
|
-
*
|
|
587
|
-
* @deprecated FF does not currently plan on supporting this format long-term.
|
|
588
|
-
* Do not write production documents using this format, as they may not be loadable in the future.
|
|
589
|
-
*/
|
|
590
|
-
v1: 1,
|
|
591
|
-
|
|
592
|
-
/**
|
|
593
|
-
* Requires \@fluidframework/tree \>= 2.0.0.
|
|
594
|
-
*/
|
|
595
|
-
v2: 2,
|
|
596
|
-
|
|
597
|
-
/**
|
|
598
|
-
* Requires \@fluidframework/tree \>= 2.0.0.
|
|
599
|
-
*/
|
|
600
|
-
v3: 3,
|
|
601
|
-
|
|
602
|
-
/**
|
|
603
|
-
* Requires \@fluidframework/tree \>= 2.0.0.
|
|
604
|
-
*/
|
|
605
|
-
v5: 5,
|
|
606
|
-
|
|
607
|
-
/**
|
|
608
|
-
* For testing purposes only.
|
|
609
|
-
*/
|
|
610
|
-
vSharedBranches: 100,
|
|
611
|
-
} as const;
|
|
612
|
-
|
|
613
|
-
/**
|
|
614
|
-
* Format versions supported by SharedTree.
|
|
615
|
-
*
|
|
616
|
-
* Each version documents a required minimum version of the \@fluidframework/tree package.
|
|
617
|
-
* @alpha
|
|
618
|
-
* @privateRemarks
|
|
619
|
-
* See packages/dds/tree/docs/main/compatibility.md for information on how to add support for a new format.
|
|
620
|
-
*
|
|
621
|
-
* TODO: Before this gets promoted past Alpha,
|
|
622
|
-
* a separate abstraction more suited for use in the public API should be adopted rather than reusing the same types used internally.
|
|
623
|
-
* Such an abstraction should probably be in the form of a Fluid-Framework wide compatibility enum.
|
|
624
|
-
*/
|
|
625
|
-
export type SharedTreeFormatVersion = typeof SharedTreeFormatVersion;
|
|
626
|
-
|
|
627
576
|
/**
|
|
628
577
|
* Defines for each EditManagerFormatVersion the SharedTreeChangeFormatVersion to use.
|
|
629
578
|
* This is an arbitrary mapping that is injected in the EditManger codec.
|
|
@@ -631,14 +580,6 @@ export type SharedTreeFormatVersion = typeof SharedTreeFormatVersion;
|
|
|
631
580
|
* This is because the format for SharedTree changes are not explicitly versioned.
|
|
632
581
|
*/
|
|
633
582
|
export const changeFormatVersionForEditManager = DependentFormatVersion.fromPairs([
|
|
634
|
-
[
|
|
635
|
-
brand<EditManagerFormatVersion>(EditManagerFormatVersion.v1),
|
|
636
|
-
brand<SharedTreeChangeFormatVersion>(1),
|
|
637
|
-
],
|
|
638
|
-
[
|
|
639
|
-
brand<EditManagerFormatVersion>(EditManagerFormatVersion.v2),
|
|
640
|
-
brand<SharedTreeChangeFormatVersion>(2),
|
|
641
|
-
],
|
|
642
583
|
[
|
|
643
584
|
brand<EditManagerFormatVersion>(EditManagerFormatVersion.v3),
|
|
644
585
|
brand<SharedTreeChangeFormatVersion>(3),
|
|
@@ -660,18 +601,6 @@ export const changeFormatVersionForEditManager = DependentFormatVersion.fromPair
|
|
|
660
601
|
* This is because the format for SharedTree changes are not explicitly versioned.
|
|
661
602
|
*/
|
|
662
603
|
export const changeFormatVersionForMessage = DependentFormatVersion.fromPairs([
|
|
663
|
-
[
|
|
664
|
-
brand<MessageFormatVersion>(MessageFormatVersion.undefined),
|
|
665
|
-
brand<SharedTreeChangeFormatVersion>(1),
|
|
666
|
-
],
|
|
667
|
-
[
|
|
668
|
-
brand<MessageFormatVersion>(MessageFormatVersion.v1),
|
|
669
|
-
brand<SharedTreeChangeFormatVersion>(1),
|
|
670
|
-
],
|
|
671
|
-
[
|
|
672
|
-
brand<MessageFormatVersion>(MessageFormatVersion.v2),
|
|
673
|
-
brand<SharedTreeChangeFormatVersion>(2),
|
|
674
|
-
],
|
|
675
604
|
[
|
|
676
605
|
brand<MessageFormatVersion>(MessageFormatVersion.v3),
|
|
677
606
|
brand<SharedTreeChangeFormatVersion>(3),
|
|
@@ -726,26 +655,19 @@ export function getCodecTreeForSharedTreeFormat(
|
|
|
726
655
|
export type SharedTreeOptionsBeta = ForestOptions;
|
|
727
656
|
|
|
728
657
|
/**
|
|
729
|
-
* Configuration options for SharedTree.
|
|
658
|
+
* Configuration options for SharedTree with alpha features.
|
|
730
659
|
* @alpha @input
|
|
731
660
|
*/
|
|
732
661
|
export interface SharedTreeOptions
|
|
733
|
-
extends
|
|
734
|
-
Partial<
|
|
735
|
-
|
|
662
|
+
extends SharedTreeOptionsBeta,
|
|
663
|
+
Partial<CodecWriteOptions>,
|
|
664
|
+
Partial<SharedTreeFormatOptions> {
|
|
736
665
|
/**
|
|
737
666
|
* Experimental feature flag to enable shared branches.
|
|
738
667
|
* This feature is not yet complete and should not be used in production.
|
|
739
668
|
* Defaults to false.
|
|
740
669
|
*/
|
|
741
670
|
readonly enableSharedBranches?: boolean;
|
|
742
|
-
}
|
|
743
|
-
|
|
744
|
-
export interface SharedTreeOptionsInternal
|
|
745
|
-
extends Partial<SharedTreCoreOptionsInternal>,
|
|
746
|
-
Partial<ForestOptions>,
|
|
747
|
-
Partial<SharedTreeFormatOptionsInternal> {
|
|
748
|
-
disposeForksAfterTransaction?: boolean;
|
|
749
671
|
/**
|
|
750
672
|
* Returns whether a node / field should be incrementally encoded.
|
|
751
673
|
* @remarks
|
|
@@ -754,6 +676,12 @@ export interface SharedTreeOptionsInternal
|
|
|
754
676
|
shouldEncodeIncrementally?: IncrementalEncodingPolicy;
|
|
755
677
|
}
|
|
756
678
|
|
|
679
|
+
export interface SharedTreeOptionsInternal
|
|
680
|
+
extends SharedTreeOptions,
|
|
681
|
+
Partial<SharedTreeCoreOptionsInternal> {
|
|
682
|
+
disposeForksAfterTransaction?: boolean;
|
|
683
|
+
}
|
|
684
|
+
|
|
757
685
|
/**
|
|
758
686
|
* Configuration options for SharedTree's internal tree storage.
|
|
759
687
|
* @beta @input
|
|
@@ -777,11 +705,6 @@ export interface SharedTreeFormatOptions {
|
|
|
777
705
|
treeEncodeType: TreeCompressionStrategy;
|
|
778
706
|
}
|
|
779
707
|
|
|
780
|
-
export interface SharedTreeFormatOptionsInternal
|
|
781
|
-
extends Omit<SharedTreeFormatOptions, "treeEncodeType"> {
|
|
782
|
-
treeEncodeType: TreeCompressionStrategyPrivate;
|
|
783
|
-
}
|
|
784
|
-
|
|
785
708
|
/**
|
|
786
709
|
* Used to distinguish between different forest types.
|
|
787
710
|
* @remarks
|
|
@@ -884,6 +807,7 @@ export const defaultSharedTreeOptions: Required<SharedTreeOptionsInternal> = {
|
|
|
884
807
|
shouldEncodeIncrementally: defaultIncrementalEncodingPolicy,
|
|
885
808
|
editManagerFormatSelector: clientVersionToEditManagerFormatVersion,
|
|
886
809
|
messageFormatSelector: clientVersionToMessageFormatVersion,
|
|
810
|
+
enableSharedBranches: false,
|
|
887
811
|
};
|
|
888
812
|
|
|
889
813
|
/**
|
|
@@ -74,10 +74,7 @@ interface ChangeFormatDependencies {
|
|
|
74
74
|
readonly schemaChange: SchemaFormatVersion;
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
export type SharedTreeChangeFormatVersion = Brand<
|
|
78
|
-
1 | 2 | 3 | 4,
|
|
79
|
-
"SharedTreeChangeFormatVersion"
|
|
80
|
-
>;
|
|
77
|
+
export type SharedTreeChangeFormatVersion = Brand<3 | 4, "SharedTreeChangeFormatVersion">;
|
|
81
78
|
|
|
82
79
|
/**
|
|
83
80
|
* Defines for each SharedTree change format the corresponding dependent formats to use.
|
|
@@ -89,8 +86,6 @@ export const dependenciesForChangeFormat: Map<
|
|
|
89
86
|
SharedTreeChangeFormatVersion,
|
|
90
87
|
ChangeFormatDependencies
|
|
91
88
|
> = new Map([
|
|
92
|
-
[brand(1), { modularChange: brand(1), schemaChange: brand(SchemaFormatVersion.v1) }],
|
|
93
|
-
[brand(2), { modularChange: brand(2), schemaChange: brand(SchemaFormatVersion.v1) }],
|
|
94
89
|
[brand(3), { modularChange: brand(3), schemaChange: brand(SchemaFormatVersion.v1) }],
|
|
95
90
|
[brand(4), { modularChange: brand(4), schemaChange: brand(SchemaFormatVersion.v1) }],
|
|
96
91
|
]);
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
ModularChangeFamily,
|
|
24
24
|
type ModularChangeset,
|
|
25
25
|
type TreeChunk,
|
|
26
|
-
type
|
|
26
|
+
type TreeCompressionStrategy,
|
|
27
27
|
fieldKindConfigurations,
|
|
28
28
|
fieldKinds,
|
|
29
29
|
makeModularChangeCodecFamily,
|
|
@@ -61,7 +61,7 @@ export class SharedTreeChangeFamily
|
|
|
61
61
|
revisionTagCodec: RevisionTagCodec,
|
|
62
62
|
fieldBatchCodec: FieldBatchCodec,
|
|
63
63
|
codecOptions: CodecWriteOptions,
|
|
64
|
-
chunkCompressionStrategy?:
|
|
64
|
+
chunkCompressionStrategy?: TreeCompressionStrategy,
|
|
65
65
|
private readonly idCompressor?: IIdCompressor,
|
|
66
66
|
) {
|
|
67
67
|
const modularChangeCodec = makeModularChangeCodecFamily(
|
|
@@ -51,7 +51,7 @@ import {
|
|
|
51
51
|
} from "../core/index.js";
|
|
52
52
|
import {
|
|
53
53
|
type FieldBatchCodec,
|
|
54
|
-
type
|
|
54
|
+
type TreeCompressionStrategy,
|
|
55
55
|
allowsRepoSuperset,
|
|
56
56
|
buildForest,
|
|
57
57
|
createNodeIdentifierManager,
|
|
@@ -287,7 +287,7 @@ export function createTreeCheckout(
|
|
|
287
287
|
forest?: IEditableForest;
|
|
288
288
|
fieldBatchCodec?: FieldBatchCodec;
|
|
289
289
|
removedRoots?: DetachedFieldIndex;
|
|
290
|
-
chunkCompressionStrategy?:
|
|
290
|
+
chunkCompressionStrategy?: TreeCompressionStrategy;
|
|
291
291
|
logger?: ITelemetryLoggerExt;
|
|
292
292
|
breaker?: Breakable;
|
|
293
293
|
disposeForksAfterTransaction?: boolean;
|
|
@@ -5,6 +5,10 @@
|
|
|
5
5
|
|
|
6
6
|
import type { IIdCompressor } from "@fluidframework/id-compressor";
|
|
7
7
|
import { unreachableCase } from "@fluidframework/core-utils/internal";
|
|
8
|
+
import {
|
|
9
|
+
getConfigForMinVersionForCollab,
|
|
10
|
+
lowestMinVersionForCollab,
|
|
11
|
+
} from "@fluidframework/runtime-utils/internal";
|
|
8
12
|
|
|
9
13
|
import {
|
|
10
14
|
type CodecTree,
|
|
@@ -16,6 +20,7 @@ import {
|
|
|
16
20
|
type ICodecOptions,
|
|
17
21
|
type IJsonCodec,
|
|
18
22
|
makeCodecFamily,
|
|
23
|
+
makeDiscontinuedCodecVersion,
|
|
19
24
|
} from "../codec/index.js";
|
|
20
25
|
import { makeVersionDispatchingCodec } from "../codec/index.js";
|
|
21
26
|
import type {
|
|
@@ -49,10 +54,13 @@ export function clientVersionToEditManagerFormatVersion(
|
|
|
49
54
|
clientVersion: MinimumVersionForCollab,
|
|
50
55
|
writeVersionOverride?: EditManagerFormatVersion,
|
|
51
56
|
): EditManagerFormatVersion {
|
|
52
|
-
const compatibleVersion: EditManagerFormatVersion =
|
|
53
|
-
clientVersion
|
|
54
|
-
|
|
55
|
-
:
|
|
57
|
+
const compatibleVersion: EditManagerFormatVersion = brand(
|
|
58
|
+
getConfigForMinVersionForCollab(clientVersion, {
|
|
59
|
+
[lowestMinVersionForCollab]: EditManagerFormatVersion.v3,
|
|
60
|
+
[FluidClientVersion.v2_43]: EditManagerFormatVersion.v4,
|
|
61
|
+
}),
|
|
62
|
+
);
|
|
63
|
+
|
|
56
64
|
return writeVersionOverride ?? compatibleVersion;
|
|
57
65
|
}
|
|
58
66
|
|
|
@@ -125,21 +133,25 @@ export function makeEditManagerCodecs<TChangeset>(
|
|
|
125
133
|
EditManagerEncodingContext
|
|
126
134
|
>,
|
|
127
135
|
][] = Array.from(editManagerFormatVersions, (version) => {
|
|
128
|
-
const changeCodec = changeCodecs.resolve(dependentChangeFormatVersion.lookup(version));
|
|
129
136
|
switch (version) {
|
|
130
137
|
case EditManagerFormatVersion.v1:
|
|
131
138
|
case EditManagerFormatVersion.v2:
|
|
139
|
+
return [version, makeDiscontinuedCodecVersion(options, version, "2.73.0")];
|
|
132
140
|
case EditManagerFormatVersion.v3:
|
|
133
|
-
case EditManagerFormatVersion.v4:
|
|
141
|
+
case EditManagerFormatVersion.v4: {
|
|
142
|
+
const changeCodec = changeCodecs.resolve(dependentChangeFormatVersion.lookup(version));
|
|
134
143
|
return [
|
|
135
144
|
version,
|
|
136
145
|
makeV1CodecWithVersion(changeCodec, revisionTagCodec, options, version),
|
|
137
146
|
];
|
|
138
|
-
|
|
147
|
+
}
|
|
148
|
+
case EditManagerFormatVersion.v5: {
|
|
149
|
+
const changeCodec = changeCodecs.resolve(dependentChangeFormatVersion.lookup(version));
|
|
139
150
|
return [
|
|
140
151
|
version,
|
|
141
152
|
makeV5CodecWithVersion(changeCodec, revisionTagCodec, options, version),
|
|
142
153
|
];
|
|
154
|
+
}
|
|
143
155
|
default:
|
|
144
156
|
unreachableCase(version);
|
|
145
157
|
}
|
|
@@ -126,14 +126,12 @@ export const EncodedSharedBranch = <ChangeSchema extends TSchema>(tChange: Chang
|
|
|
126
126
|
export const EditManagerFormatVersion = {
|
|
127
127
|
/**
|
|
128
128
|
* Introduced and retired prior to 2.0.
|
|
129
|
-
* Reading
|
|
130
|
-
* Writing capability need not be maintained.
|
|
129
|
+
* Reading and writing capability removed in 2.73.0.
|
|
131
130
|
*/
|
|
132
131
|
v1: 1,
|
|
133
132
|
/**
|
|
134
133
|
* Introduced and retired prior to 2.0.
|
|
135
|
-
* Reading
|
|
136
|
-
* Writing capability need not be maintained.
|
|
134
|
+
* Reading and writing capability removed in 2.73.0.
|
|
137
135
|
*/
|
|
138
136
|
v2: 2,
|
|
139
137
|
/**
|
|
@@ -159,12 +157,13 @@ export type EditManagerFormatVersion = Brand<
|
|
|
159
157
|
(typeof EditManagerFormatVersion)[keyof typeof EditManagerFormatVersion],
|
|
160
158
|
"EditManagerFormatVersion"
|
|
161
159
|
>;
|
|
162
|
-
export const
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
EditManagerFormatVersion
|
|
168
|
-
|
|
169
|
-
|
|
160
|
+
export const supportedEditManagerFormatVersions: ReadonlySet<EditManagerFormatVersion> =
|
|
161
|
+
new Set([
|
|
162
|
+
EditManagerFormatVersion.v3,
|
|
163
|
+
EditManagerFormatVersion.v4,
|
|
164
|
+
EditManagerFormatVersion.v5,
|
|
165
|
+
] as EditManagerFormatVersion[]);
|
|
166
|
+
export const editManagerFormatVersions: ReadonlySet<EditManagerFormatVersion> = new Set(
|
|
167
|
+
Object.values(EditManagerFormatVersion) as EditManagerFormatVersion[],
|
|
168
|
+
);
|
|
170
169
|
/* eslint-enable @typescript-eslint/explicit-function-return-type */
|