@aws-amplify/datastore 4.7.24 → 4.7.26

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.
Files changed (149) hide show
  1. package/lib/.tsbuildinfo +1 -3
  2. package/lib/authModeStrategies/defaultAuthStrategy.js +3 -1
  3. package/lib/authModeStrategies/defaultAuthStrategy.js.map +1 -1
  4. package/lib/authModeStrategies/index.js +3 -2
  5. package/lib/authModeStrategies/index.js.map +1 -1
  6. package/lib/authModeStrategies/multiAuthStrategy.js +33 -33
  7. package/lib/authModeStrategies/multiAuthStrategy.js.map +1 -1
  8. package/lib/datastore/datastore.d.ts +4 -4
  9. package/lib/datastore/datastore.js +139 -132
  10. package/lib/datastore/datastore.js.map +1 -1
  11. package/lib/datastore/loadGetRandomValues.js +3 -1
  12. package/lib/datastore/loadGetRandomValues.js.map +1 -1
  13. package/lib/datastore/loadGetRandomValues.native.js +3 -1
  14. package/lib/datastore/loadGetRandomValues.native.js.map +1 -1
  15. package/lib/index.d.ts +3 -3
  16. package/lib/index.js +10 -9
  17. package/lib/index.js.map +1 -1
  18. package/lib/predicates/index.js +8 -7
  19. package/lib/predicates/index.js.map +1 -1
  20. package/lib/predicates/next.d.ts +3 -3
  21. package/lib/predicates/next.js +53 -47
  22. package/lib/predicates/next.js.map +1 -1
  23. package/lib/predicates/sort.js +2 -1
  24. package/lib/predicates/sort.js.map +1 -1
  25. package/lib/ssr/index.js +2 -2
  26. package/lib/ssr/index.js.map +1 -1
  27. package/lib/storage/adapter/AsyncStorageAdapter.js +110 -83
  28. package/lib/storage/adapter/AsyncStorageAdapter.js.map +1 -1
  29. package/lib/storage/adapter/AsyncStorageDatabase.js +7 -7
  30. package/lib/storage/adapter/AsyncStorageDatabase.js.map +1 -1
  31. package/lib/storage/adapter/InMemoryStore.js +2 -1
  32. package/lib/storage/adapter/InMemoryStore.js.map +1 -1
  33. package/lib/storage/adapter/InMemoryStore.native.js +1 -1
  34. package/lib/storage/adapter/InMemoryStore.native.js.map +1 -1
  35. package/lib/storage/adapter/IndexedDBAdapter.js +152 -126
  36. package/lib/storage/adapter/IndexedDBAdapter.js.map +1 -1
  37. package/lib/storage/adapter/StorageAdapterBase.js +62 -53
  38. package/lib/storage/adapter/StorageAdapterBase.js.map +1 -1
  39. package/lib/storage/adapter/getDefaultAdapter/index.js +2 -2
  40. package/lib/storage/adapter/getDefaultAdapter/index.js.map +1 -1
  41. package/lib/storage/relationship.d.ts +4 -4
  42. package/lib/storage/relationship.js +19 -18
  43. package/lib/storage/relationship.js.map +1 -1
  44. package/lib/storage/storage.d.ts +3 -3
  45. package/lib/storage/storage.js +22 -24
  46. package/lib/storage/storage.js.map +1 -1
  47. package/lib/sync/datastoreConnectivity.d.ts +1 -1
  48. package/lib/sync/datastoreConnectivity.js.map +1 -1
  49. package/lib/sync/datastoreReachability/index.js +1 -0
  50. package/lib/sync/datastoreReachability/index.js.map +1 -1
  51. package/lib/sync/datastoreReachability/index.native.js +1 -0
  52. package/lib/sync/datastoreReachability/index.native.js.map +1 -1
  53. package/lib/sync/index.d.ts +1 -1
  54. package/lib/sync/index.js +402 -408
  55. package/lib/sync/index.js.map +1 -1
  56. package/lib/sync/merger.js +3 -2
  57. package/lib/sync/merger.js.map +1 -1
  58. package/lib/sync/outbox.js +5 -6
  59. package/lib/sync/outbox.js.map +1 -1
  60. package/lib/sync/processors/errorMaps.d.ts +1 -1
  61. package/lib/sync/processors/errorMaps.js +8 -7
  62. package/lib/sync/processors/errorMaps.js.map +1 -1
  63. package/lib/sync/processors/mutation.d.ts +1 -1
  64. package/lib/sync/processors/mutation.js +52 -50
  65. package/lib/sync/processors/mutation.js.map +1 -1
  66. package/lib/sync/processors/subscription.d.ts +4 -1
  67. package/lib/sync/processors/subscription.js +36 -32
  68. package/lib/sync/processors/subscription.js.map +1 -1
  69. package/lib/sync/processors/sync.d.ts +1 -1
  70. package/lib/sync/processors/sync.js +28 -27
  71. package/lib/sync/processors/sync.js.map +1 -1
  72. package/lib/sync/utils.js +96 -95
  73. package/lib/sync/utils.js.map +1 -1
  74. package/lib/types.d.ts +139 -133
  75. package/lib/types.js +30 -29
  76. package/lib/types.js.map +1 -1
  77. package/lib/util.d.ts +12 -20
  78. package/lib/util.js +115 -80
  79. package/lib/util.js.map +1 -1
  80. package/lib-esm/.tsbuildinfo +1 -3
  81. package/lib-esm/authModeStrategies/multiAuthStrategy.js +31 -33
  82. package/lib-esm/authModeStrategies/multiAuthStrategy.js.map +1 -1
  83. package/lib-esm/datastore/datastore.d.ts +4 -4
  84. package/lib-esm/datastore/datastore.js +62 -57
  85. package/lib-esm/datastore/datastore.js.map +1 -1
  86. package/lib-esm/datastore/loadGetRandomValues.native.js.map +1 -1
  87. package/lib-esm/index.d.ts +3 -3
  88. package/lib-esm/predicates/index.js +4 -4
  89. package/lib-esm/predicates/index.js.map +1 -1
  90. package/lib-esm/predicates/next.d.ts +3 -3
  91. package/lib-esm/predicates/next.js +45 -41
  92. package/lib-esm/predicates/next.js.map +1 -1
  93. package/lib-esm/predicates/sort.js +1 -1
  94. package/lib-esm/predicates/sort.js.map +1 -1
  95. package/lib-esm/ssr/index.js.map +1 -1
  96. package/lib-esm/storage/adapter/AsyncStorageAdapter.js +103 -77
  97. package/lib-esm/storage/adapter/AsyncStorageAdapter.js.map +1 -1
  98. package/lib-esm/storage/adapter/AsyncStorageDatabase.js +4 -4
  99. package/lib-esm/storage/adapter/AsyncStorageDatabase.js.map +1 -1
  100. package/lib-esm/storage/adapter/InMemoryStore.js.map +1 -1
  101. package/lib-esm/storage/adapter/IndexedDBAdapter.js +142 -116
  102. package/lib-esm/storage/adapter/IndexedDBAdapter.js.map +1 -1
  103. package/lib-esm/storage/adapter/StorageAdapterBase.js +47 -39
  104. package/lib-esm/storage/adapter/StorageAdapterBase.js.map +1 -1
  105. package/lib-esm/storage/adapter/getDefaultAdapter/index.js.map +1 -1
  106. package/lib-esm/storage/adapter/index.js +1 -0
  107. package/lib-esm/storage/relationship.d.ts +4 -4
  108. package/lib-esm/storage/relationship.js +17 -17
  109. package/lib-esm/storage/relationship.js.map +1 -1
  110. package/lib-esm/storage/storage.d.ts +3 -3
  111. package/lib-esm/storage/storage.js +10 -13
  112. package/lib-esm/storage/storage.js.map +1 -1
  113. package/lib-esm/sync/datastoreConnectivity.d.ts +1 -1
  114. package/lib-esm/sync/datastoreConnectivity.js.map +1 -1
  115. package/lib-esm/sync/index.d.ts +1 -1
  116. package/lib-esm/sync/index.js +400 -407
  117. package/lib-esm/sync/index.js.map +1 -1
  118. package/lib-esm/sync/merger.js +2 -2
  119. package/lib-esm/sync/merger.js.map +1 -1
  120. package/lib-esm/sync/outbox.js +1 -3
  121. package/lib-esm/sync/outbox.js.map +1 -1
  122. package/lib-esm/sync/processors/errorMaps.d.ts +1 -1
  123. package/lib-esm/sync/processors/errorMaps.js +4 -4
  124. package/lib-esm/sync/processors/errorMaps.js.map +1 -1
  125. package/lib-esm/sync/processors/mutation.d.ts +1 -1
  126. package/lib-esm/sync/processors/mutation.js +35 -35
  127. package/lib-esm/sync/processors/mutation.js.map +1 -1
  128. package/lib-esm/sync/processors/subscription.d.ts +4 -1
  129. package/lib-esm/sync/processors/subscription.js +24 -21
  130. package/lib-esm/sync/processors/subscription.js.map +1 -1
  131. package/lib-esm/sync/processors/sync.d.ts +1 -1
  132. package/lib-esm/sync/processors/sync.js +17 -17
  133. package/lib-esm/sync/processors/sync.js.map +1 -1
  134. package/lib-esm/sync/utils.js +62 -62
  135. package/lib-esm/sync/utils.js.map +1 -1
  136. package/lib-esm/types.d.ts +139 -133
  137. package/lib-esm/types.js.map +1 -1
  138. package/lib-esm/util.d.ts +12 -20
  139. package/lib-esm/util.js +9 -9
  140. package/lib-esm/util.js.map +1 -1
  141. package/package.json +31 -28
  142. package/src/predicates/next.ts +1 -1
  143. package/src/predicates/sort.ts +3 -1
  144. package/src/storage/adapter/StorageAdapterBase.ts +2 -2
  145. package/src/storage/relationship.ts +9 -4
  146. package/src/sync/processors/subscription.ts +1 -1
  147. package/src/sync/processors/sync.ts +1 -1
  148. package/src/types.ts +2 -2
  149. package/src/util.ts +1 -1
@@ -6,12 +6,12 @@ import { Auth } from '@aws-amplify/auth';
6
6
  import { InternalAPI } from '@aws-amplify/api/internals';
7
7
  import { Cache } from '@aws-amplify/cache';
8
8
  import { Adapter } from './storage/adapter';
9
- export declare type Scalar<T> = T extends Array<infer InnerType> ? InnerType : T;
10
- export declare type Schema = UserSchema & {
9
+ export type Scalar<T> = T extends Array<infer InnerType> ? InnerType : T;
10
+ export type Schema = UserSchema & {
11
11
  version: string;
12
12
  codegenVersion: string;
13
13
  };
14
- export declare type UserSchema = {
14
+ export type UserSchema = {
15
15
  models: SchemaModels;
16
16
  nonModels?: SchemaNonModels;
17
17
  relationships?: RelationshipType;
@@ -19,17 +19,17 @@ export declare type UserSchema = {
19
19
  enums: SchemaEnums;
20
20
  modelTopologicalOrdering?: Map<string, string[]>;
21
21
  };
22
- export declare type InternalSchema = {
22
+ export type InternalSchema = {
23
23
  namespaces: SchemaNamespaces;
24
24
  version: string;
25
25
  codegenVersion: string;
26
26
  };
27
- export declare type SchemaNamespaces = Record<string, SchemaNamespace>;
28
- export declare type SchemaNamespace = UserSchema & {
27
+ export type SchemaNamespaces = Record<string, SchemaNamespace>;
28
+ export type SchemaNamespace = UserSchema & {
29
29
  name: string;
30
30
  };
31
- export declare type SchemaModels = Record<string, SchemaModel>;
32
- export declare type SchemaModel = {
31
+ export type SchemaModels = Record<string, SchemaModel>;
32
+ export type SchemaModel = {
33
33
  name: string;
34
34
  pluralName: string;
35
35
  attributes?: ModelAttributes;
@@ -45,45 +45,45 @@ export declare type SchemaModel = {
45
45
  };
46
46
  export declare function isSchemaModel(obj: any): obj is SchemaModel;
47
47
  export declare function isSchemaModelWithAttributes(m: SchemaModel | SchemaNonModel): m is SchemaModel;
48
- export declare type SchemaNonModels = Record<string, SchemaNonModel>;
49
- export declare type SchemaNonModel = {
48
+ export type SchemaNonModels = Record<string, SchemaNonModel>;
49
+ export type SchemaNonModel = {
50
50
  name: string;
51
51
  fields: ModelFields;
52
52
  };
53
- declare type SchemaEnums = Record<string, SchemaEnum>;
54
- declare type SchemaEnum = {
53
+ type SchemaEnums = Record<string, SchemaEnum>;
54
+ type SchemaEnum = {
55
55
  name: string;
56
56
  values: string[];
57
57
  };
58
- export declare type ModelMeta<T extends PersistentModel> = {
58
+ export type ModelMeta<T extends PersistentModel> = {
59
59
  builder: PersistentModelConstructor<T>;
60
60
  schema: SchemaModel;
61
61
  pkField: string[];
62
62
  };
63
- export declare type ModelAssociation = AssociatedWith | TargetNameAssociation;
64
- declare type AssociatedWith = {
63
+ export type ModelAssociation = AssociatedWith | TargetNameAssociation;
64
+ type AssociatedWith = {
65
65
  connectionType: 'HAS_MANY' | 'HAS_ONE';
66
66
  associatedWith: string | string[];
67
67
  targetName?: string;
68
68
  targetNames?: string[];
69
69
  };
70
70
  export declare function isAssociatedWith(obj: any): obj is AssociatedWith;
71
- declare type TargetNameAssociation = {
71
+ type TargetNameAssociation = {
72
72
  connectionType: 'BELONGS_TO';
73
73
  targetName?: string;
74
74
  targetNames?: string[];
75
75
  };
76
76
  export declare function isTargetNameAssociation(obj: any): obj is TargetNameAssociation;
77
- declare type FieldAssociation = {
77
+ type FieldAssociation = {
78
78
  connectionType: 'HAS_ONE' | 'BELONGS_TO' | 'HAS_MANY';
79
79
  };
80
80
  export declare function isFieldAssociation(obj: any, fieldName: string): obj is FieldAssociation;
81
- export declare type ModelAttributes = ModelAttribute[];
82
- export declare type ModelAttribute = {
81
+ export type ModelAttributes = ModelAttribute[];
82
+ export type ModelAttribute = {
83
83
  type: string;
84
84
  properties?: Record<string, any>;
85
85
  };
86
- export declare type ModelAuthRule = {
86
+ export type ModelAuthRule = {
87
87
  allow: string;
88
88
  provider?: string;
89
89
  operations?: string[];
@@ -93,28 +93,28 @@ export declare type ModelAuthRule = {
93
93
  groupClaim?: string;
94
94
  groupsField?: string;
95
95
  };
96
- export declare type ModelAttributeAuth = {
96
+ export type ModelAttributeAuth = {
97
97
  type: 'auth';
98
98
  properties: {
99
99
  rules: ModelAuthRule[];
100
100
  };
101
101
  };
102
102
  export declare function isModelAttributeAuth(attr: ModelAttribute): attr is ModelAttributeAuth;
103
- declare type ModelAttributeKey = {
103
+ type ModelAttributeKey = {
104
104
  type: 'key';
105
105
  properties: {
106
106
  name?: string;
107
107
  fields: string[];
108
108
  };
109
109
  };
110
- declare type ModelAttributePrimaryKey = {
110
+ type ModelAttributePrimaryKey = {
111
111
  type: 'key';
112
112
  properties: {
113
113
  name: never;
114
114
  fields: string[];
115
115
  };
116
116
  };
117
- declare type ModelAttributeCompositeKey = {
117
+ type ModelAttributeCompositeKey = {
118
118
  type: 'key';
119
119
  properties: {
120
120
  name: string;
@@ -124,7 +124,7 @@ declare type ModelAttributeCompositeKey = {
124
124
  export declare function isModelAttributeKey(attr: ModelAttribute): attr is ModelAttributeKey;
125
125
  export declare function isModelAttributePrimaryKey(attr: ModelAttribute): attr is ModelAttributePrimaryKey;
126
126
  export declare function isModelAttributeCompositeKey(attr: ModelAttribute): attr is ModelAttributeCompositeKey;
127
- export declare type ModelAttributeAuthProperty = {
127
+ export type ModelAttributeAuthProperty = {
128
128
  allow: ModelAttributeAuthAllow;
129
129
  identityClaim?: string;
130
130
  groupClaim?: string;
@@ -147,7 +147,7 @@ export declare enum ModelAttributeAuthProvider {
147
147
  IAM = "iam",
148
148
  API_KEY = "apiKey"
149
149
  }
150
- export declare type ModelFields = Record<string, ModelField>;
150
+ export type ModelFields = Record<string, ModelField>;
151
151
  export declare enum GraphQLScalarType {
152
152
  ID = 0,
153
153
  String = 1,
@@ -168,7 +168,7 @@ export declare namespace GraphQLScalarType {
168
168
  function getJSType(scalar: keyof Omit<typeof GraphQLScalarType, 'getJSType' | 'getValidationFunction'>): "string" | "number" | "boolean" | "object";
169
169
  function getValidationFunction(scalar: keyof Omit<typeof GraphQLScalarType, 'getJSType' | 'getValidationFunction'>): ((val: string) => boolean) | ((val: number) => boolean) | undefined;
170
170
  }
171
- export declare type AuthorizationRule = {
171
+ export type AuthorizationRule = {
172
172
  identityClaim: string;
173
173
  ownerField: string;
174
174
  provider: 'userPools' | 'oidc' | 'iam' | 'apiKey';
@@ -179,20 +179,20 @@ export declare type AuthorizationRule = {
179
179
  areSubscriptionsPublic: boolean;
180
180
  };
181
181
  export declare function isGraphQLScalarType(obj: any): obj is keyof Omit<typeof GraphQLScalarType, 'getJSType' | 'getValidationFunction'>;
182
- export declare type ModelFieldType = {
182
+ export type ModelFieldType = {
183
183
  model: string;
184
184
  modelConstructor?: ModelMeta<PersistentModel>;
185
185
  };
186
186
  export declare function isModelFieldType<T extends PersistentModel>(obj: any): obj is ModelFieldType;
187
- export declare type NonModelFieldType = {
187
+ export type NonModelFieldType = {
188
188
  nonModel: string;
189
189
  };
190
190
  export declare function isNonModelFieldType(obj: any): obj is NonModelFieldType;
191
- declare type EnumFieldType = {
191
+ type EnumFieldType = {
192
192
  enum: string;
193
193
  };
194
194
  export declare function isEnumFieldType(obj: any): obj is EnumFieldType;
195
- export declare type ModelField = {
195
+ export type ModelField = {
196
196
  name: string;
197
197
  type: keyof Omit<typeof GraphQLScalarType, 'getJSType' | 'getValidationFunction'> | ModelFieldType | NonModelFieldType | EnumFieldType;
198
198
  isArray: boolean;
@@ -202,10 +202,10 @@ export declare type ModelField = {
202
202
  association?: ModelAssociation;
203
203
  attributes?: ModelAttributes[];
204
204
  };
205
- export declare type NonModelTypeConstructor<T> = {
205
+ export type NonModelTypeConstructor<T> = {
206
206
  new (init: T): T;
207
207
  };
208
- export declare type PersistentModelConstructor<T extends PersistentModel> = {
208
+ export type PersistentModelConstructor<T extends PersistentModel> = {
209
209
  new (init: ModelInit<T, PersistentModelMetaData<T>>): T;
210
210
  copyOf(src: T, mutator: (draft: MutableModel<T, PersistentModelMetaData<T>>) => void): T;
211
211
  };
@@ -226,33 +226,37 @@ export declare class LazyLoadingDisabled {
226
226
  */
227
227
  export declare class LazyLoading {
228
228
  }
229
- export declare type TypeConstructorMap = Record<string, PersistentModelConstructor<any> | NonModelTypeConstructor<unknown>>;
229
+ export type TypeConstructorMap = Record<string, PersistentModelConstructor<any> | NonModelTypeConstructor<unknown>>;
230
230
  /**
231
231
  * Each identifier type is represented using nominal types, see:
232
232
  * https://basarat.gitbook.io/typescript/main-1/nominaltyping
233
233
  */
234
234
  export declare const __identifierBrand__: unique symbol;
235
- export declare type IdentifierBrand<T, K> = T & {
235
+ export type IdentifierBrand<T, K> = T & {
236
236
  [__identifierBrand__]: K;
237
237
  };
238
- export declare type ManagedIdentifier<T, F extends keyof T> = IdentifierBrand<{
238
+ export type ManagedIdentifier<T, F extends keyof T> = IdentifierBrand<{
239
239
  field: F extends string ? F : never;
240
240
  type: T;
241
241
  }, 'ManagedIdentifier'>;
242
- export declare type OptionallyManagedIdentifier<T, F extends keyof T> = IdentifierBrand<{
242
+ export type OptionallyManagedIdentifier<T, F extends keyof T> = IdentifierBrand<{
243
243
  field: F extends string ? F : never;
244
244
  type: T;
245
245
  }, 'OptionallyManagedIdentifier'>;
246
- export declare type CompositeIdentifier<T, K extends Array<keyof T>> = IdentifierBrand<{
246
+ export type CompositeIdentifier<T, K extends Array<keyof T>> = IdentifierBrand<{
247
247
  fields: K;
248
248
  type: T;
249
249
  }, 'CompositeIdentifier'>;
250
- export declare type CustomIdentifier<T, K extends keyof T> = CompositeIdentifier<T, [K]>;
251
- export declare type Identifier<T> = ManagedIdentifier<T, any> | OptionallyManagedIdentifier<T, any> | CompositeIdentifier<T, any> | CustomIdentifier<T, any>;
252
- export declare type IdentifierFields<T extends PersistentModel, M extends PersistentModelMetaData<T> = never> = (MetadataOrDefault<T, M>['identifier'] extends ManagedIdentifier<any, any> | OptionallyManagedIdentifier<any, any> ? MetadataOrDefault<T, M>['identifier']['field'] : MetadataOrDefault<T, M>['identifier'] extends CompositeIdentifier<T, infer B> ? B[number] : MetadataOrDefault<T, M>['identifier']['field']) & string;
253
- export declare type IdentifierFieldsForInit<T extends PersistentModel, M extends PersistentModelMetaData<T>> = MetadataOrDefault<T, M>['identifier'] extends DefaultPersistentModelMetaData | ManagedIdentifier<T, any> ? never : MetadataOrDefault<T, M>['identifier'] extends OptionallyManagedIdentifier<T, any> ? IdentifierFields<T, M> : MetadataOrDefault<T, M>['identifier'] extends CompositeIdentifier<T, any> ? IdentifierFields<T, M> : never;
250
+ export type CustomIdentifier<T, K extends keyof T> = CompositeIdentifier<T, [
251
+ K
252
+ ]>;
253
+ export type Identifier<T> = ManagedIdentifier<T, any> | OptionallyManagedIdentifier<T, any> | CompositeIdentifier<T, any> | CustomIdentifier<T, any>;
254
+ export type IdentifierFields<T extends PersistentModel, M extends PersistentModelMetaData<T> = never> = (MetadataOrDefault<T, M>['identifier'] extends ManagedIdentifier<any, any> | OptionallyManagedIdentifier<any, any> ? MetadataOrDefault<T, M>['identifier']['field'] : MetadataOrDefault<T, M>['identifier'] extends CompositeIdentifier<T, infer B> ? B[number] : Extract<MetadataOrDefault<T, M>['identifier'], {
255
+ field: any;
256
+ }>['field']) & string;
257
+ export type IdentifierFieldsForInit<T extends PersistentModel, M extends PersistentModelMetaData<T>> = MetadataOrDefault<T, M>['identifier'] extends DefaultPersistentModelMetaData | ManagedIdentifier<T, any> ? never : MetadataOrDefault<T, M>['identifier'] extends OptionallyManagedIdentifier<T, any> ? IdentifierFields<T, M> : MetadataOrDefault<T, M>['identifier'] extends CompositeIdentifier<T, any> ? IdentifierFields<T, M> : never;
254
258
  export declare const __modelMeta__: unique symbol;
255
- export declare type PersistentModelMetaData<T> = {
259
+ export type PersistentModelMetaData<T> = {
256
260
  identifier?: Identifier<T>;
257
261
  readOnlyFields?: string;
258
262
  };
@@ -261,89 +265,91 @@ export interface AsyncCollection<T> extends AsyncIterable<T> {
261
265
  max?: number;
262
266
  }): Promise<T[]>;
263
267
  }
264
- export declare type SettableFieldType<T> = T extends Promise<infer InnerPromiseType> ? undefined extends InnerPromiseType ? InnerPromiseType | null : InnerPromiseType : T extends AsyncCollection<infer InnerCollectionType> ? InnerCollectionType[] | undefined : undefined extends T ? T | null : T;
265
- export declare type PredicateFieldType<T> = NonNullable<Scalar<T extends Promise<infer InnerPromiseType> ? InnerPromiseType : T extends AsyncCollection<infer InnerCollectionType> ? InnerCollectionType : T>>;
266
- declare type KeysOfType<T, FilterType> = {
268
+ export type SettableFieldType<T> = T extends Promise<infer InnerPromiseType> ? undefined extends InnerPromiseType ? InnerPromiseType | null : InnerPromiseType : T extends AsyncCollection<infer InnerCollectionType> ? InnerCollectionType[] | undefined : undefined extends T ? T | null : T;
269
+ export type PredicateFieldType<T> = NonNullable<Scalar<T extends Promise<infer InnerPromiseType> ? InnerPromiseType : T extends AsyncCollection<infer InnerCollectionType> ? InnerCollectionType : T>>;
270
+ type KeysOfType<T, FilterType> = {
267
271
  [P in keyof T]: T[P] extends FilterType ? P : never;
268
272
  }[keyof T];
269
- declare type KeysOfSuperType<T, FilterType> = {
273
+ type KeysOfSuperType<T, FilterType> = {
270
274
  [P in keyof T]: FilterType extends T[P] ? P : never;
271
275
  }[keyof T];
272
- declare type OptionalRelativesOf<T> = KeysOfType<T, AsyncCollection<any>> | KeysOfSuperType<T, Promise<undefined>>;
273
- declare type OmitOptionalRelatives<T> = Omit<T, OptionalRelativesOf<T>>;
274
- declare type PickOptionalRelatives<T> = Pick<T, OptionalRelativesOf<T>>;
275
- export declare type DefaultPersistentModelMetaData = {
276
+ type OptionalRelativesOf<T> = KeysOfType<T, AsyncCollection<any>> | KeysOfSuperType<T, Promise<undefined>>;
277
+ type OmitOptionalRelatives<T> = Omit<T, OptionalRelativesOf<T>>;
278
+ type PickOptionalRelatives<T> = Pick<T, OptionalRelativesOf<T>>;
279
+ export type DefaultPersistentModelMetaData = {
276
280
  identifier: ManagedIdentifier<{
277
281
  id: string;
278
282
  }, 'id'>;
279
283
  readOnlyFields: never;
280
284
  };
281
- export declare type MetadataOrDefault<T extends PersistentModel, _ extends PersistentModelMetaData<T> = never> = T extends {
285
+ export type MetadataOrDefault<T extends PersistentModel, _ extends PersistentModelMetaData<T> = never> = T extends {
282
286
  [__modelMeta__]: PersistentModelMetaData<T>;
283
287
  } ? T[typeof __modelMeta__] : DefaultPersistentModelMetaData;
284
- export declare type PersistentModel = Readonly<Record<string, any>>;
285
- export declare type MetadataReadOnlyFields<T extends PersistentModel, M extends PersistentModelMetaData<T>> = Extract<MetadataOrDefault<T, M>['readOnlyFields'] | M['readOnlyFields'], keyof T>;
286
- export declare type ModelInitBase<T extends PersistentModel, M extends PersistentModelMetaData<T> = {}> = Omit<T, typeof __modelMeta__ | IdentifierFields<T, M> | MetadataReadOnlyFields<T, M>> & (MetadataOrDefault<T, M>['identifier'] extends OptionallyManagedIdentifier<T, any> ? Partial<Pick<T, IdentifierFieldsForInit<T, M>>> : Required<Pick<T, IdentifierFieldsForInit<T, M>>>);
287
- export declare type ModelInit<T extends PersistentModel, M extends PersistentModelMetaData<T> = {}> = {
288
+ export type PersistentModel = Readonly<Record<string, any>>;
289
+ export type MetadataReadOnlyFields<T extends PersistentModel, M extends PersistentModelMetaData<T>> = Extract<MetadataOrDefault<T, M>['readOnlyFields'] | M['readOnlyFields'], keyof T>;
290
+ export type ModelInitBase<T extends PersistentModel, M extends PersistentModelMetaData<T> = {}> = Omit<T, typeof __modelMeta__ | IdentifierFields<T, M> | MetadataReadOnlyFields<T, M>> & (MetadataOrDefault<T, M>['identifier'] extends OptionallyManagedIdentifier<T, any> ? Partial<Pick<T, IdentifierFieldsForInit<T, M>>> : Required<Pick<T, IdentifierFieldsForInit<T, M>>>);
291
+ export type ModelInit<T extends PersistentModel, M extends PersistentModelMetaData<T> = {}> = {
288
292
  [P in keyof OmitOptionalRelatives<ModelInitBase<T, M>>]: SettableFieldType<ModelInitBase<T, M>[P]>;
289
293
  } & {
290
294
  [P in keyof PickOptionalRelatives<ModelInitBase<T, M>>]+?: SettableFieldType<ModelInitBase<T, M>[P]>;
291
295
  };
292
- declare type DeepWritable<T> = {
296
+ type DeepWritable<T> = {
293
297
  -readonly [P in keyof T]: T[P] extends TypeName<T[P]> ? T[P] : T[P] extends Promise<infer InnerPromiseType> ? undefined extends InnerPromiseType ? InnerPromiseType | null : InnerPromiseType : T[P] extends AsyncCollection<infer InnerCollectionType> ? InnerCollectionType[] | undefined | null : DeepWritable<T[P]>;
294
298
  };
295
- export declare type MutableModel<T extends PersistentModel, M extends PersistentModelMetaData<T> = {}> = DeepWritable<Omit<T, IdentifierFields<T, M> | MetadataReadOnlyFields<T, M>>> & Readonly<Pick<T, IdentifierFields<T, M> | MetadataReadOnlyFields<T, M>>>;
296
- export declare type ModelInstanceMetadata = {
299
+ export type MutableModel<T extends PersistentModel, M extends PersistentModelMetaData<T> = {}> = DeepWritable<Omit<T, IdentifierFields<T, M> | MetadataReadOnlyFields<T, M>>> & Readonly<Pick<T, IdentifierFields<T, M> | MetadataReadOnlyFields<T, M>>>;
300
+ export type ModelInstanceMetadata = {
297
301
  _version: number;
298
302
  _lastChangedAt: number;
299
303
  _deleted: boolean;
300
304
  };
301
- export declare type IdentifierFieldValue<T extends PersistentModel, M extends PersistentModelMetaData<T>> = MetadataOrDefault<T, M>['identifier'] extends CompositeIdentifier<T, any> ? MetadataOrDefault<T, M>['identifier']['fields'] extends [any] ? T[MetadataOrDefault<T, M>['identifier']['fields'][0]] : never : T[MetadataOrDefault<T, M>['identifier']['field']];
302
- export declare type IdentifierFieldOrIdentifierObject<T extends PersistentModel, M extends PersistentModelMetaData<T>> = Pick<T, IdentifierFields<T, M>> | IdentifierFieldValue<T, M>;
305
+ export type IdentifierFieldValue<T extends PersistentModel, M extends PersistentModelMetaData<T>> = MetadataOrDefault<T, M>['identifier'] extends CompositeIdentifier<T, any> ? MetadataOrDefault<T, M>['identifier']['fields'] extends [any] ? T[MetadataOrDefault<T, M>['identifier']['fields'][0]] : never : T[Extract<MetadataOrDefault<T, M>['identifier'], {
306
+ field: any;
307
+ }>['field']];
308
+ export type IdentifierFieldOrIdentifierObject<T extends PersistentModel, M extends PersistentModelMetaData<T>> = Pick<T, IdentifierFields<T, M>> | IdentifierFieldValue<T, M>;
303
309
  export declare function isIdentifierObject<T extends PersistentModel>(obj: any, modelDefinition: SchemaModel): obj is IdentifierFields<T extends PersistentModel ? T : never, any>;
304
310
  export declare enum OpType {
305
311
  INSERT = "INSERT",
306
312
  UPDATE = "UPDATE",
307
313
  DELETE = "DELETE"
308
314
  }
309
- export declare type SubscriptionMessage<T extends PersistentModel> = Pick<InternalSubscriptionMessage<T>, 'opType' | 'element' | 'model' | 'condition'>;
310
- export declare type InternalSubscriptionMessage<T extends PersistentModel> = {
315
+ export type SubscriptionMessage<T extends PersistentModel> = Pick<InternalSubscriptionMessage<T>, 'opType' | 'element' | 'model' | 'condition'>;
316
+ export type InternalSubscriptionMessage<T extends PersistentModel> = {
311
317
  opType: OpType;
312
318
  element: T;
313
319
  model: PersistentModelConstructor<T>;
314
320
  condition: PredicatesGroup<T> | null;
315
321
  savedElement?: T;
316
322
  };
317
- export declare type DataStoreSnapshot<T extends PersistentModel> = {
323
+ export type DataStoreSnapshot<T extends PersistentModel> = {
318
324
  items: T[];
319
325
  isSynced: boolean;
320
326
  };
321
- export declare type PredicateExpression<M extends PersistentModel, FT> = TypeName<FT> extends keyof MapTypeToOperands<FT> ? (operator: keyof MapTypeToOperands<FT>[TypeName<FT>], operand: MapTypeToOperands<FT>[TypeName<FT>][keyof MapTypeToOperands<FT>[TypeName<FT>]]) => ModelPredicate<M> : never;
322
- declare type EqualityOperators<T> = {
327
+ export type PredicateExpression<M extends PersistentModel, FT> = TypeName<FT> extends keyof MapTypeToOperands<FT> ? (operator: keyof MapTypeToOperands<FT>[TypeName<FT>], operand: MapTypeToOperands<FT>[TypeName<FT>][keyof MapTypeToOperands<FT>[TypeName<FT>]]) => ModelPredicate<M> : never;
328
+ type EqualityOperators<T> = {
323
329
  ne: T;
324
330
  eq: T;
325
331
  };
326
- declare type ScalarNumberOperators<T> = EqualityOperators<T> & {
332
+ type ScalarNumberOperators<T> = EqualityOperators<T> & {
327
333
  le: T;
328
334
  lt: T;
329
335
  ge: T;
330
336
  gt: T;
331
337
  };
332
- declare type NumberOperators<T> = ScalarNumberOperators<T> & {
338
+ type NumberOperators<T> = ScalarNumberOperators<T> & {
333
339
  between: [T, T];
334
340
  };
335
- declare type StringOperators<T> = ScalarNumberOperators<T> & {
341
+ type StringOperators<T> = ScalarNumberOperators<T> & {
336
342
  beginsWith: T;
337
343
  contains: T;
338
344
  notContains: T;
339
345
  };
340
- declare type BooleanOperators<T> = EqualityOperators<T>;
341
- declare type ArrayOperators<T> = {
346
+ type BooleanOperators<T> = EqualityOperators<T>;
347
+ type ArrayOperators<T> = {
342
348
  contains: T;
343
349
  notContains: T;
344
350
  };
345
- export declare type AllOperators = NumberOperators<any> & StringOperators<any> & ArrayOperators<any>;
346
- declare type MapTypeToOperands<T> = {
351
+ export type AllOperators = NumberOperators<any> & StringOperators<any> & ArrayOperators<any>;
352
+ type MapTypeToOperands<T> = {
347
353
  number: NumberOperators<NonNullable<T>>;
348
354
  string: StringOperators<NonNullable<T>>;
349
355
  boolean: BooleanOperators<NonNullable<T>>;
@@ -351,23 +357,23 @@ declare type MapTypeToOperands<T> = {
351
357
  'string[]': ArrayOperators<string>;
352
358
  'boolean[]': ArrayOperators<boolean>;
353
359
  };
354
- declare type TypeName<T> = T extends string ? 'string' : T extends number ? 'number' : T extends boolean ? 'boolean' : T extends string[] ? 'string[]' : T extends number[] ? 'number[]' : T extends boolean[] ? 'boolean[]' : never;
355
- export declare type PredicateGroups<T extends PersistentModel> = {
360
+ type TypeName<T> = T extends string ? 'string' : T extends number ? 'number' : T extends boolean ? 'boolean' : T extends string[] ? 'string[]' : T extends number[] ? 'number[]' : T extends boolean[] ? 'boolean[]' : never;
361
+ export type PredicateGroups<T extends PersistentModel> = {
356
362
  and: (predicate: (predicate: ModelPredicate<T>) => ModelPredicate<T>) => ModelPredicate<T>;
357
363
  or: (predicate: (predicate: ModelPredicate<T>) => ModelPredicate<T>) => ModelPredicate<T>;
358
364
  not: (predicate: (predicate: ModelPredicate<T>) => ModelPredicate<T>) => ModelPredicate<T>;
359
365
  };
360
- export declare type ModelPredicate<M extends PersistentModel> = {
366
+ export type ModelPredicate<M extends PersistentModel> = {
361
367
  [K in keyof M]-?: PredicateExpression<M, NonNullable<M[K]>>;
362
368
  } & PredicateGroups<M>;
363
- export declare type ProducerModelPredicate<M extends PersistentModel> = (condition: ModelPredicate<M>) => ModelPredicate<M>;
364
- export declare type PredicatesGroup<T extends PersistentModel> = {
369
+ export type ProducerModelPredicate<M extends PersistentModel> = (condition: ModelPredicate<M>) => ModelPredicate<M>;
370
+ export type PredicatesGroup<T extends PersistentModel> = {
365
371
  type: keyof PredicateGroups<T>;
366
372
  predicates: (PredicateObject<T> | PredicatesGroup<T>)[];
367
373
  };
368
374
  export declare function isPredicateObj<T extends PersistentModel>(obj: any): obj is PredicateObject<T>;
369
375
  export declare function isPredicateGroup<T extends PersistentModel>(obj: any): obj is PredicatesGroup<T>;
370
- export declare type PredicateObject<T extends PersistentModel> = {
376
+ export type PredicateObject<T extends PersistentModel> = {
371
377
  field: keyof T;
372
378
  operator: keyof AllOperators;
373
379
  operand: any;
@@ -376,57 +382,57 @@ export declare enum QueryOne {
376
382
  FIRST = 0,
377
383
  LAST = 1
378
384
  }
379
- export declare type GraphQLField = {
385
+ export type GraphQLField = {
380
386
  [field: string]: {
381
387
  [operator: string]: string | number | [number, number];
382
388
  };
383
389
  };
384
- export declare type GraphQLCondition = Partial<GraphQLField | {
390
+ export type GraphQLCondition = Partial<GraphQLField | {
385
391
  and: [GraphQLCondition];
386
392
  or: [GraphQLCondition];
387
393
  not: GraphQLCondition;
388
394
  }>;
389
- export declare type GraphQLFilter = Partial<GraphQLField | {
395
+ export type GraphQLFilter = Partial<GraphQLField | {
390
396
  and: GraphQLFilter[];
391
397
  } | {
392
398
  or: GraphQLFilter[];
393
399
  } | {
394
400
  not: GraphQLFilter;
395
401
  }>;
396
- export declare type ProducerPaginationInput<T extends PersistentModel> = {
402
+ export type ProducerPaginationInput<T extends PersistentModel> = {
397
403
  sort?: ProducerSortPredicate<T>;
398
404
  limit?: number;
399
405
  page?: number;
400
406
  };
401
- export declare type ObserveQueryOptions<T extends PersistentModel> = Pick<ProducerPaginationInput<T>, 'sort'>;
402
- export declare type PaginationInput<T extends PersistentModel> = {
407
+ export type ObserveQueryOptions<T extends PersistentModel> = Pick<ProducerPaginationInput<T>, 'sort'>;
408
+ export type PaginationInput<T extends PersistentModel> = {
403
409
  sort?: SortPredicate<T>;
404
410
  limit?: number;
405
411
  page?: number;
406
412
  };
407
- export declare type ProducerSortPredicate<M extends PersistentModel> = (condition: SortPredicate<M>) => SortPredicate<M>;
408
- export declare type SortPredicate<T extends PersistentModel> = {
413
+ export type ProducerSortPredicate<M extends PersistentModel> = (condition: SortPredicate<M>) => SortPredicate<M>;
414
+ export type SortPredicate<T extends PersistentModel> = {
409
415
  [K in keyof T]-?: SortPredicateExpression<T, NonNullable<T[K]>>;
410
416
  };
411
- export declare type SortPredicateExpression<M extends PersistentModel, FT> = TypeName<FT> extends keyof MapTypeToOperands<FT> ? (sortDirection: keyof typeof SortDirection) => SortPredicate<M> : never;
417
+ export type SortPredicateExpression<M extends PersistentModel, FT> = TypeName<FT> extends keyof MapTypeToOperands<FT> ? (sortDirection: keyof typeof SortDirection) => SortPredicate<M> : never;
412
418
  export declare enum SortDirection {
413
419
  ASCENDING = "ASCENDING",
414
420
  DESCENDING = "DESCENDING"
415
421
  }
416
- export declare type SortPredicatesGroup<T extends PersistentModel> = SortPredicateObject<T>[];
417
- export declare type SortPredicateObject<T extends PersistentModel> = {
422
+ export type SortPredicatesGroup<T extends PersistentModel> = SortPredicateObject<T>[];
423
+ export type SortPredicateObject<T extends PersistentModel> = {
418
424
  field: keyof T;
419
425
  sortDirection: keyof typeof SortDirection;
420
426
  };
421
- export declare type SystemComponent = {
427
+ export type SystemComponent = {
422
428
  setUp(schema: InternalSchema, namespaceResolver: NamespaceResolver, modelInstanceCreator: ModelInstanceCreator, getModelConstructorByModelName: (namsespaceName: NAMESPACES, modelName: string) => PersistentModelConstructor<any>, appId?: string): Promise<void>;
423
429
  };
424
- export declare type NamespaceResolver = (modelConstructor: PersistentModelConstructor<any>) => string;
425
- export declare type ControlMessageType<T> = {
430
+ export type NamespaceResolver = (modelConstructor: PersistentModelConstructor<any>) => string;
431
+ export type ControlMessageType<T> = {
426
432
  type: T;
427
433
  data?: any;
428
434
  };
429
- export declare type RelationType = {
435
+ export type RelationType = {
430
436
  fieldName: string;
431
437
  modelName: string;
432
438
  relationType: 'HAS_ONE' | 'HAS_MANY' | 'BELONGS_TO';
@@ -434,24 +440,24 @@ export declare type RelationType = {
434
440
  targetNames?: string[];
435
441
  associatedWith?: string | string[];
436
442
  };
437
- declare type IndexOptions = {
443
+ type IndexOptions = {
438
444
  unique?: boolean;
439
445
  };
440
- export declare type IndexesType = Array<[string, string[], IndexOptions?]>;
441
- export declare type RelationshipType = {
446
+ export type IndexesType = Array<[string, string[], IndexOptions?]>;
447
+ export type RelationshipType = {
442
448
  [modelName: string]: {
443
449
  indexes: IndexesType;
444
450
  relationTypes: RelationType[];
445
451
  };
446
452
  };
447
- export declare type KeyType = {
453
+ export type KeyType = {
448
454
  primaryKey?: string[];
449
455
  compositeKeys?: Set<string>[];
450
456
  };
451
- export declare type ModelKeys = {
457
+ export type ModelKeys = {
452
458
  [modelName: string]: KeyType;
453
459
  };
454
- export declare type DataStoreConfig = {
460
+ export type DataStoreConfig = {
455
461
  DataStore?: {
456
462
  authModeStrategyType?: AuthModeStrategyType;
457
463
  conflictHandler?: ConflictHandler;
@@ -473,7 +479,7 @@ export declare type DataStoreConfig = {
473
479
  authProviders?: AuthProviders;
474
480
  storageAdapter?: Adapter;
475
481
  };
476
- export declare type AuthProviders = {
482
+ export type AuthProviders = {
477
483
  functionAuthProvider: () => {
478
484
  token: string;
479
485
  } | Promise<{
@@ -484,46 +490,46 @@ export declare enum AuthModeStrategyType {
484
490
  DEFAULT = "DEFAULT",
485
491
  MULTI_AUTH = "MULTI_AUTH"
486
492
  }
487
- export declare type AuthModeStrategyReturn = GRAPHQL_AUTH_MODE | GRAPHQL_AUTH_MODE[] | undefined | null;
488
- export declare type AuthModeStrategyParams = {
493
+ export type AuthModeStrategyReturn = GRAPHQL_AUTH_MODE | GRAPHQL_AUTH_MODE[] | undefined | null;
494
+ export type AuthModeStrategyParams = {
489
495
  schema: InternalSchema;
490
496
  modelName: string;
491
497
  operation: ModelOperation;
492
498
  };
493
- export declare type AuthModeStrategy = (authModeStrategyParams: AuthModeStrategyParams) => AuthModeStrategyReturn | Promise<AuthModeStrategyReturn>;
499
+ export type AuthModeStrategy = (authModeStrategyParams: AuthModeStrategyParams) => AuthModeStrategyReturn | Promise<AuthModeStrategyReturn>;
494
500
  export declare enum ModelOperation {
495
501
  CREATE = "CREATE",
496
502
  READ = "READ",
497
503
  UPDATE = "UPDATE",
498
504
  DELETE = "DELETE"
499
505
  }
500
- export declare type ModelAuthModes = Record<string, {
506
+ export type ModelAuthModes = Record<string, {
501
507
  [Property in ModelOperation]: GRAPHQL_AUTH_MODE[];
502
508
  }>;
503
- export declare type SyncExpression = Promise<{
509
+ export type SyncExpression = Promise<{
504
510
  modelConstructor: any;
505
511
  conditionProducer: (c?: any) => any;
506
512
  }>;
507
- declare type Option0 = [];
508
- declare type Option1<T extends PersistentModel> = [V5ModelPredicate<T> | undefined];
509
- declare type Option<T extends PersistentModel> = Option0 | Option1<T>;
510
- declare type Lookup<T extends PersistentModel> = {
513
+ type Option0 = [];
514
+ type Option1<T extends PersistentModel> = [V5ModelPredicate<T> | undefined];
515
+ type Option<T extends PersistentModel> = Option0 | Option1<T>;
516
+ type Lookup<T extends PersistentModel> = {
511
517
  0: ModelPredicateExtender<T> | Promise<ModelPredicateExtender<T>> | typeof PredicateAll | Promise<typeof PredicateAll | symbol>;
512
518
  1: PredicateInternalsKey | undefined;
513
519
  };
514
- declare type ConditionProducer<T extends PersistentModel, A extends Option<T>> = (...args: A) => A['length'] extends keyof Lookup<T> ? Lookup<T>[A['length']] : never;
520
+ type ConditionProducer<T extends PersistentModel, A extends Option<T>> = (...args: A) => A['length'] extends keyof Lookup<T> ? Lookup<T>[A['length']] : never;
515
521
  export declare function syncExpression<T extends PersistentModel, A extends Option<T>>(modelConstructor: PersistentModelConstructor<T>, conditionProducer: ConditionProducer<T, A>): Promise<{
516
522
  modelConstructor: PersistentModelConstructor<T>;
517
523
  conditionProducer: ConditionProducer<T, A>;
518
524
  }>;
519
- export declare type SyncConflict = {
525
+ export type SyncConflict = {
520
526
  modelConstructor: PersistentModelConstructor<any>;
521
527
  localModel: PersistentModel;
522
528
  remoteModel: PersistentModel;
523
529
  operation: OpType;
524
530
  attempts: number;
525
531
  };
526
- export declare type SyncError<T extends PersistentModel> = {
532
+ export type SyncError<T extends PersistentModel> = {
527
533
  message: string;
528
534
  errorType: ErrorType;
529
535
  errorInfo?: string;
@@ -535,16 +541,16 @@ export declare type SyncError<T extends PersistentModel> = {
535
541
  operation: string;
536
542
  cause?: Error;
537
543
  };
538
- export declare type ErrorType = 'ConfigError' | 'BadModel' | 'BadRecord' | 'Unauthorized' | 'Transient' | 'Unknown';
544
+ export type ErrorType = 'ConfigError' | 'BadModel' | 'BadRecord' | 'Unauthorized' | 'Transient' | 'Unknown';
539
545
  export declare enum ProcessName {
540
546
  'sync' = "sync",
541
547
  'mutate' = "mutate",
542
548
  'subscribe' = "subscribe"
543
549
  }
544
550
  export declare const DISCARD: unique symbol;
545
- export declare type ConflictHandler = (conflict: SyncConflict) => Promise<PersistentModel | typeof DISCARD> | PersistentModel | typeof DISCARD;
546
- export declare type ErrorHandler = (error: SyncError<PersistentModel>) => void;
547
- export declare type DeferredCallbackResolverOptions = {
551
+ export type ConflictHandler = (conflict: SyncConflict) => Promise<PersistentModel | typeof DISCARD> | PersistentModel | typeof DISCARD;
552
+ export type ErrorHandler = (error: SyncError<PersistentModel>) => void;
553
+ export type DeferredCallbackResolverOptions = {
548
554
  callback: () => void;
549
555
  maxInterval?: number;
550
556
  errorHandler?: (error: string) => void;
@@ -553,17 +559,17 @@ export declare enum LimitTimerRaceResolvedValues {
553
559
  LIMIT = "LIMIT",
554
560
  TIMER = "TIMER"
555
561
  }
556
- export declare type AmplifyContext = {
562
+ export type AmplifyContext = {
557
563
  Auth: typeof Auth;
558
564
  InternalAPI: typeof InternalAPI;
559
565
  Cache: typeof Cache;
560
566
  };
561
- export declare type MatchableTypes = string | string[] | number | number[] | boolean | boolean[];
562
- export declare type AllFieldOperators = keyof AllOperators;
563
- export declare type NonNeverKeys<T> = {
567
+ export type MatchableTypes = string | string[] | number | number[] | boolean | boolean[];
568
+ export type AllFieldOperators = keyof AllOperators;
569
+ export type NonNeverKeys<T> = {
564
570
  [K in keyof T]: T[K] extends never ? never : K;
565
571
  }[keyof T];
566
- export declare type WithoutNevers<T> = Pick<T, NonNeverKeys<T>>;
572
+ export type WithoutNevers<T> = Pick<T, NonNeverKeys<T>>;
567
573
  /**
568
574
  * A function that accepts a RecursiveModelPrecicate<T>, which it must use to
569
575
  * return a final condition.
@@ -587,11 +593,11 @@ export declare type WithoutNevers<T> = Pick<T, NonNeverKeys<T>>;
587
593
  * ]))
588
594
  * ```
589
595
  */
590
- export declare type RecursiveModelPredicateExtender<RT extends PersistentModel> = (lambda: RecursiveModelPredicate<RT>) => PredicateInternalsKey;
591
- export declare type RecursiveModelPredicateAggregateExtender<RT extends PersistentModel> = (lambda: RecursiveModelPredicate<RT>) => PredicateInternalsKey[];
592
- export declare type RecursiveModelPredicateOperator<RT extends PersistentModel> = (predicates: RecursiveModelPredicateAggregateExtender<RT>) => PredicateInternalsKey;
593
- export declare type RecursiveModelPredicateNegation<RT extends PersistentModel> = (predicate: RecursiveModelPredicateExtender<RT>) => PredicateInternalsKey;
594
- export declare type RecursiveModelPredicate<RT extends PersistentModel> = {
596
+ export type RecursiveModelPredicateExtender<RT extends PersistentModel> = (lambda: RecursiveModelPredicate<RT>) => PredicateInternalsKey;
597
+ export type RecursiveModelPredicateAggregateExtender<RT extends PersistentModel> = (lambda: RecursiveModelPredicate<RT>) => PredicateInternalsKey[];
598
+ export type RecursiveModelPredicateOperator<RT extends PersistentModel> = (predicates: RecursiveModelPredicateAggregateExtender<RT>) => PredicateInternalsKey;
599
+ export type RecursiveModelPredicateNegation<RT extends PersistentModel> = (predicate: RecursiveModelPredicateExtender<RT>) => PredicateInternalsKey;
600
+ export type RecursiveModelPredicate<RT extends PersistentModel> = {
595
601
  [K in keyof RT]-?: PredicateFieldType<RT[K]> extends PersistentModel ? RecursiveModelPredicate<PredicateFieldType<RT[K]>> : ValuePredicate<RT, RT[K]>;
596
602
  } & {
597
603
  or: RecursiveModelPredicateOperator<RT>;
@@ -619,20 +625,20 @@ export declare type RecursiveModelPredicate<RT extends PersistentModel> = {
619
625
  * ]))
620
626
  * ```
621
627
  */
622
- export declare type ModelPredicateExtender<RT extends PersistentModel> = (lambda: V5ModelPredicate<RT>) => PredicateInternalsKey;
623
- export declare type ModelPredicateAggregateExtender<RT extends PersistentModel> = (lambda: V5ModelPredicate<RT>) => PredicateInternalsKey[];
624
- export declare type ValuePredicate<RT extends PersistentModel, MT extends MatchableTypes> = {
628
+ export type ModelPredicateExtender<RT extends PersistentModel> = (lambda: V5ModelPredicate<RT>) => PredicateInternalsKey;
629
+ export type ModelPredicateAggregateExtender<RT extends PersistentModel> = (lambda: V5ModelPredicate<RT>) => PredicateInternalsKey[];
630
+ export type ValuePredicate<RT extends PersistentModel, MT extends MatchableTypes> = {
625
631
  [K in AllFieldOperators]: K extends 'between' ? (inclusiveLowerBound: Scalar<MT>, inclusiveUpperBound: Scalar<MT>) => PredicateInternalsKey : (operand: Scalar<MT>) => PredicateInternalsKey;
626
632
  };
627
- export declare type V5ModelPredicate<RT extends PersistentModel> = WithoutNevers<{
633
+ export type V5ModelPredicate<RT extends PersistentModel> = WithoutNevers<{
628
634
  [K in keyof RT]-?: PredicateFieldType<RT[K]> extends PersistentModel ? never : ValuePredicate<RT, RT[K]>;
629
635
  }> & {
630
636
  or: ModelPredicateOperator<RT>;
631
637
  and: ModelPredicateOperator<RT>;
632
638
  not: ModelPredicateNegation<RT>;
633
639
  } & PredicateInternalsKey;
634
- export declare type ModelPredicateOperator<RT extends PersistentModel> = (predicates: ModelPredicateAggregateExtender<RT>) => PredicateInternalsKey;
635
- export declare type ModelPredicateNegation<RT extends PersistentModel> = (predicate: ModelPredicateExtender<RT>) => PredicateInternalsKey;
640
+ export type ModelPredicateOperator<RT extends PersistentModel> = (predicates: ModelPredicateAggregateExtender<RT>) => PredicateInternalsKey;
641
+ export type ModelPredicateNegation<RT extends PersistentModel> = (predicate: ModelPredicateExtender<RT>) => PredicateInternalsKey;
636
642
  /**
637
643
  * A pointer used by DataStore internally to lookup predicate details
638
644
  * that should not be exposed on public customer interfaces.