@fluidframework/tree 2.71.0 → 2.73.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 +125 -40
- package/api-report/tree.alpha.api.md +44 -48
- package/api-report/tree.beta.api.md +42 -0
- package/api-report/tree.legacy.beta.api.md +42 -0
- package/dist/alpha.d.ts +12 -8
- 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/beta.d.ts +7 -0
- package/dist/codec/codec.d.ts +23 -1
- package/dist/codec/codec.d.ts.map +1 -1
- package/dist/codec/codec.js +23 -3
- 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/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +2 -2
- package/dist/core/index.js.map +1 -1
- package/dist/core/schema-stored/index.d.ts +1 -1
- package/dist/core/schema-stored/index.d.ts.map +1 -1
- package/dist/core/schema-stored/index.js +2 -2
- package/dist/core/schema-stored/index.js.map +1 -1
- package/dist/core/schema-stored/schema.d.ts +18 -7
- package/dist/core/schema-stored/schema.d.ts.map +1 -1
- package/dist/core/schema-stored/schema.js +6 -7
- package/dist/core/schema-stored/schema.js.map +1 -1
- package/dist/core/tree/detachedFieldIndexCodecCommon.d.ts +2 -1
- package/dist/core/tree/detachedFieldIndexCodecCommon.d.ts.map +1 -1
- package/dist/core/tree/detachedFieldIndexCodecCommon.js.map +1 -1
- package/dist/core/tree/detachedFieldIndexCodecV1.d.ts +1 -1
- package/dist/core/tree/detachedFieldIndexCodecV1.d.ts.map +1 -1
- package/dist/core/tree/detachedFieldIndexCodecV1.js +3 -2
- package/dist/core/tree/detachedFieldIndexCodecV1.js.map +1 -1
- package/dist/core/tree/detachedFieldIndexCodecV2.d.ts.map +1 -1
- package/dist/core/tree/detachedFieldIndexCodecV2.js +3 -1
- package/dist/core/tree/detachedFieldIndexCodecV2.js.map +1 -1
- package/dist/core/tree/detachedFieldIndexCodecs.d.ts +2 -3
- package/dist/core/tree/detachedFieldIndexCodecs.d.ts.map +1 -1
- package/dist/core/tree/detachedFieldIndexCodecs.js +31 -8
- package/dist/core/tree/detachedFieldIndexCodecs.js.map +1 -1
- package/dist/core/tree/detachedFieldIndexFormatCommon.d.ts +10 -1
- package/dist/core/tree/detachedFieldIndexFormatCommon.d.ts.map +1 -1
- package/dist/core/tree/detachedFieldIndexFormatCommon.js +8 -1
- package/dist/core/tree/detachedFieldIndexFormatCommon.js.map +1 -1
- package/dist/core/tree/detachedFieldIndexFormatV1.d.ts +2 -2
- package/dist/core/tree/detachedFieldIndexFormatV1.d.ts.map +1 -1
- package/dist/core/tree/detachedFieldIndexFormatV1.js +3 -3
- package/dist/core/tree/detachedFieldIndexFormatV1.js.map +1 -1
- package/dist/core/tree/detachedFieldIndexFormatV2.d.ts +2 -2
- package/dist/core/tree/detachedFieldIndexFormatV2.d.ts.map +1 -1
- package/dist/core/tree/detachedFieldIndexFormatV2.js +3 -3
- package/dist/core/tree/detachedFieldIndexFormatV2.js.map +1 -1
- package/dist/core/tree/index.d.ts +2 -1
- package/dist/core/tree/index.d.ts.map +1 -1
- package/dist/core/tree/index.js.map +1 -1
- package/dist/external-utilities/typeboxValidator.js +1 -1
- package/dist/external-utilities/typeboxValidator.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 +4 -10
- package/dist/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/codecs.js +39 -21
- 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 +163 -6
- package/dist/feature-libraries/chunked-forest/codec/format.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/format.js +13 -4
- 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/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/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 -2
- package/dist/feature-libraries/chunked-forest/index.js.map +1 -1
- package/dist/feature-libraries/default-schema/defaultFieldKinds.d.ts +35 -25
- package/dist/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -1
- package/dist/feature-libraries/default-schema/defaultFieldKinds.js +54 -74
- 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/codec.d.ts +4 -5
- package/dist/feature-libraries/forest-summary/codec.d.ts.map +1 -1
- package/dist/feature-libraries/forest-summary/codec.js +15 -4
- package/dist/feature-libraries/forest-summary/codec.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 +9 -2
- package/dist/feature-libraries/forest-summary/format.d.ts.map +1 -1
- package/dist/feature-libraries/forest-summary/format.js +11 -4
- package/dist/feature-libraries/forest-summary/format.js.map +1 -1
- package/dist/feature-libraries/forest-summary/index.d.ts +2 -1
- package/dist/feature-libraries/forest-summary/index.d.ts.map +1 -1
- package/dist/feature-libraries/forest-summary/index.js +3 -1
- package/dist/feature-libraries/forest-summary/index.js.map +1 -1
- package/dist/feature-libraries/index.d.ts +6 -5
- package/dist/feature-libraries/index.d.ts.map +1 -1
- package/dist/feature-libraries/index.js +9 -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/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-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.map +1 -1
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.d.ts +6 -7
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.d.ts.map +1 -1
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.js +5 -4
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.js.map +1 -1
- package/dist/feature-libraries/schema-index/codec.d.ts +10 -10
- package/dist/feature-libraries/schema-index/codec.d.ts.map +1 -1
- package/dist/feature-libraries/schema-index/codec.js +24 -18
- package/dist/feature-libraries/schema-index/codec.js.map +1 -1
- package/dist/feature-libraries/schema-index/formatV1.d.ts +2 -2
- package/dist/feature-libraries/schema-index/formatV1.d.ts.map +1 -1
- package/dist/feature-libraries/schema-index/formatV1.js +1 -1
- package/dist/feature-libraries/schema-index/formatV1.js.map +1 -1
- package/dist/feature-libraries/schema-index/formatV2.d.ts +1 -2
- package/dist/feature-libraries/schema-index/formatV2.d.ts.map +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/schemaSummarizer.d.ts +2 -2
- package/dist/feature-libraries/schema-index/schemaSummarizer.d.ts.map +1 -1
- package/dist/feature-libraries/schema-index/schemaSummarizer.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/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/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -3
- package/dist/index.js.map +1 -1
- package/dist/legacy.d.ts +7 -0
- 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 +22 -15
- package/dist/shared-tree/independentView.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 +12 -60
- package/dist/shared-tree/sharedTree.d.ts.map +1 -1
- package/dist/shared-tree/sharedTree.js +68 -159
- package/dist/shared-tree/sharedTree.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeCodecs.d.ts +8 -7
- package/dist/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeChangeCodecs.js +10 -11
- 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/treeAlpha.d.ts +1 -1
- package/dist/shared-tree/treeAlpha.d.ts.map +1 -1
- package/dist/shared-tree/treeAlpha.js +4 -2
- package/dist/shared-tree/treeAlpha.js.map +1 -1
- package/dist/shared-tree/treeCheckout.d.ts.map +1 -1
- package/dist/shared-tree/treeCheckout.js +1 -3
- package/dist/shared-tree/treeCheckout.js.map +1 -1
- package/dist/shared-tree-core/editManagerCodecs.d.ts +19 -6
- package/dist/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerCodecs.js +42 -18
- package/dist/shared-tree-core/editManagerCodecs.js.map +1 -1
- package/dist/shared-tree-core/editManagerFormatCommons.d.ts +36 -0
- package/dist/shared-tree-core/editManagerFormatCommons.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerFormatCommons.js +40 -1
- package/dist/shared-tree-core/editManagerFormatCommons.js.map +1 -1
- package/dist/shared-tree-core/editManagerFormatV1toV4.d.ts +2 -2
- package/dist/shared-tree-core/editManagerFormatV1toV4.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerFormatV1toV4.js +4 -4
- package/dist/shared-tree-core/editManagerFormatV1toV4.js.map +1 -1
- package/dist/shared-tree-core/editManagerFormatV5.d.ts +2 -2
- package/dist/shared-tree-core/editManagerFormatV5.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerFormatV5.js +1 -1
- package/dist/shared-tree-core/editManagerFormatV5.js.map +1 -1
- package/dist/shared-tree-core/index.d.ts +5 -3
- package/dist/shared-tree-core/index.d.ts.map +1 -1
- package/dist/shared-tree-core/index.js +12 -3
- package/dist/shared-tree-core/index.js.map +1 -1
- package/dist/shared-tree-core/messageCodecV1ToV4.d.ts +2 -1
- package/dist/shared-tree-core/messageCodecV1ToV4.d.ts.map +1 -1
- package/dist/shared-tree-core/messageCodecV1ToV4.js.map +1 -1
- package/dist/shared-tree-core/messageCodecV5.d.ts +2 -1
- package/dist/shared-tree-core/messageCodecV5.d.ts.map +1 -1
- package/dist/shared-tree-core/messageCodecV5.js.map +1 -1
- package/dist/shared-tree-core/messageCodecs.d.ts +19 -6
- package/dist/shared-tree-core/messageCodecs.d.ts.map +1 -1
- package/dist/shared-tree-core/messageCodecs.js +49 -21
- package/dist/shared-tree-core/messageCodecs.js.map +1 -1
- package/dist/shared-tree-core/messageFormat.d.ts +48 -0
- package/dist/shared-tree-core/messageFormat.d.ts.map +1 -0
- package/dist/shared-tree-core/messageFormat.js +53 -0
- package/dist/shared-tree-core/messageFormat.js.map +1 -0
- package/dist/shared-tree-core/sharedTreeCore.d.ts +8 -8
- package/dist/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
- package/dist/shared-tree-core/sharedTreeCore.js +3 -3
- package/dist/shared-tree-core/sharedTreeCore.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/discrepancies.d.ts +2 -2
- package/dist/simple-tree/api/discrepancies.js.map +1 -1
- package/dist/simple-tree/api/incrementalAllowedTypes.d.ts +1 -1
- package/dist/simple-tree/api/incrementalAllowedTypes.js +1 -1
- package/dist/simple-tree/api/incrementalAllowedTypes.js.map +1 -1
- package/dist/simple-tree/api/index.d.ts +4 -2
- package/dist/simple-tree/api/index.d.ts.map +1 -1
- package/dist/simple-tree/api/index.js +8 -1
- package/dist/simple-tree/api/index.js.map +1 -1
- package/dist/simple-tree/api/schemaFactoryAlpha.d.ts +2 -98
- package/dist/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFactoryAlpha.js +1 -52
- package/dist/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
- package/dist/simple-tree/api/schemaFactoryBeta.d.ts +98 -2
- package/dist/simple-tree/api/schemaFactoryBeta.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFactoryBeta.js +61 -7
- package/dist/simple-tree/api/schemaFactoryBeta.js.map +1 -1
- package/dist/simple-tree/api/schemaFromSimple.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFromSimple.js +13 -4
- package/dist/simple-tree/api/schemaFromSimple.js.map +1 -1
- package/dist/simple-tree/api/simpleSchemaCodec.d.ts +28 -0
- package/dist/simple-tree/api/simpleSchemaCodec.d.ts.map +1 -0
- package/dist/simple-tree/api/simpleSchemaCodec.js +290 -0
- package/dist/simple-tree/api/simpleSchemaCodec.js.map +1 -0
- 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/storedSchema.d.ts +2 -2
- package/dist/simple-tree/api/storedSchema.d.ts.map +1 -1
- package/dist/simple-tree/api/storedSchema.js +8 -6
- package/dist/simple-tree/api/storedSchema.js.map +1 -1
- package/dist/simple-tree/api/tree.d.ts +3 -3
- package/dist/simple-tree/api/tree.js +1 -1
- package/dist/simple-tree/api/tree.js.map +1 -1
- package/dist/simple-tree/api/typesUnsafe.d.ts +6 -6
- package/dist/simple-tree/api/typesUnsafe.js.map +1 -1
- package/dist/simple-tree/api/viewSchemaToSimpleSchema.d.ts +18 -3
- package/dist/simple-tree/api/viewSchemaToSimpleSchema.d.ts.map +1 -1
- package/dist/simple-tree/api/viewSchemaToSimpleSchema.js +78 -35
- package/dist/simple-tree/api/viewSchemaToSimpleSchema.js.map +1 -1
- package/dist/simple-tree/core/allowedTypes.d.ts +3 -3
- package/dist/simple-tree/core/allowedTypes.js +2 -2
- 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/treeNode.js +1 -1
- package/dist/simple-tree/core/treeNode.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 -2
- package/dist/simple-tree/index.d.ts.map +1 -1
- package/dist/simple-tree/index.js +12 -2
- 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 -50
- 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 +2 -6
- 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 +4 -12
- 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 +3 -7
- package/dist/simple-tree/node-kinds/record/recordNode.js.map +1 -1
- package/dist/simple-tree/simpleSchema.d.ts +25 -5
- package/dist/simple-tree/simpleSchema.d.ts.map +1 -1
- package/dist/simple-tree/simpleSchema.js.map +1 -1
- package/dist/simple-tree/simpleSchemaFormatV1.d.ts +249 -0
- package/dist/simple-tree/simpleSchemaFormatV1.d.ts.map +1 -0
- package/dist/simple-tree/simpleSchemaFormatV1.js +115 -0
- package/dist/simple-tree/simpleSchemaFormatV1.js.map +1 -0
- 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 +3 -1
- package/dist/treeFactory.d.ts.map +1 -1
- package/dist/treeFactory.js +26 -2
- 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/brand.d.ts +31 -2
- package/dist/util/brand.d.ts.map +1 -1
- package/dist/util/brand.js +28 -2
- package/dist/util/brand.js.map +1 -1
- package/dist/util/brandedMap.d.ts +3 -1
- package/dist/util/brandedMap.d.ts.map +1 -1
- package/dist/util/brandedMap.js.map +1 -1
- package/dist/util/index.d.ts +2 -1
- package/dist/util/index.d.ts.map +1 -1
- package/dist/util/index.js +8 -2
- package/dist/util/index.js.map +1 -1
- package/lib/alpha.d.ts +12 -8
- 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/beta.d.ts +7 -0
- package/lib/codec/codec.d.ts +23 -1
- package/lib/codec/codec.d.ts.map +1 -1
- package/lib/codec/codec.js +23 -3
- 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/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/schema-stored/index.d.ts +1 -1
- package/lib/core/schema-stored/index.d.ts.map +1 -1
- package/lib/core/schema-stored/index.js +1 -1
- package/lib/core/schema-stored/index.js.map +1 -1
- package/lib/core/schema-stored/schema.d.ts +18 -7
- package/lib/core/schema-stored/schema.d.ts.map +1 -1
- package/lib/core/schema-stored/schema.js +6 -7
- package/lib/core/schema-stored/schema.js.map +1 -1
- package/lib/core/tree/detachedFieldIndexCodecCommon.d.ts +2 -1
- package/lib/core/tree/detachedFieldIndexCodecCommon.d.ts.map +1 -1
- package/lib/core/tree/detachedFieldIndexCodecCommon.js.map +1 -1
- package/lib/core/tree/detachedFieldIndexCodecV1.d.ts +1 -1
- package/lib/core/tree/detachedFieldIndexCodecV1.d.ts.map +1 -1
- package/lib/core/tree/detachedFieldIndexCodecV1.js +3 -2
- package/lib/core/tree/detachedFieldIndexCodecV1.js.map +1 -1
- package/lib/core/tree/detachedFieldIndexCodecV2.d.ts.map +1 -1
- package/lib/core/tree/detachedFieldIndexCodecV2.js +4 -2
- package/lib/core/tree/detachedFieldIndexCodecV2.js.map +1 -1
- package/lib/core/tree/detachedFieldIndexCodecs.d.ts +2 -3
- package/lib/core/tree/detachedFieldIndexCodecs.d.ts.map +1 -1
- package/lib/core/tree/detachedFieldIndexCodecs.js +31 -8
- package/lib/core/tree/detachedFieldIndexCodecs.js.map +1 -1
- package/lib/core/tree/detachedFieldIndexFormatCommon.d.ts +10 -1
- package/lib/core/tree/detachedFieldIndexFormatCommon.d.ts.map +1 -1
- package/lib/core/tree/detachedFieldIndexFormatCommon.js +7 -0
- package/lib/core/tree/detachedFieldIndexFormatCommon.js.map +1 -1
- package/lib/core/tree/detachedFieldIndexFormatV1.d.ts +2 -2
- package/lib/core/tree/detachedFieldIndexFormatV1.d.ts.map +1 -1
- package/lib/core/tree/detachedFieldIndexFormatV1.js +3 -3
- package/lib/core/tree/detachedFieldIndexFormatV1.js.map +1 -1
- package/lib/core/tree/detachedFieldIndexFormatV2.d.ts +2 -2
- package/lib/core/tree/detachedFieldIndexFormatV2.d.ts.map +1 -1
- package/lib/core/tree/detachedFieldIndexFormatV2.js +3 -3
- package/lib/core/tree/detachedFieldIndexFormatV2.js.map +1 -1
- package/lib/core/tree/index.d.ts +2 -1
- package/lib/core/tree/index.d.ts.map +1 -1
- package/lib/core/tree/index.js +1 -1
- package/lib/core/tree/index.js.map +1 -1
- package/lib/external-utilities/typeboxValidator.js +1 -1
- package/lib/external-utilities/typeboxValidator.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 +4 -10
- package/lib/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/codecs.js +42 -23
- 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 +5 -3
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/format.d.ts +163 -6
- package/lib/feature-libraries/chunked-forest/codec/format.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/format.js +12 -3
- 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/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 +2 -2
- 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 -25
- package/lib/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -1
- package/lib/feature-libraries/default-schema/defaultFieldKinds.js +56 -76
- 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/codec.d.ts +4 -5
- package/lib/feature-libraries/forest-summary/codec.d.ts.map +1 -1
- package/lib/feature-libraries/forest-summary/codec.js +16 -5
- package/lib/feature-libraries/forest-summary/codec.js.map +1 -1
- package/lib/feature-libraries/forest-summary/forestSummarizer.js +1 -1
- package/lib/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
- package/lib/feature-libraries/forest-summary/format.d.ts +9 -2
- package/lib/feature-libraries/forest-summary/format.d.ts.map +1 -1
- package/lib/feature-libraries/forest-summary/format.js +9 -2
- package/lib/feature-libraries/forest-summary/format.js.map +1 -1
- package/lib/feature-libraries/forest-summary/index.d.ts +2 -1
- package/lib/feature-libraries/forest-summary/index.d.ts.map +1 -1
- package/lib/feature-libraries/forest-summary/index.js +1 -0
- package/lib/feature-libraries/forest-summary/index.js.map +1 -1
- package/lib/feature-libraries/index.d.ts +6 -5
- 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/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-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.map +1 -1
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.d.ts +6 -7
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.d.ts.map +1 -1
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.js +6 -5
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.js.map +1 -1
- package/lib/feature-libraries/schema-index/codec.d.ts +10 -10
- package/lib/feature-libraries/schema-index/codec.d.ts.map +1 -1
- package/lib/feature-libraries/schema-index/codec.js +26 -20
- package/lib/feature-libraries/schema-index/codec.js.map +1 -1
- package/lib/feature-libraries/schema-index/formatV1.d.ts +2 -2
- package/lib/feature-libraries/schema-index/formatV1.d.ts.map +1 -1
- package/lib/feature-libraries/schema-index/formatV1.js +2 -2
- package/lib/feature-libraries/schema-index/formatV1.js.map +1 -1
- package/lib/feature-libraries/schema-index/formatV2.d.ts +1 -2
- package/lib/feature-libraries/schema-index/formatV2.d.ts.map +1 -1
- package/lib/feature-libraries/schema-index/formatV2.js +2 -2
- package/lib/feature-libraries/schema-index/formatV2.js.map +1 -1
- package/lib/feature-libraries/schema-index/schemaSummarizer.d.ts +2 -2
- package/lib/feature-libraries/schema-index/schemaSummarizer.d.ts.map +1 -1
- package/lib/feature-libraries/schema-index/schemaSummarizer.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/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/index.d.ts +2 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -2
- package/lib/index.js.map +1 -1
- package/lib/legacy.d.ts +7 -0
- 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 +11 -4
- package/lib/shared-tree/independentView.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 +12 -60
- package/lib/shared-tree/sharedTree.d.ts.map +1 -1
- package/lib/shared-tree/sharedTree.js +70 -161
- package/lib/shared-tree/sharedTree.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeCodecs.d.ts +8 -7
- package/lib/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeCodecs.js +5 -6
- 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/treeAlpha.d.ts +1 -1
- package/lib/shared-tree/treeAlpha.d.ts.map +1 -1
- package/lib/shared-tree/treeAlpha.js +5 -3
- package/lib/shared-tree/treeAlpha.js.map +1 -1
- package/lib/shared-tree/treeCheckout.d.ts.map +1 -1
- package/lib/shared-tree/treeCheckout.js +1 -3
- package/lib/shared-tree/treeCheckout.js.map +1 -1
- package/lib/shared-tree-core/editManagerCodecs.d.ts +19 -6
- package/lib/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerCodecs.js +39 -17
- package/lib/shared-tree-core/editManagerCodecs.js.map +1 -1
- package/lib/shared-tree-core/editManagerFormatCommons.d.ts +36 -0
- package/lib/shared-tree-core/editManagerFormatCommons.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerFormatCommons.js +39 -0
- package/lib/shared-tree-core/editManagerFormatCommons.js.map +1 -1
- package/lib/shared-tree-core/editManagerFormatV1toV4.d.ts +2 -2
- package/lib/shared-tree-core/editManagerFormatV1toV4.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerFormatV1toV4.js +5 -5
- package/lib/shared-tree-core/editManagerFormatV1toV4.js.map +1 -1
- package/lib/shared-tree-core/editManagerFormatV5.d.ts +2 -2
- package/lib/shared-tree-core/editManagerFormatV5.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerFormatV5.js +2 -2
- package/lib/shared-tree-core/editManagerFormatV5.js.map +1 -1
- package/lib/shared-tree-core/index.d.ts +5 -3
- package/lib/shared-tree-core/index.d.ts.map +1 -1
- package/lib/shared-tree-core/index.js +4 -2
- package/lib/shared-tree-core/index.js.map +1 -1
- package/lib/shared-tree-core/messageCodecV1ToV4.d.ts +2 -1
- package/lib/shared-tree-core/messageCodecV1ToV4.d.ts.map +1 -1
- package/lib/shared-tree-core/messageCodecV1ToV4.js.map +1 -1
- package/lib/shared-tree-core/messageCodecV5.d.ts +2 -1
- package/lib/shared-tree-core/messageCodecV5.d.ts.map +1 -1
- package/lib/shared-tree-core/messageCodecV5.js.map +1 -1
- package/lib/shared-tree-core/messageCodecs.d.ts +19 -6
- package/lib/shared-tree-core/messageCodecs.d.ts.map +1 -1
- package/lib/shared-tree-core/messageCodecs.js +46 -20
- package/lib/shared-tree-core/messageCodecs.js.map +1 -1
- package/lib/shared-tree-core/messageFormat.d.ts +48 -0
- package/lib/shared-tree-core/messageFormat.d.ts.map +1 -0
- package/lib/shared-tree-core/messageFormat.js +50 -0
- package/lib/shared-tree-core/messageFormat.js.map +1 -0
- package/lib/shared-tree-core/sharedTreeCore.d.ts +8 -8
- package/lib/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
- package/lib/shared-tree-core/sharedTreeCore.js +3 -3
- package/lib/shared-tree-core/sharedTreeCore.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/discrepancies.d.ts +2 -2
- package/lib/simple-tree/api/discrepancies.js.map +1 -1
- package/lib/simple-tree/api/incrementalAllowedTypes.d.ts +1 -1
- package/lib/simple-tree/api/incrementalAllowedTypes.js +1 -1
- package/lib/simple-tree/api/incrementalAllowedTypes.js.map +1 -1
- package/lib/simple-tree/api/index.d.ts +4 -2
- package/lib/simple-tree/api/index.d.ts.map +1 -1
- package/lib/simple-tree/api/index.js +2 -0
- package/lib/simple-tree/api/index.js.map +1 -1
- package/lib/simple-tree/api/schemaFactoryAlpha.d.ts +2 -98
- package/lib/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFactoryAlpha.js +1 -52
- package/lib/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
- package/lib/simple-tree/api/schemaFactoryBeta.d.ts +98 -2
- package/lib/simple-tree/api/schemaFactoryBeta.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFactoryBeta.js +58 -4
- package/lib/simple-tree/api/schemaFactoryBeta.js.map +1 -1
- package/lib/simple-tree/api/schemaFromSimple.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFromSimple.js +14 -5
- package/lib/simple-tree/api/schemaFromSimple.js.map +1 -1
- package/lib/simple-tree/api/simpleSchemaCodec.d.ts +28 -0
- package/lib/simple-tree/api/simpleSchemaCodec.d.ts.map +1 -0
- package/lib/simple-tree/api/simpleSchemaCodec.js +262 -0
- package/lib/simple-tree/api/simpleSchemaCodec.js.map +1 -0
- 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/storedSchema.d.ts +2 -2
- package/lib/simple-tree/api/storedSchema.d.ts.map +1 -1
- package/lib/simple-tree/api/storedSchema.js +5 -3
- package/lib/simple-tree/api/storedSchema.js.map +1 -1
- package/lib/simple-tree/api/tree.d.ts +3 -3
- package/lib/simple-tree/api/tree.js +1 -1
- package/lib/simple-tree/api/tree.js.map +1 -1
- package/lib/simple-tree/api/typesUnsafe.d.ts +6 -6
- package/lib/simple-tree/api/typesUnsafe.js.map +1 -1
- package/lib/simple-tree/api/viewSchemaToSimpleSchema.d.ts +18 -3
- package/lib/simple-tree/api/viewSchemaToSimpleSchema.d.ts.map +1 -1
- package/lib/simple-tree/api/viewSchemaToSimpleSchema.js +75 -34
- package/lib/simple-tree/api/viewSchemaToSimpleSchema.js.map +1 -1
- package/lib/simple-tree/core/allowedTypes.d.ts +3 -3
- package/lib/simple-tree/core/allowedTypes.js +2 -2
- 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/treeNode.js +1 -1
- package/lib/simple-tree/core/treeNode.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 -2
- package/lib/simple-tree/index.d.ts.map +1 -1
- package/lib/simple-tree/index.js +2 -1
- 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 +17 -53
- 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 +5 -9
- 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 +6 -14
- 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 +6 -10
- package/lib/simple-tree/node-kinds/record/recordNode.js.map +1 -1
- package/lib/simple-tree/simpleSchema.d.ts +25 -5
- package/lib/simple-tree/simpleSchema.d.ts.map +1 -1
- package/lib/simple-tree/simpleSchema.js.map +1 -1
- package/lib/simple-tree/simpleSchemaFormatV1.d.ts +249 -0
- package/lib/simple-tree/simpleSchemaFormatV1.d.ts.map +1 -0
- package/lib/simple-tree/simpleSchemaFormatV1.js +112 -0
- package/lib/simple-tree/simpleSchemaFormatV1.js.map +1 -0
- 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 +3 -1
- package/lib/treeFactory.d.ts.map +1 -1
- package/lib/treeFactory.js +23 -1
- 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/brand.d.ts +31 -2
- package/lib/util/brand.d.ts.map +1 -1
- package/lib/util/brand.js +26 -1
- package/lib/util/brand.js.map +1 -1
- package/lib/util/brandedMap.d.ts +3 -1
- package/lib/util/brandedMap.d.ts.map +1 -1
- package/lib/util/brandedMap.js.map +1 -1
- package/lib/util/index.d.ts +2 -1
- package/lib/util/index.d.ts.map +1 -1
- package/lib/util/index.js +2 -1
- package/lib/util/index.js.map +1 -1
- package/package.json +24 -24
- package/src/api.ts +22 -11
- package/src/codec/codec.ts +25 -3
- 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/index.ts +1 -2
- package/src/core/schema-stored/index.ts +1 -2
- package/src/core/schema-stored/schema.ts +22 -8
- package/src/core/tree/detachedFieldIndexCodecCommon.ts +2 -1
- package/src/core/tree/detachedFieldIndexCodecV1.ts +4 -2
- package/src/core/tree/detachedFieldIndexCodecV2.ts +4 -6
- package/src/core/tree/detachedFieldIndexCodecs.ts +40 -11
- package/src/core/tree/detachedFieldIndexFormatCommon.ts +17 -2
- package/src/core/tree/detachedFieldIndexFormatV1.ts +6 -4
- package/src/core/tree/detachedFieldIndexFormatV2.ts +6 -4
- package/src/core/tree/index.ts +2 -4
- package/src/external-utilities/typeboxValidator.ts +1 -1
- 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 +65 -27
- package/src/feature-libraries/chunked-forest/codec/compressedEncode.ts +9 -4
- package/src/feature-libraries/chunked-forest/codec/format.ts +26 -5
- package/src/feature-libraries/chunked-forest/codec/formatGeneric.ts +7 -2
- package/src/feature-libraries/chunked-forest/codec/index.ts +1 -2
- 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 -2
- package/src/feature-libraries/default-schema/defaultFieldKinds.ts +88 -103
- package/src/feature-libraries/default-schema/index.ts +1 -9
- package/src/feature-libraries/forest-summary/codec.ts +24 -9
- package/src/feature-libraries/forest-summary/forestSummarizer.ts +1 -1
- package/src/feature-libraries/forest-summary/format.ts +25 -9
- package/src/feature-libraries/forest-summary/index.ts +2 -1
- package/src/feature-libraries/index.ts +8 -7
- 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/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-edits/index.ts +0 -1
- package/src/feature-libraries/schema-edits/schemaChangeCodecs.ts +16 -16
- package/src/feature-libraries/schema-index/codec.ts +41 -22
- package/src/feature-libraries/schema-index/formatV1.ts +2 -2
- package/src/feature-libraries/schema-index/formatV2.ts +2 -2
- package/src/feature-libraries/schema-index/schemaSummarizer.ts +2 -1
- package/src/feature-libraries/{default-schema/schemaChecker.ts → schemaChecker.ts} +4 -4
- package/src/feature-libraries/sequence-field/sequenceFieldCodecs.ts +0 -2
- package/src/index.ts +6 -2
- package/src/packageVersion.ts +1 -1
- package/src/shared-tree/independentView.ts +16 -5
- package/src/shared-tree/index.ts +0 -1
- package/src/shared-tree/sharedTree.ts +92 -222
- package/src/shared-tree/sharedTreeChangeCodecs.ts +14 -13
- package/src/shared-tree/sharedTreeChangeFamily.ts +2 -2
- package/src/shared-tree/treeAlpha.ts +6 -5
- package/src/shared-tree/treeCheckout.ts +1 -3
- package/src/shared-tree-core/editManagerCodecs.ts +69 -20
- package/src/shared-tree-core/editManagerFormatCommons.ts +46 -0
- package/src/shared-tree-core/editManagerFormatV1toV4.ts +10 -5
- package/src/shared-tree-core/editManagerFormatV5.ts +3 -3
- package/src/shared-tree-core/index.ts +15 -5
- package/src/shared-tree-core/messageCodecV1ToV4.ts +6 -1
- package/src/shared-tree-core/messageCodecV5.ts +2 -1
- package/src/shared-tree-core/messageCodecs.ts +77 -28
- package/src/shared-tree-core/messageFormat.ts +58 -0
- package/src/shared-tree-core/sharedTreeCore.ts +11 -13
- package/src/simple-tree/api/configuration.ts +17 -4
- package/src/simple-tree/api/discrepancies.ts +2 -2
- package/src/simple-tree/api/incrementalAllowedTypes.ts +1 -1
- package/src/simple-tree/api/index.ts +11 -2
- package/src/simple-tree/api/schemaFactoryAlpha.ts +2 -168
- package/src/simple-tree/api/schemaFactoryBeta.ts +180 -14
- package/src/simple-tree/api/schemaFromSimple.ts +20 -9
- package/src/simple-tree/api/simpleSchemaCodec.ts +361 -0
- package/src/simple-tree/api/snapshotCompatibilityChecker.ts +135 -0
- package/src/simple-tree/api/storedSchema.ts +8 -5
- package/src/simple-tree/api/tree.ts +3 -3
- package/src/simple-tree/api/typesUnsafe.ts +6 -6
- package/src/simple-tree/api/viewSchemaToSimpleSchema.ts +80 -47
- package/src/simple-tree/core/allowedTypes.ts +4 -4
- package/src/simple-tree/core/index.ts +3 -1
- package/src/simple-tree/core/toStored.ts +42 -18
- package/src/simple-tree/core/treeNode.ts +2 -2
- 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 +11 -2
- package/src/simple-tree/leafNodeSchema.ts +1 -2
- package/src/simple-tree/node-kinds/array/arrayNode.ts +28 -77
- package/src/simple-tree/node-kinds/map/mapNode.ts +3 -17
- package/src/simple-tree/node-kinds/object/objectNode.ts +5 -20
- package/src/simple-tree/node-kinds/record/recordNode.ts +4 -18
- package/src/simple-tree/simpleSchema.ts +27 -5
- package/src/simple-tree/simpleSchemaFormatV1.ts +179 -0
- package/src/simple-tree/toStoredSchema.ts +54 -38
- package/src/simple-tree/unhydratedFlexTreeFromInsertable.ts +22 -17
- package/src/tableSchema.ts +110 -331
- package/src/treeFactory.ts +33 -1
- package/src/util/arrayUtilities.ts +88 -0
- package/src/util/brand.ts +40 -2
- package/src/util/brandedMap.ts +3 -1
- package/src/util/index.ts +7 -0
- 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
|
@@ -4,9 +4,10 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import type { ErasedType, IFluidLoadable } from "@fluidframework/core-interfaces/internal";
|
|
7
|
-
import { assert, fail
|
|
7
|
+
import { assert, fail } from "@fluidframework/core-utils/internal";
|
|
8
8
|
import type { IChannelStorageService } from "@fluidframework/datastore-definitions/internal";
|
|
9
9
|
import type { IIdCompressor, StableId } from "@fluidframework/id-compressor";
|
|
10
|
+
import type { MinimumVersionForCollab } from "@fluidframework/runtime-definitions/internal";
|
|
10
11
|
import type {
|
|
11
12
|
IChannelView,
|
|
12
13
|
IFluidSerializer,
|
|
@@ -26,7 +27,6 @@ import {
|
|
|
26
27
|
type ICodecOptions,
|
|
27
28
|
} from "../codec/index.js";
|
|
28
29
|
import {
|
|
29
|
-
type DetachedFieldIndexFormatVersion,
|
|
30
30
|
type FieldKey,
|
|
31
31
|
type GraphCommit,
|
|
32
32
|
type IEditableForest,
|
|
@@ -35,8 +35,6 @@ import {
|
|
|
35
35
|
MapNodeStoredSchema,
|
|
36
36
|
ObjectNodeStoredSchema,
|
|
37
37
|
RevisionTagCodec,
|
|
38
|
-
type SchemaFormatVersion,
|
|
39
|
-
SchemaVersion,
|
|
40
38
|
type TreeFieldStoredSchema,
|
|
41
39
|
type TreeNodeStoredSchema,
|
|
42
40
|
type TreeStoredSchema,
|
|
@@ -66,21 +64,21 @@ import {
|
|
|
66
64
|
makeSchemaCodec,
|
|
67
65
|
makeTreeChunker,
|
|
68
66
|
type IncrementalEncodingPolicy,
|
|
69
|
-
type FieldBatchFormatVersion,
|
|
70
|
-
type ForestFormatVersion,
|
|
71
67
|
type TreeCompressionStrategyPrivate,
|
|
72
68
|
} from "../feature-libraries/index.js";
|
|
73
|
-
// eslint-disable-next-line import/no-internal-modules
|
|
69
|
+
// eslint-disable-next-line import-x/no-internal-modules
|
|
74
70
|
import type { FormatV1 } from "../feature-libraries/schema-index/index.js";
|
|
75
71
|
import {
|
|
76
72
|
type BranchId,
|
|
73
|
+
clientVersionToEditManagerFormatVersion,
|
|
74
|
+
clientVersionToMessageFormatVersion,
|
|
77
75
|
type ClonableSchemaAndPolicy,
|
|
78
|
-
type EditManagerFormatVersion,
|
|
79
|
-
type ExplicitCoreCodecVersions,
|
|
80
76
|
getCodecTreeForEditManagerFormatWithChange,
|
|
81
77
|
getCodecTreeForMessageFormatWithChange,
|
|
82
|
-
type
|
|
78
|
+
type SharedTreCoreOptionsInternal,
|
|
79
|
+
MessageFormatVersion,
|
|
83
80
|
SharedTreeCore,
|
|
81
|
+
EditManagerFormatVersion,
|
|
84
82
|
} from "../shared-tree-core/index.js";
|
|
85
83
|
import {
|
|
86
84
|
type ITree,
|
|
@@ -172,98 +170,6 @@ export interface ITreePrivate extends ITreeInternal {
|
|
|
172
170
|
readonly kernel: SharedTreeKernel;
|
|
173
171
|
}
|
|
174
172
|
|
|
175
|
-
/**
|
|
176
|
-
* Has an entry for each codec which writes an explicit version into its data.
|
|
177
|
-
*
|
|
178
|
-
* This is used to map the single API entrypoint controlling the format {@link SharedTreeOptions.formatVersion}
|
|
179
|
-
* to a list of write versions that for each codec that should be used for that format.
|
|
180
|
-
*
|
|
181
|
-
* Note that all explicitly versioned codecs should be using the format version from the data to read encoded data.
|
|
182
|
-
*
|
|
183
|
-
* TODO: Plumb these write versions into forest, schema, detached field index codec creation.
|
|
184
|
-
*/
|
|
185
|
-
interface ExplicitCodecVersions extends ExplicitCoreCodecVersions {
|
|
186
|
-
forest: ForestFormatVersion;
|
|
187
|
-
schema: SchemaFormatVersion;
|
|
188
|
-
detachedFieldIndex: DetachedFieldIndexFormatVersion;
|
|
189
|
-
fieldBatch: FieldBatchFormatVersion;
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
const formatVersionToTopLevelCodecVersions = new Map<number, ExplicitCodecVersions>([
|
|
193
|
-
[
|
|
194
|
-
1,
|
|
195
|
-
{
|
|
196
|
-
forest: brand(1),
|
|
197
|
-
schema: brand(1),
|
|
198
|
-
detachedFieldIndex: brand(1),
|
|
199
|
-
editManager: brand(1),
|
|
200
|
-
message: brand(1),
|
|
201
|
-
fieldBatch: brand(1),
|
|
202
|
-
},
|
|
203
|
-
],
|
|
204
|
-
[
|
|
205
|
-
2,
|
|
206
|
-
{
|
|
207
|
-
forest: brand(1),
|
|
208
|
-
schema: brand(1),
|
|
209
|
-
detachedFieldIndex: brand(1),
|
|
210
|
-
editManager: brand(2),
|
|
211
|
-
message: brand(2),
|
|
212
|
-
fieldBatch: brand(1),
|
|
213
|
-
},
|
|
214
|
-
],
|
|
215
|
-
[
|
|
216
|
-
3,
|
|
217
|
-
{
|
|
218
|
-
forest: brand(1),
|
|
219
|
-
schema: brand(1),
|
|
220
|
-
detachedFieldIndex: brand(1),
|
|
221
|
-
editManager: brand(3),
|
|
222
|
-
message: brand(3),
|
|
223
|
-
fieldBatch: brand(1),
|
|
224
|
-
},
|
|
225
|
-
],
|
|
226
|
-
[
|
|
227
|
-
4,
|
|
228
|
-
{
|
|
229
|
-
forest: brand(1),
|
|
230
|
-
schema: brand(1),
|
|
231
|
-
detachedFieldIndex: brand(1),
|
|
232
|
-
editManager: brand(4),
|
|
233
|
-
message: brand(4),
|
|
234
|
-
fieldBatch: brand(1),
|
|
235
|
-
},
|
|
236
|
-
],
|
|
237
|
-
[
|
|
238
|
-
5,
|
|
239
|
-
{
|
|
240
|
-
forest: brand(1),
|
|
241
|
-
schema: brand(2),
|
|
242
|
-
detachedFieldIndex: brand(1),
|
|
243
|
-
editManager: brand(4),
|
|
244
|
-
message: brand(4),
|
|
245
|
-
fieldBatch: brand(1),
|
|
246
|
-
},
|
|
247
|
-
],
|
|
248
|
-
[
|
|
249
|
-
100, // SharedTreeFormatVersion.vSharedBranches
|
|
250
|
-
{
|
|
251
|
-
forest: brand(1),
|
|
252
|
-
schema: brand(2),
|
|
253
|
-
detachedFieldIndex: brand(1),
|
|
254
|
-
editManager: brand(5),
|
|
255
|
-
message: brand(5),
|
|
256
|
-
fieldBatch: brand(1),
|
|
257
|
-
},
|
|
258
|
-
],
|
|
259
|
-
]);
|
|
260
|
-
|
|
261
|
-
function getCodecVersions(formatVersion: number): ExplicitCodecVersions {
|
|
262
|
-
const versions = formatVersionToTopLevelCodecVersions.get(formatVersion);
|
|
263
|
-
assert(versions !== undefined, 0x90e /* Unknown format version */);
|
|
264
|
-
return versions;
|
|
265
|
-
}
|
|
266
|
-
|
|
267
173
|
/**
|
|
268
174
|
* The type SharedTree's kernel's view must implement so what when its merged with the underling SharedObject's API it fully implements the required tree API surface ({@link ITreePrivate }).
|
|
269
175
|
*/
|
|
@@ -306,8 +212,13 @@ export class SharedTreeKernel
|
|
|
306
212
|
idCompressor: IIdCompressor,
|
|
307
213
|
optionsParam: SharedTreeOptionsInternal,
|
|
308
214
|
) {
|
|
309
|
-
const options = {
|
|
310
|
-
|
|
215
|
+
const options: Required<SharedTreeOptionsInternal> = {
|
|
216
|
+
...defaultSharedTreeOptions,
|
|
217
|
+
...optionsParam,
|
|
218
|
+
};
|
|
219
|
+
if (options.minVersionForCollab < FluidClientVersion.v2_0) {
|
|
220
|
+
throw new UsageError("SharedTree requires minVersionForCollab of at least 2.0.0");
|
|
221
|
+
}
|
|
311
222
|
const schema = new TreeStoredSchemaRepository();
|
|
312
223
|
const forest = buildConfiguredForest(
|
|
313
224
|
breaker,
|
|
@@ -323,7 +234,7 @@ export class SharedTreeKernel
|
|
|
323
234
|
idCompressor,
|
|
324
235
|
options,
|
|
325
236
|
);
|
|
326
|
-
const schemaCodec = makeSchemaCodec(options
|
|
237
|
+
const schemaCodec = makeSchemaCodec(options);
|
|
327
238
|
const schemaSummarizer = new SchemaSummarizer(
|
|
328
239
|
schema,
|
|
329
240
|
{
|
|
@@ -331,7 +242,7 @@ export class SharedTreeKernel
|
|
|
331
242
|
},
|
|
332
243
|
schemaCodec,
|
|
333
244
|
);
|
|
334
|
-
const fieldBatchCodec = makeFieldBatchCodec(options
|
|
245
|
+
const fieldBatchCodec = makeFieldBatchCodec(options);
|
|
335
246
|
|
|
336
247
|
const encoderContext = {
|
|
337
248
|
schema: {
|
|
@@ -392,7 +303,6 @@ export class SharedTreeKernel
|
|
|
392
303
|
[schemaSummarizer, forestSummarizer, removedRootsSummarizer],
|
|
393
304
|
changeFamily,
|
|
394
305
|
options,
|
|
395
|
-
codecVersions,
|
|
396
306
|
changeFormatVersionForEditManager,
|
|
397
307
|
changeFormatVersionForMessage,
|
|
398
308
|
idCompressor,
|
|
@@ -621,7 +531,12 @@ export function persistedToSimpleSchema(
|
|
|
621
531
|
persisted: JsonCompatible,
|
|
622
532
|
options: ICodecOptions,
|
|
623
533
|
): SimpleTreeSchema {
|
|
624
|
-
|
|
534
|
+
// Any version can be passed down to makeSchemaCodec here.
|
|
535
|
+
// We only use the decode part, which always dispatches to the correct codec based on the version in the data, not the version passed to `makeSchemaCodec`.
|
|
536
|
+
const schemaCodec = makeSchemaCodec({
|
|
537
|
+
...options,
|
|
538
|
+
minVersionForCollab: FluidClientVersion.v2_0,
|
|
539
|
+
});
|
|
625
540
|
const stored = schemaCodec.decode(persisted as FormatV1);
|
|
626
541
|
return exportSimpleSchema(stored);
|
|
627
542
|
}
|
|
@@ -659,56 +574,6 @@ export function getBranch<T extends ImplicitFieldSchema | UnsafeUnknownSchema>(
|
|
|
659
574
|
return kernel.checkout as unknown as BranchableTree;
|
|
660
575
|
}
|
|
661
576
|
|
|
662
|
-
/**
|
|
663
|
-
* Format versions supported by SharedTree.
|
|
664
|
-
*
|
|
665
|
-
* Each version documents a required minimum version of the \@fluidframework/tree package.
|
|
666
|
-
* @alpha
|
|
667
|
-
*/
|
|
668
|
-
export const SharedTreeFormatVersion = {
|
|
669
|
-
/**
|
|
670
|
-
* Requires \@fluidframework/tree \>= 2.0.0.
|
|
671
|
-
*
|
|
672
|
-
* @deprecated FF does not currently plan on supporting this format long-term.
|
|
673
|
-
* Do not write production documents using this format, as they may not be loadable in the future.
|
|
674
|
-
*/
|
|
675
|
-
v1: 1,
|
|
676
|
-
|
|
677
|
-
/**
|
|
678
|
-
* Requires \@fluidframework/tree \>= 2.0.0.
|
|
679
|
-
*/
|
|
680
|
-
v2: 2,
|
|
681
|
-
|
|
682
|
-
/**
|
|
683
|
-
* Requires \@fluidframework/tree \>= 2.0.0.
|
|
684
|
-
*/
|
|
685
|
-
v3: 3,
|
|
686
|
-
|
|
687
|
-
/**
|
|
688
|
-
* Requires \@fluidframework/tree \>= 2.0.0.
|
|
689
|
-
*/
|
|
690
|
-
v5: 5,
|
|
691
|
-
|
|
692
|
-
/**
|
|
693
|
-
* For testing purposes only.
|
|
694
|
-
*/
|
|
695
|
-
vSharedBranches: 100,
|
|
696
|
-
} as const;
|
|
697
|
-
|
|
698
|
-
/**
|
|
699
|
-
* Format versions supported by SharedTree.
|
|
700
|
-
*
|
|
701
|
-
* Each version documents a required minimum version of the \@fluidframework/tree package.
|
|
702
|
-
* @alpha
|
|
703
|
-
* @privateRemarks
|
|
704
|
-
* See packages/dds/tree/docs/main/compatibility.md for information on how to add support for a new format.
|
|
705
|
-
*
|
|
706
|
-
* TODO: Before this gets promoted past Alpha,
|
|
707
|
-
* a separate abstraction more suited for use in the public API should be adopted rather than reusing the same types used internally.
|
|
708
|
-
* Such an abstraction should probably be in the form of a Fluid-Framework wide compatibility enum.
|
|
709
|
-
*/
|
|
710
|
-
export type SharedTreeFormatVersion = typeof SharedTreeFormatVersion;
|
|
711
|
-
|
|
712
577
|
/**
|
|
713
578
|
* Defines for each EditManagerFormatVersion the SharedTreeChangeFormatVersion to use.
|
|
714
579
|
* This is an arbitrary mapping that is injected in the EditManger codec.
|
|
@@ -716,11 +581,18 @@ export type SharedTreeFormatVersion = typeof SharedTreeFormatVersion;
|
|
|
716
581
|
* This is because the format for SharedTree changes are not explicitly versioned.
|
|
717
582
|
*/
|
|
718
583
|
export const changeFormatVersionForEditManager = DependentFormatVersion.fromPairs([
|
|
719
|
-
[
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
[
|
|
584
|
+
[
|
|
585
|
+
brand<EditManagerFormatVersion>(EditManagerFormatVersion.v3),
|
|
586
|
+
brand<SharedTreeChangeFormatVersion>(3),
|
|
587
|
+
],
|
|
588
|
+
[
|
|
589
|
+
brand<EditManagerFormatVersion>(EditManagerFormatVersion.v4),
|
|
590
|
+
brand<SharedTreeChangeFormatVersion>(4),
|
|
591
|
+
],
|
|
592
|
+
[
|
|
593
|
+
brand<EditManagerFormatVersion>(EditManagerFormatVersion.v5),
|
|
594
|
+
brand<SharedTreeChangeFormatVersion>(4),
|
|
595
|
+
],
|
|
724
596
|
]);
|
|
725
597
|
|
|
726
598
|
/**
|
|
@@ -730,58 +602,49 @@ export const changeFormatVersionForEditManager = DependentFormatVersion.fromPair
|
|
|
730
602
|
* This is because the format for SharedTree changes are not explicitly versioned.
|
|
731
603
|
*/
|
|
732
604
|
export const changeFormatVersionForMessage = DependentFormatVersion.fromPairs([
|
|
733
|
-
[
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
[
|
|
738
|
-
|
|
605
|
+
[
|
|
606
|
+
brand<MessageFormatVersion>(MessageFormatVersion.v3),
|
|
607
|
+
brand<SharedTreeChangeFormatVersion>(3),
|
|
608
|
+
],
|
|
609
|
+
[
|
|
610
|
+
brand<MessageFormatVersion>(MessageFormatVersion.v4),
|
|
611
|
+
brand<SharedTreeChangeFormatVersion>(4),
|
|
612
|
+
],
|
|
613
|
+
[
|
|
614
|
+
brand<MessageFormatVersion>(MessageFormatVersion.v5),
|
|
615
|
+
brand<SharedTreeChangeFormatVersion>(4),
|
|
616
|
+
],
|
|
739
617
|
]);
|
|
740
618
|
|
|
741
|
-
function getCodecTreeForEditManagerFormat(
|
|
742
|
-
const change = changeFormatVersionForEditManager.lookup(
|
|
743
|
-
|
|
744
|
-
|
|
619
|
+
function getCodecTreeForEditManagerFormat(clientVersion: MinimumVersionForCollab): CodecTree {
|
|
620
|
+
const change = changeFormatVersionForEditManager.lookup(
|
|
621
|
+
clientVersionToEditManagerFormatVersion(clientVersion),
|
|
622
|
+
);
|
|
623
|
+
const changeCodecTree = getCodecTreeForChangeFormat(change, clientVersion);
|
|
624
|
+
return getCodecTreeForEditManagerFormatWithChange(clientVersion, changeCodecTree);
|
|
745
625
|
}
|
|
746
626
|
|
|
747
|
-
function getCodecTreeForMessageFormat(
|
|
748
|
-
const change = changeFormatVersionForMessage.lookup(
|
|
749
|
-
|
|
750
|
-
|
|
627
|
+
function getCodecTreeForMessageFormat(clientVersion: MinimumVersionForCollab): CodecTree {
|
|
628
|
+
const change = changeFormatVersionForMessage.lookup(
|
|
629
|
+
clientVersionToMessageFormatVersion(clientVersion),
|
|
630
|
+
);
|
|
631
|
+
const changeCodecTree = getCodecTreeForChangeFormat(change, clientVersion);
|
|
632
|
+
return getCodecTreeForMessageFormatWithChange(clientVersion, changeCodecTree);
|
|
751
633
|
}
|
|
752
634
|
|
|
753
635
|
export function getCodecTreeForSharedTreeFormat(
|
|
754
|
-
|
|
636
|
+
clientVersion: MinimumVersionForCollab,
|
|
755
637
|
): CodecTree {
|
|
756
638
|
const children: CodecTree[] = [];
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
case "message":
|
|
764
|
-
children.push(getCodecTreeForMessageFormat(childCodecs.message));
|
|
765
|
-
break;
|
|
766
|
-
case "forest":
|
|
767
|
-
children.push(getCodecTreeForForestFormat(childCodecs.forest));
|
|
768
|
-
break;
|
|
769
|
-
case "schema":
|
|
770
|
-
children.push(getCodecTreeForSchemaFormat(childCodecs.schema));
|
|
771
|
-
break;
|
|
772
|
-
case "detachedFieldIndex":
|
|
773
|
-
children.push(getCodecTreeForDetachedFieldIndexFormat(childCodecs.detachedFieldIndex));
|
|
774
|
-
break;
|
|
775
|
-
case "fieldBatch":
|
|
776
|
-
children.push(getCodecTreeForFieldBatchFormat(childCodecs.fieldBatch));
|
|
777
|
-
break;
|
|
778
|
-
default:
|
|
779
|
-
unreachableCase(name);
|
|
780
|
-
}
|
|
781
|
-
}
|
|
639
|
+
children.push(getCodecTreeForForestFormat(clientVersion));
|
|
640
|
+
children.push(getCodecTreeForSchemaFormat(clientVersion));
|
|
641
|
+
children.push(getCodecTreeForDetachedFieldIndexFormat(clientVersion));
|
|
642
|
+
children.push(getCodecTreeForEditManagerFormat(clientVersion));
|
|
643
|
+
children.push(getCodecTreeForMessageFormat(clientVersion));
|
|
644
|
+
children.push(getCodecTreeForFieldBatchFormat(clientVersion));
|
|
782
645
|
return {
|
|
783
646
|
name: "SharedTree",
|
|
784
|
-
version,
|
|
647
|
+
version: undefined, // SharedTree does not have a version of its own.
|
|
785
648
|
children,
|
|
786
649
|
};
|
|
787
650
|
}
|
|
@@ -796,12 +659,21 @@ export type SharedTreeOptionsBeta = ForestOptions;
|
|
|
796
659
|
* Configuration options for SharedTree.
|
|
797
660
|
* @alpha @input
|
|
798
661
|
*/
|
|
799
|
-
export
|
|
800
|
-
Partial<
|
|
801
|
-
|
|
662
|
+
export interface SharedTreeOptions
|
|
663
|
+
extends Partial<CodecWriteOptions>,
|
|
664
|
+
Partial<SharedTreeFormatOptions>,
|
|
665
|
+
SharedTreeOptionsBeta {
|
|
666
|
+
/**
|
|
667
|
+
* Experimental feature flag to enable shared branches.
|
|
668
|
+
* This feature is not yet complete and should not be used in production.
|
|
669
|
+
* Defaults to false.
|
|
670
|
+
*/
|
|
671
|
+
readonly enableSharedBranches?: boolean;
|
|
672
|
+
}
|
|
802
673
|
|
|
803
674
|
export interface SharedTreeOptionsInternal
|
|
804
|
-
extends
|
|
675
|
+
extends Partial<SharedTreCoreOptionsInternal>,
|
|
676
|
+
Partial<ForestOptions>,
|
|
805
677
|
Partial<SharedTreeFormatOptionsInternal> {
|
|
806
678
|
disposeForksAfterTransaction?: boolean;
|
|
807
679
|
/**
|
|
@@ -811,6 +683,7 @@ export interface SharedTreeOptionsInternal
|
|
|
811
683
|
*/
|
|
812
684
|
shouldEncodeIncrementally?: IncrementalEncodingPolicy;
|
|
813
685
|
}
|
|
686
|
+
|
|
814
687
|
/**
|
|
815
688
|
* Configuration options for SharedTree's internal tree storage.
|
|
816
689
|
* @beta @input
|
|
@@ -832,18 +705,6 @@ export interface SharedTreeFormatOptions {
|
|
|
832
705
|
* default: TreeCompressionStrategy.Compressed
|
|
833
706
|
*/
|
|
834
707
|
treeEncodeType: TreeCompressionStrategy;
|
|
835
|
-
/**
|
|
836
|
-
* The format version SharedTree should use to persist documents.
|
|
837
|
-
*
|
|
838
|
-
* This option has compatibility implications for applications using SharedTree.
|
|
839
|
-
* Each version documents a required minimum version of \@fluidframework/tree.
|
|
840
|
-
* If this minimum version fails to be met, the SharedTree may fail to load.
|
|
841
|
-
* To be safe, application authors should verify that they have saturated this version
|
|
842
|
-
* of \@fluidframework/tree in their ecosystem before changing the format version.
|
|
843
|
-
*
|
|
844
|
-
* This option defaults to SharedTreeFormatVersion.v2.
|
|
845
|
-
*/
|
|
846
|
-
formatVersion: SharedTreeFormatVersion[keyof SharedTreeFormatVersion];
|
|
847
708
|
}
|
|
848
709
|
|
|
849
710
|
export interface SharedTreeFormatOptionsInternal
|
|
@@ -949,9 +810,10 @@ export const defaultSharedTreeOptions: Required<SharedTreeOptionsInternal> = {
|
|
|
949
810
|
minVersionForCollab: FluidClientVersion.v2_0,
|
|
950
811
|
forest: ForestTypeReference,
|
|
951
812
|
treeEncodeType: TreeCompressionStrategy.Compressed,
|
|
952
|
-
formatVersion: SharedTreeFormatVersion.v3,
|
|
953
813
|
disposeForksAfterTransaction: true,
|
|
954
814
|
shouldEncodeIncrementally: defaultIncrementalEncodingPolicy,
|
|
815
|
+
editManagerFormatSelector: clientVersionToEditManagerFormatVersion,
|
|
816
|
+
messageFormatSelector: clientVersionToMessageFormatVersion,
|
|
955
817
|
};
|
|
956
818
|
|
|
957
819
|
/**
|
|
@@ -1003,6 +865,8 @@ function exportSimpleFieldSchemaStored(schema: TreeFieldStoredSchema): SimpleFie
|
|
|
1003
865
|
* Export a {@link SimpleNodeSchema} from a {@link TreeNodeStoredSchema}.
|
|
1004
866
|
* @privateRemarks
|
|
1005
867
|
* TODO: Persist node metadata once schema FormatV2 is supported.
|
|
868
|
+
* Note on SimpleNodeSchema construction: In the persisted format `persistedMetadata` is just called `metadata` whereas the `metadata`
|
|
869
|
+
* field on SimpleNodeSchema is not persisted.
|
|
1006
870
|
*/
|
|
1007
871
|
function exportSimpleNodeSchemaStored(schema: TreeNodeStoredSchema): SimpleNodeSchema {
|
|
1008
872
|
const arrayTypes = tryStoredSchemaAsArray(schema);
|
|
@@ -1019,7 +883,13 @@ function exportSimpleNodeSchemaStored(schema: TreeNodeStoredSchema): SimpleNodeS
|
|
|
1019
883
|
for (const [storedKey, field] of schema.objectNodeFields) {
|
|
1020
884
|
fields.set(storedKey, { ...exportSimpleFieldSchemaStored(field), storedKey });
|
|
1021
885
|
}
|
|
1022
|
-
return {
|
|
886
|
+
return {
|
|
887
|
+
kind: NodeKind.Object,
|
|
888
|
+
fields,
|
|
889
|
+
allowUnknownOptionalFields: undefined,
|
|
890
|
+
metadata: {},
|
|
891
|
+
persistedMetadata: schema.metadata,
|
|
892
|
+
};
|
|
1023
893
|
}
|
|
1024
894
|
if (schema instanceof MapNodeStoredSchema) {
|
|
1025
895
|
assert(
|
|
@@ -4,8 +4,10 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { fail } from "@fluidframework/core-utils/internal";
|
|
7
|
+
import type { MinimumVersionForCollab } from "@fluidframework/runtime-definitions/internal";
|
|
7
8
|
import {
|
|
8
9
|
type CodecTree,
|
|
10
|
+
type CodecWriteOptions,
|
|
9
11
|
DiscriminatedUnionDispatcher,
|
|
10
12
|
type FormatVersion,
|
|
11
13
|
type ICodecFamily,
|
|
@@ -14,12 +16,15 @@ import {
|
|
|
14
16
|
makeCodecFamily,
|
|
15
17
|
withSchemaValidation,
|
|
16
18
|
} from "../codec/index.js";
|
|
17
|
-
import
|
|
19
|
+
import {
|
|
20
|
+
type ChangeEncodingContext,
|
|
21
|
+
SchemaFormatVersion,
|
|
22
|
+
type TreeStoredSchema,
|
|
23
|
+
} from "../core/index.js";
|
|
18
24
|
import {
|
|
19
25
|
type ModularChangeFormatVersion,
|
|
20
26
|
type ModularChangeset,
|
|
21
27
|
type SchemaChange,
|
|
22
|
-
type SchemaChangeFormatVersion,
|
|
23
28
|
defaultSchemaPolicy,
|
|
24
29
|
getCodecTreeForModularChangeFormat,
|
|
25
30
|
getCodecTreeForSchemaChangeFormat,
|
|
@@ -40,7 +45,7 @@ import type { SharedTreeChange, SharedTreeInnerChange } from "./sharedTreeChange
|
|
|
40
45
|
|
|
41
46
|
export function makeSharedTreeChangeCodecFamily(
|
|
42
47
|
modularChangeCodecFamily: ICodecFamily<ModularChangeset, ChangeEncodingContext>,
|
|
43
|
-
options:
|
|
48
|
+
options: CodecWriteOptions,
|
|
44
49
|
): ICodecFamily<SharedTreeChange, ChangeEncodingContext> {
|
|
45
50
|
const schemaChangeCodecs = makeSchemaChangeCodecs(options);
|
|
46
51
|
const versions: [
|
|
@@ -66,13 +71,10 @@ export function makeSharedTreeChangeCodecFamily(
|
|
|
66
71
|
|
|
67
72
|
interface ChangeFormatDependencies {
|
|
68
73
|
readonly modularChange: ModularChangeFormatVersion;
|
|
69
|
-
readonly schemaChange:
|
|
74
|
+
readonly schemaChange: SchemaFormatVersion;
|
|
70
75
|
}
|
|
71
76
|
|
|
72
|
-
export type SharedTreeChangeFormatVersion = Brand<
|
|
73
|
-
1 | 2 | 3 | 4,
|
|
74
|
-
"SharedTreeChangeFormatVersion"
|
|
75
|
-
>;
|
|
77
|
+
export type SharedTreeChangeFormatVersion = Brand<3 | 4, "SharedTreeChangeFormatVersion">;
|
|
76
78
|
|
|
77
79
|
/**
|
|
78
80
|
* Defines for each SharedTree change format the corresponding dependent formats to use.
|
|
@@ -84,14 +86,13 @@ export const dependenciesForChangeFormat: Map<
|
|
|
84
86
|
SharedTreeChangeFormatVersion,
|
|
85
87
|
ChangeFormatDependencies
|
|
86
88
|
> = new Map([
|
|
87
|
-
[brand(
|
|
88
|
-
[brand(
|
|
89
|
-
[brand(3), { modularChange: brand(3), schemaChange: brand(1) }],
|
|
90
|
-
[brand(4), { modularChange: brand(4), schemaChange: brand(1) }],
|
|
89
|
+
[brand(3), { modularChange: brand(3), schemaChange: brand(SchemaFormatVersion.v1) }],
|
|
90
|
+
[brand(4), { modularChange: brand(4), schemaChange: brand(SchemaFormatVersion.v1) }],
|
|
91
91
|
]);
|
|
92
92
|
|
|
93
93
|
export function getCodecTreeForChangeFormat(
|
|
94
94
|
version: SharedTreeChangeFormatVersion,
|
|
95
|
+
clientVersion: MinimumVersionForCollab,
|
|
95
96
|
): CodecTree {
|
|
96
97
|
const { modularChange, schemaChange } =
|
|
97
98
|
dependenciesForChangeFormat.get(version) ?? fail(0xc78 /* Unknown change format */);
|
|
@@ -100,7 +101,7 @@ export function getCodecTreeForChangeFormat(
|
|
|
100
101
|
version,
|
|
101
102
|
children: [
|
|
102
103
|
getCodecTreeForModularChangeFormat(modularChange),
|
|
103
|
-
getCodecTreeForSchemaChangeFormat(schemaChange),
|
|
104
|
+
getCodecTreeForSchemaChangeFormat(schemaChange, clientVersion),
|
|
104
105
|
],
|
|
105
106
|
};
|
|
106
107
|
}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import { assert, fail } from "@fluidframework/core-utils/internal";
|
|
7
7
|
import type { IIdCompressor } from "@fluidframework/id-compressor";
|
|
8
8
|
|
|
9
|
-
import type {
|
|
9
|
+
import type { CodecWriteOptions, ICodecFamily } from "../codec/index.js";
|
|
10
10
|
import {
|
|
11
11
|
type ChangeEncodingContext,
|
|
12
12
|
type ChangeFamily,
|
|
@@ -60,7 +60,7 @@ export class SharedTreeChangeFamily
|
|
|
60
60
|
public constructor(
|
|
61
61
|
revisionTagCodec: RevisionTagCodec,
|
|
62
62
|
fieldBatchCodec: FieldBatchCodec,
|
|
63
|
-
codecOptions:
|
|
63
|
+
codecOptions: CodecWriteOptions,
|
|
64
64
|
chunkCompressionStrategy?: TreeCompressionStrategyPrivate,
|
|
65
65
|
private readonly idCompressor?: IIdCompressor,
|
|
66
66
|
) {
|
|
@@ -78,7 +78,6 @@ import {
|
|
|
78
78
|
TreeCompressionStrategy,
|
|
79
79
|
type FieldBatch,
|
|
80
80
|
type FieldBatchEncodingContext,
|
|
81
|
-
fluidVersionToFieldBatchCodecWriteVersion,
|
|
82
81
|
type LocalNodeIdentifier,
|
|
83
82
|
type FlexTreeSequenceField,
|
|
84
83
|
type FlexTreeNode,
|
|
@@ -291,7 +290,7 @@ export interface TreeAlpha {
|
|
|
291
290
|
* @remarks
|
|
292
291
|
* This currently does not support input containing
|
|
293
292
|
* {@link ObjectSchemaOptions.allowUnknownOptionalFields| unknown optional fields} but does support
|
|
294
|
-
* {@link
|
|
293
|
+
* {@link SchemaStaticsBeta.staged | staged} allowed types.
|
|
295
294
|
* Non-empty default values for fields are currently not supported (must be provided in the input).
|
|
296
295
|
* The content will be validated against the schema and an error will be thrown if out of schema.
|
|
297
296
|
*/
|
|
@@ -845,8 +844,10 @@ export const TreeAlpha: TreeAlpha = {
|
|
|
845
844
|
options: { idCompressor?: IIdCompressor } & Pick<CodecWriteOptions, "minVersionForCollab">,
|
|
846
845
|
): JsonCompatible<IFluidHandle> {
|
|
847
846
|
const schema = tryGetSchema(node) ?? fail(0xacf /* invalid input */);
|
|
848
|
-
const
|
|
849
|
-
|
|
847
|
+
const codec = makeFieldBatchCodec({
|
|
848
|
+
jsonValidator: FormatValidatorNoOp,
|
|
849
|
+
minVersionForCollab: options.minVersionForCollab,
|
|
850
|
+
});
|
|
850
851
|
const cursor = borrowFieldCursorFromTreeNodeOrValue(node);
|
|
851
852
|
const batch: FieldBatch = [cursor];
|
|
852
853
|
// If none provided, create a compressor which will not compress anything.
|
|
@@ -873,7 +874,7 @@ export const TreeAlpha: TreeAlpha = {
|
|
|
873
874
|
compressedData: JsonCompatible<IFluidHandle>,
|
|
874
875
|
options: {
|
|
875
876
|
idCompressor?: IIdCompressor;
|
|
876
|
-
} &
|
|
877
|
+
} & CodecWriteOptions,
|
|
877
878
|
): Unhydrated<TreeFieldFromImplicitField<TSchema>> {
|
|
878
879
|
const config = new TreeViewConfigurationAlpha({ schema });
|
|
879
880
|
const content: ViewContent = {
|
|
@@ -300,13 +300,11 @@ export function createTreeCheckout(
|
|
|
300
300
|
jsonValidator: FormatValidatorNoOp,
|
|
301
301
|
minVersionForCollab: FluidClientVersion.v2_0,
|
|
302
302
|
};
|
|
303
|
-
const defaultFieldBatchVersion = 1;
|
|
304
303
|
const changeFamily =
|
|
305
304
|
args?.changeFamily ??
|
|
306
305
|
new SharedTreeChangeFamily(
|
|
307
306
|
revisionTagCodec,
|
|
308
|
-
args?.fieldBatchCodec ??
|
|
309
|
-
makeFieldBatchCodec(defaultCodecOptions, defaultFieldBatchVersion),
|
|
307
|
+
args?.fieldBatchCodec ?? makeFieldBatchCodec(defaultCodecOptions),
|
|
310
308
|
defaultCodecOptions,
|
|
311
309
|
args?.chunkCompressionStrategy,
|
|
312
310
|
idCompressor,
|