@aws-amplify/data-schema 1.1.3 → 1.1.5
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/dist/cjs/CustomOperation.js +46 -0
- package/dist/cjs/CustomOperation.js.map +1 -1
- package/dist/cjs/CustomType.js +32 -0
- package/dist/cjs/CustomType.js.map +1 -1
- package/dist/cjs/Handler.js +62 -0
- package/dist/cjs/Handler.js.map +1 -1
- package/dist/cjs/MappedTypes/{MapSecondaryIndexes.js → MapIndexes.js} +1 -1
- package/dist/cjs/MappedTypes/MapIndexes.js.map +1 -0
- package/dist/cjs/ModelRelationalField.js +82 -3
- package/dist/cjs/ModelRelationalField.js.map +1 -1
- package/dist/cjs/SchemaProcessor.js +3 -1
- package/dist/cjs/SchemaProcessor.js.map +1 -1
- package/dist/esm/Authorization.d.ts +2 -2
- package/dist/esm/CustomOperation.d.ts +46 -0
- package/dist/esm/CustomOperation.mjs +46 -0
- package/dist/esm/CustomOperation.mjs.map +1 -1
- package/dist/esm/CustomType.d.ts +32 -0
- package/dist/esm/CustomType.mjs +32 -0
- package/dist/esm/CustomType.mjs.map +1 -1
- package/dist/esm/Handler.d.ts +62 -0
- package/dist/esm/Handler.mjs +62 -0
- package/dist/esm/Handler.mjs.map +1 -1
- package/dist/esm/MappedTypes/ImplicitFieldInjector.d.ts +15 -5
- package/dist/esm/MappedTypes/{MapSecondaryIndexes.d.ts → MapIndexes.d.ts} +6 -0
- package/dist/esm/MappedTypes/MapIndexes.mjs +2 -0
- package/dist/esm/MappedTypes/MapIndexes.mjs.map +1 -0
- package/dist/esm/MappedTypes/ModelMetadata.d.ts +12 -5
- package/dist/esm/MappedTypes/ResolveFieldProperties.d.ts +3 -2
- package/dist/esm/ModelField.d.ts +1 -1
- package/dist/esm/ModelRelationalField.d.ts +83 -4
- package/dist/esm/ModelRelationalField.mjs +82 -3
- package/dist/esm/ModelRelationalField.mjs.map +1 -1
- package/dist/esm/ModelType.d.ts +22 -25
- package/dist/esm/RefType.d.ts +1 -1
- package/dist/esm/SchemaProcessor.mjs +3 -1
- package/dist/esm/SchemaProcessor.mjs.map +1 -1
- package/dist/esm/runtime/client/index.d.ts +26 -15
- package/dist/meta/cjs.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/CustomOperation.ts +46 -0
- package/src/CustomType.ts +32 -0
- package/src/Handler.ts +62 -0
- package/src/MappedTypes/ImplicitFieldInjector.ts +22 -14
- package/src/MappedTypes/{MapSecondaryIndexes.ts → MapIndexes.ts} +16 -0
- package/src/MappedTypes/ModelMetadata.ts +17 -12
- package/src/MappedTypes/ResolveFieldProperties.ts +3 -2
- package/src/ModelField.ts +1 -1
- package/src/ModelRelationalField.ts +83 -4
- package/src/ModelType.ts +45 -46
- package/src/RefType.ts +1 -1
- package/src/SchemaProcessor.ts +5 -3
- package/src/runtime/client/index.ts +52 -25
- package/dist/cjs/MappedTypes/MapSecondaryIndexes.js.map +0 -1
- package/dist/esm/MappedTypes/MapSecondaryIndexes.mjs +0 -2
- package/dist/esm/MappedTypes/MapSecondaryIndexes.mjs.map +0 -1
|
@@ -271,9 +271,12 @@ export type SelectionSet<
|
|
|
271
271
|
// #endregion
|
|
272
272
|
|
|
273
273
|
// #region Input mapped types
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
274
|
+
|
|
275
|
+
export type ModelIdentifier<ModelMeta extends ModelMetaShape> =
|
|
276
|
+
ModelMeta['identifier']['pk'] &
|
|
277
|
+
(ModelMeta['identifier']['sk'] extends never
|
|
278
|
+
? unknown // unknown collapses in an intersection
|
|
279
|
+
: ModelMeta['identifier']['sk']);
|
|
277
280
|
|
|
278
281
|
type IfEquals<X, Y, A = X, B = never> =
|
|
279
282
|
(<T>() => T extends X ? 1 : 2) extends <T>() => T extends Y ? 1 : 2 ? A : B;
|
|
@@ -306,7 +309,7 @@ type MutationInput<
|
|
|
306
309
|
*/
|
|
307
310
|
type CreateModelInput<
|
|
308
311
|
Model extends Record<string, unknown>,
|
|
309
|
-
ModelMeta extends
|
|
312
|
+
ModelMeta extends ModelMetaShape,
|
|
310
313
|
> =
|
|
311
314
|
Equal<ModelIdentifier<ModelMeta>, { id: string }> extends true
|
|
312
315
|
? Partial<ModelIdentifier<ModelMeta>> & Omit<MutationInput<Model>, 'id'>
|
|
@@ -492,7 +495,7 @@ export type ModelSortDirection = 'ASC' | 'DESC';
|
|
|
492
495
|
|
|
493
496
|
type ModelMetaShape = {
|
|
494
497
|
secondaryIndexes: SecondaryIndexIrShape[];
|
|
495
|
-
identifier:
|
|
498
|
+
identifier: PrimaryIndexIrShape;
|
|
496
499
|
};
|
|
497
500
|
|
|
498
501
|
// TODO: remove export. added for debugging.
|
|
@@ -542,9 +545,8 @@ export type ModelTypesClient<
|
|
|
542
545
|
},
|
|
543
546
|
): SingularReturnValue<Prettify<ReturnValue<Model, FlatModel, SelectionSet>>>;
|
|
544
547
|
list<SelectionSet extends ReadonlyArray<ModelPath<FlatModel>> = never[]>(
|
|
545
|
-
options?:
|
|
548
|
+
options?: ListPkOptions<ModelMeta, Enums> & {
|
|
546
549
|
filter?: ModelFilter<Model>;
|
|
547
|
-
sortDirection?: ModelSortDirection;
|
|
548
550
|
limit?: number;
|
|
549
551
|
nextToken?: string | null;
|
|
550
552
|
selectionSet?: SelectionSet;
|
|
@@ -644,7 +646,7 @@ type ModelTypesSSRCookies<
|
|
|
644
646
|
},
|
|
645
647
|
): SingularReturnValue<Prettify<ReturnValue<Model, FlatModel, SelectionSet>>>;
|
|
646
648
|
list<SelectionSet extends ReadonlyArray<ModelPath<FlatModel>> = never[]>(
|
|
647
|
-
options?:
|
|
649
|
+
options?: ListPkOptions<ModelMeta, Enums> & {
|
|
648
650
|
filter?: ModelFilter<Model>;
|
|
649
651
|
sortDirection?: ModelSortDirection;
|
|
650
652
|
limit?: number;
|
|
@@ -709,7 +711,7 @@ type ModelTypesSSRRequest<
|
|
|
709
711
|
): SingularReturnValue<Prettify<ReturnValue<Model, FlatModel, SelectionSet>>>;
|
|
710
712
|
list<SelectionSet extends ReadonlyArray<ModelPath<FlatModel>> = never[]>(
|
|
711
713
|
contextSpec: any,
|
|
712
|
-
options?:
|
|
714
|
+
options?: ListPkOptions<ModelMeta, Enums> & {
|
|
713
715
|
filter?: ModelFilter<Model>;
|
|
714
716
|
sortDirection?: ModelSortDirection;
|
|
715
717
|
limit?: number;
|
|
@@ -883,14 +885,20 @@ export type CustomHeaders =
|
|
|
883
885
|
| ((requestOptions?: RequestOptions) => Promise<Record<string, string>>);
|
|
884
886
|
|
|
885
887
|
/**
|
|
886
|
-
*
|
|
888
|
+
* PrimaryIndex field types and query methods
|
|
889
|
+
*/
|
|
890
|
+
export interface PrimaryIndexIrShape {
|
|
891
|
+
pk: { [key: string]: string | number };
|
|
892
|
+
sk: { [key: string]: string | number } | never;
|
|
893
|
+
}
|
|
894
|
+
|
|
895
|
+
/**
|
|
896
|
+
* SecondaryIndex field types and query methods
|
|
887
897
|
*/
|
|
888
|
-
export
|
|
898
|
+
export interface SecondaryIndexIrShape extends PrimaryIndexIrShape {
|
|
889
899
|
defaultQueryFieldSuffix: string;
|
|
890
900
|
queryField: string;
|
|
891
|
-
|
|
892
|
-
sk: { [key: string]: string | number };
|
|
893
|
-
};
|
|
901
|
+
}
|
|
894
902
|
|
|
895
903
|
type IndexQueryMethodsFromIR<
|
|
896
904
|
SecondaryIdxTuple extends SecondaryIndexIrShape[],
|
|
@@ -911,6 +919,35 @@ type IndexQueryMethodsFromIR<
|
|
|
911
919
|
>
|
|
912
920
|
: Res;
|
|
913
921
|
|
|
922
|
+
type ListPkOptions<
|
|
923
|
+
ModelMeta extends ModelMetaShape,
|
|
924
|
+
Enums extends Record<string, string>,
|
|
925
|
+
> = ModelMeta['identifier']['sk'] extends never
|
|
926
|
+
? unknown
|
|
927
|
+
: Prettify<
|
|
928
|
+
Partial<IndexQueryInput<ModelMeta['identifier'], Enums>> & {
|
|
929
|
+
sortDirection?: ModelSortDirection;
|
|
930
|
+
}
|
|
931
|
+
>;
|
|
932
|
+
|
|
933
|
+
/**
|
|
934
|
+
* Accepts a PrimaryIndexIr or SecondaryIndexIr and returns resolved parameters
|
|
935
|
+
*/
|
|
936
|
+
type IndexQueryInput<
|
|
937
|
+
Idx extends PrimaryIndexIrShape,
|
|
938
|
+
Enums extends Record<string, string>,
|
|
939
|
+
> = {
|
|
940
|
+
[PKField in keyof Idx['pk']]: Idx['pk'][PKField] extends `${deferredRefResolvingPrefix}${infer R}`
|
|
941
|
+
? Enums[R]
|
|
942
|
+
: Idx['pk'][PKField];
|
|
943
|
+
} & {
|
|
944
|
+
[SKField in keyof Idx['sk']]+?: number extends Idx['sk'][SKField]
|
|
945
|
+
? NumericFilter
|
|
946
|
+
: Idx['sk'][SKField] extends `${deferredRefResolvingPrefix}${infer R}`
|
|
947
|
+
? StringFilter<Enums[R]>
|
|
948
|
+
: StringFilter<Idx['sk'][SKField] & string>;
|
|
949
|
+
};
|
|
950
|
+
|
|
914
951
|
type IndexQueryMethodSignature<
|
|
915
952
|
Idx extends SecondaryIndexIrShape,
|
|
916
953
|
ModelName extends string,
|
|
@@ -924,17 +961,7 @@ type IndexQueryMethodSignature<
|
|
|
924
961
|
FlatModel extends Record<string, unknown> = ResolvedModel<Model>,
|
|
925
962
|
SelectionSet extends ReadonlyArray<ModelPath<FlatModel>> = never[],
|
|
926
963
|
>(
|
|
927
|
-
input:
|
|
928
|
-
[PKField in keyof Idx['pk']]: Idx['pk'][PKField] extends `${deferredRefResolvingPrefix}${infer R}`
|
|
929
|
-
? Enums[R]
|
|
930
|
-
: Idx['pk'][PKField];
|
|
931
|
-
} & {
|
|
932
|
-
[SKField in keyof Idx['sk']]+?: number extends Idx['sk'][SKField]
|
|
933
|
-
? NumericFilter
|
|
934
|
-
: Idx['sk'][SKField] extends `${deferredRefResolvingPrefix}${infer R}`
|
|
935
|
-
? StringFilter<Enums[R]>
|
|
936
|
-
: StringFilter<Idx['sk'][SKField] & string>;
|
|
937
|
-
},
|
|
964
|
+
input: IndexQueryInput<Idx, Enums>,
|
|
938
965
|
options?: {
|
|
939
966
|
filter?: ModelFilter<Model>;
|
|
940
967
|
sortDirection?: ModelSortDirection;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MapSecondaryIndexes.js","sources":["../../../src/MappedTypes/MapSecondaryIndexes.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n"],"names":[],"mappings":";;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MapSecondaryIndexes.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|