@aws-amplify/datastore 4.7.6-api-v6-models.b3abc9b.0 → 5.0.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/README.md +4 -0
- package/lib/authModeStrategies/defaultAuthStrategy.js +3 -2
- package/lib/authModeStrategies/index.js +3 -3
- package/lib/authModeStrategies/multiAuthStrategy.js +38 -53
- package/lib/datastore/datastore.d.ts +4 -5
- package/lib/datastore/datastore.js +929 -1284
- package/lib/index.d.ts +1 -1
- package/lib/index.js +26 -13
- package/lib/predicates/index.js +54 -69
- package/lib/predicates/next.d.ts +2 -2
- package/lib/predicates/next.js +313 -462
- package/lib/predicates/sort.js +24 -28
- package/lib/ssr/index.js +2 -2
- package/lib/storage/adapter/AsyncStorageAdapter.js +120 -342
- package/lib/storage/adapter/AsyncStorageDatabase.js +217 -421
- package/lib/storage/adapter/InMemoryStore.js +28 -51
- package/lib/storage/adapter/InMemoryStore.native.js +5 -3
- package/lib/storage/adapter/IndexedDBAdapter.js +466 -871
- package/lib/storage/adapter/StorageAdapterBase.js +180 -330
- package/lib/storage/adapter/getDefaultAdapter/index.js +8 -10
- package/lib/storage/adapter/getDefaultAdapter/index.native.js +5 -4
- package/lib/storage/adapter/index.js +0 -1
- package/lib/storage/relationship.js +177 -253
- package/lib/storage/storage.d.ts +4 -4
- package/lib/storage/storage.js +255 -433
- package/lib/sync/datastoreConnectivity.d.ts +2 -2
- package/lib/sync/datastoreConnectivity.js +29 -39
- package/lib/sync/datastoreReachability/index.d.ts +1 -3
- package/lib/sync/datastoreReachability/index.js +3 -3
- package/lib/sync/datastoreReachability/index.native.d.ts +1 -3
- package/lib/sync/datastoreReachability/index.native.js +4 -5
- package/lib/sync/index.d.ts +2 -2
- package/lib/sync/index.js +522 -827
- package/lib/sync/merger.js +31 -63
- package/lib/sync/outbox.js +148 -232
- package/lib/sync/processors/errorMaps.d.ts +1 -1
- package/lib/sync/processors/errorMaps.js +30 -47
- package/lib/sync/processors/mutation.d.ts +2 -2
- package/lib/sync/processors/mutation.js +343 -502
- package/lib/sync/processors/subscription.d.ts +5 -2
- package/lib/sync/processors/subscription.js +283 -437
- package/lib/sync/processors/sync.d.ts +2 -2
- package/lib/sync/processors/sync.js +279 -404
- package/lib/sync/utils.d.ts +5 -4
- package/lib/sync/utils.js +267 -320
- package/lib/tsconfig.tsbuildinfo +1 -0
- package/lib/types.d.ts +138 -140
- package/lib/types.js +17 -24
- package/lib/util.d.ts +9 -17
- package/lib/util.js +387 -511
- package/lib-esm/authModeStrategies/defaultAuthStrategy.js +1 -2
- package/lib-esm/authModeStrategies/index.js +0 -1
- package/lib-esm/authModeStrategies/multiAuthStrategy.js +35 -52
- package/lib-esm/datastore/datastore.d.ts +4 -5
- package/lib-esm/datastore/datastore.js +888 -1247
- package/lib-esm/index.d.ts +1 -1
- package/lib-esm/index.js +6 -7
- package/lib-esm/predicates/index.js +53 -70
- package/lib-esm/predicates/next.d.ts +2 -2
- package/lib-esm/predicates/next.js +306 -459
- package/lib-esm/predicates/sort.js +23 -28
- package/lib-esm/ssr/index.js +1 -2
- package/lib-esm/storage/adapter/AsyncStorageAdapter.js +111 -338
- package/lib-esm/storage/adapter/AsyncStorageDatabase.js +212 -416
- package/lib-esm/storage/adapter/InMemoryStore.js +27 -52
- package/lib-esm/storage/adapter/InMemoryStore.native.js +0 -1
- package/lib-esm/storage/adapter/IndexedDBAdapter.js +438 -866
- package/lib-esm/storage/adapter/StorageAdapterBase.js +173 -325
- package/lib-esm/storage/adapter/getDefaultAdapter/index.js +2 -6
- package/lib-esm/storage/adapter/getDefaultAdapter/index.native.js +1 -2
- package/lib-esm/storage/adapter/index.js +1 -1
- package/lib-esm/storage/relationship.js +173 -251
- package/lib-esm/storage/storage.d.ts +4 -4
- package/lib-esm/storage/storage.js +242 -424
- package/lib-esm/sync/datastoreConnectivity.d.ts +2 -2
- package/lib-esm/sync/datastoreConnectivity.js +28 -39
- package/lib-esm/sync/datastoreReachability/index.d.ts +1 -3
- package/lib-esm/sync/datastoreReachability/index.js +2 -3
- package/lib-esm/sync/datastoreReachability/index.native.d.ts +1 -3
- package/lib-esm/sync/datastoreReachability/index.native.js +3 -4
- package/lib-esm/sync/index.d.ts +2 -2
- package/lib-esm/sync/index.js +502 -812
- package/lib-esm/sync/merger.js +28 -61
- package/lib-esm/sync/outbox.js +143 -228
- package/lib-esm/sync/processors/errorMaps.d.ts +1 -1
- package/lib-esm/sync/processors/errorMaps.js +32 -50
- package/lib-esm/sync/processors/mutation.d.ts +2 -2
- package/lib-esm/sync/processors/mutation.js +329 -490
- package/lib-esm/sync/processors/subscription.d.ts +5 -2
- package/lib-esm/sync/processors/subscription.js +266 -421
- package/lib-esm/sync/processors/sync.d.ts +2 -2
- package/lib-esm/sync/processors/sync.js +271 -397
- package/lib-esm/sync/utils.d.ts +5 -4
- package/lib-esm/sync/utils.js +252 -307
- package/lib-esm/tsconfig.tsbuildinfo +1 -0
- package/lib-esm/types.d.ts +138 -140
- package/lib-esm/types.js +16 -25
- package/lib-esm/util.d.ts +9 -17
- package/lib-esm/util.js +335 -497
- package/package.json +31 -26
- package/src/authModeStrategies/multiAuthStrategy.ts +15 -12
- package/src/datastore/datastore.ts +36 -35
- package/src/predicates/sort.ts +3 -1
- package/src/storage/adapter/InMemoryStore.ts +1 -1
- package/src/storage/adapter/IndexedDBAdapter.ts +2 -2
- package/src/storage/adapter/StorageAdapterBase.ts +2 -2
- package/src/storage/adapter/getDefaultAdapter/index.ts +1 -4
- package/src/storage/storage.ts +29 -24
- package/src/sync/datastoreConnectivity.ts +6 -6
- package/src/sync/datastoreReachability/index.native.ts +5 -3
- package/src/sync/datastoreReachability/index.ts +1 -1
- package/src/sync/index.ts +79 -89
- package/src/sync/processors/errorMaps.ts +7 -7
- package/src/sync/processors/mutation.ts +19 -13
- package/src/sync/processors/subscription.ts +221 -295
- package/src/sync/processors/sync.ts +11 -8
- package/src/sync/utils.ts +30 -15
- package/src/types.ts +4 -8
- package/src/util.ts +46 -9
- package/lib/.tsbuildinfo +0 -3
- package/lib/authModeStrategies/defaultAuthStrategy.js.map +0 -1
- package/lib/authModeStrategies/index.js.map +0 -1
- package/lib/authModeStrategies/multiAuthStrategy.js.map +0 -1
- package/lib/datastore/datastore.js.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/predicates/index.js.map +0 -1
- package/lib/predicates/next.js.map +0 -1
- package/lib/predicates/sort.js.map +0 -1
- package/lib/ssr/index.js.map +0 -1
- package/lib/storage/adapter/AsyncStorageAdapter.js.map +0 -1
- package/lib/storage/adapter/AsyncStorageDatabase.js.map +0 -1
- package/lib/storage/adapter/InMemoryStore.js.map +0 -1
- package/lib/storage/adapter/InMemoryStore.native.js.map +0 -1
- package/lib/storage/adapter/IndexedDBAdapter.js.map +0 -1
- package/lib/storage/adapter/StorageAdapterBase.js.map +0 -1
- package/lib/storage/adapter/getDefaultAdapter/index.js.map +0 -1
- package/lib/storage/adapter/getDefaultAdapter/index.native.js.map +0 -1
- package/lib/storage/adapter/index.js.map +0 -1
- package/lib/storage/relationship.js.map +0 -1
- package/lib/storage/storage.js.map +0 -1
- package/lib/sync/datastoreConnectivity.js.map +0 -1
- package/lib/sync/datastoreReachability/index.js.map +0 -1
- package/lib/sync/datastoreReachability/index.native.js.map +0 -1
- package/lib/sync/index.js.map +0 -1
- package/lib/sync/merger.js.map +0 -1
- package/lib/sync/outbox.js.map +0 -1
- package/lib/sync/processors/errorMaps.js.map +0 -1
- package/lib/sync/processors/mutation.js.map +0 -1
- package/lib/sync/processors/subscription.js.map +0 -1
- package/lib/sync/processors/sync.js.map +0 -1
- package/lib/sync/utils.js.map +0 -1
- package/lib/types.js.map +0 -1
- package/lib/util.js.map +0 -1
- package/lib-esm/.tsbuildinfo +0 -3
- package/lib-esm/authModeStrategies/defaultAuthStrategy.js.map +0 -1
- package/lib-esm/authModeStrategies/index.js.map +0 -1
- package/lib-esm/authModeStrategies/multiAuthStrategy.js.map +0 -1
- package/lib-esm/datastore/datastore.js.map +0 -1
- package/lib-esm/index.js.map +0 -1
- package/lib-esm/predicates/index.js.map +0 -1
- package/lib-esm/predicates/next.js.map +0 -1
- package/lib-esm/predicates/sort.js.map +0 -1
- package/lib-esm/ssr/index.js.map +0 -1
- package/lib-esm/storage/adapter/AsyncStorageAdapter.js.map +0 -1
- package/lib-esm/storage/adapter/AsyncStorageDatabase.js.map +0 -1
- package/lib-esm/storage/adapter/InMemoryStore.js.map +0 -1
- package/lib-esm/storage/adapter/InMemoryStore.native.js.map +0 -1
- package/lib-esm/storage/adapter/IndexedDBAdapter.js.map +0 -1
- package/lib-esm/storage/adapter/StorageAdapterBase.js.map +0 -1
- package/lib-esm/storage/adapter/getDefaultAdapter/index.js.map +0 -1
- package/lib-esm/storage/adapter/getDefaultAdapter/index.native.js.map +0 -1
- package/lib-esm/storage/adapter/index.js.map +0 -1
- package/lib-esm/storage/relationship.js.map +0 -1
- package/lib-esm/storage/storage.js.map +0 -1
- package/lib-esm/sync/datastoreConnectivity.js.map +0 -1
- package/lib-esm/sync/datastoreReachability/index.js.map +0 -1
- package/lib-esm/sync/datastoreReachability/index.native.js.map +0 -1
- package/lib-esm/sync/index.js.map +0 -1
- package/lib-esm/sync/merger.js.map +0 -1
- package/lib-esm/sync/outbox.js.map +0 -1
- package/lib-esm/sync/processors/errorMaps.js.map +0 -1
- package/lib-esm/sync/processors/mutation.js.map +0 -1
- package/lib-esm/sync/processors/subscription.js.map +0 -1
- package/lib-esm/sync/processors/sync.js.map +0 -1
- package/lib-esm/sync/utils.js.map +0 -1
- package/lib-esm/types.js.map +0 -1
- package/lib-esm/util.js.map +0 -1
|
@@ -1,45 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var serverError = function (error) {
|
|
8
|
-
return /^Error: Request failed with status code 5\d\d/.test(error.message);
|
|
9
|
-
};
|
|
3
|
+
exports.mapErrorToType = exports.getSyncErrorType = exports.getSubscriptionErrorType = exports.getMutationErrorType = exports.syncErrorMap = exports.subscriptionErrorMap = exports.mutationErrorMap = void 0;
|
|
4
|
+
const utils_1 = require("../utils");
|
|
5
|
+
const connectionTimeout = error => /^Connection failed: Connection Timeout/.test(error.message);
|
|
6
|
+
const serverError = error => (0, utils_1.resolveServiceErrorStatusCode)(error) >= 500;
|
|
10
7
|
exports.mutationErrorMap = {
|
|
11
|
-
BadModel:
|
|
12
|
-
BadRecord:
|
|
13
|
-
|
|
8
|
+
BadModel: () => false,
|
|
9
|
+
BadRecord: error => {
|
|
10
|
+
const { message } = error;
|
|
14
11
|
return (/^Cannot return \w+ for [\w-_]+ type/.test(message) ||
|
|
15
12
|
/^Variable '.+' has coerced Null value for NonNull type/.test(message)); // newly required field, out of date client
|
|
16
13
|
},
|
|
17
|
-
ConfigError:
|
|
18
|
-
Transient:
|
|
19
|
-
Unauthorized:
|
|
20
|
-
|
|
21
|
-
/^Request failed with status code 401/.test(error.message);
|
|
22
|
-
},
|
|
14
|
+
ConfigError: () => false,
|
|
15
|
+
Transient: error => connectionTimeout(error) || serverError(error),
|
|
16
|
+
Unauthorized: error => error.message === 'Unauthorized' ||
|
|
17
|
+
(0, utils_1.resolveServiceErrorStatusCode)(error) === 401,
|
|
23
18
|
};
|
|
24
19
|
exports.subscriptionErrorMap = {
|
|
25
|
-
BadModel:
|
|
26
|
-
BadRecord:
|
|
27
|
-
ConfigError:
|
|
28
|
-
Transient:
|
|
29
|
-
|
|
20
|
+
BadModel: () => false,
|
|
21
|
+
BadRecord: () => false,
|
|
22
|
+
ConfigError: () => false,
|
|
23
|
+
Transient: observableError => {
|
|
24
|
+
const error = unwrapObservableError(observableError);
|
|
30
25
|
return connectionTimeout(error) || serverError(error);
|
|
31
26
|
},
|
|
32
|
-
Unauthorized:
|
|
33
|
-
|
|
27
|
+
Unauthorized: observableError => {
|
|
28
|
+
const error = unwrapObservableError(observableError);
|
|
34
29
|
return /Connection failed.+Unauthorized/.test(error.message);
|
|
35
30
|
},
|
|
36
31
|
};
|
|
37
32
|
exports.syncErrorMap = {
|
|
38
|
-
BadModel:
|
|
39
|
-
BadRecord:
|
|
40
|
-
ConfigError:
|
|
41
|
-
Transient:
|
|
42
|
-
Unauthorized:
|
|
33
|
+
BadModel: () => false,
|
|
34
|
+
BadRecord: error => /^Cannot return \w+ for [\w-_]+ type/.test(error.message),
|
|
35
|
+
ConfigError: () => false,
|
|
36
|
+
Transient: error => connectionTimeout(error) || serverError(error),
|
|
37
|
+
Unauthorized: error => error.errorType === 'Unauthorized',
|
|
43
38
|
};
|
|
44
39
|
/**
|
|
45
40
|
* Get the first error reason of an observable.
|
|
@@ -48,9 +43,9 @@ exports.syncErrorMap = {
|
|
|
48
43
|
* @param observableError an error from ZenObservable subscribe error callback
|
|
49
44
|
*/
|
|
50
45
|
function unwrapObservableError(observableError) {
|
|
51
|
-
|
|
46
|
+
const { errors: [error], } = ({
|
|
52
47
|
errors: [],
|
|
53
|
-
}
|
|
48
|
+
} = observableError);
|
|
54
49
|
return error;
|
|
55
50
|
}
|
|
56
51
|
function getMutationErrorType(error) {
|
|
@@ -72,25 +67,13 @@ exports.getSyncErrorType = getSyncErrorType;
|
|
|
72
67
|
* @param error The underying error to categorize.
|
|
73
68
|
*/
|
|
74
69
|
function mapErrorToType(errorMap, error) {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
var matcher = errorMap[errorType];
|
|
81
|
-
if (matcher === null || matcher === void 0 ? void 0 : matcher(error)) {
|
|
82
|
-
return errorType;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
87
|
-
finally {
|
|
88
|
-
try {
|
|
89
|
-
if (errorTypes_1_1 && !errorTypes_1_1.done && (_a = errorTypes_1.return)) _a.call(errorTypes_1);
|
|
70
|
+
const errorTypes = [...Object.keys(errorMap)];
|
|
71
|
+
for (const errorType of errorTypes) {
|
|
72
|
+
const matcher = errorMap[errorType];
|
|
73
|
+
if (matcher?.(error)) {
|
|
74
|
+
return errorType;
|
|
90
75
|
}
|
|
91
|
-
finally { if (e_1) throw e_1.error; }
|
|
92
76
|
}
|
|
93
77
|
return 'Unknown';
|
|
94
78
|
}
|
|
95
79
|
exports.mapErrorToType = mapErrorToType;
|
|
96
|
-
//# sourceMappingURL=errorMaps.js.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import Observable from '
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
2
|
import { MutationEvent } from '../';
|
|
3
3
|
import { ModelInstanceCreator } from '../../datastore/datastore';
|
|
4
4
|
import { ExclusiveStorage as Storage } from '../../storage/storage';
|
|
5
5
|
import { AuthModeStrategy, ConflictHandler, ErrorHandler, InternalSchema, PersistentModel, PersistentModelConstructor, SchemaModel, TypeConstructorMap, AmplifyContext } from '../../types';
|
|
6
6
|
import { MutationEventOutbox } from '../outbox';
|
|
7
7
|
import { TransformerMutationType } from '../utils';
|
|
8
|
-
|
|
8
|
+
type MutationProcessorEvent = {
|
|
9
9
|
operation: TransformerMutationType;
|
|
10
10
|
modelDefinition: SchemaModel;
|
|
11
11
|
model: PersistentModel;
|