@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
|
@@ -16,7 +16,7 @@ import { FieldKinds, isTreeValue } from "../../../feature-libraries/index.js";
|
|
|
16
16
|
import {
|
|
17
17
|
CompatibilityLevel,
|
|
18
18
|
type WithType,
|
|
19
|
-
// eslint-disable-next-line import/no-deprecated
|
|
19
|
+
// eslint-disable-next-line import-x/no-deprecated
|
|
20
20
|
typeNameSymbol,
|
|
21
21
|
NodeKind,
|
|
22
22
|
type TreeNode,
|
|
@@ -45,7 +45,6 @@ import {
|
|
|
45
45
|
createTreeNodeSchemaPrivateData,
|
|
46
46
|
type FlexContent,
|
|
47
47
|
type TreeNodeSchemaPrivateData,
|
|
48
|
-
convertAllowedTypes,
|
|
49
48
|
withBufferedTreeEvents,
|
|
50
49
|
AnnotatedAllowedTypesInternal,
|
|
51
50
|
} from "../../core/index.js";
|
|
@@ -66,9 +65,13 @@ import type {
|
|
|
66
65
|
ArrayNodePojoEmulationSchema,
|
|
67
66
|
ArrayNodeSchema,
|
|
68
67
|
} from "./arrayNodeTypes.js";
|
|
69
|
-
import {
|
|
68
|
+
import {
|
|
69
|
+
brand,
|
|
70
|
+
validateIndex,
|
|
71
|
+
validateIndexRange,
|
|
72
|
+
type JsonCompatibleReadOnlyObject,
|
|
73
|
+
} from "../../../util/index.js";
|
|
70
74
|
import { nullSchema } from "../../leafNodeSchema.js";
|
|
71
|
-
import { arrayNodeStoredSchema } from "../../toStoredSchema.js";
|
|
72
75
|
import type { SimpleAllowedTypeAttributes } from "../../simpleSchema.js";
|
|
73
76
|
|
|
74
77
|
/**
|
|
@@ -951,7 +954,7 @@ abstract class CustomArrayNodeBase<const T extends ImplicitAllowedTypes>
|
|
|
951
954
|
}
|
|
952
955
|
public insertAt(index: number, ...value: Insertable<T>): void {
|
|
953
956
|
const field = getSequenceField(this);
|
|
954
|
-
validateIndex(index, field, "insertAt", true);
|
|
957
|
+
validateIndex(index, field, "TreeArrayNode.insertAt", true);
|
|
955
958
|
const content = this.#mapTreesFromFieldData(value);
|
|
956
959
|
field.editor.insert(index, content);
|
|
957
960
|
}
|
|
@@ -963,32 +966,30 @@ abstract class CustomArrayNodeBase<const T extends ImplicitAllowedTypes>
|
|
|
963
966
|
}
|
|
964
967
|
public removeAt(index: number): void {
|
|
965
968
|
const field = getSequenceField(this);
|
|
966
|
-
validateIndex(index, field, "removeAt");
|
|
969
|
+
validateIndex(index, field, "TreeArrayNode.removeAt");
|
|
967
970
|
field.editor.remove(index, 1);
|
|
968
971
|
}
|
|
969
972
|
public removeRange(start?: number, end?: number): void {
|
|
970
973
|
const field = getSequenceField(this);
|
|
971
974
|
const { length } = field;
|
|
972
975
|
const removeStart = start ?? 0;
|
|
976
|
+
validateIndex(removeStart, field, "TreeArrayNode.removeRange", true);
|
|
977
|
+
|
|
973
978
|
const removeEnd = Math.min(length, end ?? length);
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
if (removeEnd < removeStart) {
|
|
977
|
-
// This catches both the case where start is > array.length and when start is > end.
|
|
978
|
-
throw new UsageError('Too large of "start" value passed to TreeArrayNode.removeRange.');
|
|
979
|
-
}
|
|
979
|
+
validateIndexRange(removeStart, removeEnd, field, "TreeArrayNode.removeRange");
|
|
980
|
+
|
|
980
981
|
field.editor.remove(removeStart, removeEnd - removeStart);
|
|
981
982
|
}
|
|
982
983
|
public moveToStart(sourceIndex: number, source?: ReadonlyArrayNode): void {
|
|
983
984
|
const sourceArray = source ?? this;
|
|
984
985
|
const sourceField = getSequenceField(sourceArray);
|
|
985
|
-
validateIndex(sourceIndex, sourceField, "moveToStart");
|
|
986
|
+
validateIndex(sourceIndex, sourceField, "TreeArrayNode.moveToStart");
|
|
986
987
|
this.moveRangeToIndex(0, sourceIndex, sourceIndex + 1, source);
|
|
987
988
|
}
|
|
988
989
|
public moveToEnd(sourceIndex: number, source?: ReadonlyArrayNode): void {
|
|
989
990
|
const sourceArray = source ?? this;
|
|
990
991
|
const sourceField = getSequenceField(sourceArray);
|
|
991
|
-
validateIndex(sourceIndex, sourceField, "moveToEnd");
|
|
992
|
+
validateIndex(sourceIndex, sourceField, "TreeArrayNode.moveToEnd");
|
|
992
993
|
this.moveRangeToIndex(this.length, sourceIndex, sourceIndex + 1, source);
|
|
993
994
|
}
|
|
994
995
|
public moveToIndex(
|
|
@@ -999,8 +1000,8 @@ abstract class CustomArrayNodeBase<const T extends ImplicitAllowedTypes>
|
|
|
999
1000
|
const sourceArray = source ?? this;
|
|
1000
1001
|
const sourceField = getSequenceField(sourceArray);
|
|
1001
1002
|
const destinationField = getSequenceField(this);
|
|
1002
|
-
validateIndex(destinationGap, destinationField, "moveToIndex", true);
|
|
1003
|
-
validateIndex(sourceIndex, sourceField, "moveToIndex");
|
|
1003
|
+
validateIndex(destinationGap, destinationField, "TreeArrayNode.moveToIndex", true);
|
|
1004
|
+
validateIndex(sourceIndex, sourceField, "TreeArrayNode.moveToIndex");
|
|
1004
1005
|
this.moveRangeToIndex(destinationGap, sourceIndex, sourceIndex + 1, source);
|
|
1005
1006
|
}
|
|
1006
1007
|
public moveRangeToStart(
|
|
@@ -1012,7 +1013,7 @@ abstract class CustomArrayNodeBase<const T extends ImplicitAllowedTypes>
|
|
|
1012
1013
|
sourceStart,
|
|
1013
1014
|
sourceEnd,
|
|
1014
1015
|
source ?? getSequenceField(this),
|
|
1015
|
-
"moveRangeToStart",
|
|
1016
|
+
"TreeArrayNode.moveRangeToStart",
|
|
1016
1017
|
);
|
|
1017
1018
|
this.moveRangeToIndex(0, sourceStart, sourceEnd, source);
|
|
1018
1019
|
}
|
|
@@ -1025,7 +1026,7 @@ abstract class CustomArrayNodeBase<const T extends ImplicitAllowedTypes>
|
|
|
1025
1026
|
sourceStart,
|
|
1026
1027
|
sourceEnd,
|
|
1027
1028
|
source ?? getSequenceField(this),
|
|
1028
|
-
"moveRangeToEnd",
|
|
1029
|
+
"TreeArrayNode.moveRangeToEnd",
|
|
1029
1030
|
);
|
|
1030
1031
|
this.moveRangeToIndex(this.length, sourceStart, sourceEnd, source);
|
|
1031
1032
|
}
|
|
@@ -1044,8 +1045,13 @@ abstract class CustomArrayNodeBase<const T extends ImplicitAllowedTypes>
|
|
|
1044
1045
|
).getFieldSchema(EmptyKey).types;
|
|
1045
1046
|
const sourceField = source !== undefined ? getSequenceField(source) : destinationField;
|
|
1046
1047
|
|
|
1047
|
-
validateIndex(destinationGap, destinationField, "moveRangeToIndex", true);
|
|
1048
|
-
validateIndexRange(
|
|
1048
|
+
validateIndex(destinationGap, destinationField, "TreeArrayNode.moveRangeToIndex", true);
|
|
1049
|
+
validateIndexRange(
|
|
1050
|
+
sourceStart,
|
|
1051
|
+
sourceEnd,
|
|
1052
|
+
source ?? destinationField,
|
|
1053
|
+
"TreeArrayNode.moveRangeToIndex",
|
|
1054
|
+
);
|
|
1049
1055
|
|
|
1050
1056
|
// TODO: determine support for move across different sequence types
|
|
1051
1057
|
if (sourceField !== destinationField) {
|
|
@@ -1266,7 +1272,7 @@ export function arraySchema<
|
|
|
1266
1272
|
public static readonly persistedMetadata: JsonCompatibleReadOnlyObject | undefined =
|
|
1267
1273
|
persistedMetadata;
|
|
1268
1274
|
|
|
1269
|
-
// eslint-disable-next-line import/no-deprecated
|
|
1275
|
+
// eslint-disable-next-line import-x/no-deprecated
|
|
1270
1276
|
public get [typeNameSymbol](): TName {
|
|
1271
1277
|
return identifier;
|
|
1272
1278
|
}
|
|
@@ -1282,12 +1288,7 @@ export function arraySchema<
|
|
|
1282
1288
|
}
|
|
1283
1289
|
|
|
1284
1290
|
public static get [privateDataSymbol](): TreeNodeSchemaPrivateData {
|
|
1285
|
-
return (privateData ??= createTreeNodeSchemaPrivateData(
|
|
1286
|
-
this,
|
|
1287
|
-
[normalizedTypes],
|
|
1288
|
-
(storedOptions) =>
|
|
1289
|
-
arrayNodeStoredSchema(convertAllowedTypes(info, storedOptions), persistedMetadata),
|
|
1290
|
-
));
|
|
1291
|
+
return (privateData ??= createTreeNodeSchemaPrivateData(this, [normalizedTypes]));
|
|
1291
1292
|
}
|
|
1292
1293
|
}
|
|
1293
1294
|
|
|
@@ -1295,56 +1296,6 @@ export function arraySchema<
|
|
|
1295
1296
|
return output;
|
|
1296
1297
|
}
|
|
1297
1298
|
|
|
1298
|
-
function validateSafeInteger(index: number): void {
|
|
1299
|
-
if (!Number.isSafeInteger(index)) {
|
|
1300
|
-
throw new UsageError(`Expected a safe integer, got ${index}.`);
|
|
1301
|
-
}
|
|
1302
|
-
}
|
|
1303
|
-
|
|
1304
|
-
function validatePositiveIndex(index: number): void {
|
|
1305
|
-
validateSafeInteger(index);
|
|
1306
|
-
if (index < 0) {
|
|
1307
|
-
throw new UsageError(`Expected non-negative index, got ${index}.`);
|
|
1308
|
-
}
|
|
1309
|
-
}
|
|
1310
|
-
|
|
1311
|
-
function validateIndex(
|
|
1312
|
-
index: number,
|
|
1313
|
-
array: { readonly length: number },
|
|
1314
|
-
methodName: string,
|
|
1315
|
-
allowOnePastEnd: boolean = false,
|
|
1316
|
-
): void {
|
|
1317
|
-
validatePositiveIndex(index);
|
|
1318
|
-
if (allowOnePastEnd) {
|
|
1319
|
-
if (index > array.length) {
|
|
1320
|
-
throw new UsageError(
|
|
1321
|
-
`Index value passed to TreeArrayNode.${methodName} is out of bounds.`,
|
|
1322
|
-
);
|
|
1323
|
-
}
|
|
1324
|
-
} else {
|
|
1325
|
-
if (index >= array.length) {
|
|
1326
|
-
throw new UsageError(
|
|
1327
|
-
`Index value passed to TreeArrayNode.${methodName} is out of bounds.`,
|
|
1328
|
-
);
|
|
1329
|
-
}
|
|
1330
|
-
}
|
|
1331
|
-
}
|
|
1332
|
-
|
|
1333
|
-
function validateIndexRange(
|
|
1334
|
-
startIndex: number,
|
|
1335
|
-
endIndex: number,
|
|
1336
|
-
array: { readonly length: number },
|
|
1337
|
-
methodName: string,
|
|
1338
|
-
): void {
|
|
1339
|
-
validateIndex(startIndex, array, methodName, true);
|
|
1340
|
-
validateIndex(endIndex, array, methodName, true);
|
|
1341
|
-
if (startIndex > endIndex || array.length < endIndex) {
|
|
1342
|
-
throw new UsageError(
|
|
1343
|
-
`Index value passed to TreeArrayNode.${methodName} is out of bounds.`,
|
|
1344
|
-
);
|
|
1345
|
-
}
|
|
1346
|
-
}
|
|
1347
|
-
|
|
1348
1299
|
/**
|
|
1349
1300
|
* Transforms data for a child of an array.
|
|
1350
1301
|
* @param child - The tree data to be transformed.
|
|
@@ -7,7 +7,6 @@ import { assert, Lazy } from "@fluidframework/core-utils/internal";
|
|
|
7
7
|
import { UsageError } from "@fluidframework/telemetry-utils/internal";
|
|
8
8
|
|
|
9
9
|
import {
|
|
10
|
-
FieldKinds,
|
|
11
10
|
isTreeValue,
|
|
12
11
|
type FlexibleNodeContent,
|
|
13
12
|
type FlexTreeNode,
|
|
@@ -22,7 +21,7 @@ import {
|
|
|
22
21
|
type InnerNode,
|
|
23
22
|
NodeKind,
|
|
24
23
|
type TreeNodeSchema,
|
|
25
|
-
// eslint-disable-next-line import/no-deprecated
|
|
24
|
+
// eslint-disable-next-line import-x/no-deprecated
|
|
26
25
|
typeNameSymbol,
|
|
27
26
|
type TreeNode,
|
|
28
27
|
typeSchemaSymbol,
|
|
@@ -42,7 +41,6 @@ import {
|
|
|
42
41
|
createTreeNodeSchemaPrivateData,
|
|
43
42
|
type FlexContent,
|
|
44
43
|
type TreeNodeSchemaPrivateData,
|
|
45
|
-
convertAllowedTypes,
|
|
46
44
|
AnnotatedAllowedTypesInternal,
|
|
47
45
|
} from "../../core/index.js";
|
|
48
46
|
import {
|
|
@@ -334,7 +332,7 @@ export function mapSchema<
|
|
|
334
332
|
public static readonly persistedMetadata: JsonCompatibleReadOnlyObject | undefined =
|
|
335
333
|
persistedMetadata;
|
|
336
334
|
|
|
337
|
-
// eslint-disable-next-line import/no-deprecated
|
|
335
|
+
// eslint-disable-next-line import-x/no-deprecated
|
|
338
336
|
public get [typeNameSymbol](): TName {
|
|
339
337
|
return identifier;
|
|
340
338
|
}
|
|
@@ -343,19 +341,7 @@ export function mapSchema<
|
|
|
343
341
|
}
|
|
344
342
|
|
|
345
343
|
public static get [privateDataSymbol](): TreeNodeSchemaPrivateData {
|
|
346
|
-
return (privateData ??= createTreeNodeSchemaPrivateData(
|
|
347
|
-
this,
|
|
348
|
-
[normalizedTypes],
|
|
349
|
-
(storedOptions) =>
|
|
350
|
-
new MapNodeStoredSchema(
|
|
351
|
-
{
|
|
352
|
-
kind: FieldKinds.optional.identifier,
|
|
353
|
-
types: convertAllowedTypes(info, storedOptions),
|
|
354
|
-
persistedMetadata,
|
|
355
|
-
},
|
|
356
|
-
persistedMetadata,
|
|
357
|
-
),
|
|
358
|
-
));
|
|
344
|
+
return (privateData ??= createTreeNodeSchemaPrivateData(this, [normalizedTypes]));
|
|
359
345
|
}
|
|
360
346
|
}
|
|
361
347
|
const schemaErased: MapNodeCustomizableSchema<
|
|
@@ -32,7 +32,7 @@ import {
|
|
|
32
32
|
type TreeNodeSchema,
|
|
33
33
|
NodeKind,
|
|
34
34
|
type WithType,
|
|
35
|
-
// eslint-disable-next-line import/no-deprecated
|
|
35
|
+
// eslint-disable-next-line import-x/no-deprecated
|
|
36
36
|
typeNameSymbol,
|
|
37
37
|
typeSchemaSymbol,
|
|
38
38
|
type InternalTreeNode,
|
|
@@ -86,7 +86,7 @@ import {
|
|
|
86
86
|
type FactoryContentObject,
|
|
87
87
|
type InsertableContent,
|
|
88
88
|
} from "../../unhydratedFlexTreeFromInsertable.js";
|
|
89
|
-
import {
|
|
89
|
+
import { convertFieldKind } from "../../toStoredSchema.js";
|
|
90
90
|
import type { ObjectSchemaOptionsAlpha } from "../../api/index.js";
|
|
91
91
|
|
|
92
92
|
/**
|
|
@@ -275,7 +275,7 @@ function createProxyHandler(
|
|
|
275
275
|
if (propertyKey === typeSchemaSymbol) {
|
|
276
276
|
return schema;
|
|
277
277
|
}
|
|
278
|
-
// eslint-disable-next-line import/no-deprecated
|
|
278
|
+
// eslint-disable-next-line import-x/no-deprecated
|
|
279
279
|
if (propertyKey === typeNameSymbol) {
|
|
280
280
|
return schema.identifier;
|
|
281
281
|
}
|
|
@@ -573,7 +573,7 @@ export function objectSchema<
|
|
|
573
573
|
public static readonly persistedMetadata: JsonCompatibleReadOnlyObject | undefined =
|
|
574
574
|
nodeOptions.persistedMetadata;
|
|
575
575
|
|
|
576
|
-
// eslint-disable-next-line import/no-deprecated
|
|
576
|
+
// eslint-disable-next-line import-x/no-deprecated
|
|
577
577
|
public get [typeNameSymbol](): TName {
|
|
578
578
|
return identifier;
|
|
579
579
|
}
|
|
@@ -585,20 +585,6 @@ export function objectSchema<
|
|
|
585
585
|
return (privateData ??= createTreeNodeSchemaPrivateData(
|
|
586
586
|
this,
|
|
587
587
|
Array.from(CustomObjectNode.fields.values(), (schema) => schema.allowedTypesFull),
|
|
588
|
-
(storedOptions) => {
|
|
589
|
-
const fields: Map<FieldKey, TreeFieldStoredSchema> = new Map();
|
|
590
|
-
for (const fieldSchema of flexKeyMap.values()) {
|
|
591
|
-
assert(
|
|
592
|
-
fieldSchema.schema instanceof FieldSchemaAlpha,
|
|
593
|
-
0xc19 /* Expected FieldSchemaAlpha */,
|
|
594
|
-
);
|
|
595
|
-
fields.set(
|
|
596
|
-
brand(fieldSchema.storedKey),
|
|
597
|
-
convertField(fieldSchema.schema, storedOptions),
|
|
598
|
-
);
|
|
599
|
-
}
|
|
600
|
-
return new ObjectNodeStoredSchema(fields, nodeOptions.persistedMetadata);
|
|
601
|
-
},
|
|
602
588
|
));
|
|
603
589
|
}
|
|
604
590
|
}
|
|
@@ -650,9 +636,8 @@ function assertUniqueKeys<
|
|
|
650
636
|
}
|
|
651
637
|
|
|
652
638
|
/**
|
|
653
|
-
* {@link TreeNodeSchemaInitializedData.toFlexContent} for
|
|
639
|
+
* {@link TreeNodeSchemaInitializedData.toFlexContent} for object nodes.
|
|
654
640
|
*
|
|
655
|
-
* Transforms data under an Object schema.
|
|
656
641
|
* @param data - The tree data to be transformed. Must be a Record-like object.
|
|
657
642
|
* @param schema - The schema to comply with.
|
|
658
643
|
*/
|
|
@@ -11,7 +11,7 @@ import { type JsonCompatibleReadOnlyObject, brand } from "../../../util/index.js
|
|
|
11
11
|
import {
|
|
12
12
|
type TreeNodeSchema,
|
|
13
13
|
NodeKind,
|
|
14
|
-
// eslint-disable-next-line import/no-deprecated
|
|
14
|
+
// eslint-disable-next-line import-x/no-deprecated
|
|
15
15
|
typeNameSymbol,
|
|
16
16
|
typeSchemaSymbol,
|
|
17
17
|
type UnhydratedFlexTreeNode,
|
|
@@ -31,7 +31,6 @@ import {
|
|
|
31
31
|
type FlexContent,
|
|
32
32
|
CompatibilityLevel,
|
|
33
33
|
type TreeNodeSchemaPrivateData,
|
|
34
|
-
convertAllowedTypes,
|
|
35
34
|
AnnotatedAllowedTypesInternal,
|
|
36
35
|
} from "../../core/index.js";
|
|
37
36
|
import { getTreeNodeSchemaInitializedData } from "../../createContext.js";
|
|
@@ -50,7 +49,6 @@ import type {
|
|
|
50
49
|
TreeRecordNode,
|
|
51
50
|
} from "./recordNodeTypes.js";
|
|
52
51
|
import {
|
|
53
|
-
FieldKinds,
|
|
54
52
|
isTreeValue,
|
|
55
53
|
type FlexTreeNode,
|
|
56
54
|
type FlexTreeOptionalField,
|
|
@@ -80,7 +78,7 @@ function createRecordNodeProxy(
|
|
|
80
78
|
case typeSchemaSymbol: {
|
|
81
79
|
return schema;
|
|
82
80
|
}
|
|
83
|
-
// eslint-disable-next-line import/no-deprecated
|
|
81
|
+
// eslint-disable-next-line import-x/no-deprecated
|
|
84
82
|
case typeNameSymbol: {
|
|
85
83
|
return schema.identifier;
|
|
86
84
|
}
|
|
@@ -370,7 +368,7 @@ export function recordSchema<
|
|
|
370
368
|
public static readonly persistedMetadata: JsonCompatibleReadOnlyObject | undefined =
|
|
371
369
|
persistedMetadata;
|
|
372
370
|
|
|
373
|
-
// eslint-disable-next-line import/no-deprecated
|
|
371
|
+
// eslint-disable-next-line import-x/no-deprecated
|
|
374
372
|
public get [typeNameSymbol](): TName {
|
|
375
373
|
return identifier;
|
|
376
374
|
}
|
|
@@ -388,19 +386,7 @@ export function recordSchema<
|
|
|
388
386
|
}
|
|
389
387
|
|
|
390
388
|
public static get [privateDataSymbol](): TreeNodeSchemaPrivateData {
|
|
391
|
-
return (privateData ??= createTreeNodeSchemaPrivateData(
|
|
392
|
-
this,
|
|
393
|
-
[normalizedTypes],
|
|
394
|
-
(storedOptions) =>
|
|
395
|
-
new MapNodeStoredSchema(
|
|
396
|
-
{
|
|
397
|
-
kind: FieldKinds.optional.identifier,
|
|
398
|
-
types: convertAllowedTypes(info, storedOptions),
|
|
399
|
-
persistedMetadata,
|
|
400
|
-
},
|
|
401
|
-
persistedMetadata,
|
|
402
|
-
),
|
|
403
|
-
));
|
|
389
|
+
return (privateData ??= createTreeNodeSchemaPrivateData(this, [normalizedTypes]));
|
|
404
390
|
}
|
|
405
391
|
}
|
|
406
392
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
import type { ValueSchema } from "../core/index.js";
|
|
7
7
|
import type { JsonCompatibleReadOnlyObject } from "../util/index.js";
|
|
8
|
-
import type { NodeKind, SimpleNodeSchemaBase } from "./core/index.js";
|
|
8
|
+
import type { NodeKind, SchemaUpgrade, SimpleNodeSchemaBase } from "./core/index.js";
|
|
9
9
|
import type { FieldKind, FieldSchemaMetadata } from "./fieldSchema.js";
|
|
10
10
|
|
|
11
11
|
/*
|
|
@@ -39,6 +39,15 @@ export interface SimpleNodeSchemaBaseAlpha<
|
|
|
39
39
|
readonly persistedMetadata: JsonCompatibleReadOnlyObject | undefined;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
+
/**
|
|
43
|
+
* {@link AllowedTypes} for a location in the tree, expressed for use in the Simple Schema layer of abstraction.
|
|
44
|
+
*
|
|
45
|
+
* @remarks
|
|
46
|
+
* Refers to the types by identifier.
|
|
47
|
+
* A {@link SimpleTreeSchema} is needed to resolve these identifiers to their schema {@link SimpleTreeSchema.definitions}.
|
|
48
|
+
*/
|
|
49
|
+
export type SimpleAllowedTypes = ReadonlyMap<string, SimpleAllowedTypeAttributes>;
|
|
50
|
+
|
|
42
51
|
/**
|
|
43
52
|
* A {@link SimpleNodeSchema} for an object node.
|
|
44
53
|
*
|
|
@@ -58,6 +67,15 @@ export interface SimpleObjectNodeSchema<out TCustomMetadata = unknown>
|
|
|
58
67
|
* especially if/when TreeNodeSchema for objects provide more maps.
|
|
59
68
|
*/
|
|
60
69
|
readonly fields: ReadonlyMap<string, SimpleObjectFieldSchema>;
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Whether the object node allows unknown optional fields.
|
|
73
|
+
*
|
|
74
|
+
* @see {@link ObjectSchemaOptions.allowUnknownOptionalFields} for the API where this field is set as part of authoring a schema.
|
|
75
|
+
*
|
|
76
|
+
* @remarks Only populated for view schemas, undefined otherwise. Relevant for compatibility checking scenarios.
|
|
77
|
+
*/
|
|
78
|
+
readonly allowUnknownOptionalFields: boolean | undefined;
|
|
61
79
|
}
|
|
62
80
|
|
|
63
81
|
/**
|
|
@@ -163,20 +181,24 @@ export type SimpleNodeSchema =
|
|
|
163
181
|
| SimpleRecordNodeSchema;
|
|
164
182
|
|
|
165
183
|
/**
|
|
166
|
-
* Information about allowed types.
|
|
184
|
+
* Information about allowed types under a field.
|
|
167
185
|
*
|
|
168
186
|
* @alpha
|
|
169
187
|
* @sealed
|
|
170
188
|
*/
|
|
171
189
|
export interface SimpleAllowedTypeAttributes {
|
|
172
190
|
/**
|
|
173
|
-
*
|
|
191
|
+
* {@link SchemaUpgrade} if this schema is included as a {@link SchemaStaticsBeta.staged | staged} schema upgrade,
|
|
174
192
|
* allowing the view schema be compatible with stored schema with (post upgrade) or without it (pre-upgrade).
|
|
175
193
|
* New documents and schema upgrades will omit any staged schema.
|
|
176
194
|
*
|
|
177
195
|
* Undefined if derived from a stored schema.
|
|
196
|
+
*
|
|
197
|
+
* @privateRemarks
|
|
198
|
+
* The false and undefined cases here are a bit odd.
|
|
199
|
+
* This API should be reevaluated before stabilizing.
|
|
178
200
|
*/
|
|
179
|
-
readonly isStaged:
|
|
201
|
+
readonly isStaged: false | SchemaUpgrade | undefined;
|
|
180
202
|
}
|
|
181
203
|
|
|
182
204
|
/**
|
|
@@ -238,7 +260,7 @@ export interface SimpleTreeSchema {
|
|
|
238
260
|
* @remarks
|
|
239
261
|
* The keys are the schemas' {@link TreeNodeSchemaCore.identifier | identifiers}.
|
|
240
262
|
*
|
|
241
|
-
* Information about if a schema is {@link
|
|
263
|
+
* Information about if a schema is {@link SchemaStaticsBeta.staged | staged} or not is not available as the "Simple Schema" layer of abstraction: they are included unconditionally.
|
|
242
264
|
* Options for filtering out staged schemas from view schema are available in {@link extractPersistedSchema}.
|
|
243
265
|
*/
|
|
244
266
|
readonly definitions: ReadonlyMap<string, SimpleNodeSchema>;
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { Type, type ObjectOptions, type Static } from "@sinclair/typebox";
|
|
7
|
+
|
|
8
|
+
const noAdditionalProps: ObjectOptions = { additionalProperties: false };
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* The format version for the schema.
|
|
12
|
+
*/
|
|
13
|
+
export const SimpleSchemaFormatVersion = {
|
|
14
|
+
v1: 1,
|
|
15
|
+
} as const;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The allowed types and their attributes in the simple schema format.
|
|
19
|
+
* @see {@link SimpleAllowedTypes}.
|
|
20
|
+
*/
|
|
21
|
+
export const SimpleAllowedTypeAttributesFormat = Type.Object(
|
|
22
|
+
{
|
|
23
|
+
isStaged: Type.Optional(Type.Boolean()),
|
|
24
|
+
},
|
|
25
|
+
noAdditionalProps,
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
export type SimpleAllowedTypeAttributesFormat = Static<
|
|
29
|
+
typeof SimpleAllowedTypeAttributesFormat
|
|
30
|
+
>;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* A set of allowed types in the simple schema format.
|
|
34
|
+
* The keys are the type identifiers, and the values are their attributes.
|
|
35
|
+
*/
|
|
36
|
+
export const SimpleAllowedTypesFormat = Type.Record(
|
|
37
|
+
Type.String(),
|
|
38
|
+
SimpleAllowedTypeAttributesFormat,
|
|
39
|
+
);
|
|
40
|
+
export type SimpleAllowedTypesFormat = Static<typeof SimpleAllowedTypesFormat>;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Persisted format for a field schema in the simple schema format.
|
|
44
|
+
* @see {@link SimpleFieldSchema}.
|
|
45
|
+
*/
|
|
46
|
+
export const SimpleFieldSchemaFormat = Type.Object(
|
|
47
|
+
{
|
|
48
|
+
kind: Type.Integer(),
|
|
49
|
+
simpleAllowedTypes: SimpleAllowedTypesFormat,
|
|
50
|
+
},
|
|
51
|
+
noAdditionalProps,
|
|
52
|
+
);
|
|
53
|
+
export type SimpleFieldSchemaFormat = Static<typeof SimpleFieldSchemaFormat>;
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Persisted format for an object field schema in the simple schema format.
|
|
57
|
+
* @see {@link SimpleObjectFieldSchema}.
|
|
58
|
+
*/
|
|
59
|
+
export const SimpleObjectFieldSchemaFormat = Type.Object(
|
|
60
|
+
{
|
|
61
|
+
kind: Type.Integer(),
|
|
62
|
+
simpleAllowedTypes: SimpleAllowedTypesFormat,
|
|
63
|
+
storedKey: Type.String(),
|
|
64
|
+
},
|
|
65
|
+
noAdditionalProps,
|
|
66
|
+
);
|
|
67
|
+
export type SimpleObjectFieldSchemaFormat = Static<typeof SimpleObjectFieldSchemaFormat>;
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Persisted format for an array node schema in the simple schema format.
|
|
71
|
+
* @see {@link SimpleArrayNodeSchema}.
|
|
72
|
+
*/
|
|
73
|
+
export const SimpleArrayNodeSchemaFormat = Type.Object(
|
|
74
|
+
{
|
|
75
|
+
kind: Type.Integer(),
|
|
76
|
+
simpleAllowedTypes: SimpleAllowedTypesFormat,
|
|
77
|
+
},
|
|
78
|
+
noAdditionalProps,
|
|
79
|
+
);
|
|
80
|
+
export type SimpleArrayNodeSchemaFormat = Static<typeof SimpleArrayNodeSchemaFormat>;
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Persisted format for a map node schema in the simple schema format.
|
|
84
|
+
* @see {@link SimpleMapNodeSchema}.
|
|
85
|
+
*/
|
|
86
|
+
export const SimpleMapNodeSchemaFormat = Type.Object(
|
|
87
|
+
{
|
|
88
|
+
kind: Type.Integer(),
|
|
89
|
+
simpleAllowedTypes: SimpleAllowedTypesFormat,
|
|
90
|
+
},
|
|
91
|
+
noAdditionalProps,
|
|
92
|
+
);
|
|
93
|
+
export type SimpleMapNodeSchemaFormat = Static<typeof SimpleMapNodeSchemaFormat>;
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Persisted format for a record node schema in the simple schema format.
|
|
97
|
+
* @see {@link SimpleRecordNodeSchema}.
|
|
98
|
+
*/
|
|
99
|
+
export const SimpleRecordNodeSchemaFormat = Type.Object(
|
|
100
|
+
{
|
|
101
|
+
kind: Type.Integer(),
|
|
102
|
+
simpleAllowedTypes: SimpleAllowedTypesFormat,
|
|
103
|
+
},
|
|
104
|
+
noAdditionalProps,
|
|
105
|
+
);
|
|
106
|
+
export type SimpleRecordNodeSchemaFormat = Static<typeof SimpleRecordNodeSchemaFormat>;
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Persisted format for a leaf node schema in the simple schema format.
|
|
110
|
+
* @see {@link SimpleLeafNodeSchema}.
|
|
111
|
+
*/
|
|
112
|
+
export const SimpleLeafNodeSchemaFormat = Type.Object(
|
|
113
|
+
{
|
|
114
|
+
kind: Type.Integer(),
|
|
115
|
+
leafKind: Type.Integer(),
|
|
116
|
+
},
|
|
117
|
+
noAdditionalProps,
|
|
118
|
+
);
|
|
119
|
+
export type SimpleLeafNodeSchemaFormat = Static<typeof SimpleLeafNodeSchemaFormat>;
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Persisted format for the field schemas of an object node in the simple schema format.
|
|
123
|
+
*/
|
|
124
|
+
export const SimpleObjectFieldSchemasFormat = Type.Record(
|
|
125
|
+
Type.String(),
|
|
126
|
+
SimpleObjectFieldSchemaFormat,
|
|
127
|
+
);
|
|
128
|
+
export type SimpleObjectFieldSchemasFormat = Static<typeof SimpleObjectFieldSchemasFormat>;
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Persisted format for an object node schema in the simple schema format.
|
|
132
|
+
* @see {@link SimpleObjectNodeSchema}.
|
|
133
|
+
*/
|
|
134
|
+
export const SimpleObjectNodeSchemaFormat = Type.Object(
|
|
135
|
+
{
|
|
136
|
+
kind: Type.Integer(),
|
|
137
|
+
fields: SimpleObjectFieldSchemasFormat,
|
|
138
|
+
allowUnknownOptionalFields: Type.Optional(Type.Boolean()),
|
|
139
|
+
},
|
|
140
|
+
noAdditionalProps,
|
|
141
|
+
);
|
|
142
|
+
export type SimpleObjectNodeSchemaFormat = Static<typeof SimpleObjectNodeSchemaFormat>;
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Discriminated union of all possible node schemas.
|
|
146
|
+
*
|
|
147
|
+
* See {@link DiscriminatedUnionDispatcher} for more information on this pattern.
|
|
148
|
+
*/
|
|
149
|
+
export const SimpleNodeSchemaUnionFormat = Type.Object({
|
|
150
|
+
array: Type.Optional(SimpleArrayNodeSchemaFormat),
|
|
151
|
+
map: Type.Optional(SimpleMapNodeSchemaFormat),
|
|
152
|
+
record: Type.Optional(SimpleRecordNodeSchemaFormat),
|
|
153
|
+
leaf: Type.Optional(SimpleLeafNodeSchemaFormat),
|
|
154
|
+
object: Type.Optional(SimpleObjectNodeSchemaFormat),
|
|
155
|
+
});
|
|
156
|
+
export type SimpleNodeSchemaUnionFormat = Static<typeof SimpleNodeSchemaUnionFormat>;
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* Helper type for the schema definitions map in the persisted format.
|
|
160
|
+
*/
|
|
161
|
+
export const SimpleSchemaDefinitionsFormat = Type.Record(
|
|
162
|
+
Type.String(),
|
|
163
|
+
SimpleNodeSchemaUnionFormat,
|
|
164
|
+
);
|
|
165
|
+
export type SimpleSchemaDefinitionsFormat = Static<typeof SimpleSchemaDefinitionsFormat>;
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* Persisted format for the entire tree schema in the simple schema format.
|
|
169
|
+
* @see {@link SimpleTreeSchema}.
|
|
170
|
+
*/
|
|
171
|
+
export const SimpleTreeSchemaFormat = Type.Object(
|
|
172
|
+
{
|
|
173
|
+
version: Type.Literal(SimpleSchemaFormatVersion.v1),
|
|
174
|
+
root: SimpleFieldSchemaFormat,
|
|
175
|
+
definitions: SimpleSchemaDefinitionsFormat,
|
|
176
|
+
},
|
|
177
|
+
noAdditionalProps,
|
|
178
|
+
);
|
|
179
|
+
export type SimpleTreeSchemaFormat = Static<typeof SimpleTreeSchemaFormat>;
|