ValidateRecursiveSchemaTemplate TypeAlias
Validation logic used by ValidateRecursiveSchema.
This API is reserved for internal system use and should not be imported directly. It may change at any time without notice.
For more information about our API support guarantees, see here.
Signature
export type ValidateRecursiveSchemaTemplate<T extends TreeNodeSchema> = TreeNodeSchema<string, NodeKind.Array | NodeKind.Map | NodeKind.Object, TreeNode & WithType<T["identifier"], T["kind"]>, {
[NodeKind.Object]: T["info"] extends RestrictiveStringRecord<ImplicitFieldSchema> ? InsertableObjectFromSchemaRecord<T["info"]> : unknown;
[NodeKind.Array]: T["info"] extends ImplicitAllowedTypes ? Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T["info"]>> : unknown;
[NodeKind.Map]: T["info"] extends ImplicitAllowedTypes ? Iterable<[string, InsertableTreeNodeFromImplicitAllowedTypes<T["info"]>]> : unknown;
[NodeKind.Leaf]: unknown;
}[T["kind"]], false, {
[NodeKind.Object]: RestrictiveStringRecord<ImplicitFieldSchema>;
[NodeKind.Array]: ImplicitAllowedTypes;
[NodeKind.Map]: ImplicitAllowedTypes;
[NodeKind.Leaf]: unknown;
}[T["kind"]]>;
Type Parameters
Parameter | Constraint | Description |
---|---|---|
T | TreeNodeSchema |