@fluidframework/tree 2.22.1 → 2.23.0-325054
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/.vscode/extensions.json +1 -0
- package/.vscode/settings.json +1 -0
- package/CHANGELOG.md +47 -0
- package/api-report/tree.alpha.api.md +169 -10
- package/api-report/tree.beta.api.md +101 -9
- package/api-report/tree.legacy.alpha.api.md +101 -9
- package/api-report/tree.legacy.public.api.md +101 -9
- package/api-report/tree.public.api.md +101 -9
- package/dist/alpha.d.ts +20 -0
- package/dist/beta.d.ts +15 -0
- package/dist/codec/codec.js +3 -3
- package/dist/codec/codec.js.map +1 -1
- package/dist/codec/discriminatedUnions.d.ts.map +1 -1
- package/dist/codec/discriminatedUnions.js +1 -1
- package/dist/codec/discriminatedUnions.js.map +1 -1
- package/dist/core/schema-stored/schema.d.ts.map +1 -1
- package/dist/core/schema-stored/schema.js +3 -3
- package/dist/core/schema-stored/schema.js.map +1 -1
- package/dist/core/tree/anchorSet.d.ts.map +1 -1
- package/dist/core/tree/anchorSet.js +18 -13
- package/dist/core/tree/anchorSet.js.map +1 -1
- package/dist/core/tree/treeTextFormat.js +1 -1
- package/dist/core/tree/treeTextFormat.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/basicChunk.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/basicChunk.js +11 -8
- package/dist/feature-libraries/chunked-forest/basicChunk.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/chunkTree.js +2 -2
- package/dist/feature-libraries/chunked-forest/chunkTree.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/chunkedForest.js +3 -3
- package/dist/feature-libraries/chunked-forest/chunkedForest.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.js +2 -2
- package/dist/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js +4 -3
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/nodeShape.js +2 -2
- package/dist/feature-libraries/chunked-forest/codec/nodeShape.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncoding.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncoding.js +3 -3
- package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncoding.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/emptyChunk.js +14 -14
- package/dist/feature-libraries/chunked-forest/emptyChunk.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/uniformChunk.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/uniformChunk.js +6 -4
- package/dist/feature-libraries/chunked-forest/uniformChunk.js.map +1 -1
- package/dist/feature-libraries/default-schema/defaultFieldKinds.js +1 -1
- package/dist/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -1
- package/dist/feature-libraries/default-schema/schemaChecker.js +1 -1
- package/dist/feature-libraries/default-schema/schemaChecker.js.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyField.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyField.js +4 -3
- package/dist/feature-libraries/flex-tree/lazyField.js.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyNode.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyNode.js +5 -4
- package/dist/feature-libraries/flex-tree/lazyNode.js.map +1 -1
- package/dist/feature-libraries/indexing/anchorTreeIndex.d.ts.map +1 -1
- package/dist/feature-libraries/indexing/anchorTreeIndex.js +1 -1
- package/dist/feature-libraries/indexing/anchorTreeIndex.js.map +1 -1
- package/dist/feature-libraries/modular-schema/comparison.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/comparison.js +6 -4
- package/dist/feature-libraries/modular-schema/comparison.js.map +1 -1
- package/dist/feature-libraries/modular-schema/isNeverTree.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/isNeverTree.js +4 -4
- package/dist/feature-libraries/modular-schema/isNeverTree.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.js +4 -4
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js +10 -11
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/dist/feature-libraries/node-key/mockNodeKeyManager.js +1 -1
- package/dist/feature-libraries/node-key/mockNodeKeyManager.js.map +1 -1
- package/dist/feature-libraries/object-forest/objectForest.js +1 -1
- package/dist/feature-libraries/object-forest/objectForest.js.map +1 -1
- package/dist/feature-libraries/schema-index/codec.js +1 -1
- package/dist/feature-libraries/schema-index/codec.js.map +1 -1
- package/dist/feature-libraries/sequence-field/compose.js +1 -1
- package/dist/feature-libraries/sequence-field/compose.js.map +1 -1
- package/dist/feature-libraries/sequence-field/invert.js +1 -1
- package/dist/feature-libraries/sequence-field/invert.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV1.js +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV1.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.js +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.js.map +1 -1
- package/dist/feature-libraries/sequence-field/utils.js +1 -1
- package/dist/feature-libraries/sequence-field/utils.js.map +1 -1
- package/dist/feature-libraries/treeCursorUtils.d.ts.map +1 -1
- package/dist/feature-libraries/treeCursorUtils.js +6 -4
- package/dist/feature-libraries/treeCursorUtils.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -1
- package/dist/index.js.map +1 -1
- package/dist/jsonDomainSchema.d.ts +113 -0
- package/dist/jsonDomainSchema.d.ts.map +1 -0
- package/dist/jsonDomainSchema.js +101 -0
- package/dist/jsonDomainSchema.js.map +1 -0
- package/dist/legacy.d.ts +15 -0
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.d.ts.map +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/dist/public.d.ts +15 -0
- package/dist/serializableDomainSchema.d.ts +108 -0
- package/dist/serializableDomainSchema.d.ts.map +1 -0
- package/dist/serializableDomainSchema.js +90 -0
- package/dist/serializableDomainSchema.js.map +1 -0
- 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.map +1 -1
- package/dist/shared-tree/schematizeTree.js +1 -1
- package/dist/shared-tree/schematizeTree.js.map +1 -1
- package/dist/shared-tree/sharedTree.d.ts +37 -20
- package/dist/shared-tree/sharedTree.d.ts.map +1 -1
- package/dist/shared-tree/sharedTree.js +17 -17
- package/dist/shared-tree/sharedTree.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeFamily.js +1 -1
- package/dist/shared-tree/sharedTreeChangeFamily.js.map +1 -1
- package/dist/shared-tree/treeApiAlpha.d.ts.map +1 -1
- package/dist/shared-tree/treeApiAlpha.js +4 -4
- package/dist/shared-tree/treeApiAlpha.js.map +1 -1
- package/dist/shared-tree/treeCheckout.js +1 -1
- package/dist/shared-tree/treeCheckout.js.map +1 -1
- package/dist/shared-tree-core/editManager.d.ts +11 -2
- package/dist/shared-tree-core/editManager.d.ts.map +1 -1
- package/dist/shared-tree-core/editManager.js +70 -34
- package/dist/shared-tree-core/editManager.js.map +1 -1
- package/dist/shared-tree-core/resubmitMachine.d.ts +2 -0
- package/dist/shared-tree-core/resubmitMachine.d.ts.map +1 -1
- package/dist/shared-tree-core/resubmitMachine.js.map +1 -1
- package/dist/shared-tree-core/sharedTreeCore.d.ts +10 -3
- package/dist/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
- package/dist/shared-tree-core/sharedTreeCore.js +42 -7
- package/dist/shared-tree-core/sharedTreeCore.js.map +1 -1
- package/dist/simple-tree/api/component.d.ts +30 -0
- package/dist/simple-tree/api/component.d.ts.map +1 -0
- package/dist/simple-tree/api/component.js +26 -0
- package/dist/simple-tree/api/component.js.map +1 -0
- package/dist/simple-tree/api/customTree.js +3 -3
- package/dist/simple-tree/api/customTree.js.map +1 -1
- package/dist/simple-tree/api/index.d.ts +2 -1
- package/dist/simple-tree/api/index.d.ts.map +1 -1
- package/dist/simple-tree/api/index.js +3 -1
- package/dist/simple-tree/api/index.js.map +1 -1
- package/dist/simple-tree/api/schemaCreationUtilities.js +1 -1
- package/dist/simple-tree/api/schemaCreationUtilities.js.map +1 -1
- package/dist/simple-tree/api/schemaFactory.d.ts +0 -8
- package/dist/simple-tree/api/schemaFactory.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFactory.js +4 -25
- package/dist/simple-tree/api/schemaFactory.js.map +1 -1
- package/dist/simple-tree/api/schemaFactoryRecursive.d.ts +1 -1
- package/dist/simple-tree/api/schemaFactoryRecursive.js.map +1 -1
- package/dist/simple-tree/api/simpleTreeIndex.js +3 -3
- package/dist/simple-tree/api/simpleTreeIndex.js.map +1 -1
- package/dist/simple-tree/api/tree.d.ts.map +1 -1
- package/dist/simple-tree/api/tree.js +2 -3
- package/dist/simple-tree/api/tree.js.map +1 -1
- package/dist/simple-tree/api/treeNodeApi.d.ts.map +1 -1
- package/dist/simple-tree/api/treeNodeApi.js +7 -18
- package/dist/simple-tree/api/treeNodeApi.js.map +1 -1
- package/dist/simple-tree/api/typesUnsafe.d.ts +127 -19
- package/dist/simple-tree/api/typesUnsafe.d.ts.map +1 -1
- package/dist/simple-tree/api/typesUnsafe.js +17 -0
- package/dist/simple-tree/api/typesUnsafe.js.map +1 -1
- package/dist/simple-tree/api/verboseTree.d.ts.map +1 -1
- package/dist/simple-tree/api/verboseTree.js +5 -4
- package/dist/simple-tree/api/verboseTree.js.map +1 -1
- package/dist/simple-tree/api/view.js +1 -1
- package/dist/simple-tree/api/view.js.map +1 -1
- package/dist/simple-tree/arrayNode.d.ts +1 -1
- package/dist/simple-tree/arrayNode.d.ts.map +1 -1
- package/dist/simple-tree/arrayNode.js +2 -2
- package/dist/simple-tree/arrayNode.js.map +1 -1
- package/dist/simple-tree/core/getOrCreateNode.d.ts.map +1 -1
- package/dist/simple-tree/core/getOrCreateNode.js +1 -1
- package/dist/simple-tree/core/getOrCreateNode.js.map +1 -1
- package/dist/simple-tree/core/schemaCaching.js +1 -1
- package/dist/simple-tree/core/schemaCaching.js.map +1 -1
- package/dist/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
- package/dist/simple-tree/core/treeNodeKernel.js +6 -6
- package/dist/simple-tree/core/treeNodeKernel.js.map +1 -1
- package/dist/simple-tree/core/unhydratedFlexTree.d.ts.map +1 -1
- package/dist/simple-tree/core/unhydratedFlexTree.js +5 -5
- package/dist/simple-tree/core/unhydratedFlexTree.js.map +1 -1
- package/dist/simple-tree/flexList.d.ts +4 -5
- package/dist/simple-tree/flexList.d.ts.map +1 -1
- package/dist/simple-tree/flexList.js +1 -14
- package/dist/simple-tree/flexList.js.map +1 -1
- package/dist/simple-tree/index.d.ts +4 -4
- package/dist/simple-tree/index.d.ts.map +1 -1
- package/dist/simple-tree/index.js +6 -2
- package/dist/simple-tree/index.js.map +1 -1
- package/dist/simple-tree/objectNode.d.ts +25 -2
- package/dist/simple-tree/objectNode.d.ts.map +1 -1
- package/dist/simple-tree/objectNode.js +4 -2
- package/dist/simple-tree/objectNode.js.map +1 -1
- package/dist/simple-tree/proxies.js +1 -1
- package/dist/simple-tree/proxies.js.map +1 -1
- package/dist/simple-tree/schemaTypes.d.ts +211 -9
- package/dist/simple-tree/schemaTypes.d.ts.map +1 -1
- package/dist/simple-tree/schemaTypes.js +83 -2
- package/dist/simple-tree/schemaTypes.js.map +1 -1
- package/dist/simple-tree/toMapTree.js +3 -3
- package/dist/simple-tree/toMapTree.js.map +1 -1
- package/dist/simple-tree/toStoredSchema.d.ts.map +1 -1
- package/dist/simple-tree/toStoredSchema.js +3 -6
- package/dist/simple-tree/toStoredSchema.js.map +1 -1
- package/dist/simple-tree/treeNodeValid.d.ts +7 -1
- package/dist/simple-tree/treeNodeValid.d.ts.map +1 -1
- package/dist/simple-tree/treeNodeValid.js +18 -7
- package/dist/simple-tree/treeNodeValid.js.map +1 -1
- package/dist/util/idAllocator.js +1 -1
- package/dist/util/idAllocator.js.map +1 -1
- package/dist/util/index.d.ts +2 -2
- package/dist/util/index.d.ts.map +1 -1
- package/dist/util/index.js +5 -4
- package/dist/util/index.js.map +1 -1
- package/dist/util/nestedMap.d.ts +2 -10
- package/dist/util/nestedMap.d.ts.map +1 -1
- package/dist/util/nestedMap.js +9 -28
- package/dist/util/nestedMap.js.map +1 -1
- package/dist/util/utils.d.ts +23 -6
- package/dist/util/utils.d.ts.map +1 -1
- package/dist/util/utils.js +46 -13
- package/dist/util/utils.js.map +1 -1
- package/lib/alpha.d.ts +20 -0
- package/lib/beta.d.ts +15 -0
- package/lib/codec/codec.js +3 -3
- package/lib/codec/codec.js.map +1 -1
- package/lib/codec/discriminatedUnions.d.ts.map +1 -1
- package/lib/codec/discriminatedUnions.js +1 -1
- package/lib/codec/discriminatedUnions.js.map +1 -1
- package/lib/core/schema-stored/schema.d.ts.map +1 -1
- package/lib/core/schema-stored/schema.js +3 -3
- package/lib/core/schema-stored/schema.js.map +1 -1
- package/lib/core/tree/anchorSet.d.ts.map +1 -1
- package/lib/core/tree/anchorSet.js +19 -14
- package/lib/core/tree/anchorSet.js.map +1 -1
- package/lib/core/tree/treeTextFormat.js +1 -1
- package/lib/core/tree/treeTextFormat.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/basicChunk.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/basicChunk.js +11 -8
- package/lib/feature-libraries/chunked-forest/basicChunk.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/chunkTree.js +2 -2
- package/lib/feature-libraries/chunked-forest/chunkTree.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/chunkedForest.js +3 -3
- package/lib/feature-libraries/chunked-forest/chunkedForest.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.js +2 -2
- package/lib/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js +4 -3
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/nodeShape.js +2 -2
- package/lib/feature-libraries/chunked-forest/codec/nodeShape.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncoding.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncoding.js +3 -3
- package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncoding.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/emptyChunk.js +14 -14
- package/lib/feature-libraries/chunked-forest/emptyChunk.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/uniformChunk.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/uniformChunk.js +6 -4
- package/lib/feature-libraries/chunked-forest/uniformChunk.js.map +1 -1
- package/lib/feature-libraries/default-schema/defaultFieldKinds.js +1 -1
- package/lib/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -1
- package/lib/feature-libraries/default-schema/schemaChecker.js +1 -1
- package/lib/feature-libraries/default-schema/schemaChecker.js.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyField.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyField.js +4 -3
- package/lib/feature-libraries/flex-tree/lazyField.js.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyNode.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyNode.js +5 -4
- package/lib/feature-libraries/flex-tree/lazyNode.js.map +1 -1
- package/lib/feature-libraries/indexing/anchorTreeIndex.d.ts.map +1 -1
- package/lib/feature-libraries/indexing/anchorTreeIndex.js +1 -1
- package/lib/feature-libraries/indexing/anchorTreeIndex.js.map +1 -1
- package/lib/feature-libraries/modular-schema/comparison.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/comparison.js +6 -4
- package/lib/feature-libraries/modular-schema/comparison.js.map +1 -1
- package/lib/feature-libraries/modular-schema/isNeverTree.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/isNeverTree.js +4 -4
- package/lib/feature-libraries/modular-schema/isNeverTree.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.js +4 -4
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js +11 -12
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/lib/feature-libraries/node-key/mockNodeKeyManager.js +1 -1
- package/lib/feature-libraries/node-key/mockNodeKeyManager.js.map +1 -1
- package/lib/feature-libraries/object-forest/objectForest.js +1 -1
- package/lib/feature-libraries/object-forest/objectForest.js.map +1 -1
- package/lib/feature-libraries/schema-index/codec.js +1 -1
- package/lib/feature-libraries/schema-index/codec.js.map +1 -1
- package/lib/feature-libraries/sequence-field/compose.js +1 -1
- package/lib/feature-libraries/sequence-field/compose.js.map +1 -1
- package/lib/feature-libraries/sequence-field/invert.js +1 -1
- package/lib/feature-libraries/sequence-field/invert.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV1.js +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV1.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.js +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.js.map +1 -1
- package/lib/feature-libraries/sequence-field/utils.js +1 -1
- package/lib/feature-libraries/sequence-field/utils.js.map +1 -1
- package/lib/feature-libraries/treeCursorUtils.d.ts.map +1 -1
- package/lib/feature-libraries/treeCursorUtils.js +6 -4
- package/lib/feature-libraries/treeCursorUtils.js.map +1 -1
- package/lib/index.d.ts +4 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -1
- package/lib/index.js.map +1 -1
- package/lib/jsonDomainSchema.d.ts +113 -0
- package/lib/jsonDomainSchema.d.ts.map +1 -0
- package/lib/jsonDomainSchema.js +98 -0
- package/lib/jsonDomainSchema.js.map +1 -0
- package/lib/legacy.d.ts +15 -0
- package/lib/packageVersion.d.ts +1 -1
- package/lib/packageVersion.d.ts.map +1 -1
- package/lib/packageVersion.js +1 -1
- package/lib/packageVersion.js.map +1 -1
- package/lib/public.d.ts +15 -0
- package/lib/serializableDomainSchema.d.ts +108 -0
- package/lib/serializableDomainSchema.d.ts.map +1 -0
- package/lib/serializableDomainSchema.js +87 -0
- package/lib/serializableDomainSchema.js.map +1 -0
- 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.map +1 -1
- package/lib/shared-tree/schematizeTree.js +1 -1
- package/lib/shared-tree/schematizeTree.js.map +1 -1
- package/lib/shared-tree/sharedTree.d.ts +37 -20
- package/lib/shared-tree/sharedTree.d.ts.map +1 -1
- package/lib/shared-tree/sharedTree.js +18 -18
- package/lib/shared-tree/sharedTree.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFamily.js +1 -1
- package/lib/shared-tree/sharedTreeChangeFamily.js.map +1 -1
- package/lib/shared-tree/treeApiAlpha.d.ts.map +1 -1
- package/lib/shared-tree/treeApiAlpha.js +4 -4
- package/lib/shared-tree/treeApiAlpha.js.map +1 -1
- package/lib/shared-tree/treeCheckout.js +1 -1
- package/lib/shared-tree/treeCheckout.js.map +1 -1
- package/lib/shared-tree-core/editManager.d.ts +11 -2
- package/lib/shared-tree-core/editManager.d.ts.map +1 -1
- package/lib/shared-tree-core/editManager.js +70 -34
- package/lib/shared-tree-core/editManager.js.map +1 -1
- package/lib/shared-tree-core/resubmitMachine.d.ts +2 -0
- package/lib/shared-tree-core/resubmitMachine.d.ts.map +1 -1
- package/lib/shared-tree-core/resubmitMachine.js.map +1 -1
- package/lib/shared-tree-core/sharedTreeCore.d.ts +10 -3
- package/lib/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
- package/lib/shared-tree-core/sharedTreeCore.js +42 -7
- package/lib/shared-tree-core/sharedTreeCore.js.map +1 -1
- package/lib/simple-tree/api/component.d.ts +30 -0
- package/lib/simple-tree/api/component.d.ts.map +1 -0
- package/lib/simple-tree/api/component.js +23 -0
- package/lib/simple-tree/api/component.js.map +1 -0
- package/lib/simple-tree/api/customTree.js +3 -3
- package/lib/simple-tree/api/customTree.js.map +1 -1
- package/lib/simple-tree/api/index.d.ts +2 -1
- package/lib/simple-tree/api/index.d.ts.map +1 -1
- package/lib/simple-tree/api/index.js +1 -0
- package/lib/simple-tree/api/index.js.map +1 -1
- package/lib/simple-tree/api/schemaCreationUtilities.js +1 -1
- package/lib/simple-tree/api/schemaCreationUtilities.js.map +1 -1
- package/lib/simple-tree/api/schemaFactory.d.ts +0 -8
- package/lib/simple-tree/api/schemaFactory.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFactory.js +2 -22
- package/lib/simple-tree/api/schemaFactory.js.map +1 -1
- package/lib/simple-tree/api/schemaFactoryRecursive.d.ts +1 -1
- package/lib/simple-tree/api/schemaFactoryRecursive.js.map +1 -1
- package/lib/simple-tree/api/simpleTreeIndex.js +3 -3
- package/lib/simple-tree/api/simpleTreeIndex.js.map +1 -1
- package/lib/simple-tree/api/tree.d.ts.map +1 -1
- package/lib/simple-tree/api/tree.js +3 -4
- package/lib/simple-tree/api/tree.js.map +1 -1
- package/lib/simple-tree/api/treeNodeApi.d.ts.map +1 -1
- package/lib/simple-tree/api/treeNodeApi.js +9 -20
- package/lib/simple-tree/api/treeNodeApi.js.map +1 -1
- package/lib/simple-tree/api/typesUnsafe.d.ts +127 -19
- package/lib/simple-tree/api/typesUnsafe.d.ts.map +1 -1
- package/lib/simple-tree/api/typesUnsafe.js +15 -1
- package/lib/simple-tree/api/typesUnsafe.js.map +1 -1
- package/lib/simple-tree/api/verboseTree.d.ts.map +1 -1
- package/lib/simple-tree/api/verboseTree.js +5 -4
- package/lib/simple-tree/api/verboseTree.js.map +1 -1
- package/lib/simple-tree/api/view.js +1 -1
- package/lib/simple-tree/api/view.js.map +1 -1
- package/lib/simple-tree/arrayNode.d.ts +1 -1
- package/lib/simple-tree/arrayNode.d.ts.map +1 -1
- package/lib/simple-tree/arrayNode.js +2 -2
- package/lib/simple-tree/arrayNode.js.map +1 -1
- package/lib/simple-tree/core/getOrCreateNode.d.ts.map +1 -1
- package/lib/simple-tree/core/getOrCreateNode.js +1 -1
- package/lib/simple-tree/core/getOrCreateNode.js.map +1 -1
- package/lib/simple-tree/core/schemaCaching.js +1 -1
- package/lib/simple-tree/core/schemaCaching.js.map +1 -1
- package/lib/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
- package/lib/simple-tree/core/treeNodeKernel.js +6 -6
- package/lib/simple-tree/core/treeNodeKernel.js.map +1 -1
- package/lib/simple-tree/core/unhydratedFlexTree.d.ts.map +1 -1
- package/lib/simple-tree/core/unhydratedFlexTree.js +5 -5
- package/lib/simple-tree/core/unhydratedFlexTree.js.map +1 -1
- package/lib/simple-tree/flexList.d.ts +4 -5
- package/lib/simple-tree/flexList.d.ts.map +1 -1
- package/lib/simple-tree/flexList.js +0 -12
- package/lib/simple-tree/flexList.js.map +1 -1
- package/lib/simple-tree/index.d.ts +4 -4
- package/lib/simple-tree/index.d.ts.map +1 -1
- package/lib/simple-tree/index.js +2 -2
- package/lib/simple-tree/index.js.map +1 -1
- package/lib/simple-tree/objectNode.d.ts +25 -2
- package/lib/simple-tree/objectNode.d.ts.map +1 -1
- package/lib/simple-tree/objectNode.js +4 -2
- package/lib/simple-tree/objectNode.js.map +1 -1
- package/lib/simple-tree/proxies.js +1 -1
- package/lib/simple-tree/proxies.js.map +1 -1
- package/lib/simple-tree/schemaTypes.d.ts +211 -9
- package/lib/simple-tree/schemaTypes.d.ts.map +1 -1
- package/lib/simple-tree/schemaTypes.js +81 -3
- package/lib/simple-tree/schemaTypes.js.map +1 -1
- package/lib/simple-tree/toMapTree.js +3 -3
- package/lib/simple-tree/toMapTree.js.map +1 -1
- package/lib/simple-tree/toStoredSchema.d.ts.map +1 -1
- package/lib/simple-tree/toStoredSchema.js +5 -8
- package/lib/simple-tree/toStoredSchema.js.map +1 -1
- package/lib/simple-tree/treeNodeValid.d.ts +7 -1
- package/lib/simple-tree/treeNodeValid.d.ts.map +1 -1
- package/lib/simple-tree/treeNodeValid.js +18 -7
- package/lib/simple-tree/treeNodeValid.js.map +1 -1
- package/lib/util/idAllocator.js +1 -1
- package/lib/util/idAllocator.js.map +1 -1
- package/lib/util/index.d.ts +2 -2
- package/lib/util/index.d.ts.map +1 -1
- package/lib/util/index.js +2 -2
- package/lib/util/index.js.map +1 -1
- package/lib/util/nestedMap.d.ts +2 -10
- package/lib/util/nestedMap.d.ts.map +1 -1
- package/lib/util/nestedMap.js +5 -23
- package/lib/util/nestedMap.js.map +1 -1
- package/lib/util/utils.d.ts +23 -6
- package/lib/util/utils.d.ts.map +1 -1
- package/lib/util/utils.js +42 -11
- package/lib/util/utils.js.map +1 -1
- package/package.json +27 -23
- package/src/codec/codec.ts +3 -3
- package/src/codec/discriminatedUnions.ts +2 -1
- package/src/core/schema-stored/schema.ts +5 -3
- package/src/core/tree/anchorSet.ts +37 -26
- package/src/core/tree/treeTextFormat.ts +1 -1
- package/src/feature-libraries/chunked-forest/basicChunk.ts +11 -8
- package/src/feature-libraries/chunked-forest/chunkTree.ts +2 -2
- package/src/feature-libraries/chunked-forest/chunkedForest.ts +3 -3
- package/src/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.ts +2 -2
- package/src/feature-libraries/chunked-forest/codec/compressedEncode.ts +4 -3
- package/src/feature-libraries/chunked-forest/codec/nodeShape.ts +2 -2
- package/src/feature-libraries/chunked-forest/codec/schemaBasedEncoding.ts +4 -3
- package/src/feature-libraries/chunked-forest/emptyChunk.ts +14 -14
- package/src/feature-libraries/chunked-forest/uniformChunk.ts +6 -4
- package/src/feature-libraries/default-schema/defaultFieldKinds.ts +1 -1
- package/src/feature-libraries/default-schema/schemaChecker.ts +1 -1
- package/src/feature-libraries/flex-tree/lazyField.ts +6 -8
- package/src/feature-libraries/flex-tree/lazyNode.ts +6 -4
- package/src/feature-libraries/indexing/anchorTreeIndex.ts +2 -1
- package/src/feature-libraries/modular-schema/comparison.ts +7 -5
- package/src/feature-libraries/modular-schema/isNeverTree.ts +6 -4
- package/src/feature-libraries/modular-schema/modularChangeCodecs.ts +4 -4
- package/src/feature-libraries/modular-schema/modularChangeFamily.ts +16 -12
- package/src/feature-libraries/node-key/mockNodeKeyManager.ts +1 -1
- package/src/feature-libraries/object-forest/objectForest.ts +1 -1
- package/src/feature-libraries/schema-index/codec.ts +1 -1
- package/src/feature-libraries/sequence-field/compose.ts +1 -1
- package/src/feature-libraries/sequence-field/invert.ts +1 -1
- package/src/feature-libraries/sequence-field/sequenceFieldCodecV1.ts +1 -1
- package/src/feature-libraries/sequence-field/sequenceFieldCodecV2.ts +1 -1
- package/src/feature-libraries/sequence-field/utils.ts +1 -1
- package/src/feature-libraries/treeCursorUtils.ts +6 -4
- package/src/index.ts +22 -1
- package/src/jsonDomainSchema.ts +129 -0
- package/src/packageVersion.ts +1 -1
- package/src/serializableDomainSchema.ts +121 -0
- package/src/shared-tree/index.ts +0 -1
- package/src/shared-tree/schematizeTree.ts +1 -1
- package/src/shared-tree/sharedTree.ts +31 -41
- package/src/shared-tree/sharedTreeChangeFamily.ts +1 -1
- package/src/shared-tree/treeApiAlpha.ts +12 -4
- package/src/shared-tree/treeCheckout.ts +1 -1
- package/src/shared-tree-core/editManager.ts +85 -47
- package/src/shared-tree-core/resubmitMachine.ts +2 -0
- package/src/shared-tree-core/sharedTreeCore.ts +62 -14
- package/src/simple-tree/api/component.ts +42 -0
- package/src/simple-tree/api/customTree.ts +3 -3
- package/src/simple-tree/api/index.ts +7 -0
- package/src/simple-tree/api/schemaCreationUtilities.ts +1 -1
- package/src/simple-tree/api/schemaFactory.ts +1 -28
- package/src/simple-tree/api/schemaFactoryRecursive.ts +1 -1
- package/src/simple-tree/api/simpleTreeIndex.ts +3 -3
- package/src/simple-tree/api/tree.ts +3 -3
- package/src/simple-tree/api/treeNodeApi.ts +10 -18
- package/src/simple-tree/api/typesUnsafe.ts +193 -18
- package/src/simple-tree/api/verboseTree.ts +8 -4
- package/src/simple-tree/api/view.ts +1 -1
- package/src/simple-tree/arrayNode.ts +2 -2
- package/src/simple-tree/core/getOrCreateNode.ts +2 -1
- package/src/simple-tree/core/schemaCaching.ts +1 -1
- package/src/simple-tree/core/treeNodeKernel.ts +9 -6
- package/src/simple-tree/core/unhydratedFlexTree.ts +7 -5
- package/src/simple-tree/flexList.ts +4 -14
- package/src/simple-tree/index.ts +25 -1
- package/src/simple-tree/objectNode.ts +50 -5
- package/src/simple-tree/proxies.ts +1 -1
- package/src/simple-tree/schemaTypes.ts +322 -23
- package/src/simple-tree/toMapTree.ts +3 -3
- package/src/simple-tree/toStoredSchema.ts +5 -7
- package/src/simple-tree/treeNodeValid.ts +21 -7
- package/src/util/idAllocator.ts +1 -1
- package/src/util/index.ts +3 -2
- package/src/util/nestedMap.ts +9 -33
- package/src/util/utils.ts +52 -12
|
@@ -17,11 +17,22 @@ type ApplyKind<T, Kind extends FieldKind> = {
|
|
|
17
17
|
[FieldKind.Identifier]: T;
|
|
18
18
|
}[Kind];
|
|
19
19
|
|
|
20
|
+
// @public
|
|
21
|
+
export type ApplyKindAssignment<T, Kind extends FieldKind> = [Kind] extends [
|
|
22
|
+
FieldKind.Required
|
|
23
|
+
] ? T : [Kind] extends [FieldKind.Optional] ? T | undefined : never;
|
|
24
|
+
|
|
20
25
|
// @public
|
|
21
26
|
type ApplyKindInput<T, Kind extends FieldKind, DefaultsAreOptional extends boolean> = [
|
|
22
27
|
Kind
|
|
23
28
|
] extends [FieldKind.Required] ? T : [Kind] extends [FieldKind.Optional] ? T | undefined : [Kind] extends [FieldKind.Identifier] ? DefaultsAreOptional extends true ? T | undefined : T : never;
|
|
24
29
|
|
|
30
|
+
// @public
|
|
31
|
+
export type AssignableTreeFieldFromImplicitField<TSchemaInput extends ImplicitFieldSchema, TSchema = SchemaUnionToIntersection<TSchemaInput>> = [TSchema] extends [FieldSchema<infer Kind, infer Types>] ? ApplyKindAssignment<GetTypes<Types>["readWrite"], Kind> : [TSchema] extends [ImplicitAllowedTypes] ? GetTypes<TSchema>["readWrite"] : never;
|
|
32
|
+
|
|
33
|
+
// @public
|
|
34
|
+
export type AssignableTreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforced<ImplicitFieldSchema>> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKindAssignment<GetTypesUnsafe<Types>["readWrite"], Kind> : GetTypesUnsafe<TSchema>["readWrite"];
|
|
35
|
+
|
|
25
36
|
// @public
|
|
26
37
|
export enum CommitKind {
|
|
27
38
|
Default = 0,
|
|
@@ -35,10 +46,40 @@ export interface CommitMetadata {
|
|
|
35
46
|
readonly kind: CommitKind;
|
|
36
47
|
}
|
|
37
48
|
|
|
49
|
+
// @public
|
|
50
|
+
export type CustomizedSchemaTyping<TSchema, TCustom extends CustomTypes> = TSchema & {
|
|
51
|
+
[CustomizedTyping]: TCustom;
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
// @public
|
|
55
|
+
export const CustomizedTyping: unique symbol;
|
|
56
|
+
|
|
57
|
+
// @public
|
|
58
|
+
export type CustomizedTyping = typeof CustomizedTyping;
|
|
59
|
+
|
|
60
|
+
// @public @sealed
|
|
61
|
+
export interface CustomTypes {
|
|
62
|
+
readonly input: unknown;
|
|
63
|
+
readonly output: TreeLeafValue | TreeNode;
|
|
64
|
+
readonly readWrite: TreeLeafValue | TreeNode;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// @public
|
|
68
|
+
export type DefaultInsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes> = [TSchema] extends [TreeNodeSchema] ? InsertableTypedNode<TSchema> : [TSchema] extends [AllowedTypes] ? InsertableTreeNodeFromAllowedTypes<TSchema> : never;
|
|
69
|
+
|
|
70
|
+
// @public
|
|
71
|
+
export type DefaultInsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = [TSchema] extends [TreeNodeSchemaUnsafe] ? InsertableTypedNodeUnsafe<TSchema> : [TSchema] extends [AllowedTypesUnsafe] ? InsertableTreeNodeFromAllowedTypesUnsafe<TSchema> : never;
|
|
72
|
+
|
|
38
73
|
// @public @sealed
|
|
39
74
|
interface DefaultProvider extends ErasedType<"@fluidframework/tree.FieldProvider"> {
|
|
40
75
|
}
|
|
41
76
|
|
|
77
|
+
// @public
|
|
78
|
+
export type DefaultTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
|
|
79
|
+
|
|
80
|
+
// @public
|
|
81
|
+
export type DefaultTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<TSchema> : TSchema extends AllowedTypesUnsafe ? NodeFromSchemaUnsafe<FlexListToUnion<TSchema>> : unknown;
|
|
82
|
+
|
|
42
83
|
// @public
|
|
43
84
|
type ExtractItemType<Item extends LazyItem> = Item extends () => infer Result ? Result : Item;
|
|
44
85
|
|
|
@@ -97,6 +138,16 @@ type FlexList<Item = unknown> = readonly LazyItem<Item>[];
|
|
|
97
138
|
// @public
|
|
98
139
|
type FlexListToUnion<TList extends FlexList> = ExtractItemType<TList[number]>;
|
|
99
140
|
|
|
141
|
+
// @public
|
|
142
|
+
export type GetTypes<TSchema extends ImplicitAllowedTypes> = [TSchema] extends [
|
|
143
|
+
CustomizedSchemaTyping<unknown, infer TCustom>
|
|
144
|
+
] ? TCustom : StrictTypes<TSchema>;
|
|
145
|
+
|
|
146
|
+
// @public
|
|
147
|
+
export type GetTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = [
|
|
148
|
+
TSchema
|
|
149
|
+
] extends [CustomizedSchemaTyping<unknown, infer TCustom>] ? TCustom : StrictTypesUnsafe<TSchema>;
|
|
150
|
+
|
|
100
151
|
// @public
|
|
101
152
|
export type ImplicitAllowedTypes = AllowedTypes | TreeNodeSchema;
|
|
102
153
|
|
|
@@ -124,7 +175,7 @@ export type InsertableObjectFromSchemaRecordUnsafe<T extends Unenforced<Restrict
|
|
|
124
175
|
};
|
|
125
176
|
|
|
126
177
|
// @public
|
|
127
|
-
export type InsertableTreeFieldFromImplicitField<TSchemaInput extends ImplicitFieldSchema, TSchema =
|
|
178
|
+
export type InsertableTreeFieldFromImplicitField<TSchemaInput extends ImplicitFieldSchema, TSchema = [TSchemaInput] extends [CustomizedSchemaTyping<unknown, CustomTypes>] ? TSchemaInput : SchemaUnionToIntersection<TSchemaInput>> = [TSchema] extends [FieldSchema<infer Kind, infer Types>] ? ApplyKindInput<InsertableTreeNodeFromImplicitAllowedTypes<Types>, Kind, true> : [TSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TSchema> : never;
|
|
128
179
|
|
|
129
180
|
// @public
|
|
130
181
|
export type InsertableTreeFieldFromImplicitFieldUnsafe<TSchemaInput extends Unenforced<ImplicitFieldSchema>, TSchema = UnionToIntersection<TSchemaInput>> = [TSchema] extends [FieldSchemaUnsafe<infer Kind, infer Types>] ? ApplyKindInput<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind, true> : [TSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : never;
|
|
@@ -142,12 +193,10 @@ LazyItem<infer TSchema extends TreeNodeSchemaUnsafe>,
|
|
|
142
193
|
] ? InsertableTypedNodeUnsafe<TSchema> | InsertableTreeNodeFromAllowedTypesUnsafe<Rest> : never;
|
|
143
194
|
|
|
144
195
|
// @public
|
|
145
|
-
export type InsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes> = [
|
|
146
|
-
TSchema
|
|
147
|
-
] extends [TreeNodeSchema] ? InsertableTypedNode<TSchema> : [TSchema] extends [AllowedTypes] ? InsertableTreeNodeFromAllowedTypes<TSchema> : never;
|
|
196
|
+
export type InsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes> = GetTypes<TSchema>["input"];
|
|
148
197
|
|
|
149
198
|
// @public
|
|
150
|
-
export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> =
|
|
199
|
+
export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = GetTypesUnsafe<TSchema>["input"];
|
|
151
200
|
|
|
152
201
|
// @public
|
|
153
202
|
export type InsertableTypedNode<TSchema extends TreeNodeSchema, T = UnionToIntersection<TSchema>> = (T extends TreeNodeSchema<string, NodeKind, TreeNode | TreeLeafValue, never, true> ? NodeBuilderData<T> : never) | (T extends TreeNodeSchema ? Unhydrated<TreeNode extends NodeFromSchema<T> ? never : NodeFromSchema<T>> : never);
|
|
@@ -277,12 +326,30 @@ export interface NodeSchemaOptions<out TCustomMetadata = unknown> {
|
|
|
277
326
|
|
|
278
327
|
// @public
|
|
279
328
|
type ObjectFromSchemaRecord<T extends RestrictiveStringRecord<ImplicitFieldSchema>> = {
|
|
280
|
-
-readonly [Property in keyof T
|
|
329
|
+
-readonly [Property in keyof T as [
|
|
330
|
+
AssignableTreeFieldFromImplicitField<T[Property & string]>
|
|
331
|
+
] extends [never | undefined] ? never : Property]: AssignableTreeFieldFromImplicitField<T[Property & string]>;
|
|
332
|
+
} & {
|
|
333
|
+
readonly [Property in keyof T]: TreeFieldFromImplicitField<T[Property & string]>;
|
|
281
334
|
};
|
|
282
335
|
|
|
283
336
|
// @public
|
|
284
337
|
type ObjectFromSchemaRecordUnsafe<T extends Unenforced<RestrictiveStringRecord<ImplicitFieldSchema>>> = {
|
|
285
|
-
-readonly [Property in keyof T
|
|
338
|
+
-readonly [Property in keyof T as [T[Property]] extends [
|
|
339
|
+
CustomizedSchemaTyping<unknown, {
|
|
340
|
+
readonly readWrite: never;
|
|
341
|
+
readonly input: unknown;
|
|
342
|
+
readonly output: TreeNode | TreeLeafValue;
|
|
343
|
+
}>
|
|
344
|
+
] ? never : Property]: AssignableTreeFieldFromImplicitFieldUnsafe<T[Property]>;
|
|
345
|
+
} & {
|
|
346
|
+
readonly [Property in keyof T as [T[Property]] extends [
|
|
347
|
+
CustomizedSchemaTyping<unknown, {
|
|
348
|
+
readonly readWrite: never;
|
|
349
|
+
readonly input: unknown;
|
|
350
|
+
readonly output: TreeNode | TreeLeafValue;
|
|
351
|
+
}>
|
|
352
|
+
] ? Property : never]: TreeFieldFromImplicitFieldUnsafe<T[Property]>;
|
|
286
353
|
};
|
|
287
354
|
|
|
288
355
|
// @public @deprecated
|
|
@@ -424,6 +491,11 @@ export const schemaStatics: {
|
|
|
424
491
|
readonly requiredRecursive: <const T_3 extends unknown>(t: T_3, props?: Omit<FieldProps, "defaultProvider">) => FieldSchemaUnsafe<FieldKind.Required, T_3>;
|
|
425
492
|
};
|
|
426
493
|
|
|
494
|
+
// @public
|
|
495
|
+
export type SchemaUnionToIntersection<T> = [T] extends [
|
|
496
|
+
CustomizedSchemaTyping<unknown, CustomTypes>
|
|
497
|
+
] ? T : UnionToIntersection<T>;
|
|
498
|
+
|
|
427
499
|
// @public
|
|
428
500
|
type ScopedSchemaName<TScope extends string | undefined, TName extends number | string> = TScope extends undefined ? `${TName}` : `${TScope}.${TName}`;
|
|
429
501
|
|
|
@@ -436,6 +508,26 @@ export const SharedTreeAttributes: IChannelAttributes;
|
|
|
436
508
|
// @alpha
|
|
437
509
|
export const SharedTreeFactoryType = "https://graph.microsoft.com/types/tree";
|
|
438
510
|
|
|
511
|
+
// @public @sealed
|
|
512
|
+
export interface StrictTypes<TSchema extends ImplicitAllowedTypes, TInput = DefaultInsertableTreeNodeFromImplicitAllowedTypes<TSchema>, TOutput extends TreeNode | TreeLeafValue = DefaultTreeNodeFromImplicitAllowedTypes<TSchema>> {
|
|
513
|
+
// (undocumented)
|
|
514
|
+
input: TInput;
|
|
515
|
+
// (undocumented)
|
|
516
|
+
output: TOutput;
|
|
517
|
+
// (undocumented)
|
|
518
|
+
readWrite: TInput extends never ? never : TOutput;
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
// @public
|
|
522
|
+
export interface StrictTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>, TInput = DefaultInsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema>, TOutput = DefaultTreeNodeFromImplicitAllowedTypesUnsafe<TSchema>> {
|
|
523
|
+
// (undocumented)
|
|
524
|
+
input: TInput;
|
|
525
|
+
// (undocumented)
|
|
526
|
+
output: TOutput;
|
|
527
|
+
// (undocumented)
|
|
528
|
+
readWrite: TOutput;
|
|
529
|
+
}
|
|
530
|
+
|
|
439
531
|
// @public
|
|
440
532
|
export type TransactionConstraint = NodeInDocumentConstraint;
|
|
441
533
|
|
|
@@ -532,10 +624,10 @@ export interface TreeNodeApi {
|
|
|
532
624
|
}
|
|
533
625
|
|
|
534
626
|
// @public
|
|
535
|
-
export type TreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> =
|
|
627
|
+
export type TreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = GetTypes<TSchema>["output"];
|
|
536
628
|
|
|
537
629
|
// @public
|
|
538
|
-
type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> =
|
|
630
|
+
type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = GetTypesUnsafe<TSchema>["output"];
|
|
539
631
|
|
|
540
632
|
// @public @sealed
|
|
541
633
|
export type TreeNodeSchema<Name extends string = string, Kind extends NodeKind = NodeKind, TNode extends TreeNode | TreeLeafValue = TreeNode | TreeLeafValue, TBuild = never, ImplicitlyConstructable extends boolean = boolean, Info = unknown, TCustomMetadata = unknown> = (TNode extends TreeNode ? TreeNodeSchemaClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info, never, TCustomMetadata> : never) | TreeNodeSchemaNonClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info, never, TCustomMetadata>;
|
|
@@ -17,11 +17,22 @@ type ApplyKind<T, Kind extends FieldKind> = {
|
|
|
17
17
|
[FieldKind.Identifier]: T;
|
|
18
18
|
}[Kind];
|
|
19
19
|
|
|
20
|
+
// @public
|
|
21
|
+
export type ApplyKindAssignment<T, Kind extends FieldKind> = [Kind] extends [
|
|
22
|
+
FieldKind.Required
|
|
23
|
+
] ? T : [Kind] extends [FieldKind.Optional] ? T | undefined : never;
|
|
24
|
+
|
|
20
25
|
// @public
|
|
21
26
|
type ApplyKindInput<T, Kind extends FieldKind, DefaultsAreOptional extends boolean> = [
|
|
22
27
|
Kind
|
|
23
28
|
] extends [FieldKind.Required] ? T : [Kind] extends [FieldKind.Optional] ? T | undefined : [Kind] extends [FieldKind.Identifier] ? DefaultsAreOptional extends true ? T | undefined : T : never;
|
|
24
29
|
|
|
30
|
+
// @public
|
|
31
|
+
export type AssignableTreeFieldFromImplicitField<TSchemaInput extends ImplicitFieldSchema, TSchema = SchemaUnionToIntersection<TSchemaInput>> = [TSchema] extends [FieldSchema<infer Kind, infer Types>] ? ApplyKindAssignment<GetTypes<Types>["readWrite"], Kind> : [TSchema] extends [ImplicitAllowedTypes] ? GetTypes<TSchema>["readWrite"] : never;
|
|
32
|
+
|
|
33
|
+
// @public
|
|
34
|
+
export type AssignableTreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforced<ImplicitFieldSchema>> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKindAssignment<GetTypesUnsafe<Types>["readWrite"], Kind> : GetTypesUnsafe<TSchema>["readWrite"];
|
|
35
|
+
|
|
25
36
|
// @public
|
|
26
37
|
export enum CommitKind {
|
|
27
38
|
Default = 0,
|
|
@@ -35,10 +46,40 @@ export interface CommitMetadata {
|
|
|
35
46
|
readonly kind: CommitKind;
|
|
36
47
|
}
|
|
37
48
|
|
|
49
|
+
// @public
|
|
50
|
+
export type CustomizedSchemaTyping<TSchema, TCustom extends CustomTypes> = TSchema & {
|
|
51
|
+
[CustomizedTyping]: TCustom;
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
// @public
|
|
55
|
+
export const CustomizedTyping: unique symbol;
|
|
56
|
+
|
|
57
|
+
// @public
|
|
58
|
+
export type CustomizedTyping = typeof CustomizedTyping;
|
|
59
|
+
|
|
60
|
+
// @public @sealed
|
|
61
|
+
export interface CustomTypes {
|
|
62
|
+
readonly input: unknown;
|
|
63
|
+
readonly output: TreeLeafValue | TreeNode;
|
|
64
|
+
readonly readWrite: TreeLeafValue | TreeNode;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// @public
|
|
68
|
+
export type DefaultInsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes> = [TSchema] extends [TreeNodeSchema] ? InsertableTypedNode<TSchema> : [TSchema] extends [AllowedTypes] ? InsertableTreeNodeFromAllowedTypes<TSchema> : never;
|
|
69
|
+
|
|
70
|
+
// @public
|
|
71
|
+
export type DefaultInsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = [TSchema] extends [TreeNodeSchemaUnsafe] ? InsertableTypedNodeUnsafe<TSchema> : [TSchema] extends [AllowedTypesUnsafe] ? InsertableTreeNodeFromAllowedTypesUnsafe<TSchema> : never;
|
|
72
|
+
|
|
38
73
|
// @public @sealed
|
|
39
74
|
interface DefaultProvider extends ErasedType<"@fluidframework/tree.FieldProvider"> {
|
|
40
75
|
}
|
|
41
76
|
|
|
77
|
+
// @public
|
|
78
|
+
export type DefaultTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
|
|
79
|
+
|
|
80
|
+
// @public
|
|
81
|
+
export type DefaultTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<TSchema> : TSchema extends AllowedTypesUnsafe ? NodeFromSchemaUnsafe<FlexListToUnion<TSchema>> : unknown;
|
|
82
|
+
|
|
42
83
|
// @public
|
|
43
84
|
type ExtractItemType<Item extends LazyItem> = Item extends () => infer Result ? Result : Item;
|
|
44
85
|
|
|
@@ -97,6 +138,16 @@ type FlexList<Item = unknown> = readonly LazyItem<Item>[];
|
|
|
97
138
|
// @public
|
|
98
139
|
type FlexListToUnion<TList extends FlexList> = ExtractItemType<TList[number]>;
|
|
99
140
|
|
|
141
|
+
// @public
|
|
142
|
+
export type GetTypes<TSchema extends ImplicitAllowedTypes> = [TSchema] extends [
|
|
143
|
+
CustomizedSchemaTyping<unknown, infer TCustom>
|
|
144
|
+
] ? TCustom : StrictTypes<TSchema>;
|
|
145
|
+
|
|
146
|
+
// @public
|
|
147
|
+
export type GetTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = [
|
|
148
|
+
TSchema
|
|
149
|
+
] extends [CustomizedSchemaTyping<unknown, infer TCustom>] ? TCustom : StrictTypesUnsafe<TSchema>;
|
|
150
|
+
|
|
100
151
|
// @public
|
|
101
152
|
export type ImplicitAllowedTypes = AllowedTypes | TreeNodeSchema;
|
|
102
153
|
|
|
@@ -124,7 +175,7 @@ export type InsertableObjectFromSchemaRecordUnsafe<T extends Unenforced<Restrict
|
|
|
124
175
|
};
|
|
125
176
|
|
|
126
177
|
// @public
|
|
127
|
-
export type InsertableTreeFieldFromImplicitField<TSchemaInput extends ImplicitFieldSchema, TSchema =
|
|
178
|
+
export type InsertableTreeFieldFromImplicitField<TSchemaInput extends ImplicitFieldSchema, TSchema = [TSchemaInput] extends [CustomizedSchemaTyping<unknown, CustomTypes>] ? TSchemaInput : SchemaUnionToIntersection<TSchemaInput>> = [TSchema] extends [FieldSchema<infer Kind, infer Types>] ? ApplyKindInput<InsertableTreeNodeFromImplicitAllowedTypes<Types>, Kind, true> : [TSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TSchema> : never;
|
|
128
179
|
|
|
129
180
|
// @public
|
|
130
181
|
export type InsertableTreeFieldFromImplicitFieldUnsafe<TSchemaInput extends Unenforced<ImplicitFieldSchema>, TSchema = UnionToIntersection<TSchemaInput>> = [TSchema] extends [FieldSchemaUnsafe<infer Kind, infer Types>] ? ApplyKindInput<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind, true> : [TSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : never;
|
|
@@ -142,12 +193,10 @@ LazyItem<infer TSchema extends TreeNodeSchemaUnsafe>,
|
|
|
142
193
|
] ? InsertableTypedNodeUnsafe<TSchema> | InsertableTreeNodeFromAllowedTypesUnsafe<Rest> : never;
|
|
143
194
|
|
|
144
195
|
// @public
|
|
145
|
-
export type InsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes> = [
|
|
146
|
-
TSchema
|
|
147
|
-
] extends [TreeNodeSchema] ? InsertableTypedNode<TSchema> : [TSchema] extends [AllowedTypes] ? InsertableTreeNodeFromAllowedTypes<TSchema> : never;
|
|
196
|
+
export type InsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes> = GetTypes<TSchema>["input"];
|
|
148
197
|
|
|
149
198
|
// @public
|
|
150
|
-
export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> =
|
|
199
|
+
export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = GetTypesUnsafe<TSchema>["input"];
|
|
151
200
|
|
|
152
201
|
// @public
|
|
153
202
|
export type InsertableTypedNode<TSchema extends TreeNodeSchema, T = UnionToIntersection<TSchema>> = (T extends TreeNodeSchema<string, NodeKind, TreeNode | TreeLeafValue, never, true> ? NodeBuilderData<T> : never) | (T extends TreeNodeSchema ? Unhydrated<TreeNode extends NodeFromSchema<T> ? never : NodeFromSchema<T>> : never);
|
|
@@ -277,12 +326,30 @@ export interface NodeSchemaOptions<out TCustomMetadata = unknown> {
|
|
|
277
326
|
|
|
278
327
|
// @public
|
|
279
328
|
type ObjectFromSchemaRecord<T extends RestrictiveStringRecord<ImplicitFieldSchema>> = {
|
|
280
|
-
-readonly [Property in keyof T
|
|
329
|
+
-readonly [Property in keyof T as [
|
|
330
|
+
AssignableTreeFieldFromImplicitField<T[Property & string]>
|
|
331
|
+
] extends [never | undefined] ? never : Property]: AssignableTreeFieldFromImplicitField<T[Property & string]>;
|
|
332
|
+
} & {
|
|
333
|
+
readonly [Property in keyof T]: TreeFieldFromImplicitField<T[Property & string]>;
|
|
281
334
|
};
|
|
282
335
|
|
|
283
336
|
// @public
|
|
284
337
|
type ObjectFromSchemaRecordUnsafe<T extends Unenforced<RestrictiveStringRecord<ImplicitFieldSchema>>> = {
|
|
285
|
-
-readonly [Property in keyof T
|
|
338
|
+
-readonly [Property in keyof T as [T[Property]] extends [
|
|
339
|
+
CustomizedSchemaTyping<unknown, {
|
|
340
|
+
readonly readWrite: never;
|
|
341
|
+
readonly input: unknown;
|
|
342
|
+
readonly output: TreeNode | TreeLeafValue;
|
|
343
|
+
}>
|
|
344
|
+
] ? never : Property]: AssignableTreeFieldFromImplicitFieldUnsafe<T[Property]>;
|
|
345
|
+
} & {
|
|
346
|
+
readonly [Property in keyof T as [T[Property]] extends [
|
|
347
|
+
CustomizedSchemaTyping<unknown, {
|
|
348
|
+
readonly readWrite: never;
|
|
349
|
+
readonly input: unknown;
|
|
350
|
+
readonly output: TreeNode | TreeLeafValue;
|
|
351
|
+
}>
|
|
352
|
+
] ? Property : never]: TreeFieldFromImplicitFieldUnsafe<T[Property]>;
|
|
286
353
|
};
|
|
287
354
|
|
|
288
355
|
// @public @deprecated
|
|
@@ -424,9 +491,34 @@ export const schemaStatics: {
|
|
|
424
491
|
readonly requiredRecursive: <const T_3 extends unknown>(t: T_3, props?: Omit<FieldProps, "defaultProvider">) => FieldSchemaUnsafe<FieldKind.Required, T_3>;
|
|
425
492
|
};
|
|
426
493
|
|
|
494
|
+
// @public
|
|
495
|
+
export type SchemaUnionToIntersection<T> = [T] extends [
|
|
496
|
+
CustomizedSchemaTyping<unknown, CustomTypes>
|
|
497
|
+
] ? T : UnionToIntersection<T>;
|
|
498
|
+
|
|
427
499
|
// @public
|
|
428
500
|
type ScopedSchemaName<TScope extends string | undefined, TName extends number | string> = TScope extends undefined ? `${TName}` : `${TScope}.${TName}`;
|
|
429
501
|
|
|
502
|
+
// @public @sealed
|
|
503
|
+
export interface StrictTypes<TSchema extends ImplicitAllowedTypes, TInput = DefaultInsertableTreeNodeFromImplicitAllowedTypes<TSchema>, TOutput extends TreeNode | TreeLeafValue = DefaultTreeNodeFromImplicitAllowedTypes<TSchema>> {
|
|
504
|
+
// (undocumented)
|
|
505
|
+
input: TInput;
|
|
506
|
+
// (undocumented)
|
|
507
|
+
output: TOutput;
|
|
508
|
+
// (undocumented)
|
|
509
|
+
readWrite: TInput extends never ? never : TOutput;
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
// @public
|
|
513
|
+
export interface StrictTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>, TInput = DefaultInsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema>, TOutput = DefaultTreeNodeFromImplicitAllowedTypesUnsafe<TSchema>> {
|
|
514
|
+
// (undocumented)
|
|
515
|
+
input: TInput;
|
|
516
|
+
// (undocumented)
|
|
517
|
+
output: TOutput;
|
|
518
|
+
// (undocumented)
|
|
519
|
+
readWrite: TOutput;
|
|
520
|
+
}
|
|
521
|
+
|
|
430
522
|
// @public
|
|
431
523
|
export type TransactionConstraint = NodeInDocumentConstraint;
|
|
432
524
|
|
|
@@ -523,10 +615,10 @@ export interface TreeNodeApi {
|
|
|
523
615
|
}
|
|
524
616
|
|
|
525
617
|
// @public
|
|
526
|
-
export type TreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> =
|
|
618
|
+
export type TreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = GetTypes<TSchema>["output"];
|
|
527
619
|
|
|
528
620
|
// @public
|
|
529
|
-
type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> =
|
|
621
|
+
type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = GetTypesUnsafe<TSchema>["output"];
|
|
530
622
|
|
|
531
623
|
// @public @sealed
|
|
532
624
|
export type TreeNodeSchema<Name extends string = string, Kind extends NodeKind = NodeKind, TNode extends TreeNode | TreeLeafValue = TreeNode | TreeLeafValue, TBuild = never, ImplicitlyConstructable extends boolean = boolean, Info = unknown, TCustomMetadata = unknown> = (TNode extends TreeNode ? TreeNodeSchemaClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info, never, TCustomMetadata> : never) | TreeNodeSchemaNonClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info, never, TCustomMetadata>;
|
|
@@ -17,11 +17,22 @@ type ApplyKind<T, Kind extends FieldKind> = {
|
|
|
17
17
|
[FieldKind.Identifier]: T;
|
|
18
18
|
}[Kind];
|
|
19
19
|
|
|
20
|
+
// @public
|
|
21
|
+
export type ApplyKindAssignment<T, Kind extends FieldKind> = [Kind] extends [
|
|
22
|
+
FieldKind.Required
|
|
23
|
+
] ? T : [Kind] extends [FieldKind.Optional] ? T | undefined : never;
|
|
24
|
+
|
|
20
25
|
// @public
|
|
21
26
|
type ApplyKindInput<T, Kind extends FieldKind, DefaultsAreOptional extends boolean> = [
|
|
22
27
|
Kind
|
|
23
28
|
] extends [FieldKind.Required] ? T : [Kind] extends [FieldKind.Optional] ? T | undefined : [Kind] extends [FieldKind.Identifier] ? DefaultsAreOptional extends true ? T | undefined : T : never;
|
|
24
29
|
|
|
30
|
+
// @public
|
|
31
|
+
export type AssignableTreeFieldFromImplicitField<TSchemaInput extends ImplicitFieldSchema, TSchema = SchemaUnionToIntersection<TSchemaInput>> = [TSchema] extends [FieldSchema<infer Kind, infer Types>] ? ApplyKindAssignment<GetTypes<Types>["readWrite"], Kind> : [TSchema] extends [ImplicitAllowedTypes] ? GetTypes<TSchema>["readWrite"] : never;
|
|
32
|
+
|
|
33
|
+
// @public
|
|
34
|
+
export type AssignableTreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforced<ImplicitFieldSchema>> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKindAssignment<GetTypesUnsafe<Types>["readWrite"], Kind> : GetTypesUnsafe<TSchema>["readWrite"];
|
|
35
|
+
|
|
25
36
|
// @public
|
|
26
37
|
export enum CommitKind {
|
|
27
38
|
Default = 0,
|
|
@@ -35,10 +46,40 @@ export interface CommitMetadata {
|
|
|
35
46
|
readonly kind: CommitKind;
|
|
36
47
|
}
|
|
37
48
|
|
|
49
|
+
// @public
|
|
50
|
+
export type CustomizedSchemaTyping<TSchema, TCustom extends CustomTypes> = TSchema & {
|
|
51
|
+
[CustomizedTyping]: TCustom;
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
// @public
|
|
55
|
+
export const CustomizedTyping: unique symbol;
|
|
56
|
+
|
|
57
|
+
// @public
|
|
58
|
+
export type CustomizedTyping = typeof CustomizedTyping;
|
|
59
|
+
|
|
60
|
+
// @public @sealed
|
|
61
|
+
export interface CustomTypes {
|
|
62
|
+
readonly input: unknown;
|
|
63
|
+
readonly output: TreeLeafValue | TreeNode;
|
|
64
|
+
readonly readWrite: TreeLeafValue | TreeNode;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// @public
|
|
68
|
+
export type DefaultInsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes> = [TSchema] extends [TreeNodeSchema] ? InsertableTypedNode<TSchema> : [TSchema] extends [AllowedTypes] ? InsertableTreeNodeFromAllowedTypes<TSchema> : never;
|
|
69
|
+
|
|
70
|
+
// @public
|
|
71
|
+
export type DefaultInsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = [TSchema] extends [TreeNodeSchemaUnsafe] ? InsertableTypedNodeUnsafe<TSchema> : [TSchema] extends [AllowedTypesUnsafe] ? InsertableTreeNodeFromAllowedTypesUnsafe<TSchema> : never;
|
|
72
|
+
|
|
38
73
|
// @public @sealed
|
|
39
74
|
interface DefaultProvider extends ErasedType<"@fluidframework/tree.FieldProvider"> {
|
|
40
75
|
}
|
|
41
76
|
|
|
77
|
+
// @public
|
|
78
|
+
export type DefaultTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
|
|
79
|
+
|
|
80
|
+
// @public
|
|
81
|
+
export type DefaultTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<TSchema> : TSchema extends AllowedTypesUnsafe ? NodeFromSchemaUnsafe<FlexListToUnion<TSchema>> : unknown;
|
|
82
|
+
|
|
42
83
|
// @public
|
|
43
84
|
type ExtractItemType<Item extends LazyItem> = Item extends () => infer Result ? Result : Item;
|
|
44
85
|
|
|
@@ -97,6 +138,16 @@ type FlexList<Item = unknown> = readonly LazyItem<Item>[];
|
|
|
97
138
|
// @public
|
|
98
139
|
type FlexListToUnion<TList extends FlexList> = ExtractItemType<TList[number]>;
|
|
99
140
|
|
|
141
|
+
// @public
|
|
142
|
+
export type GetTypes<TSchema extends ImplicitAllowedTypes> = [TSchema] extends [
|
|
143
|
+
CustomizedSchemaTyping<unknown, infer TCustom>
|
|
144
|
+
] ? TCustom : StrictTypes<TSchema>;
|
|
145
|
+
|
|
146
|
+
// @public
|
|
147
|
+
export type GetTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = [
|
|
148
|
+
TSchema
|
|
149
|
+
] extends [CustomizedSchemaTyping<unknown, infer TCustom>] ? TCustom : StrictTypesUnsafe<TSchema>;
|
|
150
|
+
|
|
100
151
|
// @public
|
|
101
152
|
export type ImplicitAllowedTypes = AllowedTypes | TreeNodeSchema;
|
|
102
153
|
|
|
@@ -124,7 +175,7 @@ export type InsertableObjectFromSchemaRecordUnsafe<T extends Unenforced<Restrict
|
|
|
124
175
|
};
|
|
125
176
|
|
|
126
177
|
// @public
|
|
127
|
-
export type InsertableTreeFieldFromImplicitField<TSchemaInput extends ImplicitFieldSchema, TSchema =
|
|
178
|
+
export type InsertableTreeFieldFromImplicitField<TSchemaInput extends ImplicitFieldSchema, TSchema = [TSchemaInput] extends [CustomizedSchemaTyping<unknown, CustomTypes>] ? TSchemaInput : SchemaUnionToIntersection<TSchemaInput>> = [TSchema] extends [FieldSchema<infer Kind, infer Types>] ? ApplyKindInput<InsertableTreeNodeFromImplicitAllowedTypes<Types>, Kind, true> : [TSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TSchema> : never;
|
|
128
179
|
|
|
129
180
|
// @public
|
|
130
181
|
export type InsertableTreeFieldFromImplicitFieldUnsafe<TSchemaInput extends Unenforced<ImplicitFieldSchema>, TSchema = UnionToIntersection<TSchemaInput>> = [TSchema] extends [FieldSchemaUnsafe<infer Kind, infer Types>] ? ApplyKindInput<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind, true> : [TSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : never;
|
|
@@ -142,12 +193,10 @@ LazyItem<infer TSchema extends TreeNodeSchemaUnsafe>,
|
|
|
142
193
|
] ? InsertableTypedNodeUnsafe<TSchema> | InsertableTreeNodeFromAllowedTypesUnsafe<Rest> : never;
|
|
143
194
|
|
|
144
195
|
// @public
|
|
145
|
-
export type InsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes> = [
|
|
146
|
-
TSchema
|
|
147
|
-
] extends [TreeNodeSchema] ? InsertableTypedNode<TSchema> : [TSchema] extends [AllowedTypes] ? InsertableTreeNodeFromAllowedTypes<TSchema> : never;
|
|
196
|
+
export type InsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes> = GetTypes<TSchema>["input"];
|
|
148
197
|
|
|
149
198
|
// @public
|
|
150
|
-
export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> =
|
|
199
|
+
export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = GetTypesUnsafe<TSchema>["input"];
|
|
151
200
|
|
|
152
201
|
// @public
|
|
153
202
|
export type InsertableTypedNode<TSchema extends TreeNodeSchema, T = UnionToIntersection<TSchema>> = (T extends TreeNodeSchema<string, NodeKind, TreeNode | TreeLeafValue, never, true> ? NodeBuilderData<T> : never) | (T extends TreeNodeSchema ? Unhydrated<TreeNode extends NodeFromSchema<T> ? never : NodeFromSchema<T>> : never);
|
|
@@ -277,12 +326,30 @@ export interface NodeSchemaOptions<out TCustomMetadata = unknown> {
|
|
|
277
326
|
|
|
278
327
|
// @public
|
|
279
328
|
type ObjectFromSchemaRecord<T extends RestrictiveStringRecord<ImplicitFieldSchema>> = {
|
|
280
|
-
-readonly [Property in keyof T
|
|
329
|
+
-readonly [Property in keyof T as [
|
|
330
|
+
AssignableTreeFieldFromImplicitField<T[Property & string]>
|
|
331
|
+
] extends [never | undefined] ? never : Property]: AssignableTreeFieldFromImplicitField<T[Property & string]>;
|
|
332
|
+
} & {
|
|
333
|
+
readonly [Property in keyof T]: TreeFieldFromImplicitField<T[Property & string]>;
|
|
281
334
|
};
|
|
282
335
|
|
|
283
336
|
// @public
|
|
284
337
|
type ObjectFromSchemaRecordUnsafe<T extends Unenforced<RestrictiveStringRecord<ImplicitFieldSchema>>> = {
|
|
285
|
-
-readonly [Property in keyof T
|
|
338
|
+
-readonly [Property in keyof T as [T[Property]] extends [
|
|
339
|
+
CustomizedSchemaTyping<unknown, {
|
|
340
|
+
readonly readWrite: never;
|
|
341
|
+
readonly input: unknown;
|
|
342
|
+
readonly output: TreeNode | TreeLeafValue;
|
|
343
|
+
}>
|
|
344
|
+
] ? never : Property]: AssignableTreeFieldFromImplicitFieldUnsafe<T[Property]>;
|
|
345
|
+
} & {
|
|
346
|
+
readonly [Property in keyof T as [T[Property]] extends [
|
|
347
|
+
CustomizedSchemaTyping<unknown, {
|
|
348
|
+
readonly readWrite: never;
|
|
349
|
+
readonly input: unknown;
|
|
350
|
+
readonly output: TreeNode | TreeLeafValue;
|
|
351
|
+
}>
|
|
352
|
+
] ? Property : never]: TreeFieldFromImplicitFieldUnsafe<T[Property]>;
|
|
286
353
|
};
|
|
287
354
|
|
|
288
355
|
// @public @deprecated
|
|
@@ -424,9 +491,34 @@ export const schemaStatics: {
|
|
|
424
491
|
readonly requiredRecursive: <const T_3 extends unknown>(t: T_3, props?: Omit<FieldProps, "defaultProvider">) => FieldSchemaUnsafe<FieldKind.Required, T_3>;
|
|
425
492
|
};
|
|
426
493
|
|
|
494
|
+
// @public
|
|
495
|
+
export type SchemaUnionToIntersection<T> = [T] extends [
|
|
496
|
+
CustomizedSchemaTyping<unknown, CustomTypes>
|
|
497
|
+
] ? T : UnionToIntersection<T>;
|
|
498
|
+
|
|
427
499
|
// @public
|
|
428
500
|
type ScopedSchemaName<TScope extends string | undefined, TName extends number | string> = TScope extends undefined ? `${TName}` : `${TScope}.${TName}`;
|
|
429
501
|
|
|
502
|
+
// @public @sealed
|
|
503
|
+
export interface StrictTypes<TSchema extends ImplicitAllowedTypes, TInput = DefaultInsertableTreeNodeFromImplicitAllowedTypes<TSchema>, TOutput extends TreeNode | TreeLeafValue = DefaultTreeNodeFromImplicitAllowedTypes<TSchema>> {
|
|
504
|
+
// (undocumented)
|
|
505
|
+
input: TInput;
|
|
506
|
+
// (undocumented)
|
|
507
|
+
output: TOutput;
|
|
508
|
+
// (undocumented)
|
|
509
|
+
readWrite: TInput extends never ? never : TOutput;
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
// @public
|
|
513
|
+
export interface StrictTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>, TInput = DefaultInsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema>, TOutput = DefaultTreeNodeFromImplicitAllowedTypesUnsafe<TSchema>> {
|
|
514
|
+
// (undocumented)
|
|
515
|
+
input: TInput;
|
|
516
|
+
// (undocumented)
|
|
517
|
+
output: TOutput;
|
|
518
|
+
// (undocumented)
|
|
519
|
+
readWrite: TOutput;
|
|
520
|
+
}
|
|
521
|
+
|
|
430
522
|
// @public
|
|
431
523
|
export type TransactionConstraint = NodeInDocumentConstraint;
|
|
432
524
|
|
|
@@ -523,10 +615,10 @@ export interface TreeNodeApi {
|
|
|
523
615
|
}
|
|
524
616
|
|
|
525
617
|
// @public
|
|
526
|
-
export type TreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> =
|
|
618
|
+
export type TreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = GetTypes<TSchema>["output"];
|
|
527
619
|
|
|
528
620
|
// @public
|
|
529
|
-
type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> =
|
|
621
|
+
type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = GetTypesUnsafe<TSchema>["output"];
|
|
530
622
|
|
|
531
623
|
// @public @sealed
|
|
532
624
|
export type TreeNodeSchema<Name extends string = string, Kind extends NodeKind = NodeKind, TNode extends TreeNode | TreeLeafValue = TreeNode | TreeLeafValue, TBuild = never, ImplicitlyConstructable extends boolean = boolean, Info = unknown, TCustomMetadata = unknown> = (TNode extends TreeNode ? TreeNodeSchemaClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info, never, TCustomMetadata> : never) | TreeNodeSchemaNonClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info, never, TCustomMetadata>;
|
package/dist/alpha.d.ts
CHANGED
|
@@ -14,13 +14,25 @@ export {
|
|
|
14
14
|
|
|
15
15
|
// @public APIs
|
|
16
16
|
AllowedTypes,
|
|
17
|
+
ApplyKindAssignment,
|
|
18
|
+
AssignableTreeFieldFromImplicitField,
|
|
19
|
+
AssignableTreeFieldFromImplicitFieldUnsafe,
|
|
17
20
|
CommitKind,
|
|
18
21
|
CommitMetadata,
|
|
22
|
+
CustomTypes,
|
|
23
|
+
CustomizedSchemaTyping,
|
|
24
|
+
CustomizedTyping,
|
|
25
|
+
DefaultInsertableTreeNodeFromImplicitAllowedTypes,
|
|
26
|
+
DefaultInsertableTreeNodeFromImplicitAllowedTypesUnsafe,
|
|
27
|
+
DefaultTreeNodeFromImplicitAllowedTypes,
|
|
28
|
+
DefaultTreeNodeFromImplicitAllowedTypesUnsafe,
|
|
19
29
|
FieldKind,
|
|
20
30
|
FieldProps,
|
|
21
31
|
FieldSchema,
|
|
22
32
|
FieldSchemaMetadata,
|
|
23
33
|
FieldSchemaUnsafe,
|
|
34
|
+
GetTypes,
|
|
35
|
+
GetTypesUnsafe,
|
|
24
36
|
ITree,
|
|
25
37
|
ITreeConfigurationOptions,
|
|
26
38
|
ITreeViewConfiguration,
|
|
@@ -58,6 +70,9 @@ export {
|
|
|
58
70
|
RunTransaction,
|
|
59
71
|
SchemaCompatibilityStatus,
|
|
60
72
|
SchemaFactory,
|
|
73
|
+
SchemaUnionToIntersection,
|
|
74
|
+
StrictTypes,
|
|
75
|
+
StrictTypesUnsafe,
|
|
61
76
|
TransactionConstraint,
|
|
62
77
|
Tree,
|
|
63
78
|
TreeArrayNode,
|
|
@@ -98,7 +113,9 @@ export {
|
|
|
98
113
|
|
|
99
114
|
// @alpha APIs
|
|
100
115
|
BranchableTree,
|
|
116
|
+
Component,
|
|
101
117
|
ConciseTree,
|
|
118
|
+
Customizer,
|
|
102
119
|
EncodeOptions,
|
|
103
120
|
FactoryContent,
|
|
104
121
|
FactoryContentObject,
|
|
@@ -116,6 +133,7 @@ export {
|
|
|
116
133
|
InsertableField,
|
|
117
134
|
IsUnion,
|
|
118
135
|
JsonArrayNodeSchema,
|
|
136
|
+
JsonAsTree,
|
|
119
137
|
JsonCompatible,
|
|
120
138
|
JsonCompatibleObject,
|
|
121
139
|
JsonFieldSchema,
|
|
@@ -170,7 +188,9 @@ export {
|
|
|
170
188
|
comparePersistedSchema,
|
|
171
189
|
createIdentifierIndex,
|
|
172
190
|
createSimpleTreeIndex,
|
|
191
|
+
customizeSchemaTyping,
|
|
173
192
|
enumFromStrings,
|
|
193
|
+
evaluateLazySchema,
|
|
174
194
|
extractPersistedSchema,
|
|
175
195
|
getBranch,
|
|
176
196
|
getJsonSchema,
|
package/dist/beta.d.ts
CHANGED
|
@@ -14,13 +14,25 @@ export {
|
|
|
14
14
|
|
|
15
15
|
// @public APIs
|
|
16
16
|
AllowedTypes,
|
|
17
|
+
ApplyKindAssignment,
|
|
18
|
+
AssignableTreeFieldFromImplicitField,
|
|
19
|
+
AssignableTreeFieldFromImplicitFieldUnsafe,
|
|
17
20
|
CommitKind,
|
|
18
21
|
CommitMetadata,
|
|
22
|
+
CustomTypes,
|
|
23
|
+
CustomizedSchemaTyping,
|
|
24
|
+
CustomizedTyping,
|
|
25
|
+
DefaultInsertableTreeNodeFromImplicitAllowedTypes,
|
|
26
|
+
DefaultInsertableTreeNodeFromImplicitAllowedTypesUnsafe,
|
|
27
|
+
DefaultTreeNodeFromImplicitAllowedTypes,
|
|
28
|
+
DefaultTreeNodeFromImplicitAllowedTypesUnsafe,
|
|
19
29
|
FieldKind,
|
|
20
30
|
FieldProps,
|
|
21
31
|
FieldSchema,
|
|
22
32
|
FieldSchemaMetadata,
|
|
23
33
|
FieldSchemaUnsafe,
|
|
34
|
+
GetTypes,
|
|
35
|
+
GetTypesUnsafe,
|
|
24
36
|
ITree,
|
|
25
37
|
ITreeConfigurationOptions,
|
|
26
38
|
ITreeViewConfiguration,
|
|
@@ -58,6 +70,9 @@ export {
|
|
|
58
70
|
RunTransaction,
|
|
59
71
|
SchemaCompatibilityStatus,
|
|
60
72
|
SchemaFactory,
|
|
73
|
+
SchemaUnionToIntersection,
|
|
74
|
+
StrictTypes,
|
|
75
|
+
StrictTypesUnsafe,
|
|
61
76
|
TransactionConstraint,
|
|
62
77
|
Tree,
|
|
63
78
|
TreeArrayNode,
|