@aws-amplify/amplify-api-next-alpha
Advanced tools
Comparing version 0.7.0 to 0.7.1
@@ -24,5 +24,10 @@ import type { Authorization, ImpliedAuthFields } from './Authorization'; | ||
*/ | ||
export type ClientSchema<Schema extends ModelSchema<any>, FlattenedSchema = FieldTypes<ModelTypes<SchemaTypes<Schema>>>, IdentifierMeta = ModelMeta<SchemaTypes<Schema>>, FieldsWithInjectedModels = InjectImplicitModels<FlattenedSchema>, FieldsWithInjectedImplicitFields = InjectImplicitModelFields<FieldsWithInjectedModels, IdentifierMeta>, FieldsWithRelationships = ResolveRelationships<FieldsWithInjectedImplicitFields>, ResolvedFields extends Record<string, unknown> = Intersection<FilterFieldTypes<RequiredFieldTypes<FieldsWithRelationships>>, FilterFieldTypes<OptionalFieldTypes<FieldsWithRelationships>>, FilterFieldTypes<ModelImpliedAuthFields<Schema>>>, RelationshipMeta = ExtractRelationalMetadata<FlattenedSchema, ResolvedFields>, Meta = IdentifierMeta & RelationshipMeta> = Prettify<ResolvedFields & { | ||
export type ClientSchema<Schema extends ModelSchema<any>, FlattenedSchema = FieldTypes<ModelTypes<SchemaTypes<Schema>>>, ExplicitScalarFields = ExtractExplicitScalarFields<Schema>, IdentifierMeta = ModelMeta<SchemaTypes<Schema>>, FieldsWithInjectedModels = InjectImplicitModels<FlattenedSchema>, FieldsWithInjectedImplicitFields = InjectImplicitModelFields<FieldsWithInjectedModels, IdentifierMeta>, FieldsWithRelationships = ResolveRelationships<FieldsWithInjectedImplicitFields>, ResolvedFields extends Record<string, unknown> = Intersection<FilterFieldTypes<RequiredFieldTypes<FieldsWithRelationships>>, FilterFieldTypes<OptionalFieldTypes<FieldsWithRelationships>>, FilterFieldTypes<ModelImpliedAuthFields<Schema>>>, RelationshipMeta = ExtractRelationalMetadata<FlattenedSchema, ResolvedFields>, Meta = IdentifierMeta & RelationshipMeta & ExplicitScalarFields> = Prettify<ResolvedFields & { | ||
[__modelMeta__]: Meta; | ||
}>; | ||
type ExtractExplicitScalarFields<Schema extends ModelSchema<any>, Scalars = ScalarFieldTypes<ModelTypes<SchemaTypes<Schema>>>> = { | ||
[ModelName in keyof Scalars]: { | ||
explicitScalarTypes: Scalars[ModelName]; | ||
}; | ||
}; | ||
type ExtractRelationalMetadata<FlattenedSchema, ResolvedFields extends Record<string, unknown>> = UnionToIntersection<ExcludeEmpty<{ | ||
@@ -75,2 +80,7 @@ [ModelName in keyof FlattenedSchema]: { | ||
}; | ||
type ScalarFieldTypes<T> = { | ||
[ModelProp in keyof T]: { | ||
[FieldProp in keyof T[ModelProp] as T[ModelProp][FieldProp] extends ModelRelationalField<any, any> ? never : FieldProp]: T[ModelProp][FieldProp] extends ModelField<infer R, any, any> ? R : never; | ||
}; | ||
}; | ||
type FilterFieldTypes<Schema> = { | ||
@@ -77,0 +87,0 @@ [ModelProp in keyof Schema]: { |
{ | ||
"name": "@aws-amplify/amplify-api-next-alpha", | ||
"version": "0.7.0", | ||
"version": "0.7.1", | ||
"license": "Apache-2.0", | ||
@@ -5,0 +5,0 @@ "repository": { |
Sorry, the diff of this file is not supported yet
163734
1836