@aws-amplify/data-schema 0.16.1 → 0.16.2

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.
@@ -3,7 +3,7 @@ import type { NonModelTypesShape } from './ExtractNonModelTypes';
3
3
  import type { CustomOperation, CustomOperationParamShape } from '../CustomOperation';
4
4
  import type { ModelField } from '../ModelField';
5
5
  import type { RefType, RefTypeParamShape } from '../RefType';
6
- import type { ResolveCustomTypeFieldsRequirements, ResolveRefsOfCustomType, ResolveRefValueArrayTraits } from './ResolveFieldProperties';
6
+ import type { ResolveFieldRequirements, ResolveRefsOfCustomType, ResolveRefValueArrayTraits } from './ResolveFieldProperties';
7
7
  import type { AppSyncResolverHandler } from 'aws-lambda';
8
8
  import type { CustomType } from '../CustomType';
9
9
  import type { FieldTypesOfCustomType } from './ResolveSchema';
@@ -30,15 +30,15 @@ export type CustomOpShapes<Schema extends GenericModelSchema<any>> = {
30
30
  /**
31
31
  * Digs out custom operation arguments, mapped to the intended graphql types.
32
32
  */
33
- export type CustomOpArguments<Shape extends CustomOperationParamShape> = Shape['arguments'] extends null ? never : {
33
+ export type CustomOpArguments<Shape extends CustomOperationParamShape> = Shape['arguments'] extends null ? never : ResolveFieldRequirements<{
34
34
  [FieldName in keyof Shape['arguments']]: Shape['arguments'][FieldName] extends ModelField<infer R, any, any> ? R : never;
35
- };
35
+ }>;
36
36
  /**
37
37
  * Computes the return type from the `returnType` of a custom operation shape.
38
38
  *
39
39
  * This entails dereferencing refs and inferring graphql types from field-type defs.
40
40
  */
41
- export type CustomOpReturnType<Shape extends CustomOperationParamShape, FullyResolvedSchema extends Record<string, unknown>, NonModelTypes extends NonModelTypesShape, CustomOperations extends Record<string, CustomOperationParamShape>> = Shape['returnType'] extends RefType<infer RefShape, any, any> ? RefShape['link'] extends keyof CustomOperations ? CustomOpReturnType<CustomOperations[RefShape['link']], FullyResolvedSchema, NonModelTypes, CustomOperations> : ResolveRef<RefShape, FullyResolvedSchema, NonModelTypes, CustomOperations> : Shape['returnType'] extends ModelField<infer R, any, any> ? R : Shape['returnType'] extends CustomType<infer R> ? ResolveCustomTypeFieldsRequirements<FieldTypesOfCustomType<{
41
+ export type CustomOpReturnType<Shape extends CustomOperationParamShape, FullyResolvedSchema extends Record<string, unknown>, NonModelTypes extends NonModelTypesShape, CustomOperations extends Record<string, CustomOperationParamShape>> = Shape['returnType'] extends RefType<infer RefShape, any, any> ? RefShape['link'] extends keyof CustomOperations ? CustomOpReturnType<CustomOperations[RefShape['link']], FullyResolvedSchema, NonModelTypes, CustomOperations> : ResolveRef<RefShape, FullyResolvedSchema, NonModelTypes, CustomOperations> : Shape['returnType'] extends ModelField<infer R, any, any> ? R : Shape['returnType'] extends CustomType<infer R> ? ResolveFieldRequirements<FieldTypesOfCustomType<{
42
42
  thisCustomType: R['fields'];
43
43
  }>['thisCustomType']> | null : never;
44
44
  /**
@@ -28,8 +28,8 @@ export type ResolveRef<NonModelTypes extends NonModelTypesShape, Ref extends Ref
28
28
  export type ResolveRefValueArrayTraits<Ref extends RefTypeParamShape, Value> = Ref['array'] extends false ? Value : Ref['arrayRequired'] extends true ? Array<Value> : Array<Value> | null;
29
29
  export type ResolveRefsOfCustomType<NonModelTypes extends NonModelTypesShape, T> = {
30
30
  [Prop in keyof T]: T[Prop] extends RefType<infer R extends RefTypeParamShape, any, any> | null ? ResolveRef<NonModelTypes, R> : T[Prop];
31
- } extends infer Resolved ? ResolveCustomTypeFieldsRequirements<Resolved> : never;
32
- export type ResolveCustomTypeFieldsRequirements<Resolved> = Intersection<ExtractNullableFieldsToOptionalFields<Resolved>, ExtractNonNullableFieldsToRequiredFields<Resolved>>;
31
+ } extends infer Resolved ? ResolveFieldRequirements<Resolved> : never;
32
+ export type ResolveFieldRequirements<Resolved> = Intersection<ExtractNullableFieldsToOptionalFields<Resolved>, ExtractNonNullableFieldsToRequiredFields<Resolved>>;
33
33
  type ResolveModelsRelationalAndRefFields<Schema, NonModelTypes extends NonModelTypesShape, Flat extends boolean = false> = {
34
34
  [ModelProp in keyof Schema]: {
35
35
  [FieldProp in keyof Schema[ModelProp]]: Schema[ModelProp][FieldProp] extends RefType<infer R extends RefTypeParamShape, any, any> | null ? ResolveRef<NonModelTypes, R> : Schema[ModelProp][FieldProp] extends ModelRelationalFieldParamShape ? Schema[ModelProp][FieldProp]['relatedModel'] extends keyof Schema ? GetRelationshipRef<Schema, Schema[ModelProp][FieldProp]['relatedModel'], Schema[ModelProp][FieldProp], Flat> : never : Schema[ModelProp][FieldProp];