@fluidframework/tree 2.33.1 → 2.40.0-336023
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/settings.json +2 -0
- package/api-report/tree.alpha.api.md +120 -50
- package/api-report/tree.beta.api.md +31 -27
- package/api-report/tree.legacy.alpha.api.md +24 -23
- package/api-report/tree.legacy.public.api.md +24 -23
- package/api-report/tree.public.api.md +24 -23
- package/dist/alpha.d.ts +16 -1
- package/dist/beta.d.ts +2 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internalTypes.d.ts +0 -1
- package/dist/internalTypes.d.ts.map +1 -1
- package/dist/internalTypes.js.map +1 -1
- package/dist/jsonDomainSchema.d.ts +2 -2
- package/dist/jsonDomainSchema.js +2 -2
- package/dist/jsonDomainSchema.js.map +1 -1
- package/dist/legacy.d.ts +2 -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 +2 -0
- package/dist/serializableDomainSchema.d.ts +3 -3
- package/dist/serializableDomainSchema.js +2 -2
- package/dist/serializableDomainSchema.js.map +1 -1
- package/dist/shared-tree/independentView.d.ts +1 -1
- package/dist/shared-tree/independentView.js.map +1 -1
- package/dist/shared-tree/index.d.ts +3 -2
- package/dist/shared-tree/index.d.ts.map +1 -1
- package/dist/shared-tree/index.js +4 -4
- package/dist/shared-tree/index.js.map +1 -1
- package/dist/shared-tree/schematizeTree.d.ts +4 -4
- package/dist/shared-tree/schematizeTree.d.ts.map +1 -1
- package/dist/shared-tree/schematizeTree.js +2 -3
- package/dist/shared-tree/schematizeTree.js.map +1 -1
- package/dist/shared-tree/schematizingTreeView.d.ts +3 -3
- package/dist/shared-tree/schematizingTreeView.d.ts.map +1 -1
- package/dist/shared-tree/schematizingTreeView.js +4 -4
- package/dist/shared-tree/schematizingTreeView.js.map +1 -1
- package/dist/shared-tree/{treeApi.d.ts → tree.d.ts} +34 -34
- package/dist/shared-tree/tree.d.ts.map +1 -0
- package/dist/shared-tree/{treeApi.js → tree.js} +6 -6
- package/dist/shared-tree/tree.js.map +1 -0
- package/dist/shared-tree/{treeApiAlpha.d.ts → treeAlpha.d.ts} +22 -14
- package/dist/shared-tree/treeAlpha.d.ts.map +1 -0
- package/dist/shared-tree/{treeApiAlpha.js → treeAlpha.js} +4 -3
- package/dist/shared-tree/treeAlpha.js.map +1 -0
- package/dist/simple-tree/api/conciseTree.d.ts +1 -1
- package/dist/simple-tree/api/conciseTree.js.map +1 -1
- package/dist/simple-tree/api/configuration.d.ts +177 -0
- package/dist/simple-tree/api/configuration.d.ts.map +1 -0
- package/dist/simple-tree/api/configuration.js +163 -0
- package/dist/simple-tree/api/configuration.js.map +1 -0
- package/dist/simple-tree/api/getJsonSchema.js +2 -2
- package/dist/simple-tree/api/getJsonSchema.js.map +1 -1
- package/dist/simple-tree/api/index.d.ts +7 -4
- package/dist/simple-tree/api/index.d.ts.map +1 -1
- package/dist/simple-tree/api/index.js +8 -7
- package/dist/simple-tree/api/index.js.map +1 -1
- package/dist/simple-tree/api/{view.d.ts → schemaCompatibilityTester.d.ts} +8 -10
- package/dist/simple-tree/api/schemaCompatibilityTester.d.ts.map +1 -0
- package/dist/simple-tree/api/{view.js → schemaCompatibilityTester.js} +9 -9
- package/dist/simple-tree/api/schemaCompatibilityTester.js.map +1 -0
- package/dist/simple-tree/api/schemaFactory.d.ts +16 -10
- package/dist/simple-tree/api/schemaFactory.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFactory.js +20 -12
- package/dist/simple-tree/api/schemaFactory.js.map +1 -1
- package/dist/simple-tree/api/schemaFactoryAlpha.d.ts +12 -6
- package/dist/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFactoryAlpha.js +2 -2
- package/dist/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
- package/dist/simple-tree/api/schemaFactoryRecursive.d.ts +67 -4
- package/dist/simple-tree/api/schemaFactoryRecursive.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFactoryRecursive.js.map +1 -1
- package/dist/simple-tree/api/schemaFromSimple.d.ts +1 -1
- package/dist/simple-tree/api/schemaFromSimple.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFromSimple.js +1 -1
- package/dist/simple-tree/api/schemaFromSimple.js.map +1 -1
- package/dist/simple-tree/api/simpleSchemaToJsonSchema.d.ts +1 -1
- package/dist/simple-tree/api/simpleSchemaToJsonSchema.d.ts.map +1 -1
- package/dist/simple-tree/api/simpleSchemaToJsonSchema.js.map +1 -1
- package/dist/simple-tree/api/storedSchema.d.ts +3 -3
- package/dist/simple-tree/api/storedSchema.d.ts.map +1 -1
- package/dist/simple-tree/api/storedSchema.js +3 -2
- package/dist/simple-tree/api/storedSchema.js.map +1 -1
- package/dist/simple-tree/api/tree.d.ts +5 -174
- package/dist/simple-tree/api/tree.d.ts.map +1 -1
- package/dist/simple-tree/api/tree.js +1 -156
- package/dist/simple-tree/api/tree.js.map +1 -1
- package/{lib/simple-tree/api/treeApiBeta.d.ts → dist/simple-tree/api/treeBeta.d.ts} +13 -5
- package/dist/simple-tree/api/treeBeta.d.ts.map +1 -0
- package/dist/simple-tree/api/{treeApiBeta.js → treeBeta.js} +5 -4
- package/dist/simple-tree/api/treeBeta.js.map +1 -0
- package/dist/simple-tree/api/typesUnsafe.d.ts +4 -9
- package/dist/simple-tree/api/typesUnsafe.d.ts.map +1 -1
- package/dist/simple-tree/api/typesUnsafe.js.map +1 -1
- package/dist/simple-tree/arrayNode.d.ts +2 -2
- package/dist/simple-tree/arrayNode.d.ts.map +1 -1
- package/dist/simple-tree/arrayNode.js +3 -2
- package/dist/simple-tree/arrayNode.js.map +1 -1
- package/dist/simple-tree/arrayNodeTypes.d.ts +3 -3
- package/dist/simple-tree/arrayNodeTypes.d.ts.map +1 -1
- package/dist/simple-tree/arrayNodeTypes.js.map +1 -1
- package/dist/simple-tree/index.d.ts +3 -3
- package/dist/simple-tree/index.d.ts.map +1 -1
- package/dist/simple-tree/index.js +2 -2
- package/dist/simple-tree/index.js.map +1 -1
- package/dist/simple-tree/mapNode.d.ts +2 -2
- package/dist/simple-tree/mapNode.d.ts.map +1 -1
- package/dist/simple-tree/mapNode.js +1 -1
- package/dist/simple-tree/mapNode.js.map +1 -1
- package/dist/simple-tree/mapNodeTypes.d.ts +3 -3
- package/dist/simple-tree/mapNodeTypes.d.ts.map +1 -1
- package/dist/simple-tree/mapNodeTypes.js.map +1 -1
- package/dist/simple-tree/objectNode.d.ts +18 -5
- package/dist/simple-tree/objectNode.d.ts.map +1 -1
- package/dist/simple-tree/objectNode.js +4 -3
- package/dist/simple-tree/objectNode.js.map +1 -1
- package/dist/simple-tree/objectNodeTypes.d.ts +4 -4
- package/dist/simple-tree/objectNodeTypes.d.ts.map +1 -1
- package/dist/simple-tree/objectNodeTypes.js.map +1 -1
- package/dist/simple-tree/schemaTypes.d.ts +163 -13
- package/dist/simple-tree/schemaTypes.d.ts.map +1 -1
- package/dist/simple-tree/schemaTypes.js +107 -8
- package/dist/simple-tree/schemaTypes.js.map +1 -1
- package/dist/simple-tree/treeNodeValid.js +2 -2
- package/dist/simple-tree/treeNodeValid.js.map +1 -1
- package/dist/tableSchema.d.ts +197 -86
- package/dist/tableSchema.d.ts.map +1 -1
- package/dist/tableSchema.js +100 -45
- package/dist/tableSchema.js.map +1 -1
- package/dist/util/typeUtils.d.ts +1 -1
- package/dist/util/typeUtils.js.map +1 -1
- package/lib/alpha.d.ts +16 -1
- package/lib/beta.d.ts +2 -0
- package/lib/index.d.ts +2 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/internalTypes.d.ts +0 -1
- package/lib/internalTypes.d.ts.map +1 -1
- package/lib/internalTypes.js.map +1 -1
- package/lib/jsonDomainSchema.d.ts +2 -2
- package/lib/jsonDomainSchema.js +2 -2
- package/lib/jsonDomainSchema.js.map +1 -1
- package/lib/legacy.d.ts +2 -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 +2 -0
- package/lib/serializableDomainSchema.d.ts +3 -3
- package/lib/serializableDomainSchema.js +2 -2
- package/lib/serializableDomainSchema.js.map +1 -1
- package/lib/shared-tree/independentView.d.ts +1 -1
- package/lib/shared-tree/independentView.js.map +1 -1
- package/lib/shared-tree/index.d.ts +3 -2
- package/lib/shared-tree/index.d.ts.map +1 -1
- package/lib/shared-tree/index.js +2 -2
- package/lib/shared-tree/index.js.map +1 -1
- package/lib/shared-tree/schematizeTree.d.ts +4 -4
- package/lib/shared-tree/schematizeTree.d.ts.map +1 -1
- package/lib/shared-tree/schematizeTree.js +2 -3
- package/lib/shared-tree/schematizeTree.js.map +1 -1
- package/lib/shared-tree/schematizingTreeView.d.ts +3 -3
- package/lib/shared-tree/schematizingTreeView.d.ts.map +1 -1
- package/lib/shared-tree/schematizingTreeView.js +5 -5
- package/lib/shared-tree/schematizingTreeView.js.map +1 -1
- package/lib/shared-tree/{treeApi.d.ts → tree.d.ts} +34 -34
- package/lib/shared-tree/tree.d.ts.map +1 -0
- package/lib/shared-tree/{treeApi.js → tree.js} +5 -5
- package/lib/shared-tree/tree.js.map +1 -0
- package/lib/shared-tree/{treeApiAlpha.d.ts → treeAlpha.d.ts} +22 -14
- package/lib/shared-tree/treeAlpha.d.ts.map +1 -0
- package/lib/shared-tree/{treeApiAlpha.js → treeAlpha.js} +4 -3
- package/lib/shared-tree/treeAlpha.js.map +1 -0
- package/lib/simple-tree/api/conciseTree.d.ts +1 -1
- package/lib/simple-tree/api/conciseTree.js.map +1 -1
- package/lib/simple-tree/api/configuration.d.ts +177 -0
- package/lib/simple-tree/api/configuration.d.ts.map +1 -0
- package/lib/simple-tree/api/configuration.js +157 -0
- package/lib/simple-tree/api/configuration.js.map +1 -0
- package/lib/simple-tree/api/getJsonSchema.js +1 -1
- package/lib/simple-tree/api/getJsonSchema.js.map +1 -1
- package/lib/simple-tree/api/index.d.ts +7 -4
- package/lib/simple-tree/api/index.d.ts.map +1 -1
- package/lib/simple-tree/api/index.js +4 -3
- package/lib/simple-tree/api/index.js.map +1 -1
- package/lib/simple-tree/api/{view.d.ts → schemaCompatibilityTester.d.ts} +8 -10
- package/lib/simple-tree/api/schemaCompatibilityTester.d.ts.map +1 -0
- package/lib/simple-tree/api/{view.js → schemaCompatibilityTester.js} +7 -7
- package/lib/simple-tree/api/schemaCompatibilityTester.js.map +1 -0
- package/lib/simple-tree/api/schemaFactory.d.ts +16 -10
- package/lib/simple-tree/api/schemaFactory.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFactory.js +20 -12
- package/lib/simple-tree/api/schemaFactory.js.map +1 -1
- package/lib/simple-tree/api/schemaFactoryAlpha.d.ts +12 -6
- package/lib/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFactoryAlpha.js +2 -2
- package/lib/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
- package/lib/simple-tree/api/schemaFactoryRecursive.d.ts +67 -4
- package/lib/simple-tree/api/schemaFactoryRecursive.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFactoryRecursive.js.map +1 -1
- package/lib/simple-tree/api/schemaFromSimple.d.ts +1 -1
- package/lib/simple-tree/api/schemaFromSimple.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFromSimple.js +1 -1
- package/lib/simple-tree/api/schemaFromSimple.js.map +1 -1
- package/lib/simple-tree/api/simpleSchemaToJsonSchema.d.ts +1 -1
- package/lib/simple-tree/api/simpleSchemaToJsonSchema.d.ts.map +1 -1
- package/lib/simple-tree/api/simpleSchemaToJsonSchema.js.map +1 -1
- package/lib/simple-tree/api/storedSchema.d.ts +3 -3
- package/lib/simple-tree/api/storedSchema.d.ts.map +1 -1
- package/lib/simple-tree/api/storedSchema.js +3 -2
- package/lib/simple-tree/api/storedSchema.js.map +1 -1
- package/lib/simple-tree/api/tree.d.ts +5 -174
- package/lib/simple-tree/api/tree.d.ts.map +1 -1
- package/lib/simple-tree/api/tree.js +0 -152
- package/lib/simple-tree/api/tree.js.map +1 -1
- package/{dist/simple-tree/api/treeApiBeta.d.ts → lib/simple-tree/api/treeBeta.d.ts} +13 -5
- package/lib/simple-tree/api/treeBeta.d.ts.map +1 -0
- package/lib/simple-tree/api/{treeApiBeta.js → treeBeta.js} +5 -4
- package/lib/simple-tree/api/treeBeta.js.map +1 -0
- package/lib/simple-tree/api/typesUnsafe.d.ts +4 -9
- package/lib/simple-tree/api/typesUnsafe.d.ts.map +1 -1
- package/lib/simple-tree/api/typesUnsafe.js.map +1 -1
- package/lib/simple-tree/arrayNode.d.ts +2 -2
- package/lib/simple-tree/arrayNode.d.ts.map +1 -1
- package/lib/simple-tree/arrayNode.js +4 -3
- package/lib/simple-tree/arrayNode.js.map +1 -1
- package/lib/simple-tree/arrayNodeTypes.d.ts +3 -3
- package/lib/simple-tree/arrayNodeTypes.d.ts.map +1 -1
- package/lib/simple-tree/arrayNodeTypes.js.map +1 -1
- package/lib/simple-tree/index.d.ts +3 -3
- package/lib/simple-tree/index.d.ts.map +1 -1
- package/lib/simple-tree/index.js +1 -1
- package/lib/simple-tree/index.js.map +1 -1
- package/lib/simple-tree/mapNode.d.ts +2 -2
- package/lib/simple-tree/mapNode.d.ts.map +1 -1
- package/lib/simple-tree/mapNode.js +2 -2
- package/lib/simple-tree/mapNode.js.map +1 -1
- package/lib/simple-tree/mapNodeTypes.d.ts +3 -3
- package/lib/simple-tree/mapNodeTypes.d.ts.map +1 -1
- package/lib/simple-tree/mapNodeTypes.js.map +1 -1
- package/lib/simple-tree/objectNode.d.ts +18 -5
- package/lib/simple-tree/objectNode.d.ts.map +1 -1
- package/lib/simple-tree/objectNode.js +5 -4
- package/lib/simple-tree/objectNode.js.map +1 -1
- package/lib/simple-tree/objectNodeTypes.d.ts +4 -4
- package/lib/simple-tree/objectNodeTypes.d.ts.map +1 -1
- package/lib/simple-tree/objectNodeTypes.js.map +1 -1
- package/lib/simple-tree/schemaTypes.d.ts +163 -13
- package/lib/simple-tree/schemaTypes.d.ts.map +1 -1
- package/lib/simple-tree/schemaTypes.js +96 -8
- package/lib/simple-tree/schemaTypes.js.map +1 -1
- package/lib/simple-tree/treeNodeValid.js +2 -2
- package/lib/simple-tree/treeNodeValid.js.map +1 -1
- package/lib/tableSchema.d.ts +197 -86
- package/lib/tableSchema.d.ts.map +1 -1
- package/lib/tableSchema.js +100 -45
- package/lib/tableSchema.js.map +1 -1
- package/lib/util/typeUtils.d.ts +1 -1
- package/lib/util/typeUtils.js.map +1 -1
- package/package.json +20 -20
- package/src/index.ts +17 -1
- package/src/internalTypes.ts +0 -2
- package/src/jsonDomainSchema.ts +2 -2
- package/src/packageVersion.ts +1 -1
- package/src/serializableDomainSchema.ts +3 -3
- package/src/shared-tree/independentView.ts +1 -1
- package/src/shared-tree/index.ts +3 -6
- package/src/shared-tree/schematizeTree.ts +5 -5
- package/src/shared-tree/schematizingTreeView.ts +11 -8
- package/src/shared-tree/{treeApi.ts → tree.ts} +51 -51
- package/src/shared-tree/{treeApiAlpha.ts → treeAlpha.ts} +22 -13
- package/src/simple-tree/api/conciseTree.ts +1 -1
- package/src/simple-tree/api/configuration.ts +353 -0
- package/src/simple-tree/api/getJsonSchema.ts +1 -1
- package/src/simple-tree/api/index.ts +21 -15
- package/src/simple-tree/api/{view.ts → schemaCompatibilityTester.ts} +8 -15
- package/src/simple-tree/api/schemaFactory.ts +130 -19
- package/src/simple-tree/api/schemaFactoryAlpha.ts +7 -5
- package/src/simple-tree/api/schemaFactoryRecursive.ts +102 -38
- package/src/simple-tree/api/schemaFromSimple.ts +2 -2
- package/src/simple-tree/api/simpleSchemaToJsonSchema.ts +1 -1
- package/src/simple-tree/api/storedSchema.ts +8 -4
- package/src/simple-tree/api/tree.ts +13 -354
- package/src/simple-tree/api/{treeApiBeta.ts → treeBeta.ts} +17 -5
- package/src/simple-tree/api/typesUnsafe.ts +15 -11
- package/src/simple-tree/arrayNode.ts +10 -5
- package/src/simple-tree/arrayNodeTypes.ts +8 -7
- package/src/simple-tree/index.ts +17 -1
- package/src/simple-tree/mapNode.ts +11 -3
- package/src/simple-tree/mapNodeTypes.ts +10 -7
- package/src/simple-tree/objectNode.ts +39 -15
- package/src/simple-tree/objectNodeTypes.ts +9 -5
- package/src/simple-tree/schemaTypes.ts +353 -25
- package/src/simple-tree/treeNodeValid.ts +2 -2
- package/src/tableSchema.ts +749 -445
- package/src/util/typeUtils.ts +1 -1
- package/dist/shared-tree/treeApi.d.ts.map +0 -1
- package/dist/shared-tree/treeApi.js.map +0 -1
- package/dist/shared-tree/treeApiAlpha.d.ts.map +0 -1
- package/dist/shared-tree/treeApiAlpha.js.map +0 -1
- package/dist/simple-tree/api/treeApiBeta.d.ts.map +0 -1
- package/dist/simple-tree/api/treeApiBeta.js.map +0 -1
- package/dist/simple-tree/api/view.d.ts.map +0 -1
- package/dist/simple-tree/api/view.js.map +0 -1
- package/lib/shared-tree/treeApi.d.ts.map +0 -1
- package/lib/shared-tree/treeApi.js.map +0 -1
- package/lib/shared-tree/treeApiAlpha.d.ts.map +0 -1
- package/lib/shared-tree/treeApiAlpha.js.map +0 -1
- package/lib/simple-tree/api/treeApiBeta.d.ts.map +0 -1
- package/lib/simple-tree/api/treeApiBeta.js.map +0 -1
- package/lib/simple-tree/api/view.d.ts.map +0 -1
- package/lib/simple-tree/api/view.js.map +0 -1
package/.vscode/settings.json
CHANGED
|
@@ -15,12 +15,34 @@ export function adaptEnum<TScope extends string, const TEnum extends Record<stri
|
|
|
15
15
|
}, Record<string, never>, true, Record<string, never>, undefined>; }[keyof TEnum]>;
|
|
16
16
|
};
|
|
17
17
|
|
|
18
|
+
// @alpha
|
|
19
|
+
export interface AllowedTypeMetadata {
|
|
20
|
+
readonly custom?: unknown;
|
|
21
|
+
}
|
|
22
|
+
|
|
18
23
|
// @public @system
|
|
19
24
|
export type AllowedTypes = readonly LazyItem<TreeNodeSchema>[];
|
|
20
25
|
|
|
26
|
+
// @alpha
|
|
27
|
+
export interface AllowedTypesMetadata {
|
|
28
|
+
readonly custom?: unknown;
|
|
29
|
+
}
|
|
30
|
+
|
|
21
31
|
// @alpha
|
|
22
32
|
export function allowUnused<T>(t?: T): void;
|
|
23
33
|
|
|
34
|
+
// @alpha
|
|
35
|
+
export interface AnnotatedAllowedType<T extends TreeNodeSchema = TreeNodeSchema> {
|
|
36
|
+
readonly metadata: AllowedTypeMetadata;
|
|
37
|
+
readonly type: LazyItem<T>;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// @alpha
|
|
41
|
+
export interface AnnotatedAllowedTypes {
|
|
42
|
+
readonly metadata: AllowedTypesMetadata;
|
|
43
|
+
readonly types: readonly (AnnotatedAllowedType | LazyItem<TreeNodeSchema>)[];
|
|
44
|
+
}
|
|
45
|
+
|
|
24
46
|
// @public @system
|
|
25
47
|
type ApplyKind<T, Kind extends FieldKind> = {
|
|
26
48
|
[FieldKind.Required]: T;
|
|
@@ -34,7 +56,7 @@ Kind
|
|
|
34
56
|
] extends [FieldKind.Required] ? T : [Kind] extends [FieldKind.Optional] ? T | undefined : [Kind] extends [FieldKind.Identifier] ? DefaultsAreOptional extends true ? T | undefined : T : never;
|
|
35
57
|
|
|
36
58
|
// @alpha @sealed @system
|
|
37
|
-
export interface ArrayNodeCustomizableSchema<out TName extends string = string, in out T extends
|
|
59
|
+
export interface ArrayNodeCustomizableSchema<out TName extends string = string, in out T extends ImplicitAnnotatedAllowedTypes = ImplicitAnnotatedAllowedTypes, out ImplicitlyConstructable extends boolean = true, out TCustomMetadata = unknown> extends TreeNodeSchemaClass<TName, NodeKind.Array, TreeArrayNode<UnannotateImplicitAllowedTypes<T>> & WithType<TName, NodeKind.Array, T>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<UnannotateImplicitAllowedTypes<T>>>, ImplicitlyConstructable, T, undefined, TCustomMetadata>, SimpleArrayNodeSchema<TCustomMetadata> {
|
|
38
60
|
}
|
|
39
61
|
|
|
40
62
|
// @alpha @sealed @system
|
|
@@ -44,7 +66,7 @@ export interface ArrayNodeCustomizableSchemaUnsafe<out TName extends string, in
|
|
|
44
66
|
}
|
|
45
67
|
|
|
46
68
|
// @alpha @sealed @system
|
|
47
|
-
export interface ArrayNodePojoEmulationSchema<out TName extends string = string, in out T extends
|
|
69
|
+
export interface ArrayNodePojoEmulationSchema<out TName extends string = string, in out T extends ImplicitAnnotatedAllowedTypes = ImplicitAnnotatedAllowedTypes, out ImplicitlyConstructable extends boolean = true, out TCustomMetadata = unknown> extends TreeNodeSchemaNonClass<TName, NodeKind.Array, TreeArrayNode<UnannotateImplicitAllowedTypes<T>> & WithType<TName, NodeKind.Array, T>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<UnannotateImplicitAllowedTypes<T>>>, ImplicitlyConstructable, T, undefined, TCustomMetadata>, SimpleArrayNodeSchema<TCustomMetadata> {
|
|
48
70
|
}
|
|
49
71
|
|
|
50
72
|
// @alpha
|
|
@@ -141,7 +163,9 @@ export type FactoryContentObject = {
|
|
|
141
163
|
};
|
|
142
164
|
|
|
143
165
|
// @public @system
|
|
144
|
-
type FieldHasDefault<T extends ImplicitFieldSchema> = T extends
|
|
166
|
+
type FieldHasDefault<T extends ImplicitFieldSchema> = [T] extends [
|
|
167
|
+
FieldSchema<FieldKind.Optional | FieldKind.Identifier>
|
|
168
|
+
] ? true : false;
|
|
145
169
|
|
|
146
170
|
// @public
|
|
147
171
|
export enum FieldKind {
|
|
@@ -174,9 +198,13 @@ export class FieldSchema<out Kind extends FieldKind = FieldKind, out Types exten
|
|
|
174
198
|
|
|
175
199
|
// @alpha @sealed
|
|
176
200
|
export class FieldSchemaAlpha<Kind extends FieldKind = FieldKind, Types extends ImplicitAllowedTypes = ImplicitAllowedTypes, TCustomMetadata = unknown> extends FieldSchema<Kind, Types, TCustomMetadata> implements SimpleFieldSchema {
|
|
177
|
-
protected constructor(kind: Kind,
|
|
201
|
+
protected constructor(kind: Kind, types: Types, annotatedAllowedTypes: ImplicitAnnotatedAllowedTypes, props?: FieldProps<TCustomMetadata>);
|
|
178
202
|
// (undocumented)
|
|
179
203
|
get allowedTypesIdentifiers(): ReadonlySet<string>;
|
|
204
|
+
readonly allowedTypesMetadata: AllowedTypesMetadata;
|
|
205
|
+
// (undocumented)
|
|
206
|
+
readonly annotatedAllowedTypes: ImplicitAnnotatedAllowedTypes;
|
|
207
|
+
get annotatedAllowedTypeSet(): ReadonlyMap<TreeNodeSchema, AllowedTypeMetadata>;
|
|
180
208
|
}
|
|
181
209
|
|
|
182
210
|
// @alpha @sealed @system
|
|
@@ -259,6 +287,12 @@ export type IdentifierIndex = SimpleTreeIndex<string, TreeNode>;
|
|
|
259
287
|
// @public
|
|
260
288
|
export type ImplicitAllowedTypes = AllowedTypes | TreeNodeSchema;
|
|
261
289
|
|
|
290
|
+
// @alpha
|
|
291
|
+
export type ImplicitAnnotatedAllowedTypes = TreeNodeSchema | AnnotatedAllowedType | AnnotatedAllowedTypes | readonly (AnnotatedAllowedType | LazyItem<TreeNodeSchema>)[];
|
|
292
|
+
|
|
293
|
+
// @alpha
|
|
294
|
+
export type ImplicitAnnotatedFieldSchema = FieldSchema | ImplicitAnnotatedAllowedTypes;
|
|
295
|
+
|
|
262
296
|
// @public
|
|
263
297
|
export type ImplicitFieldSchema = FieldSchema | ImplicitAllowedTypes;
|
|
264
298
|
|
|
@@ -287,6 +321,9 @@ export type InsertableField<TSchema extends ImplicitFieldSchema | UnsafeUnknownS
|
|
|
287
321
|
TSchema
|
|
288
322
|
] extends [ImplicitFieldSchema] ? InsertableTreeFieldFromImplicitField<TSchema> : [TSchema] extends [UnsafeUnknownSchema] ? InsertableContent | undefined : never;
|
|
289
323
|
|
|
324
|
+
// @alpha @system
|
|
325
|
+
export type InsertableObjectFromAnnotatedSchemaRecord<T extends RestrictiveStringRecord<ImplicitAnnotatedFieldSchema>> = InsertableObjectFromSchemaRecord<UnannotateSchemaRecord<T>>;
|
|
326
|
+
|
|
290
327
|
// @public @system
|
|
291
328
|
type InsertableObjectFromSchemaRecord<T extends RestrictiveStringRecord<ImplicitFieldSchema>> = RestrictiveStringRecord<ImplicitFieldSchema> extends T ? {
|
|
292
329
|
arbitraryKey: "arbitraryValue";
|
|
@@ -300,12 +337,9 @@ type InsertableObjectFromSchemaRecord<T extends RestrictiveStringRecord<Implicit
|
|
|
300
337
|
export type InsertableTreeFieldFromImplicitField<TSchemaInput extends ImplicitFieldSchema, TSchema = UnionToIntersection<TSchemaInput>> = [TSchema] extends [FieldSchema<infer Kind, infer Types>] ? ApplyKindInput<InsertableTreeNodeFromImplicitAllowedTypes<Types>, Kind, true> : [TSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TSchema> : never;
|
|
301
338
|
|
|
302
339
|
// @public @system
|
|
303
|
-
export type InsertableTreeNodeFromAllowedTypes<TList extends AllowedTypes> =
|
|
304
|
-
readonly [
|
|
305
|
-
|
|
306
|
-
...infer Rest extends AllowedTypes
|
|
307
|
-
]
|
|
308
|
-
] ? InsertableTypedNode<TSchema> | InsertableTreeNodeFromAllowedTypes<Rest> : never;
|
|
340
|
+
export type InsertableTreeNodeFromAllowedTypes<TList extends AllowedTypes> = IsUnion<TList> extends true ? never : {
|
|
341
|
+
readonly [Property in keyof TList]: TList[Property] extends LazyItem<infer TSchema extends TreeNodeSchema> ? InsertableTypedNode<TSchema> : never;
|
|
342
|
+
}[number];
|
|
309
343
|
|
|
310
344
|
// @public
|
|
311
345
|
export type InsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes> = [
|
|
@@ -333,8 +367,7 @@ declare namespace InternalTypes {
|
|
|
333
367
|
InsertableObjectFromSchemaRecord,
|
|
334
368
|
FlexList,
|
|
335
369
|
FlexListToUnion,
|
|
336
|
-
ExtractItemType
|
|
337
|
-
TreeApi
|
|
370
|
+
ExtractItemType
|
|
338
371
|
}
|
|
339
372
|
}
|
|
340
373
|
export { InternalTypes }
|
|
@@ -342,7 +375,7 @@ export { InternalTypes }
|
|
|
342
375
|
// @public @deprecated
|
|
343
376
|
export type IsListener<T> = IsListener_2<T>;
|
|
344
377
|
|
|
345
|
-
// @
|
|
378
|
+
// @public @system
|
|
346
379
|
export type IsUnion<T, T2 = T> = T extends unknown ? [T2] extends [T] ? false : true : "error";
|
|
347
380
|
|
|
348
381
|
// @public @sealed
|
|
@@ -493,7 +526,7 @@ export interface MakeNominal {
|
|
|
493
526
|
}
|
|
494
527
|
|
|
495
528
|
// @alpha @sealed @system
|
|
496
|
-
export interface MapNodeCustomizableSchema<out TName extends string = string, in out T extends
|
|
529
|
+
export interface MapNodeCustomizableSchema<out TName extends string = string, in out T extends ImplicitAnnotatedAllowedTypes = ImplicitAnnotatedAllowedTypes, out ImplicitlyConstructable extends boolean = true, out TCustomMetadata = unknown> extends TreeNodeSchemaClass<TName, NodeKind.Map, TreeMapNode<UnannotateImplicitAllowedTypes<T>> & WithType<TName, NodeKind.Map, T>, MapNodeInsertableData<UnannotateImplicitAllowedTypes<T>>, ImplicitlyConstructable, T, undefined, TCustomMetadata>, SimpleMapNodeSchema<TCustomMetadata> {
|
|
497
530
|
}
|
|
498
531
|
|
|
499
532
|
// @alpha @sealed @system
|
|
@@ -511,7 +544,7 @@ export interface MapNodeCustomizableSchemaUnsafe<out TName extends string, in ou
|
|
|
511
544
|
export type MapNodeInsertableData<T extends ImplicitAllowedTypes> = Iterable<readonly [string, InsertableTreeNodeFromImplicitAllowedTypes<T>]> | RestrictiveStringRecord<InsertableTreeNodeFromImplicitAllowedTypes<T>>;
|
|
512
545
|
|
|
513
546
|
// @alpha @sealed @system
|
|
514
|
-
export interface MapNodePojoEmulationSchema<out TName extends string = string, in out T extends
|
|
547
|
+
export interface MapNodePojoEmulationSchema<out TName extends string = string, in out T extends ImplicitAnnotatedAllowedTypes = ImplicitAnnotatedAllowedTypes, out ImplicitlyConstructable extends boolean = true, out TCustomMetadata = unknown> extends TreeNodeSchemaNonClass<TName, NodeKind.Map, TreeMapNode<UnannotateImplicitAllowedTypes<T>> & WithType<TName, NodeKind.Map, T>, MapNodeInsertableData<UnannotateImplicitAllowedTypes<T>>, ImplicitlyConstructable, T, undefined, TCustomMetadata>, SimpleMapNodeSchema<TCustomMetadata> {
|
|
515
548
|
}
|
|
516
549
|
|
|
517
550
|
// @alpha
|
|
@@ -569,13 +602,13 @@ export type ObjectFromSchemaRecord<T extends RestrictiveStringRecord<ImplicitFie
|
|
|
569
602
|
};
|
|
570
603
|
|
|
571
604
|
// @alpha @sealed
|
|
572
|
-
export interface ObjectNodeSchema<out TName extends string = string, in out T extends RestrictiveStringRecord<
|
|
605
|
+
export interface ObjectNodeSchema<out TName extends string = string, in out T extends RestrictiveStringRecord<ImplicitAnnotatedFieldSchema> = RestrictiveStringRecord<ImplicitAnnotatedFieldSchema>, ImplicitlyConstructable extends boolean = boolean, out TCustomMetadata = unknown> extends TreeNodeSchemaClass<TName, NodeKind.Object, TreeObjectNode<UnannotateSchemaRecord<T>, TName>, InsertableObjectFromAnnotatedSchemaRecord<T>, ImplicitlyConstructable, T, never, TCustomMetadata>, SimpleObjectNodeSchema<TCustomMetadata> {
|
|
573
606
|
readonly fields: ReadonlyMap<string, FieldSchemaAlpha & SimpleObjectFieldSchema>;
|
|
574
607
|
}
|
|
575
608
|
|
|
576
609
|
// @alpha (undocumented)
|
|
577
610
|
export const ObjectNodeSchema: {
|
|
578
|
-
readonly [Symbol.hasInstance]: (value: TreeNodeSchema) => value is ObjectNodeSchema<string, RestrictiveStringRecord<
|
|
611
|
+
readonly [Symbol.hasInstance]: (value: TreeNodeSchema) => value is ObjectNodeSchema<string, RestrictiveStringRecord<ImplicitAnnotatedFieldSchema>, boolean, unknown>;
|
|
579
612
|
};
|
|
580
613
|
|
|
581
614
|
// @public @deprecated
|
|
@@ -722,19 +755,25 @@ export class SchemaFactory<out TScope extends string | undefined = string | unde
|
|
|
722
755
|
|
|
723
756
|
// @alpha
|
|
724
757
|
export class SchemaFactoryAlpha<out TScope extends string | undefined = string | undefined, TName extends number | string = string> extends SchemaFactory<TScope, TName> {
|
|
725
|
-
arrayAlpha<const Name extends TName, const T extends
|
|
758
|
+
arrayAlpha<const Name extends TName, const T extends ImplicitAnnotatedAllowedTypes, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptions<TCustomMetadata>): ArrayNodeCustomizableSchema<ScopedSchemaName<TScope, Name>, T, true, TCustomMetadata>;
|
|
726
759
|
arrayRecursive<const Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptions<TCustomMetadata>): ArrayNodeCustomizableSchemaUnsafe<ScopedSchemaName<TScope, Name>, T, TCustomMetadata>;
|
|
727
760
|
static readonly identifier: <const TCustomMetadata = unknown>(props?: Omit<FieldProps_2<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaAlpha_2<FieldKind_2.Identifier, LeafSchema_2<"string", string> & SimpleLeafNodeSchema_2, TCustomMetadata>;
|
|
728
761
|
static readonly leaves: readonly [LeafSchema_2<"string", string> & SimpleLeafNodeSchema_2, LeafSchema_2<"number", number> & SimpleLeafNodeSchema_2, LeafSchema_2<"boolean", boolean> & SimpleLeafNodeSchema_2, LeafSchema_2<"null", null> & SimpleLeafNodeSchema_2, LeafSchema_2<"handle", IFluidHandle<unknown>> & SimpleLeafNodeSchema_2];
|
|
729
|
-
mapAlpha<Name extends TName, const T extends
|
|
762
|
+
mapAlpha<Name extends TName, const T extends ImplicitAnnotatedAllowedTypes, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptions<TCustomMetadata>): MapNodeCustomizableSchema<ScopedSchemaName<TScope, Name>, T, true, TCustomMetadata>;
|
|
730
763
|
mapRecursive<Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptions<TCustomMetadata>): MapNodeCustomizableSchemaUnsafe<ScopedSchemaName<TScope, Name>, T, TCustomMetadata>;
|
|
731
|
-
|
|
764
|
+
objectAlpha<const Name extends TName, const T extends RestrictiveStringRecord<ImplicitAnnotatedFieldSchema>, const TCustomMetadata = unknown>(name: Name, fields: T, options?: SchemaFactoryObjectOptions<TCustomMetadata>): ObjectNodeSchema<ScopedSchemaName<TScope, Name>, T, true, TCustomMetadata> & {
|
|
732
765
|
readonly createFromInsertable: unknown;
|
|
733
766
|
};
|
|
734
767
|
objectRecursive<const Name extends TName, const T extends RestrictiveStringRecord<System_Unsafe.ImplicitFieldSchemaUnsafe>, const TCustomMetadata = unknown>(name: Name, t: T, options?: SchemaFactoryObjectOptions<TCustomMetadata>): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, System_Unsafe.TreeObjectNodeUnsafe<T, ScopedSchemaName<TScope, Name>>, object & System_Unsafe.InsertableObjectFromSchemaRecordUnsafe<T>, false, T, never, TCustomMetadata> & SimpleObjectNodeSchema<TCustomMetadata> & Pick<ObjectNodeSchema, "fields">;
|
|
735
|
-
static readonly optional:
|
|
768
|
+
static readonly optional: {
|
|
769
|
+
<const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps_2<TCustomMetadata>, "defaultProvider"> | undefined): FieldSchemaAlpha_2<FieldKind_2.Optional, T, TCustomMetadata>;
|
|
770
|
+
<const T_1 extends ImplicitAnnotatedAllowedTypes, const TCustomMetadata_1 = unknown>(t: T_1, props?: Omit<FieldProps_2<TCustomMetadata_1>, "defaultProvider"> | undefined): FieldSchemaAlpha_2<FieldKind_2.Optional, UnannotateImplicitAllowedTypes_2<T_1>, TCustomMetadata_1>;
|
|
771
|
+
};
|
|
736
772
|
static readonly optionalRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps_2<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaAlphaUnsafe_2<FieldKind_2.Optional, T, TCustomMetadata>;
|
|
737
|
-
static readonly required:
|
|
773
|
+
static readonly required: {
|
|
774
|
+
<const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps_2<TCustomMetadata>, "defaultProvider"> | undefined): FieldSchemaAlpha_2<FieldKind_2.Required, T, TCustomMetadata>;
|
|
775
|
+
<const T_1 extends ImplicitAnnotatedAllowedTypes, const TCustomMetadata_1 = unknown>(t: T_1, props?: Omit<FieldProps_2<TCustomMetadata_1>, "defaultProvider"> | undefined): FieldSchemaAlpha_2<FieldKind_2.Required, UnannotateImplicitAllowedTypes_2<T_1>, TCustomMetadata_1>;
|
|
776
|
+
};
|
|
738
777
|
scopedFactory<const T extends TName, TNameInner extends number | string = string>(name: T): SchemaFactoryAlpha<ScopedSchemaName<TScope, T>, TNameInner>;
|
|
739
778
|
}
|
|
740
779
|
|
|
@@ -870,14 +909,9 @@ export namespace System_Unsafe {
|
|
|
870
909
|
// @system
|
|
871
910
|
export type InsertableTreeFieldFromImplicitFieldUnsafe<TSchemaInput extends ImplicitFieldSchemaUnsafe, TSchema = UnionToIntersection<TSchemaInput>> = [TSchema] extends [FieldSchemaUnsafe<infer Kind, infer Types>] ? ApplyKindInput<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind, true> : [TSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : never;
|
|
872
911
|
// @system
|
|
873
|
-
export type InsertableTreeNodeFromAllowedTypesUnsafe<TList extends AllowedTypesUnsafe> =
|
|
874
|
-
|
|
875
|
-
]
|
|
876
|
-
readonly [
|
|
877
|
-
LazyItem<infer TSchema extends TreeNodeSchemaUnsafe>,
|
|
878
|
-
...infer Rest extends AllowedTypesUnsafe
|
|
879
|
-
]
|
|
880
|
-
] ? InsertableTypedNodeUnsafe<TSchema> | InsertableTreeNodeFromAllowedTypesUnsafe<Rest> : never;
|
|
912
|
+
export type InsertableTreeNodeFromAllowedTypesUnsafe<TList extends AllowedTypesUnsafe> = IsUnion<TList> extends true ? never : {
|
|
913
|
+
readonly [Property in keyof TList]: TList[Property] extends LazyItem<infer TSchema extends TreeNodeSchemaUnsafe> ? InsertableTypedNodeUnsafe<TSchema> : never;
|
|
914
|
+
}[number];
|
|
881
915
|
// @system
|
|
882
916
|
export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends ImplicitAllowedTypesUnsafe> = [TSchema] extends [TreeNodeSchemaUnsafe] ? InsertableTypedNodeUnsafe<TSchema> : [TSchema] extends [AllowedTypesUnsafe] ? InsertableTreeNodeFromAllowedTypesUnsafe<TSchema> : never;
|
|
883
917
|
// @system
|
|
@@ -965,33 +999,36 @@ export interface TransactionResultSuccess<TSuccessValue> {
|
|
|
965
999
|
value: TSuccessValue;
|
|
966
1000
|
}
|
|
967
1001
|
|
|
1002
|
+
// @public @sealed @system
|
|
1003
|
+
export interface Tree extends TreeNodeApi {
|
|
1004
|
+
contains(node: TreeNode, other: TreeNode): boolean;
|
|
1005
|
+
readonly runTransaction: RunTransaction;
|
|
1006
|
+
}
|
|
1007
|
+
|
|
968
1008
|
// @public
|
|
969
|
-
export const Tree:
|
|
1009
|
+
export const Tree: Tree;
|
|
970
1010
|
|
|
971
|
-
// @alpha @sealed
|
|
972
|
-
export
|
|
1011
|
+
// @alpha @sealed @system
|
|
1012
|
+
export interface TreeAlpha {
|
|
973
1013
|
branch(node: TreeNode): TreeBranch | undefined;
|
|
974
1014
|
create<const TSchema extends ImplicitFieldSchema | UnsafeUnknownSchema>(schema: UnsafeUnknownSchema extends TSchema ? ImplicitFieldSchema : TSchema & ImplicitFieldSchema, data: InsertableField<TSchema>): Unhydrated<TSchema extends ImplicitFieldSchema ? TreeFieldFromImplicitField<TSchema> : TreeNode | TreeLeafValue | undefined>;
|
|
975
|
-
importConcise<const TSchema extends ImplicitFieldSchema | UnsafeUnknownSchema>(schema: UnsafeUnknownSchema extends TSchema ? ImplicitFieldSchema : TSchema & ImplicitFieldSchema, data: ConciseTree | undefined): Unhydrated<TSchema extends ImplicitFieldSchema ? TreeFieldFromImplicitField<TSchema> : TreeNode | TreeLeafValue | undefined>;
|
|
976
|
-
importVerbose<const TSchema extends ImplicitFieldSchema>(schema: TSchema, data: VerboseTree | undefined, options?: Partial<TreeEncodingOptions>): Unhydrated<TreeFieldFromImplicitField<TSchema>>;
|
|
977
|
-
exportConcise(node: TreeNode | TreeLeafValue, options?: TreeEncodingOptions): ConciseTree;
|
|
978
|
-
exportConcise(node: TreeNode | TreeLeafValue | undefined, options?: TreeEncodingOptions): ConciseTree | undefined;
|
|
979
|
-
exportVerbose(node: TreeNode | TreeLeafValue, options?: TreeEncodingOptions): VerboseTree;
|
|
980
1015
|
exportCompressed(tree: TreeNode | TreeLeafValue, options: {
|
|
981
1016
|
oldestCompatibleClient: FluidClientVersion;
|
|
982
1017
|
idCompressor?: IIdCompressor;
|
|
983
1018
|
}): JsonCompatible<IFluidHandle>;
|
|
1019
|
+
exportConcise(node: TreeNode | TreeLeafValue, options?: TreeEncodingOptions): ConciseTree;
|
|
1020
|
+
exportConcise(node: TreeNode | TreeLeafValue | undefined, options?: TreeEncodingOptions): ConciseTree | undefined;
|
|
1021
|
+
exportVerbose(node: TreeNode | TreeLeafValue, options?: TreeEncodingOptions): VerboseTree;
|
|
984
1022
|
importCompressed<const TSchema extends ImplicitFieldSchema>(schema: TSchema, compressedData: JsonCompatible<IFluidHandle>, options: {
|
|
985
1023
|
idCompressor?: IIdCompressor;
|
|
986
1024
|
} & ICodecOptions): Unhydrated<TreeFieldFromImplicitField<TSchema>>;
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
// @public @sealed @system
|
|
990
|
-
interface TreeApi extends TreeNodeApi {
|
|
991
|
-
contains(node: TreeNode, other: TreeNode): boolean;
|
|
992
|
-
readonly runTransaction: RunTransaction;
|
|
1025
|
+
importConcise<const TSchema extends ImplicitFieldSchema | UnsafeUnknownSchema>(schema: UnsafeUnknownSchema extends TSchema ? ImplicitFieldSchema : TSchema & ImplicitFieldSchema, data: ConciseTree | undefined): Unhydrated<TSchema extends ImplicitFieldSchema ? TreeFieldFromImplicitField<TSchema> : TreeNode | TreeLeafValue | undefined>;
|
|
1026
|
+
importVerbose<const TSchema extends ImplicitFieldSchema>(schema: TSchema, data: VerboseTree | undefined, options?: Partial<TreeEncodingOptions>): Unhydrated<TreeFieldFromImplicitField<TSchema>>;
|
|
993
1027
|
}
|
|
994
1028
|
|
|
1029
|
+
// @alpha
|
|
1030
|
+
export const TreeAlpha: TreeAlpha;
|
|
1031
|
+
|
|
995
1032
|
// @public @sealed
|
|
996
1033
|
export interface TreeArrayNode<TAllowedTypes extends System_Unsafe.ImplicitAllowedTypesUnsafe = ImplicitAllowedTypes, out T = [TAllowedTypes] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TAllowedTypes> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, in TNew = [TAllowedTypes] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TAllowedTypes> : InsertableTreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, in TMoveFrom = ReadonlyArrayNode> extends ReadonlyArrayNode<T> {
|
|
997
1034
|
insertAt(index: number, ...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
@@ -1019,11 +1056,14 @@ export const TreeArrayNode: {
|
|
|
1019
1056
|
readonly spread: <T>(content: Iterable<T>) => IterableTreeArrayContent<T>;
|
|
1020
1057
|
};
|
|
1021
1058
|
|
|
1022
|
-
// @beta @sealed
|
|
1023
|
-
export
|
|
1024
|
-
on<K extends keyof TreeChangeEventsBeta<TNode>, TNode extends TreeNode>(node: TNode, eventName: K, listener: NoInfer<TreeChangeEventsBeta<TNode>[K]>): () => void;
|
|
1059
|
+
// @beta @sealed @system
|
|
1060
|
+
export interface TreeBeta {
|
|
1025
1061
|
clone<const TSchema extends ImplicitFieldSchema>(node: TreeFieldFromImplicitField<TSchema>): TreeFieldFromImplicitField<TSchema>;
|
|
1026
|
-
|
|
1062
|
+
on<K extends keyof TreeChangeEventsBeta<TNode>, TNode extends TreeNode>(node: TNode, eventName: K, listener: NoInfer<TreeChangeEventsBeta<TNode>[K]>): () => void;
|
|
1063
|
+
}
|
|
1064
|
+
|
|
1065
|
+
// @beta
|
|
1066
|
+
export const TreeBeta: TreeBeta;
|
|
1027
1067
|
|
|
1028
1068
|
// @alpha @sealed
|
|
1029
1069
|
export interface TreeBranch extends IDisposable {
|
|
@@ -1228,6 +1268,31 @@ const typeNameSymbol: unique symbol;
|
|
|
1228
1268
|
// @public @system
|
|
1229
1269
|
export const typeSchemaSymbol: unique symbol;
|
|
1230
1270
|
|
|
1271
|
+
// @alpha @system
|
|
1272
|
+
export type UnannotateAllowedType<T extends AnnotatedAllowedType> = T extends AnnotatedAllowedType<infer X> ? [X] : T;
|
|
1273
|
+
|
|
1274
|
+
// @alpha @system
|
|
1275
|
+
export type UnannotateAllowedTypeOrLazyItem<T extends AnnotatedAllowedType | LazyItem<TreeNodeSchema>> = T extends AnnotatedAllowedType<infer X> ? X : T;
|
|
1276
|
+
|
|
1277
|
+
// @alpha @system
|
|
1278
|
+
export type UnannotateAllowedTypes<T extends AnnotatedAllowedTypes> = UnannotateAllowedTypesList<T["types"]>;
|
|
1279
|
+
|
|
1280
|
+
// @alpha @system
|
|
1281
|
+
export type UnannotateAllowedTypesList<T extends readonly (AnnotatedAllowedType | LazyItem<TreeNodeSchema>)[]> = {
|
|
1282
|
+
[I in keyof T]: UnannotateAllowedTypeOrLazyItem<T[I]>;
|
|
1283
|
+
};
|
|
1284
|
+
|
|
1285
|
+
// @alpha @system
|
|
1286
|
+
export type UnannotateImplicitAllowedTypes<T extends ImplicitAnnotatedAllowedTypes> = T extends AnnotatedAllowedTypes ? UnannotateAllowedTypes<T> : T extends AnnotatedAllowedType ? UnannotateAllowedType<T> : T extends readonly (AnnotatedAllowedType | LazyItem<TreeNodeSchema>)[] ? UnannotateAllowedTypesList<T> : T extends TreeNodeSchema ? T : never;
|
|
1287
|
+
|
|
1288
|
+
// @alpha @system
|
|
1289
|
+
export type UnannotateImplicitFieldSchema<T extends ImplicitAnnotatedFieldSchema> = T extends ImplicitAnnotatedAllowedTypes ? UnannotateImplicitAllowedTypes<T> : T;
|
|
1290
|
+
|
|
1291
|
+
// @alpha @system
|
|
1292
|
+
export type UnannotateSchemaRecord<T extends RestrictiveStringRecord<ImplicitAnnotatedFieldSchema>> = {
|
|
1293
|
+
readonly [P in Extract<keyof T, string>]: UnannotateImplicitFieldSchema<T[P]>;
|
|
1294
|
+
};
|
|
1295
|
+
|
|
1231
1296
|
// @public
|
|
1232
1297
|
export type Unenforced<_DesiredExtendsConstraint> = unknown;
|
|
1233
1298
|
|
|
@@ -1247,15 +1312,20 @@ export const UnsafeUnknownSchema: unique symbol;
|
|
|
1247
1312
|
export type UnsafeUnknownSchema = typeof UnsafeUnknownSchema;
|
|
1248
1313
|
|
|
1249
1314
|
// @public
|
|
1250
|
-
export type ValidateRecursiveSchema<T extends
|
|
1315
|
+
export type ValidateRecursiveSchema<T extends ValidateRecursiveSchemaTemplate<T>> = true;
|
|
1316
|
+
|
|
1317
|
+
// @public @system
|
|
1318
|
+
export type ValidateRecursiveSchemaTemplate<T extends TreeNodeSchema> = TreeNodeSchema<string, NodeKind.Array | NodeKind.Map | NodeKind.Object, TreeNode & WithType<T["identifier"], T["kind"]>, {
|
|
1251
1319
|
[NodeKind.Object]: T["info"] extends RestrictiveStringRecord<ImplicitFieldSchema> ? InsertableObjectFromSchemaRecord<T["info"]> : unknown;
|
|
1252
1320
|
[NodeKind.Array]: T["info"] extends ImplicitAllowedTypes ? Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T["info"]>> : unknown;
|
|
1253
1321
|
[NodeKind.Map]: T["info"] extends ImplicitAllowedTypes ? Iterable<[string, InsertableTreeNodeFromImplicitAllowedTypes<T["info"]>]> : unknown;
|
|
1322
|
+
[NodeKind.Leaf]: unknown;
|
|
1254
1323
|
}[T["kind"]], false, {
|
|
1255
1324
|
[NodeKind.Object]: RestrictiveStringRecord<ImplicitFieldSchema>;
|
|
1256
1325
|
[NodeKind.Array]: ImplicitAllowedTypes;
|
|
1257
1326
|
[NodeKind.Map]: ImplicitAllowedTypes;
|
|
1258
|
-
|
|
1327
|
+
[NodeKind.Leaf]: unknown;
|
|
1328
|
+
}[T["kind"]]>;
|
|
1259
1329
|
|
|
1260
1330
|
// @alpha
|
|
1261
1331
|
export enum ValueSchema {
|
|
@@ -40,7 +40,9 @@ interface DefaultProvider extends ErasedType<"@fluidframework/tree.FieldProvider
|
|
|
40
40
|
type ExtractItemType<Item extends LazyItem> = Item extends () => infer Result ? Result : Item;
|
|
41
41
|
|
|
42
42
|
// @public @system
|
|
43
|
-
type FieldHasDefault<T extends ImplicitFieldSchema> = T extends
|
|
43
|
+
type FieldHasDefault<T extends ImplicitFieldSchema> = [T] extends [
|
|
44
|
+
FieldSchema<FieldKind.Optional | FieldKind.Identifier>
|
|
45
|
+
] ? true : false;
|
|
44
46
|
|
|
45
47
|
// @public
|
|
46
48
|
export enum FieldKind {
|
|
@@ -113,12 +115,9 @@ type InsertableObjectFromSchemaRecord<T extends RestrictiveStringRecord<Implicit
|
|
|
113
115
|
export type InsertableTreeFieldFromImplicitField<TSchemaInput extends ImplicitFieldSchema, TSchema = UnionToIntersection<TSchemaInput>> = [TSchema] extends [FieldSchema<infer Kind, infer Types>] ? ApplyKindInput<InsertableTreeNodeFromImplicitAllowedTypes<Types>, Kind, true> : [TSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TSchema> : never;
|
|
114
116
|
|
|
115
117
|
// @public @system
|
|
116
|
-
export type InsertableTreeNodeFromAllowedTypes<TList extends AllowedTypes> =
|
|
117
|
-
readonly [
|
|
118
|
-
|
|
119
|
-
...infer Rest extends AllowedTypes
|
|
120
|
-
]
|
|
121
|
-
] ? InsertableTypedNode<TSchema> | InsertableTreeNodeFromAllowedTypes<Rest> : never;
|
|
118
|
+
export type InsertableTreeNodeFromAllowedTypes<TList extends AllowedTypes> = IsUnion<TList> extends true ? never : {
|
|
119
|
+
readonly [Property in keyof TList]: TList[Property] extends LazyItem<infer TSchema extends TreeNodeSchema> ? InsertableTypedNode<TSchema> : never;
|
|
120
|
+
}[number];
|
|
122
121
|
|
|
123
122
|
// @public
|
|
124
123
|
export type InsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes> = [
|
|
@@ -146,8 +145,7 @@ declare namespace InternalTypes {
|
|
|
146
145
|
InsertableObjectFromSchemaRecord,
|
|
147
146
|
FlexList,
|
|
148
147
|
FlexListToUnion,
|
|
149
|
-
ExtractItemType
|
|
150
|
-
TreeApi
|
|
148
|
+
ExtractItemType
|
|
151
149
|
}
|
|
152
150
|
}
|
|
153
151
|
export { InternalTypes }
|
|
@@ -155,6 +153,9 @@ export { InternalTypes }
|
|
|
155
153
|
// @public @deprecated
|
|
156
154
|
export type IsListener<T> = IsListener_2<T>;
|
|
157
155
|
|
|
156
|
+
// @public @system
|
|
157
|
+
export type IsUnion<T, T2 = T> = T extends unknown ? [T2] extends [T] ? false : true : "error";
|
|
158
|
+
|
|
158
159
|
// @public @sealed
|
|
159
160
|
export class IterableTreeArrayContent<T> implements Iterable<T> {
|
|
160
161
|
[Symbol.iterator](): Iterator<T>;
|
|
@@ -401,14 +402,9 @@ export namespace System_Unsafe {
|
|
|
401
402
|
// @system
|
|
402
403
|
export type InsertableTreeFieldFromImplicitFieldUnsafe<TSchemaInput extends ImplicitFieldSchemaUnsafe, TSchema = UnionToIntersection<TSchemaInput>> = [TSchema] extends [FieldSchemaUnsafe<infer Kind, infer Types>] ? ApplyKindInput<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind, true> : [TSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : never;
|
|
403
404
|
// @system
|
|
404
|
-
export type InsertableTreeNodeFromAllowedTypesUnsafe<TList extends AllowedTypesUnsafe> =
|
|
405
|
-
|
|
406
|
-
]
|
|
407
|
-
readonly [
|
|
408
|
-
LazyItem<infer TSchema extends TreeNodeSchemaUnsafe>,
|
|
409
|
-
...infer Rest extends AllowedTypesUnsafe
|
|
410
|
-
]
|
|
411
|
-
] ? InsertableTypedNodeUnsafe<TSchema> | InsertableTreeNodeFromAllowedTypesUnsafe<Rest> : never;
|
|
405
|
+
export type InsertableTreeNodeFromAllowedTypesUnsafe<TList extends AllowedTypesUnsafe> = IsUnion<TList> extends true ? never : {
|
|
406
|
+
readonly [Property in keyof TList]: TList[Property] extends LazyItem<infer TSchema extends TreeNodeSchemaUnsafe> ? InsertableTypedNodeUnsafe<TSchema> : never;
|
|
407
|
+
}[number];
|
|
412
408
|
// @system
|
|
413
409
|
export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends ImplicitAllowedTypesUnsafe> = [TSchema] extends [TreeNodeSchemaUnsafe] ? InsertableTypedNodeUnsafe<TSchema> : [TSchema] extends [AllowedTypesUnsafe] ? InsertableTreeNodeFromAllowedTypesUnsafe<TSchema> : never;
|
|
414
410
|
// @system
|
|
@@ -467,15 +463,15 @@ export namespace System_Unsafe {
|
|
|
467
463
|
// @public
|
|
468
464
|
export type TransactionConstraint = NodeInDocumentConstraint;
|
|
469
465
|
|
|
470
|
-
// @public
|
|
471
|
-
export const Tree: TreeApi;
|
|
472
|
-
|
|
473
466
|
// @public @sealed @system
|
|
474
|
-
interface
|
|
467
|
+
export interface Tree extends TreeNodeApi {
|
|
475
468
|
contains(node: TreeNode, other: TreeNode): boolean;
|
|
476
469
|
readonly runTransaction: RunTransaction;
|
|
477
470
|
}
|
|
478
471
|
|
|
472
|
+
// @public
|
|
473
|
+
export const Tree: Tree;
|
|
474
|
+
|
|
479
475
|
// @public @sealed
|
|
480
476
|
export interface TreeArrayNode<TAllowedTypes extends System_Unsafe.ImplicitAllowedTypesUnsafe = ImplicitAllowedTypes, out T = [TAllowedTypes] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TAllowedTypes> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, in TNew = [TAllowedTypes] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TAllowedTypes> : InsertableTreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, in TMoveFrom = ReadonlyArrayNode> extends ReadonlyArrayNode<T> {
|
|
481
477
|
insertAt(index: number, ...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
@@ -503,11 +499,14 @@ export const TreeArrayNode: {
|
|
|
503
499
|
readonly spread: <T>(content: Iterable<T>) => IterableTreeArrayContent<T>;
|
|
504
500
|
};
|
|
505
501
|
|
|
506
|
-
// @beta @sealed
|
|
507
|
-
export
|
|
508
|
-
on<K extends keyof TreeChangeEventsBeta<TNode>, TNode extends TreeNode>(node: TNode, eventName: K, listener: NoInfer<TreeChangeEventsBeta<TNode>[K]>): () => void;
|
|
502
|
+
// @beta @sealed @system
|
|
503
|
+
export interface TreeBeta {
|
|
509
504
|
clone<const TSchema extends ImplicitFieldSchema>(node: TreeFieldFromImplicitField<TSchema>): TreeFieldFromImplicitField<TSchema>;
|
|
510
|
-
|
|
505
|
+
on<K extends keyof TreeChangeEventsBeta<TNode>, TNode extends TreeNode>(node: TNode, eventName: K, listener: NoInfer<TreeChangeEventsBeta<TNode>[K]>): () => void;
|
|
506
|
+
}
|
|
507
|
+
|
|
508
|
+
// @beta
|
|
509
|
+
export const TreeBeta: TreeBeta;
|
|
511
510
|
|
|
512
511
|
// @public @sealed
|
|
513
512
|
export interface TreeChangeEvents {
|
|
@@ -643,15 +642,20 @@ export type Unhydrated<T> = T;
|
|
|
643
642
|
export type UnionToIntersection<T> = (T extends T ? (k: T) => unknown : never) extends (k: infer U) => unknown ? U : never;
|
|
644
643
|
|
|
645
644
|
// @public
|
|
646
|
-
export type ValidateRecursiveSchema<T extends
|
|
645
|
+
export type ValidateRecursiveSchema<T extends ValidateRecursiveSchemaTemplate<T>> = true;
|
|
646
|
+
|
|
647
|
+
// @public @system
|
|
648
|
+
export type ValidateRecursiveSchemaTemplate<T extends TreeNodeSchema> = TreeNodeSchema<string, NodeKind.Array | NodeKind.Map | NodeKind.Object, TreeNode & WithType<T["identifier"], T["kind"]>, {
|
|
647
649
|
[NodeKind.Object]: T["info"] extends RestrictiveStringRecord<ImplicitFieldSchema> ? InsertableObjectFromSchemaRecord<T["info"]> : unknown;
|
|
648
650
|
[NodeKind.Array]: T["info"] extends ImplicitAllowedTypes ? Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T["info"]>> : unknown;
|
|
649
651
|
[NodeKind.Map]: T["info"] extends ImplicitAllowedTypes ? Iterable<[string, InsertableTreeNodeFromImplicitAllowedTypes<T["info"]>]> : unknown;
|
|
652
|
+
[NodeKind.Leaf]: unknown;
|
|
650
653
|
}[T["kind"]], false, {
|
|
651
654
|
[NodeKind.Object]: RestrictiveStringRecord<ImplicitFieldSchema>;
|
|
652
655
|
[NodeKind.Array]: ImplicitAllowedTypes;
|
|
653
656
|
[NodeKind.Map]: ImplicitAllowedTypes;
|
|
654
|
-
|
|
657
|
+
[NodeKind.Leaf]: unknown;
|
|
658
|
+
}[T["kind"]]>;
|
|
655
659
|
|
|
656
660
|
// @public @sealed @system
|
|
657
661
|
export interface ViewableTree {
|
|
@@ -40,7 +40,9 @@ interface DefaultProvider extends ErasedType<"@fluidframework/tree.FieldProvider
|
|
|
40
40
|
type ExtractItemType<Item extends LazyItem> = Item extends () => infer Result ? Result : Item;
|
|
41
41
|
|
|
42
42
|
// @public @system
|
|
43
|
-
type FieldHasDefault<T extends ImplicitFieldSchema> = T extends
|
|
43
|
+
type FieldHasDefault<T extends ImplicitFieldSchema> = [T] extends [
|
|
44
|
+
FieldSchema<FieldKind.Optional | FieldKind.Identifier>
|
|
45
|
+
] ? true : false;
|
|
44
46
|
|
|
45
47
|
// @public
|
|
46
48
|
export enum FieldKind {
|
|
@@ -113,12 +115,9 @@ type InsertableObjectFromSchemaRecord<T extends RestrictiveStringRecord<Implicit
|
|
|
113
115
|
export type InsertableTreeFieldFromImplicitField<TSchemaInput extends ImplicitFieldSchema, TSchema = UnionToIntersection<TSchemaInput>> = [TSchema] extends [FieldSchema<infer Kind, infer Types>] ? ApplyKindInput<InsertableTreeNodeFromImplicitAllowedTypes<Types>, Kind, true> : [TSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TSchema> : never;
|
|
114
116
|
|
|
115
117
|
// @public @system
|
|
116
|
-
export type InsertableTreeNodeFromAllowedTypes<TList extends AllowedTypes> =
|
|
117
|
-
readonly [
|
|
118
|
-
|
|
119
|
-
...infer Rest extends AllowedTypes
|
|
120
|
-
]
|
|
121
|
-
] ? InsertableTypedNode<TSchema> | InsertableTreeNodeFromAllowedTypes<Rest> : never;
|
|
118
|
+
export type InsertableTreeNodeFromAllowedTypes<TList extends AllowedTypes> = IsUnion<TList> extends true ? never : {
|
|
119
|
+
readonly [Property in keyof TList]: TList[Property] extends LazyItem<infer TSchema extends TreeNodeSchema> ? InsertableTypedNode<TSchema> : never;
|
|
120
|
+
}[number];
|
|
122
121
|
|
|
123
122
|
// @public
|
|
124
123
|
export type InsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes> = [
|
|
@@ -146,8 +145,7 @@ declare namespace InternalTypes {
|
|
|
146
145
|
InsertableObjectFromSchemaRecord,
|
|
147
146
|
FlexList,
|
|
148
147
|
FlexListToUnion,
|
|
149
|
-
ExtractItemType
|
|
150
|
-
TreeApi
|
|
148
|
+
ExtractItemType
|
|
151
149
|
}
|
|
152
150
|
}
|
|
153
151
|
export { InternalTypes }
|
|
@@ -155,6 +153,9 @@ export { InternalTypes }
|
|
|
155
153
|
// @public @deprecated
|
|
156
154
|
export type IsListener<T> = IsListener_2<T>;
|
|
157
155
|
|
|
156
|
+
// @public @system
|
|
157
|
+
export type IsUnion<T, T2 = T> = T extends unknown ? [T2] extends [T] ? false : true : "error";
|
|
158
|
+
|
|
158
159
|
// @public @sealed
|
|
159
160
|
export class IterableTreeArrayContent<T> implements Iterable<T> {
|
|
160
161
|
[Symbol.iterator](): Iterator<T>;
|
|
@@ -405,14 +406,9 @@ export namespace System_Unsafe {
|
|
|
405
406
|
// @system
|
|
406
407
|
export type InsertableTreeFieldFromImplicitFieldUnsafe<TSchemaInput extends ImplicitFieldSchemaUnsafe, TSchema = UnionToIntersection<TSchemaInput>> = [TSchema] extends [FieldSchemaUnsafe<infer Kind, infer Types>] ? ApplyKindInput<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind, true> : [TSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : never;
|
|
407
408
|
// @system
|
|
408
|
-
export type InsertableTreeNodeFromAllowedTypesUnsafe<TList extends AllowedTypesUnsafe> =
|
|
409
|
-
|
|
410
|
-
]
|
|
411
|
-
readonly [
|
|
412
|
-
LazyItem<infer TSchema extends TreeNodeSchemaUnsafe>,
|
|
413
|
-
...infer Rest extends AllowedTypesUnsafe
|
|
414
|
-
]
|
|
415
|
-
] ? InsertableTypedNodeUnsafe<TSchema> | InsertableTreeNodeFromAllowedTypesUnsafe<Rest> : never;
|
|
409
|
+
export type InsertableTreeNodeFromAllowedTypesUnsafe<TList extends AllowedTypesUnsafe> = IsUnion<TList> extends true ? never : {
|
|
410
|
+
readonly [Property in keyof TList]: TList[Property] extends LazyItem<infer TSchema extends TreeNodeSchemaUnsafe> ? InsertableTypedNodeUnsafe<TSchema> : never;
|
|
411
|
+
}[number];
|
|
416
412
|
// @system
|
|
417
413
|
export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends ImplicitAllowedTypesUnsafe> = [TSchema] extends [TreeNodeSchemaUnsafe] ? InsertableTypedNodeUnsafe<TSchema> : [TSchema] extends [AllowedTypesUnsafe] ? InsertableTreeNodeFromAllowedTypesUnsafe<TSchema> : never;
|
|
418
414
|
// @system
|
|
@@ -471,15 +467,15 @@ export namespace System_Unsafe {
|
|
|
471
467
|
// @public
|
|
472
468
|
export type TransactionConstraint = NodeInDocumentConstraint;
|
|
473
469
|
|
|
474
|
-
// @public
|
|
475
|
-
export const Tree: TreeApi;
|
|
476
|
-
|
|
477
470
|
// @public @sealed @system
|
|
478
|
-
interface
|
|
471
|
+
export interface Tree extends TreeNodeApi {
|
|
479
472
|
contains(node: TreeNode, other: TreeNode): boolean;
|
|
480
473
|
readonly runTransaction: RunTransaction;
|
|
481
474
|
}
|
|
482
475
|
|
|
476
|
+
// @public
|
|
477
|
+
export const Tree: Tree;
|
|
478
|
+
|
|
483
479
|
// @public @sealed
|
|
484
480
|
export interface TreeArrayNode<TAllowedTypes extends System_Unsafe.ImplicitAllowedTypesUnsafe = ImplicitAllowedTypes, out T = [TAllowedTypes] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TAllowedTypes> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, in TNew = [TAllowedTypes] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TAllowedTypes> : InsertableTreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, in TMoveFrom = ReadonlyArrayNode> extends ReadonlyArrayNode<T> {
|
|
485
481
|
insertAt(index: number, ...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
@@ -636,15 +632,20 @@ export type Unhydrated<T> = T;
|
|
|
636
632
|
export type UnionToIntersection<T> = (T extends T ? (k: T) => unknown : never) extends (k: infer U) => unknown ? U : never;
|
|
637
633
|
|
|
638
634
|
// @public
|
|
639
|
-
export type ValidateRecursiveSchema<T extends
|
|
635
|
+
export type ValidateRecursiveSchema<T extends ValidateRecursiveSchemaTemplate<T>> = true;
|
|
636
|
+
|
|
637
|
+
// @public @system
|
|
638
|
+
export type ValidateRecursiveSchemaTemplate<T extends TreeNodeSchema> = TreeNodeSchema<string, NodeKind.Array | NodeKind.Map | NodeKind.Object, TreeNode & WithType<T["identifier"], T["kind"]>, {
|
|
640
639
|
[NodeKind.Object]: T["info"] extends RestrictiveStringRecord<ImplicitFieldSchema> ? InsertableObjectFromSchemaRecord<T["info"]> : unknown;
|
|
641
640
|
[NodeKind.Array]: T["info"] extends ImplicitAllowedTypes ? Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T["info"]>> : unknown;
|
|
642
641
|
[NodeKind.Map]: T["info"] extends ImplicitAllowedTypes ? Iterable<[string, InsertableTreeNodeFromImplicitAllowedTypes<T["info"]>]> : unknown;
|
|
642
|
+
[NodeKind.Leaf]: unknown;
|
|
643
643
|
}[T["kind"]], false, {
|
|
644
644
|
[NodeKind.Object]: RestrictiveStringRecord<ImplicitFieldSchema>;
|
|
645
645
|
[NodeKind.Array]: ImplicitAllowedTypes;
|
|
646
646
|
[NodeKind.Map]: ImplicitAllowedTypes;
|
|
647
|
-
|
|
647
|
+
[NodeKind.Leaf]: unknown;
|
|
648
|
+
}[T["kind"]]>;
|
|
648
649
|
|
|
649
650
|
// @public @sealed @system
|
|
650
651
|
export interface ViewableTree {
|