@aws-amplify/datastore 5.0.32 → 5.0.33-s-auth.30d0cd2.0
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/authModeStrategies/multiAuthStrategy.js +1 -1
- package/dist/cjs/authModeStrategies/multiAuthStrategy.js.map +1 -1
- package/dist/cjs/datastore/datastore.js +46 -41
- package/dist/cjs/datastore/datastore.js.map +1 -1
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/predicates/index.js +1 -0
- package/dist/cjs/predicates/index.js.map +1 -1
- package/dist/cjs/predicates/next.js +13 -12
- package/dist/cjs/predicates/next.js.map +1 -1
- package/dist/cjs/predicates/sort.js +2 -2
- package/dist/cjs/predicates/sort.js.map +1 -1
- package/dist/cjs/storage/adapter/AsyncStorageAdapter.js +21 -18
- package/dist/cjs/storage/adapter/AsyncStorageAdapter.js.map +1 -1
- package/dist/cjs/storage/adapter/AsyncStorageDatabase.js +10 -9
- package/dist/cjs/storage/adapter/AsyncStorageDatabase.js.map +1 -1
- package/dist/cjs/storage/adapter/InMemoryStore.js +4 -1
- package/dist/cjs/storage/adapter/InMemoryStore.js.map +1 -1
- package/dist/cjs/storage/adapter/IndexedDBAdapter.js +21 -23
- package/dist/cjs/storage/adapter/IndexedDBAdapter.js.map +1 -1
- package/dist/cjs/storage/adapter/StorageAdapterBase.js +7 -7
- package/dist/cjs/storage/adapter/StorageAdapterBase.js.map +1 -1
- package/dist/cjs/storage/adapter/getDefaultAdapter/index.js +4 -1
- package/dist/cjs/storage/adapter/getDefaultAdapter/index.js.map +1 -1
- package/dist/cjs/storage/adapter/getDefaultAdapter/index.native.js +1 -0
- package/dist/cjs/storage/adapter/getDefaultAdapter/index.native.js.map +1 -1
- package/dist/cjs/storage/relationship.js +1 -0
- package/dist/cjs/storage/relationship.js.map +1 -1
- package/dist/cjs/storage/storage.js +14 -14
- package/dist/cjs/storage/storage.js.map +1 -1
- package/dist/cjs/sync/datastoreConnectivity.js +0 -3
- package/dist/cjs/sync/datastoreConnectivity.js.map +1 -1
- package/dist/cjs/sync/index.js +47 -43
- package/dist/cjs/sync/index.js.map +1 -1
- package/dist/cjs/sync/merger.js +1 -1
- package/dist/cjs/sync/merger.js.map +1 -1
- package/dist/cjs/sync/outbox.js +19 -17
- package/dist/cjs/sync/outbox.js.map +1 -1
- package/dist/cjs/sync/processors/errorMaps.js.map +1 -1
- package/dist/cjs/sync/processors/mutation.js +31 -28
- package/dist/cjs/sync/processors/mutation.js.map +1 -1
- package/dist/cjs/sync/processors/subscription.js +21 -12
- package/dist/cjs/sync/processors/subscription.js.map +1 -1
- package/dist/cjs/sync/processors/sync.js +25 -21
- package/dist/cjs/sync/processors/sync.js.map +1 -1
- package/dist/cjs/sync/utils.js +20 -21
- package/dist/cjs/sync/utils.js.map +1 -1
- package/dist/cjs/types.js +1 -0
- package/dist/cjs/types.js.map +1 -1
- package/dist/cjs/util.js +46 -25
- package/dist/cjs/util.js.map +1 -1
- package/dist/esm/authModeStrategies/multiAuthStrategy.d.ts +1 -1
- package/dist/esm/authModeStrategies/multiAuthStrategy.mjs +1 -1
- package/dist/esm/authModeStrategies/multiAuthStrategy.mjs.map +1 -1
- package/dist/esm/datastore/datastore.d.ts +4 -6
- package/dist/esm/datastore/datastore.mjs +42 -34
- package/dist/esm/datastore/datastore.mjs.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.mjs +2 -2
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/predicates/index.mjs +1 -0
- package/dist/esm/predicates/index.mjs.map +1 -1
- package/dist/esm/predicates/next.d.ts +7 -7
- package/dist/esm/predicates/next.mjs +13 -12
- package/dist/esm/predicates/next.mjs.map +1 -1
- package/dist/esm/predicates/sort.d.ts +1 -1
- package/dist/esm/predicates/sort.mjs +2 -2
- package/dist/esm/predicates/sort.mjs.map +1 -1
- package/dist/esm/storage/adapter/AsyncStorageAdapter.d.ts +1 -1
- package/dist/esm/storage/adapter/AsyncStorageAdapter.mjs +21 -18
- package/dist/esm/storage/adapter/AsyncStorageAdapter.mjs.map +1 -1
- package/dist/esm/storage/adapter/AsyncStorageDatabase.mjs +10 -9
- package/dist/esm/storage/adapter/AsyncStorageDatabase.mjs.map +1 -1
- package/dist/esm/storage/adapter/InMemoryStore.mjs +4 -1
- package/dist/esm/storage/adapter/InMemoryStore.mjs.map +1 -1
- package/dist/esm/storage/adapter/IndexedDBAdapter.mjs +21 -23
- package/dist/esm/storage/adapter/IndexedDBAdapter.mjs.map +1 -1
- package/dist/esm/storage/adapter/StorageAdapterBase.d.ts +2 -2
- package/dist/esm/storage/adapter/StorageAdapterBase.mjs +7 -7
- package/dist/esm/storage/adapter/StorageAdapterBase.mjs.map +1 -1
- package/dist/esm/storage/adapter/getDefaultAdapter/index.mjs +3 -1
- package/dist/esm/storage/adapter/getDefaultAdapter/index.mjs.map +1 -1
- package/dist/esm/storage/adapter/getDefaultAdapter/index.native.mjs +1 -0
- package/dist/esm/storage/adapter/getDefaultAdapter/index.native.mjs.map +1 -1
- package/dist/esm/storage/adapter/index.d.ts +1 -1
- package/dist/esm/storage/relationship.mjs +1 -0
- package/dist/esm/storage/relationship.mjs.map +1 -1
- package/dist/esm/storage/storage.d.ts +11 -11
- package/dist/esm/storage/storage.mjs +10 -10
- package/dist/esm/storage/storage.mjs.map +1 -1
- package/dist/esm/sync/datastoreConnectivity.d.ts +2 -2
- package/dist/esm/sync/datastoreConnectivity.mjs +0 -3
- package/dist/esm/sync/datastoreConnectivity.mjs.map +1 -1
- package/dist/esm/sync/index.d.ts +3 -3
- package/dist/esm/sync/index.mjs +47 -43
- package/dist/esm/sync/index.mjs.map +1 -1
- package/dist/esm/sync/merger.d.ts +1 -1
- package/dist/esm/sync/merger.mjs +1 -1
- package/dist/esm/sync/merger.mjs.map +1 -1
- package/dist/esm/sync/outbox.d.ts +4 -4
- package/dist/esm/sync/outbox.mjs +19 -17
- package/dist/esm/sync/outbox.mjs.map +1 -1
- package/dist/esm/sync/processors/errorMaps.mjs.map +1 -1
- package/dist/esm/sync/processors/mutation.d.ts +5 -5
- package/dist/esm/sync/processors/mutation.mjs +31 -28
- package/dist/esm/sync/processors/mutation.mjs.map +1 -1
- package/dist/esm/sync/processors/subscription.d.ts +1 -1
- package/dist/esm/sync/processors/subscription.mjs +21 -12
- package/dist/esm/sync/processors/subscription.mjs.map +1 -1
- package/dist/esm/sync/processors/sync.d.ts +3 -3
- package/dist/esm/sync/processors/sync.mjs +13 -9
- package/dist/esm/sync/processors/sync.mjs.map +1 -1
- package/dist/esm/sync/utils.d.ts +11 -13
- package/dist/esm/sync/utils.mjs +20 -21
- package/dist/esm/sync/utils.mjs.map +1 -1
- package/dist/esm/types.d.ts +121 -131
- package/dist/esm/types.mjs +3 -2
- package/dist/esm/types.mjs.map +1 -1
- package/dist/esm/util.d.ts +5 -5
- package/dist/esm/util.mjs +46 -25
- package/dist/esm/util.mjs.map +1 -1
- package/package.json +74 -73
- package/src/authModeStrategies/multiAuthStrategy.ts +8 -4
- package/src/datastore/datastore.ts +145 -123
- package/src/index.ts +10 -8
- package/src/predicates/index.ts +10 -2
- package/src/predicates/next.ts +39 -28
- package/src/predicates/sort.ts +23 -26
- package/src/storage/adapter/AsyncStorageAdapter.ts +43 -25
- package/src/storage/adapter/AsyncStorageDatabase.ts +18 -10
- package/src/storage/adapter/InMemoryStore.ts +5 -1
- package/src/storage/adapter/IndexedDBAdapter.ts +50 -37
- package/src/storage/adapter/StorageAdapterBase.ts +24 -18
- package/src/storage/adapter/getDefaultAdapter/index.native.ts +1 -0
- package/src/storage/adapter/getDefaultAdapter/index.ts +4 -1
- package/src/storage/adapter/index.ts +2 -2
- package/src/storage/relationship.ts +5 -1
- package/src/storage/storage.ts +38 -30
- package/src/sync/datastoreConnectivity.ts +4 -6
- package/src/sync/index.ts +228 -230
- package/src/sync/merger.ts +4 -3
- package/src/sync/outbox.ts +26 -24
- package/src/sync/processors/errorMaps.ts +5 -0
- package/src/sync/processors/mutation.ts +80 -72
- package/src/sync/processors/subscription.ts +69 -53
- package/src/sync/processors/sync.ts +49 -37
- package/src/sync/utils.ts +60 -41
- package/src/types.ts +165 -165
- package/src/util.ts +89 -53
package/src/types.ts
CHANGED
|
@@ -1,27 +1,28 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
import { InternalAPI } from '@aws-amplify/api/internals';
|
|
4
|
+
import { GraphQLAuthMode } from '@aws-amplify/core/internals/utils';
|
|
5
|
+
|
|
3
6
|
import { ModelInstanceCreator } from './datastore/datastore';
|
|
4
7
|
import {
|
|
8
|
+
NAMESPACES,
|
|
9
|
+
extractPrimaryKeyFieldNames,
|
|
5
10
|
isAWSDate,
|
|
6
|
-
isAWSTime,
|
|
7
11
|
isAWSDateTime,
|
|
8
|
-
isAWSTimestamp,
|
|
9
12
|
isAWSEmail,
|
|
13
|
+
isAWSIPAddress,
|
|
10
14
|
isAWSJSON,
|
|
11
|
-
isAWSURL,
|
|
12
15
|
isAWSPhone,
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
+
isAWSTime,
|
|
17
|
+
isAWSTimestamp,
|
|
18
|
+
isAWSURL,
|
|
16
19
|
} from './util';
|
|
17
20
|
import { PredicateAll } from './predicates';
|
|
18
|
-
import { InternalAPI } from '@aws-amplify/api/internals';
|
|
19
21
|
import { Adapter } from './storage/adapter';
|
|
20
|
-
import { GraphQLAuthMode } from '@aws-amplify/core/internals/utils';
|
|
21
22
|
|
|
22
|
-
export type Scalar<T> = T extends
|
|
23
|
+
export type Scalar<T> = T extends (infer InnerType)[] ? InnerType : T;
|
|
23
24
|
|
|
24
|
-
|
|
25
|
+
// #region Schema types
|
|
25
26
|
/**
|
|
26
27
|
* @deprecated If you intended to use the Schema for `generateClient`, then you've imported the wrong Schema type.
|
|
27
28
|
* Use `import { type Schema } from '../amplify/data/resource' instead. If you intended to import the type for DataStore
|
|
@@ -34,25 +35,25 @@ export type DataStoreSchema = UserSchema & {
|
|
|
34
35
|
codegenVersion: string;
|
|
35
36
|
};
|
|
36
37
|
|
|
37
|
-
export
|
|
38
|
+
export interface UserSchema {
|
|
38
39
|
models: SchemaModels;
|
|
39
40
|
nonModels?: SchemaNonModels;
|
|
40
41
|
relationships?: RelationshipType;
|
|
41
42
|
keys?: ModelKeys;
|
|
42
43
|
enums: SchemaEnums;
|
|
43
44
|
modelTopologicalOrdering?: Map<string, string[]>;
|
|
44
|
-
}
|
|
45
|
-
export
|
|
45
|
+
}
|
|
46
|
+
export interface InternalSchema {
|
|
46
47
|
namespaces: SchemaNamespaces;
|
|
47
48
|
version: string;
|
|
48
49
|
codegenVersion: string;
|
|
49
|
-
}
|
|
50
|
+
}
|
|
50
51
|
export type SchemaNamespaces = Record<string, SchemaNamespace>;
|
|
51
52
|
export type SchemaNamespace = UserSchema & {
|
|
52
53
|
name: string;
|
|
53
54
|
};
|
|
54
55
|
export type SchemaModels = Record<string, SchemaModel>;
|
|
55
|
-
export
|
|
56
|
+
export interface SchemaModel {
|
|
56
57
|
name: string;
|
|
57
58
|
pluralName: string;
|
|
58
59
|
attributes?: ModelAttributes;
|
|
@@ -68,10 +69,10 @@ export type SchemaModel = {
|
|
|
68
69
|
allFields?: ModelFields;
|
|
69
70
|
|
|
70
71
|
syncable?: boolean;
|
|
71
|
-
}
|
|
72
|
+
}
|
|
72
73
|
|
|
73
74
|
export function isSchemaModel(obj: any): obj is SchemaModel {
|
|
74
|
-
return obj && (
|
|
75
|
+
return obj && (obj as SchemaModel).pluralName !== undefined;
|
|
75
76
|
}
|
|
76
77
|
|
|
77
78
|
export function isSchemaModelWithAttributes(
|
|
@@ -81,37 +82,37 @@ export function isSchemaModelWithAttributes(
|
|
|
81
82
|
}
|
|
82
83
|
|
|
83
84
|
export type SchemaNonModels = Record<string, SchemaNonModel>;
|
|
84
|
-
export
|
|
85
|
+
export interface SchemaNonModel {
|
|
85
86
|
name: string;
|
|
86
87
|
fields: ModelFields;
|
|
87
|
-
}
|
|
88
|
+
}
|
|
88
89
|
type SchemaEnums = Record<string, SchemaEnum>;
|
|
89
|
-
|
|
90
|
+
interface SchemaEnum {
|
|
90
91
|
name: string;
|
|
91
92
|
values: string[];
|
|
92
|
-
}
|
|
93
|
-
export
|
|
93
|
+
}
|
|
94
|
+
export interface ModelMeta<T extends PersistentModel> {
|
|
94
95
|
builder: PersistentModelConstructor<T>;
|
|
95
96
|
schema: SchemaModel;
|
|
96
97
|
pkField: string[];
|
|
97
|
-
}
|
|
98
|
+
}
|
|
98
99
|
export type ModelAssociation = AssociatedWith | TargetNameAssociation;
|
|
99
|
-
|
|
100
|
+
interface AssociatedWith {
|
|
100
101
|
connectionType: 'HAS_MANY' | 'HAS_ONE';
|
|
101
102
|
associatedWith: string | string[];
|
|
102
103
|
targetName?: string;
|
|
103
104
|
targetNames?: string[];
|
|
104
|
-
}
|
|
105
|
+
}
|
|
105
106
|
|
|
106
107
|
export function isAssociatedWith(obj: any): obj is AssociatedWith {
|
|
107
108
|
return obj && obj.associatedWith;
|
|
108
109
|
}
|
|
109
110
|
|
|
110
|
-
|
|
111
|
+
interface TargetNameAssociation {
|
|
111
112
|
connectionType: 'BELONGS_TO';
|
|
112
113
|
targetName?: string;
|
|
113
114
|
targetNames?: string[];
|
|
114
|
-
}
|
|
115
|
+
}
|
|
115
116
|
|
|
116
117
|
export function isTargetNameAssociation(
|
|
117
118
|
obj: any,
|
|
@@ -119,9 +120,9 @@ export function isTargetNameAssociation(
|
|
|
119
120
|
return obj?.targetName || obj?.targetNames;
|
|
120
121
|
}
|
|
121
122
|
|
|
122
|
-
|
|
123
|
+
interface FieldAssociation {
|
|
123
124
|
connectionType: 'HAS_ONE' | 'BELONGS_TO' | 'HAS_MANY';
|
|
124
|
-
}
|
|
125
|
+
}
|
|
125
126
|
export function isFieldAssociation(
|
|
126
127
|
obj: any,
|
|
127
128
|
fieldName: string,
|
|
@@ -130,9 +131,12 @@ export function isFieldAssociation(
|
|
|
130
131
|
}
|
|
131
132
|
|
|
132
133
|
export type ModelAttributes = ModelAttribute[];
|
|
133
|
-
export
|
|
134
|
+
export interface ModelAttribute {
|
|
135
|
+
type: string;
|
|
136
|
+
properties?: Record<string, any>;
|
|
137
|
+
}
|
|
134
138
|
|
|
135
|
-
export
|
|
139
|
+
export interface ModelAuthRule {
|
|
136
140
|
allow: string;
|
|
137
141
|
provider?: string;
|
|
138
142
|
operations?: string[];
|
|
@@ -141,14 +145,14 @@ export type ModelAuthRule = {
|
|
|
141
145
|
groups?: string[];
|
|
142
146
|
groupClaim?: string;
|
|
143
147
|
groupsField?: string;
|
|
144
|
-
}
|
|
148
|
+
}
|
|
145
149
|
|
|
146
|
-
export
|
|
150
|
+
export interface ModelAttributeAuth {
|
|
147
151
|
type: 'auth';
|
|
148
152
|
properties: {
|
|
149
153
|
rules: ModelAuthRule[];
|
|
150
154
|
};
|
|
151
|
-
}
|
|
155
|
+
}
|
|
152
156
|
|
|
153
157
|
export function isModelAttributeAuth(
|
|
154
158
|
attr: ModelAttribute,
|
|
@@ -161,29 +165,29 @@ export function isModelAttributeAuth(
|
|
|
161
165
|
);
|
|
162
166
|
}
|
|
163
167
|
|
|
164
|
-
|
|
168
|
+
interface ModelAttributeKey {
|
|
165
169
|
type: 'key';
|
|
166
170
|
properties: {
|
|
167
171
|
name?: string;
|
|
168
172
|
fields: string[];
|
|
169
173
|
};
|
|
170
|
-
}
|
|
174
|
+
}
|
|
171
175
|
|
|
172
|
-
|
|
176
|
+
interface ModelAttributePrimaryKey {
|
|
173
177
|
type: 'key';
|
|
174
178
|
properties: {
|
|
175
179
|
name: never;
|
|
176
180
|
fields: string[];
|
|
177
181
|
};
|
|
178
|
-
}
|
|
182
|
+
}
|
|
179
183
|
|
|
180
|
-
|
|
184
|
+
interface ModelAttributeCompositeKey {
|
|
181
185
|
type: 'key';
|
|
182
186
|
properties: {
|
|
183
187
|
name: string;
|
|
184
188
|
fields: [string, string, string, string?, string?];
|
|
185
189
|
};
|
|
186
|
-
}
|
|
190
|
+
}
|
|
187
191
|
|
|
188
192
|
export function isModelAttributeKey(
|
|
189
193
|
attr: ModelAttribute,
|
|
@@ -212,7 +216,7 @@ export function isModelAttributeCompositeKey(
|
|
|
212
216
|
);
|
|
213
217
|
}
|
|
214
218
|
|
|
215
|
-
export
|
|
219
|
+
export interface ModelAttributeAuthProperty {
|
|
216
220
|
allow: ModelAttributeAuthAllow;
|
|
217
221
|
identityClaim?: string;
|
|
218
222
|
groupClaim?: string;
|
|
@@ -220,7 +224,7 @@ export type ModelAttributeAuthProperty = {
|
|
|
220
224
|
operations?: string[];
|
|
221
225
|
ownerField?: string;
|
|
222
226
|
provider?: ModelAttributeAuthProvider;
|
|
223
|
-
}
|
|
227
|
+
}
|
|
224
228
|
|
|
225
229
|
export enum ModelAttributeAuthAllow {
|
|
226
230
|
CUSTOM = 'custom',
|
|
@@ -256,6 +260,7 @@ export enum GraphQLScalarType {
|
|
|
256
260
|
AWSIPAddress,
|
|
257
261
|
}
|
|
258
262
|
|
|
263
|
+
// eslint-disable-next-line @typescript-eslint/no-namespace
|
|
259
264
|
export namespace GraphQLScalarType {
|
|
260
265
|
export function getJSType(
|
|
261
266
|
scalar: keyof Omit<
|
|
@@ -318,7 +323,7 @@ export namespace GraphQLScalarType {
|
|
|
318
323
|
}
|
|
319
324
|
}
|
|
320
325
|
|
|
321
|
-
export
|
|
326
|
+
export interface AuthorizationRule {
|
|
322
327
|
identityClaim: string;
|
|
323
328
|
ownerField: string;
|
|
324
329
|
provider: 'userPools' | 'oidc' | 'iam' | 'apiKey';
|
|
@@ -327,7 +332,7 @@ export type AuthorizationRule = {
|
|
|
327
332
|
groupsField: string;
|
|
328
333
|
authStrategy: 'owner' | 'groups' | 'private' | 'public';
|
|
329
334
|
areSubscriptionsPublic: boolean;
|
|
330
|
-
}
|
|
335
|
+
}
|
|
331
336
|
|
|
332
337
|
export function isGraphQLScalarType(
|
|
333
338
|
obj: any,
|
|
@@ -338,11 +343,11 @@ export function isGraphQLScalarType(
|
|
|
338
343
|
return obj && GraphQLScalarType[obj] !== undefined;
|
|
339
344
|
}
|
|
340
345
|
|
|
341
|
-
export
|
|
346
|
+
export interface ModelFieldType {
|
|
342
347
|
model: string;
|
|
343
348
|
modelConstructor?: ModelMeta<PersistentModel>;
|
|
344
|
-
}
|
|
345
|
-
export function isModelFieldType<
|
|
349
|
+
}
|
|
350
|
+
export function isModelFieldType<_ extends PersistentModel>(
|
|
346
351
|
obj: any,
|
|
347
352
|
): obj is ModelFieldType {
|
|
348
353
|
const modelField: keyof ModelFieldType = 'model';
|
|
@@ -351,7 +356,9 @@ export function isModelFieldType<T extends PersistentModel>(
|
|
|
351
356
|
return false;
|
|
352
357
|
}
|
|
353
358
|
|
|
354
|
-
export
|
|
359
|
+
export interface NonModelFieldType {
|
|
360
|
+
nonModel: string;
|
|
361
|
+
}
|
|
355
362
|
export function isNonModelFieldType(obj: any): obj is NonModelFieldType {
|
|
356
363
|
const typeField: keyof NonModelFieldType = 'nonModel';
|
|
357
364
|
if (obj && obj[typeField]) return true;
|
|
@@ -359,7 +366,9 @@ export function isNonModelFieldType(obj: any): obj is NonModelFieldType {
|
|
|
359
366
|
return false;
|
|
360
367
|
}
|
|
361
368
|
|
|
362
|
-
|
|
369
|
+
interface EnumFieldType {
|
|
370
|
+
enum: string;
|
|
371
|
+
}
|
|
363
372
|
export function isEnumFieldType(obj: any): obj is EnumFieldType {
|
|
364
373
|
const modelField: keyof EnumFieldType = 'enum';
|
|
365
374
|
if (obj && obj[modelField]) return true;
|
|
@@ -367,7 +376,7 @@ export function isEnumFieldType(obj: any): obj is EnumFieldType {
|
|
|
367
376
|
return false;
|
|
368
377
|
}
|
|
369
378
|
|
|
370
|
-
export
|
|
379
|
+
export interface ModelField {
|
|
371
380
|
name: string;
|
|
372
381
|
type:
|
|
373
382
|
| keyof Omit<
|
|
@@ -383,22 +392,20 @@ export type ModelField = {
|
|
|
383
392
|
isArrayNullable?: boolean;
|
|
384
393
|
association?: ModelAssociation;
|
|
385
394
|
attributes?: ModelAttributes[];
|
|
386
|
-
}
|
|
387
|
-
|
|
395
|
+
}
|
|
396
|
+
// #endregion
|
|
388
397
|
|
|
389
|
-
|
|
390
|
-
export type NonModelTypeConstructor<T> =
|
|
391
|
-
new (init: T): T;
|
|
392
|
-
};
|
|
398
|
+
// #region Model definition
|
|
399
|
+
export type NonModelTypeConstructor<T> = new (init: T) => T;
|
|
393
400
|
|
|
394
401
|
// Class for model
|
|
395
|
-
export
|
|
402
|
+
export interface PersistentModelConstructor<T extends PersistentModel> {
|
|
396
403
|
new (init: ModelInit<T, PersistentModelMetaData<T>>): T;
|
|
397
404
|
copyOf(
|
|
398
405
|
src: T,
|
|
399
406
|
mutator: (draft: MutableModel<T, PersistentModelMetaData<T>>) => void,
|
|
400
407
|
): T;
|
|
401
|
-
}
|
|
408
|
+
}
|
|
402
409
|
|
|
403
410
|
/**
|
|
404
411
|
* @private
|
|
@@ -443,7 +450,7 @@ export type OptionallyManagedIdentifier<T, F extends keyof T> = IdentifierBrand<
|
|
|
443
450
|
>;
|
|
444
451
|
|
|
445
452
|
// You provide the values
|
|
446
|
-
export type CompositeIdentifier<T, K extends
|
|
453
|
+
export type CompositeIdentifier<T, K extends (keyof T)[]> = IdentifierBrand<
|
|
447
454
|
{ fields: K; type: T },
|
|
448
455
|
'CompositeIdentifier'
|
|
449
456
|
>;
|
|
@@ -494,10 +501,10 @@ export type IdentifierFieldsForInit<
|
|
|
494
501
|
// Instance of model
|
|
495
502
|
export declare const __modelMeta__: unique symbol;
|
|
496
503
|
|
|
497
|
-
export
|
|
504
|
+
export interface PersistentModelMetaData<T> {
|
|
498
505
|
identifier?: Identifier<T>;
|
|
499
506
|
readOnlyFields?: string;
|
|
500
|
-
}
|
|
507
|
+
}
|
|
501
508
|
|
|
502
509
|
export interface AsyncCollection<T> extends AsyncIterable<T> {
|
|
503
510
|
toArray(options?: { max?: number }): Promise<T[]>;
|
|
@@ -538,19 +545,11 @@ type OptionalRelativesOf<T> =
|
|
|
538
545
|
|
|
539
546
|
type OmitOptionalRelatives<T> = Omit<T, OptionalRelativesOf<T>>;
|
|
540
547
|
type PickOptionalRelatives<T> = Pick<T, OptionalRelativesOf<T>>;
|
|
541
|
-
type OmitOptionalFields<T> = Omit<
|
|
542
|
-
T,
|
|
543
|
-
KeysOfSuperType<T, undefined> | OptionalRelativesOf<T>
|
|
544
|
-
>;
|
|
545
|
-
type PickOptionalFields<T> = Pick<
|
|
546
|
-
T,
|
|
547
|
-
KeysOfSuperType<T, undefined> | OptionalRelativesOf<T>
|
|
548
|
-
>;
|
|
549
548
|
|
|
550
|
-
export
|
|
549
|
+
export interface DefaultPersistentModelMetaData {
|
|
551
550
|
identifier: ManagedIdentifier<{ id: string }, 'id'>;
|
|
552
551
|
readOnlyFields: never;
|
|
553
|
-
}
|
|
552
|
+
}
|
|
554
553
|
|
|
555
554
|
export type MetadataOrDefault<
|
|
556
555
|
T extends PersistentModel,
|
|
@@ -578,6 +577,7 @@ export type MetadataReadOnlyFields<
|
|
|
578
577
|
// This type makes optional some identifiers in the constructor init object (e.g. OptionallyManagedIdentifier)
|
|
579
578
|
export type ModelInitBase<
|
|
580
579
|
T extends PersistentModel,
|
|
580
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
581
581
|
M extends PersistentModelMetaData<T> = {},
|
|
582
582
|
> = Omit<
|
|
583
583
|
T,
|
|
@@ -592,6 +592,7 @@ export type ModelInitBase<
|
|
|
592
592
|
|
|
593
593
|
export type ModelInit<
|
|
594
594
|
T extends PersistentModel,
|
|
595
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
595
596
|
M extends PersistentModelMetaData<T> = {},
|
|
596
597
|
> = {
|
|
597
598
|
[P in keyof OmitOptionalRelatives<ModelInitBase<T, M>>]: SettableFieldType<
|
|
@@ -617,6 +618,7 @@ type DeepWritable<T> = {
|
|
|
617
618
|
|
|
618
619
|
export type MutableModel<
|
|
619
620
|
T extends PersistentModel,
|
|
621
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
620
622
|
M extends PersistentModelMetaData<T> = {},
|
|
621
623
|
// This provides Intellisense with ALL of the properties, regardless of read-only
|
|
622
624
|
// but will throw a linting error if trying to overwrite a read-only property
|
|
@@ -625,11 +627,11 @@ export type MutableModel<
|
|
|
625
627
|
> &
|
|
626
628
|
Readonly<Pick<T, IdentifierFields<T, M> | MetadataReadOnlyFields<T, M>>>;
|
|
627
629
|
|
|
628
|
-
export
|
|
630
|
+
export interface ModelInstanceMetadata {
|
|
629
631
|
_version: number;
|
|
630
632
|
_lastChangedAt: number;
|
|
631
633
|
_deleted: boolean;
|
|
632
|
-
}
|
|
634
|
+
}
|
|
633
635
|
|
|
634
636
|
export type IdentifierFieldValue<
|
|
635
637
|
T extends PersistentModel,
|
|
@@ -656,9 +658,9 @@ export function isIdentifierObject<T extends PersistentModel>(
|
|
|
656
658
|
typeof obj === 'object' && obj && keys.every(k => obj[k] !== undefined)
|
|
657
659
|
);
|
|
658
660
|
}
|
|
659
|
-
|
|
661
|
+
// #endregion
|
|
660
662
|
|
|
661
|
-
|
|
663
|
+
// #region Subscription messages
|
|
662
664
|
export enum OpType {
|
|
663
665
|
INSERT = 'INSERT',
|
|
664
666
|
UPDATE = 'UPDATE',
|
|
@@ -670,21 +672,21 @@ export type SubscriptionMessage<T extends PersistentModel> = Pick<
|
|
|
670
672
|
'opType' | 'element' | 'model' | 'condition'
|
|
671
673
|
>;
|
|
672
674
|
|
|
673
|
-
export
|
|
675
|
+
export interface InternalSubscriptionMessage<T extends PersistentModel> {
|
|
674
676
|
opType: OpType;
|
|
675
677
|
element: T;
|
|
676
678
|
model: PersistentModelConstructor<T>;
|
|
677
679
|
condition: PredicatesGroup<T> | null;
|
|
678
680
|
savedElement?: T;
|
|
679
|
-
}
|
|
681
|
+
}
|
|
680
682
|
|
|
681
|
-
export
|
|
683
|
+
export interface DataStoreSnapshot<T extends PersistentModel> {
|
|
682
684
|
items: T[];
|
|
683
685
|
isSynced: boolean;
|
|
684
|
-
}
|
|
685
|
-
|
|
686
|
+
}
|
|
687
|
+
// #endregion
|
|
686
688
|
|
|
687
|
-
|
|
689
|
+
// #region Predicates
|
|
688
690
|
|
|
689
691
|
export type PredicateExpression<M extends PersistentModel, FT> =
|
|
690
692
|
TypeName<FT> extends keyof MapTypeToOperands<FT>
|
|
@@ -695,10 +697,10 @@ export type PredicateExpression<M extends PersistentModel, FT> =
|
|
|
695
697
|
) => ModelPredicate<M>
|
|
696
698
|
: never;
|
|
697
699
|
|
|
698
|
-
|
|
700
|
+
interface EqualityOperators<T> {
|
|
699
701
|
ne: T;
|
|
700
702
|
eq: T;
|
|
701
|
-
}
|
|
703
|
+
}
|
|
702
704
|
type ScalarNumberOperators<T> = EqualityOperators<T> & {
|
|
703
705
|
le: T;
|
|
704
706
|
lt: T;
|
|
@@ -714,22 +716,22 @@ type StringOperators<T> = ScalarNumberOperators<T> & {
|
|
|
714
716
|
notContains: T;
|
|
715
717
|
};
|
|
716
718
|
type BooleanOperators<T> = EqualityOperators<T>;
|
|
717
|
-
|
|
719
|
+
interface ArrayOperators<T> {
|
|
718
720
|
contains: T;
|
|
719
721
|
notContains: T;
|
|
720
|
-
}
|
|
722
|
+
}
|
|
721
723
|
export type AllOperators = NumberOperators<any> &
|
|
722
724
|
StringOperators<any> &
|
|
723
725
|
ArrayOperators<any>;
|
|
724
726
|
|
|
725
|
-
|
|
727
|
+
interface MapTypeToOperands<T> {
|
|
726
728
|
number: NumberOperators<NonNullable<T>>;
|
|
727
729
|
string: StringOperators<NonNullable<T>>;
|
|
728
730
|
boolean: BooleanOperators<NonNullable<T>>;
|
|
729
731
|
'number[]': ArrayOperators<number>;
|
|
730
732
|
'string[]': ArrayOperators<string>;
|
|
731
733
|
'boolean[]': ArrayOperators<boolean>;
|
|
732
|
-
}
|
|
734
|
+
}
|
|
733
735
|
|
|
734
736
|
type TypeName<T> = T extends string
|
|
735
737
|
? 'string'
|
|
@@ -745,17 +747,17 @@ type TypeName<T> = T extends string
|
|
|
745
747
|
? 'boolean[]'
|
|
746
748
|
: never;
|
|
747
749
|
|
|
748
|
-
export
|
|
749
|
-
and
|
|
750
|
+
export interface PredicateGroups<T extends PersistentModel> {
|
|
751
|
+
and(
|
|
750
752
|
predicate: (predicate: ModelPredicate<T>) => ModelPredicate<T>,
|
|
751
|
-
)
|
|
752
|
-
or
|
|
753
|
+
): ModelPredicate<T>;
|
|
754
|
+
or(
|
|
753
755
|
predicate: (predicate: ModelPredicate<T>) => ModelPredicate<T>,
|
|
754
|
-
)
|
|
755
|
-
not
|
|
756
|
+
): ModelPredicate<T>;
|
|
757
|
+
not(
|
|
756
758
|
predicate: (predicate: ModelPredicate<T>) => ModelPredicate<T>,
|
|
757
|
-
)
|
|
758
|
-
}
|
|
759
|
+
): ModelPredicate<T>;
|
|
760
|
+
}
|
|
759
761
|
|
|
760
762
|
export type ModelPredicate<M extends PersistentModel> = {
|
|
761
763
|
[K in keyof M]-?: PredicateExpression<M, NonNullable<M[K]>>;
|
|
@@ -765,38 +767,37 @@ export type ProducerModelPredicate<M extends PersistentModel> = (
|
|
|
765
767
|
condition: ModelPredicate<M>,
|
|
766
768
|
) => ModelPredicate<M>;
|
|
767
769
|
|
|
768
|
-
export
|
|
770
|
+
export interface PredicatesGroup<T extends PersistentModel> {
|
|
769
771
|
type: keyof PredicateGroups<T>;
|
|
770
772
|
predicates: (PredicateObject<T> | PredicatesGroup<T>)[];
|
|
771
|
-
}
|
|
773
|
+
}
|
|
772
774
|
|
|
773
775
|
export function isPredicateObj<T extends PersistentModel>(
|
|
774
776
|
obj: any,
|
|
775
777
|
): obj is PredicateObject<T> {
|
|
776
|
-
return obj && (
|
|
778
|
+
return obj && (obj as PredicateObject<T>).field !== undefined;
|
|
777
779
|
}
|
|
778
780
|
|
|
779
781
|
export function isPredicateGroup<T extends PersistentModel>(
|
|
780
782
|
obj: any,
|
|
781
783
|
): obj is PredicatesGroup<T> {
|
|
782
|
-
return obj && (
|
|
784
|
+
return obj && (obj as PredicatesGroup<T>).type !== undefined;
|
|
783
785
|
}
|
|
784
786
|
|
|
785
|
-
export
|
|
787
|
+
export interface PredicateObject<T extends PersistentModel> {
|
|
786
788
|
field: keyof T;
|
|
787
789
|
operator: keyof AllOperators;
|
|
788
790
|
operand: any;
|
|
789
|
-
}
|
|
791
|
+
}
|
|
790
792
|
|
|
791
793
|
export enum QueryOne {
|
|
792
794
|
FIRST,
|
|
793
795
|
LAST,
|
|
794
796
|
}
|
|
795
|
-
export type GraphQLField =
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
};
|
|
797
|
+
export type GraphQLField = Record<
|
|
798
|
+
string,
|
|
799
|
+
Record<string, string | number | [number, number]>
|
|
800
|
+
>;
|
|
800
801
|
|
|
801
802
|
export type GraphQLCondition = Partial<
|
|
802
803
|
| GraphQLField
|
|
@@ -820,26 +821,26 @@ export type GraphQLFilter = Partial<
|
|
|
820
821
|
}
|
|
821
822
|
>;
|
|
822
823
|
|
|
823
|
-
|
|
824
|
+
// #endregion
|
|
824
825
|
|
|
825
|
-
|
|
826
|
+
// #region Pagination
|
|
826
827
|
|
|
827
|
-
export
|
|
828
|
+
export interface ProducerPaginationInput<T extends PersistentModel> {
|
|
828
829
|
sort?: ProducerSortPredicate<T>;
|
|
829
830
|
limit?: number;
|
|
830
831
|
page?: number;
|
|
831
|
-
}
|
|
832
|
+
}
|
|
832
833
|
|
|
833
834
|
export type ObserveQueryOptions<T extends PersistentModel> = Pick<
|
|
834
835
|
ProducerPaginationInput<T>,
|
|
835
836
|
'sort'
|
|
836
837
|
>;
|
|
837
838
|
|
|
838
|
-
export
|
|
839
|
+
export interface PaginationInput<T extends PersistentModel> {
|
|
839
840
|
sort?: SortPredicate<T>;
|
|
840
841
|
limit?: number;
|
|
841
842
|
page?: number;
|
|
842
|
-
}
|
|
843
|
+
}
|
|
843
844
|
|
|
844
845
|
export type ProducerSortPredicate<M extends PersistentModel> = (
|
|
845
846
|
condition: SortPredicate<M>,
|
|
@@ -862,16 +863,16 @@ export enum SortDirection {
|
|
|
862
863
|
export type SortPredicatesGroup<T extends PersistentModel> =
|
|
863
864
|
SortPredicateObject<T>[];
|
|
864
865
|
|
|
865
|
-
export
|
|
866
|
+
export interface SortPredicateObject<T extends PersistentModel> {
|
|
866
867
|
field: keyof T;
|
|
867
868
|
sortDirection: keyof typeof SortDirection;
|
|
868
|
-
}
|
|
869
|
+
}
|
|
869
870
|
|
|
870
|
-
|
|
871
|
+
// #endregion
|
|
871
872
|
|
|
872
|
-
|
|
873
|
+
// #region System Components
|
|
873
874
|
|
|
874
|
-
export
|
|
875
|
+
export interface SystemComponent {
|
|
875
876
|
setUp(
|
|
876
877
|
schema: InternalSchema,
|
|
877
878
|
namespaceResolver: NamespaceResolver,
|
|
@@ -882,62 +883,61 @@ export type SystemComponent = {
|
|
|
882
883
|
) => PersistentModelConstructor<any>,
|
|
883
884
|
appId?: string,
|
|
884
885
|
): Promise<void>;
|
|
885
|
-
}
|
|
886
|
+
}
|
|
886
887
|
|
|
887
888
|
export type NamespaceResolver = (
|
|
888
889
|
modelConstructor: PersistentModelConstructor<any>,
|
|
889
890
|
) => string;
|
|
890
891
|
|
|
891
|
-
export
|
|
892
|
+
export interface ControlMessageType<T> {
|
|
892
893
|
type: T;
|
|
893
894
|
data?: any;
|
|
894
|
-
}
|
|
895
|
+
}
|
|
895
896
|
|
|
896
|
-
|
|
897
|
+
// #endregion
|
|
897
898
|
|
|
898
|
-
|
|
899
|
-
export
|
|
899
|
+
// #region Relationship types
|
|
900
|
+
export interface RelationType {
|
|
900
901
|
fieldName: string;
|
|
901
902
|
modelName: string;
|
|
902
903
|
relationType: 'HAS_ONE' | 'HAS_MANY' | 'BELONGS_TO';
|
|
903
904
|
targetName?: string;
|
|
904
905
|
targetNames?: string[];
|
|
905
906
|
associatedWith?: string | string[];
|
|
906
|
-
}
|
|
907
|
+
}
|
|
907
908
|
|
|
908
|
-
|
|
909
|
+
interface IndexOptions {
|
|
909
910
|
unique?: boolean;
|
|
910
|
-
}
|
|
911
|
+
}
|
|
911
912
|
|
|
912
|
-
export type IndexesType =
|
|
913
|
+
export type IndexesType = [string, string[], IndexOptions?][];
|
|
913
914
|
|
|
914
|
-
export type RelationshipType =
|
|
915
|
-
|
|
915
|
+
export type RelationshipType = Record<
|
|
916
|
+
string,
|
|
917
|
+
{
|
|
916
918
|
indexes: IndexesType;
|
|
917
919
|
relationTypes: RelationType[];
|
|
918
|
-
}
|
|
919
|
-
|
|
920
|
+
}
|
|
921
|
+
>;
|
|
920
922
|
|
|
921
|
-
|
|
923
|
+
// #endregion
|
|
922
924
|
|
|
923
|
-
|
|
924
|
-
export
|
|
925
|
+
// #region Key type
|
|
926
|
+
export interface KeyType {
|
|
925
927
|
primaryKey?: string[];
|
|
926
928
|
compositeKeys?: Set<string>[];
|
|
927
|
-
}
|
|
929
|
+
}
|
|
928
930
|
|
|
929
|
-
export type ModelKeys =
|
|
930
|
-
[modelName: string]: KeyType;
|
|
931
|
-
};
|
|
931
|
+
export type ModelKeys = Record<string, KeyType>;
|
|
932
932
|
|
|
933
|
-
|
|
933
|
+
// #endregion
|
|
934
934
|
|
|
935
|
-
|
|
936
|
-
export
|
|
935
|
+
// #region DataStore config types
|
|
936
|
+
export interface DataStoreConfig {
|
|
937
937
|
DataStore?: {
|
|
938
938
|
authModeStrategyType?: AuthModeStrategyType;
|
|
939
939
|
conflictHandler?: ConflictHandler; // default : retry until client wins up to x times
|
|
940
|
-
errorHandler
|
|
940
|
+
errorHandler?(error: SyncError<PersistentModel>): void; // default : logger.warn
|
|
941
941
|
maxRecordsToSync?: number; // merge
|
|
942
942
|
syncPageSize?: number;
|
|
943
943
|
fullSyncInterval?: number;
|
|
@@ -947,18 +947,18 @@ export type DataStoreConfig = {
|
|
|
947
947
|
};
|
|
948
948
|
authModeStrategyType?: AuthModeStrategyType;
|
|
949
949
|
conflictHandler?: ConflictHandler; // default : retry until client wins up to x times
|
|
950
|
-
errorHandler
|
|
950
|
+
errorHandler?(error: SyncError<PersistentModel>): void; // default : logger.warn
|
|
951
951
|
maxRecordsToSync?: number; // merge
|
|
952
952
|
syncPageSize?: number;
|
|
953
953
|
fullSyncInterval?: number;
|
|
954
954
|
syncExpressions?: SyncExpression[];
|
|
955
955
|
authProviders?: AuthProviders;
|
|
956
956
|
storageAdapter?: Adapter;
|
|
957
|
-
}
|
|
957
|
+
}
|
|
958
958
|
|
|
959
|
-
export
|
|
960
|
-
functionAuthProvider
|
|
961
|
-
}
|
|
959
|
+
export interface AuthProviders {
|
|
960
|
+
functionAuthProvider(): { token: string } | Promise<{ token: string }>;
|
|
961
|
+
}
|
|
962
962
|
|
|
963
963
|
export enum AuthModeStrategyType {
|
|
964
964
|
DEFAULT = 'DEFAULT',
|
|
@@ -971,11 +971,11 @@ export type AuthModeStrategyReturn =
|
|
|
971
971
|
| undefined
|
|
972
972
|
| null;
|
|
973
973
|
|
|
974
|
-
export
|
|
974
|
+
export interface AuthModeStrategyParams {
|
|
975
975
|
schema: InternalSchema;
|
|
976
976
|
modelName: string;
|
|
977
977
|
operation: ModelOperation;
|
|
978
|
-
}
|
|
978
|
+
}
|
|
979
979
|
|
|
980
980
|
export type AuthModeStrategy = (
|
|
981
981
|
authModeStrategyParams: AuthModeStrategyParams,
|
|
@@ -997,7 +997,7 @@ export type ModelAuthModes = Record<
|
|
|
997
997
|
|
|
998
998
|
export type SyncExpression = Promise<{
|
|
999
999
|
modelConstructor: any;
|
|
1000
|
-
conditionProducer
|
|
1000
|
+
conditionProducer(c?: any): any;
|
|
1001
1001
|
}>;
|
|
1002
1002
|
|
|
1003
1003
|
/*
|
|
@@ -1019,14 +1019,14 @@ type Option0 = [];
|
|
|
1019
1019
|
type Option1<T extends PersistentModel> = [V5ModelPredicate<T> | undefined];
|
|
1020
1020
|
type Option<T extends PersistentModel> = Option0 | Option1<T>;
|
|
1021
1021
|
|
|
1022
|
-
|
|
1022
|
+
interface Lookup<T extends PersistentModel> {
|
|
1023
1023
|
0:
|
|
1024
1024
|
| ModelPredicateExtender<T>
|
|
1025
1025
|
| Promise<ModelPredicateExtender<T>>
|
|
1026
1026
|
| typeof PredicateAll
|
|
1027
1027
|
| Promise<typeof PredicateAll | symbol>;
|
|
1028
1028
|
1: PredicateInternalsKey | undefined;
|
|
1029
|
-
}
|
|
1029
|
+
}
|
|
1030
1030
|
|
|
1031
1031
|
type ConditionProducer<T extends PersistentModel, A extends Option<T>> = (
|
|
1032
1032
|
...args: A
|
|
@@ -1048,15 +1048,15 @@ export async function syncExpression<
|
|
|
1048
1048
|
};
|
|
1049
1049
|
}
|
|
1050
1050
|
|
|
1051
|
-
export
|
|
1051
|
+
export interface SyncConflict {
|
|
1052
1052
|
modelConstructor: PersistentModelConstructor<any>;
|
|
1053
1053
|
localModel: PersistentModel;
|
|
1054
1054
|
remoteModel: PersistentModel;
|
|
1055
1055
|
operation: OpType;
|
|
1056
1056
|
attempts: number;
|
|
1057
|
-
}
|
|
1057
|
+
}
|
|
1058
1058
|
|
|
1059
|
-
export
|
|
1059
|
+
export interface SyncError<T extends PersistentModel> {
|
|
1060
1060
|
message: string;
|
|
1061
1061
|
errorType: ErrorType;
|
|
1062
1062
|
errorInfo?: string;
|
|
@@ -1067,7 +1067,7 @@ export type SyncError<T extends PersistentModel> = {
|
|
|
1067
1067
|
process: ProcessName;
|
|
1068
1068
|
operation: string;
|
|
1069
1069
|
cause?: Error;
|
|
1070
|
-
}
|
|
1070
|
+
}
|
|
1071
1071
|
|
|
1072
1072
|
export type ErrorType =
|
|
1073
1073
|
| 'ConfigError'
|
|
@@ -1093,21 +1093,21 @@ export type ConflictHandler = (
|
|
|
1093
1093
|
| typeof DISCARD;
|
|
1094
1094
|
export type ErrorHandler = (error: SyncError<PersistentModel>) => void;
|
|
1095
1095
|
|
|
1096
|
-
export
|
|
1097
|
-
callback
|
|
1096
|
+
export interface DeferredCallbackResolverOptions {
|
|
1097
|
+
callback(): void;
|
|
1098
1098
|
maxInterval?: number;
|
|
1099
|
-
errorHandler
|
|
1100
|
-
}
|
|
1099
|
+
errorHandler?(error: string): void;
|
|
1100
|
+
}
|
|
1101
1101
|
|
|
1102
1102
|
export enum LimitTimerRaceResolvedValues {
|
|
1103
1103
|
LIMIT = 'LIMIT',
|
|
1104
1104
|
TIMER = 'TIMER',
|
|
1105
1105
|
}
|
|
1106
|
-
|
|
1106
|
+
// #endregion
|
|
1107
1107
|
|
|
1108
|
-
export
|
|
1108
|
+
export interface AmplifyContext {
|
|
1109
1109
|
InternalAPI: typeof InternalAPI;
|
|
1110
|
-
}
|
|
1110
|
+
}
|
|
1111
1111
|
|
|
1112
1112
|
// #region V5 predicate types
|
|
1113
1113
|
|
|
@@ -1206,7 +1206,7 @@ export type ModelPredicateAggregateExtender<RT extends PersistentModel> = (
|
|
|
1206
1206
|
) => PredicateInternalsKey[];
|
|
1207
1207
|
|
|
1208
1208
|
export type ValuePredicate<
|
|
1209
|
-
|
|
1209
|
+
_RT extends PersistentModel,
|
|
1210
1210
|
MT extends MatchableTypes,
|
|
1211
1211
|
> = {
|
|
1212
1212
|
[K in AllFieldOperators]: K extends 'between'
|
|
@@ -1240,7 +1240,7 @@ export type ModelPredicateNegation<RT extends PersistentModel> = (
|
|
|
1240
1240
|
* that should not be exposed on public customer interfaces.
|
|
1241
1241
|
*/
|
|
1242
1242
|
export class PredicateInternalsKey {
|
|
1243
|
-
private __isPredicateInternalsKeySentinel
|
|
1243
|
+
private __isPredicateInternalsKeySentinel = true;
|
|
1244
1244
|
}
|
|
1245
1245
|
|
|
1246
1246
|
// #endregion
|