@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.
- package/lib/.tsbuildinfo +1 -3
- package/lib/authModeStrategies/defaultAuthStrategy.js +3 -1
- package/lib/authModeStrategies/defaultAuthStrategy.js.map +1 -1
- package/lib/authModeStrategies/index.js +3 -2
- package/lib/authModeStrategies/index.js.map +1 -1
- package/lib/authModeStrategies/multiAuthStrategy.js +33 -33
- package/lib/authModeStrategies/multiAuthStrategy.js.map +1 -1
- package/lib/datastore/datastore.d.ts +4 -4
- package/lib/datastore/datastore.js +139 -132
- package/lib/datastore/datastore.js.map +1 -1
- package/lib/datastore/loadGetRandomValues.js +3 -1
- package/lib/datastore/loadGetRandomValues.js.map +1 -1
- package/lib/datastore/loadGetRandomValues.native.js +3 -1
- package/lib/datastore/loadGetRandomValues.native.js.map +1 -1
- package/lib/index.d.ts +3 -3
- package/lib/index.js +10 -9
- package/lib/index.js.map +1 -1
- package/lib/predicates/index.js +8 -7
- package/lib/predicates/index.js.map +1 -1
- package/lib/predicates/next.d.ts +3 -3
- package/lib/predicates/next.js +53 -47
- package/lib/predicates/next.js.map +1 -1
- package/lib/predicates/sort.js +2 -1
- package/lib/predicates/sort.js.map +1 -1
- package/lib/ssr/index.js +2 -2
- package/lib/ssr/index.js.map +1 -1
- package/lib/storage/adapter/AsyncStorageAdapter.js +110 -83
- package/lib/storage/adapter/AsyncStorageAdapter.js.map +1 -1
- package/lib/storage/adapter/AsyncStorageDatabase.js +7 -7
- package/lib/storage/adapter/AsyncStorageDatabase.js.map +1 -1
- package/lib/storage/adapter/InMemoryStore.js +2 -1
- package/lib/storage/adapter/InMemoryStore.js.map +1 -1
- package/lib/storage/adapter/InMemoryStore.native.js +1 -1
- package/lib/storage/adapter/InMemoryStore.native.js.map +1 -1
- package/lib/storage/adapter/IndexedDBAdapter.js +152 -126
- package/lib/storage/adapter/IndexedDBAdapter.js.map +1 -1
- package/lib/storage/adapter/StorageAdapterBase.js +62 -53
- package/lib/storage/adapter/StorageAdapterBase.js.map +1 -1
- package/lib/storage/adapter/getDefaultAdapter/index.js +2 -2
- package/lib/storage/adapter/getDefaultAdapter/index.js.map +1 -1
- package/lib/storage/relationship.d.ts +4 -4
- package/lib/storage/relationship.js +19 -18
- package/lib/storage/relationship.js.map +1 -1
- package/lib/storage/storage.d.ts +3 -3
- package/lib/storage/storage.js +22 -24
- package/lib/storage/storage.js.map +1 -1
- package/lib/sync/datastoreConnectivity.d.ts +1 -1
- package/lib/sync/datastoreConnectivity.js.map +1 -1
- package/lib/sync/datastoreReachability/index.js +1 -0
- package/lib/sync/datastoreReachability/index.js.map +1 -1
- package/lib/sync/datastoreReachability/index.native.js +1 -0
- package/lib/sync/datastoreReachability/index.native.js.map +1 -1
- package/lib/sync/index.d.ts +1 -1
- package/lib/sync/index.js +402 -408
- package/lib/sync/index.js.map +1 -1
- package/lib/sync/merger.js +3 -2
- package/lib/sync/merger.js.map +1 -1
- package/lib/sync/outbox.js +5 -6
- package/lib/sync/outbox.js.map +1 -1
- package/lib/sync/processors/errorMaps.d.ts +1 -1
- package/lib/sync/processors/errorMaps.js +8 -7
- package/lib/sync/processors/errorMaps.js.map +1 -1
- package/lib/sync/processors/mutation.d.ts +1 -1
- package/lib/sync/processors/mutation.js +52 -50
- package/lib/sync/processors/mutation.js.map +1 -1
- package/lib/sync/processors/subscription.d.ts +4 -1
- package/lib/sync/processors/subscription.js +36 -32
- package/lib/sync/processors/subscription.js.map +1 -1
- package/lib/sync/processors/sync.d.ts +1 -1
- package/lib/sync/processors/sync.js +28 -27
- package/lib/sync/processors/sync.js.map +1 -1
- package/lib/sync/utils.js +96 -95
- package/lib/sync/utils.js.map +1 -1
- package/lib/types.d.ts +139 -133
- package/lib/types.js +30 -29
- package/lib/types.js.map +1 -1
- package/lib/util.d.ts +12 -20
- package/lib/util.js +115 -80
- package/lib/util.js.map +1 -1
- package/lib-esm/.tsbuildinfo +1 -3
- package/lib-esm/authModeStrategies/multiAuthStrategy.js +31 -33
- package/lib-esm/authModeStrategies/multiAuthStrategy.js.map +1 -1
- package/lib-esm/datastore/datastore.d.ts +4 -4
- package/lib-esm/datastore/datastore.js +62 -57
- package/lib-esm/datastore/datastore.js.map +1 -1
- package/lib-esm/datastore/loadGetRandomValues.native.js.map +1 -1
- package/lib-esm/index.d.ts +3 -3
- package/lib-esm/predicates/index.js +4 -4
- package/lib-esm/predicates/index.js.map +1 -1
- package/lib-esm/predicates/next.d.ts +3 -3
- package/lib-esm/predicates/next.js +45 -41
- package/lib-esm/predicates/next.js.map +1 -1
- package/lib-esm/predicates/sort.js +1 -1
- package/lib-esm/predicates/sort.js.map +1 -1
- package/lib-esm/ssr/index.js.map +1 -1
- package/lib-esm/storage/adapter/AsyncStorageAdapter.js +103 -77
- package/lib-esm/storage/adapter/AsyncStorageAdapter.js.map +1 -1
- package/lib-esm/storage/adapter/AsyncStorageDatabase.js +4 -4
- package/lib-esm/storage/adapter/AsyncStorageDatabase.js.map +1 -1
- package/lib-esm/storage/adapter/InMemoryStore.js.map +1 -1
- package/lib-esm/storage/adapter/IndexedDBAdapter.js +142 -116
- package/lib-esm/storage/adapter/IndexedDBAdapter.js.map +1 -1
- package/lib-esm/storage/adapter/StorageAdapterBase.js +47 -39
- package/lib-esm/storage/adapter/StorageAdapterBase.js.map +1 -1
- package/lib-esm/storage/adapter/getDefaultAdapter/index.js.map +1 -1
- package/lib-esm/storage/adapter/index.js +1 -0
- package/lib-esm/storage/relationship.d.ts +4 -4
- package/lib-esm/storage/relationship.js +17 -17
- package/lib-esm/storage/relationship.js.map +1 -1
- package/lib-esm/storage/storage.d.ts +3 -3
- package/lib-esm/storage/storage.js +10 -13
- package/lib-esm/storage/storage.js.map +1 -1
- package/lib-esm/sync/datastoreConnectivity.d.ts +1 -1
- package/lib-esm/sync/datastoreConnectivity.js.map +1 -1
- package/lib-esm/sync/index.d.ts +1 -1
- package/lib-esm/sync/index.js +400 -407
- package/lib-esm/sync/index.js.map +1 -1
- package/lib-esm/sync/merger.js +2 -2
- package/lib-esm/sync/merger.js.map +1 -1
- package/lib-esm/sync/outbox.js +1 -3
- package/lib-esm/sync/outbox.js.map +1 -1
- package/lib-esm/sync/processors/errorMaps.d.ts +1 -1
- package/lib-esm/sync/processors/errorMaps.js +4 -4
- package/lib-esm/sync/processors/errorMaps.js.map +1 -1
- package/lib-esm/sync/processors/mutation.d.ts +1 -1
- package/lib-esm/sync/processors/mutation.js +35 -35
- package/lib-esm/sync/processors/mutation.js.map +1 -1
- package/lib-esm/sync/processors/subscription.d.ts +4 -1
- package/lib-esm/sync/processors/subscription.js +24 -21
- package/lib-esm/sync/processors/subscription.js.map +1 -1
- package/lib-esm/sync/processors/sync.d.ts +1 -1
- package/lib-esm/sync/processors/sync.js +17 -17
- package/lib-esm/sync/processors/sync.js.map +1 -1
- package/lib-esm/sync/utils.js +62 -62
- package/lib-esm/sync/utils.js.map +1 -1
- package/lib-esm/types.d.ts +139 -133
- package/lib-esm/types.js.map +1 -1
- package/lib-esm/util.d.ts +12 -20
- package/lib-esm/util.js +9 -9
- package/lib-esm/util.js.map +1 -1
- package/package.json +31 -28
- package/src/predicates/next.ts +1 -1
- package/src/predicates/sort.ts +3 -1
- package/src/storage/adapter/StorageAdapterBase.ts +2 -2
- package/src/storage/relationship.ts +9 -4
- package/src/sync/processors/subscription.ts +1 -1
- package/src/sync/processors/sync.ts +1 -1
- package/src/types.ts +2 -2
- package/src/util.ts +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __awaiter, __generator, __read,
|
|
1
|
+
import { __awaiter, __generator, __read, __spreadArray } from "tslib";
|
|
2
2
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
import { Auth } from '@aws-amplify/auth';
|
|
@@ -30,7 +30,7 @@ function sortAuthRulesWithPriority(rules) {
|
|
|
30
30
|
ModelAttributeAuthProvider.IAM,
|
|
31
31
|
ModelAttributeAuthProvider.API_KEY,
|
|
32
32
|
];
|
|
33
|
-
return
|
|
33
|
+
return __spreadArray([], __read(rules), false).sort(function (a, b) {
|
|
34
34
|
if (a.allow === b.allow) {
|
|
35
35
|
return (providerSortPriority.indexOf(getProviderFromRule(a)) -
|
|
36
36
|
providerSortPriority.indexOf(getProviderFromRule(b)));
|
|
@@ -107,38 +107,36 @@ function getAuthRules(_a) {
|
|
|
107
107
|
* @returns A sorted array of auth modes to attempt.
|
|
108
108
|
*/
|
|
109
109
|
export var multiAuthStrategy = function (amplifyContext) {
|
|
110
|
-
return function (_a) {
|
|
111
|
-
var
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
return [2 /*return*/, getAuthRules({ currentUser: currentUser, rules: sortedRules })];
|
|
136
|
-
}
|
|
110
|
+
return function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
|
|
111
|
+
var currentUser, e_1, attributes, authAttribute, sortedRules;
|
|
112
|
+
var _c;
|
|
113
|
+
var schema = _b.schema, modelName = _b.modelName;
|
|
114
|
+
return __generator(this, function (_d) {
|
|
115
|
+
switch (_d.label) {
|
|
116
|
+
case 0:
|
|
117
|
+
amplifyContext.Auth = amplifyContext.Auth || Auth;
|
|
118
|
+
_d.label = 1;
|
|
119
|
+
case 1:
|
|
120
|
+
_d.trys.push([1, 3, , 4]);
|
|
121
|
+
return [4 /*yield*/, amplifyContext.Auth.currentAuthenticatedUser()];
|
|
122
|
+
case 2:
|
|
123
|
+
currentUser = _d.sent();
|
|
124
|
+
return [3 /*break*/, 4];
|
|
125
|
+
case 3:
|
|
126
|
+
e_1 = _d.sent();
|
|
127
|
+
return [3 /*break*/, 4];
|
|
128
|
+
case 4:
|
|
129
|
+
attributes = schema.namespaces.user.models[modelName].attributes;
|
|
130
|
+
if (attributes) {
|
|
131
|
+
authAttribute = attributes.find(function (attr) { return attr.type === 'auth'; });
|
|
132
|
+
if ((_c = authAttribute === null || authAttribute === void 0 ? void 0 : authAttribute.properties) === null || _c === void 0 ? void 0 : _c.rules) {
|
|
133
|
+
sortedRules = sortAuthRulesWithPriority(authAttribute.properties.rules);
|
|
134
|
+
return [2 /*return*/, getAuthRules({ currentUser: currentUser, rules: sortedRules })];
|
|
137
135
|
}
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
}
|
|
136
|
+
}
|
|
137
|
+
return [2 /*return*/, []];
|
|
138
|
+
}
|
|
141
139
|
});
|
|
142
|
-
};
|
|
140
|
+
}); };
|
|
143
141
|
};
|
|
144
142
|
//# sourceMappingURL=multiAuthStrategy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multiAuthStrategy.js","sourceRoot":"","sources":["../../src/authModeStrategies/multiAuthStrategy.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAGN,0BAA0B,EAC1B,uBAAuB,GAEvB,MAAM,UAAU,CAAC;AAElB,SAAS,mBAAmB,CAC3B,IAAgC;IAEhC,2CAA2C;IAC3C,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"multiAuthStrategy.js","sourceRoot":"","sources":["../../src/authModeStrategies/multiAuthStrategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Observable from 'zen-observable-ts';
|
|
2
2
|
import { PredicateAll } from '../predicates';
|
|
3
|
-
import { ConflictHandler, DataStoreConfig,
|
|
3
|
+
import { ConflictHandler, DataStoreConfig, ProducerPaginationInput, PersistentModel, PersistentModelConstructor, Schema, SubscriptionMessage, DataStoreSnapshot, TypeConstructorMap, ErrorHandler, ObserveQueryOptions, PersistentModelMetaData, IdentifierFieldOrIdentifierObject, RecursiveModelPredicateExtender, ModelPredicateExtender } from '../types';
|
|
4
4
|
export declare let syncClasses: TypeConstructorMap;
|
|
5
5
|
/**
|
|
6
6
|
* Describes whether and to what a model is attached for lazy loading purposes.
|
|
@@ -41,8 +41,8 @@ export declare function attached<T extends PersistentModel | PersistentModel[]>(
|
|
|
41
41
|
*
|
|
42
42
|
* @param instance A model instance
|
|
43
43
|
*/
|
|
44
|
-
export declare const getAttachment: (instance:
|
|
45
|
-
declare const initSchema: (userSchema: Schema) =>
|
|
44
|
+
export declare const getAttachment: (instance: PersistentModel) => ModelAttachment;
|
|
45
|
+
declare const initSchema: (userSchema: Schema) => TypeConstructorMap;
|
|
46
46
|
/**
|
|
47
47
|
* Constructs a model and records it with its metadata in a weakset. Allows for
|
|
48
48
|
* the separate storage of core model fields and Amplify/DataStore metadata
|
|
@@ -173,7 +173,7 @@ declare class DataStore {
|
|
|
173
173
|
<T extends PersistentModel>(modelConstructor: PersistentModelConstructor<T>, identifier: IdentifierFieldOrIdentifierObject<T, PersistentModelMetaData<T>>): Promise<T | undefined>;
|
|
174
174
|
<T extends PersistentModel>(modelConstructor: PersistentModelConstructor<T>, criteria?: RecursiveModelPredicateExtender<T> | typeof PredicateAll | null, paginationProducer?: ProducerPaginationInput<T>): Promise<T[]>;
|
|
175
175
|
};
|
|
176
|
-
save: <T extends
|
|
176
|
+
save: <T extends PersistentModel>(model: T, condition?: ModelPredicateExtender<T>) => Promise<T>;
|
|
177
177
|
setConflictHandler: (config: DataStoreConfig) => ConflictHandler;
|
|
178
178
|
setErrorHandler: (config: DataStoreConfig) => ErrorHandler;
|
|
179
179
|
delete: {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __assign, __asyncValues, __awaiter, __extends, __generator, __read, __rest,
|
|
1
|
+
import { __assign, __asyncValues, __awaiter, __extends, __generator, __read, __rest, __spreadArray, __values } from "tslib";
|
|
2
2
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
import { InternalAPI } from '@aws-amplify/api/internals';
|
|
@@ -56,7 +56,7 @@ var isValidModelConstructor = function (obj) {
|
|
|
56
56
|
var namespaceResolver = function (modelConstructor) {
|
|
57
57
|
var resolver = modelNamespaceMap.get(modelConstructor);
|
|
58
58
|
if (!resolver) {
|
|
59
|
-
throw new Error("Namespace Resolver for '"
|
|
59
|
+
throw new Error("Namespace Resolver for '".concat(modelConstructor.name, "' not found! This is probably a bug in '@amplify-js/datastore'."));
|
|
60
60
|
}
|
|
61
61
|
return resolver;
|
|
62
62
|
};
|
|
@@ -220,7 +220,7 @@ var initSchema = function (userSchema) {
|
|
|
220
220
|
get: function () {
|
|
221
221
|
var relatedModelDefinition = getModelDefinition(relatedModel);
|
|
222
222
|
if (!relatedModelDefinition)
|
|
223
|
-
throw new Error("Could not find model definition for "
|
|
223
|
+
throw new Error("Could not find model definition for ".concat(relatedModel.name));
|
|
224
224
|
return {
|
|
225
225
|
builder: relatedModel,
|
|
226
226
|
schema: relatedModelDefinition,
|
|
@@ -260,7 +260,7 @@ var initSchema = function (userSchema) {
|
|
|
260
260
|
}
|
|
261
261
|
finally { if (e_2) throw e_2.error; }
|
|
262
262
|
}
|
|
263
|
-
model.allFields = __assign(__assign({}, Object.fromEntries(
|
|
263
|
+
model.allFields = __assign(__assign({}, Object.fromEntries(__spreadArray([], __read(indexFields.values()), false).map(function (name) { return [
|
|
264
264
|
name,
|
|
265
265
|
{
|
|
266
266
|
name: name,
|
|
@@ -345,10 +345,10 @@ var checkSchemaCodegenVersion = function (codegenVersion) {
|
|
|
345
345
|
isValid = Number(major) === majorVersion && Number(minor) >= minorVersion;
|
|
346
346
|
}
|
|
347
347
|
catch (err) {
|
|
348
|
-
console.log("Error parsing codegen version: "
|
|
348
|
+
console.log("Error parsing codegen version: ".concat(codegenVersion, "\n").concat(err));
|
|
349
349
|
}
|
|
350
350
|
if (!isValid) {
|
|
351
|
-
var message = "Models were generated with an unsupported version of codegen. Codegen artifacts are from "
|
|
351
|
+
var message = "Models were generated with an unsupported version of codegen. Codegen artifacts are from ".concat(codegenVersion || 'an unknown version', ", whereas ^").concat(majorVersion, ".").concat(minorVersion, ".0 is required. ") +
|
|
352
352
|
"Update to the latest CLI and run 'amplify codegen models'.";
|
|
353
353
|
logger.error(message);
|
|
354
354
|
throw new Error(message);
|
|
@@ -390,7 +390,7 @@ var validateModelFields = function (modelDefinition) { return function (k, v) {
|
|
|
390
390
|
if (((!isArray && isRequired_1) || (isArray && !isArrayNullable)) &&
|
|
391
391
|
!isTimestampField &&
|
|
392
392
|
(v === null || v === undefined)) {
|
|
393
|
-
throw new Error("Field "
|
|
393
|
+
throw new Error("Field ".concat(name_1, " is required"));
|
|
394
394
|
}
|
|
395
395
|
if (isSchemaModelWithAttributes(modelDefinition) &&
|
|
396
396
|
!isIdManaged(modelDefinition)) {
|
|
@@ -413,17 +413,17 @@ var validateModelFields = function (modelDefinition) { return function (k, v) {
|
|
|
413
413
|
return;
|
|
414
414
|
}
|
|
415
415
|
catch (error) {
|
|
416
|
-
throw new Error("Field "
|
|
416
|
+
throw new Error("Field ".concat(name_1, " is an invalid JSON object. ").concat(v));
|
|
417
417
|
}
|
|
418
418
|
}
|
|
419
419
|
}
|
|
420
420
|
if (isArray) {
|
|
421
421
|
var errorTypeText = jsType_1;
|
|
422
422
|
if (!isRequired_1) {
|
|
423
|
-
errorTypeText = jsType_1
|
|
423
|
+
errorTypeText = "".concat(jsType_1, " | null | undefined");
|
|
424
424
|
}
|
|
425
425
|
if (!Array.isArray(v) && !isArrayNullable) {
|
|
426
|
-
throw new Error("Field "
|
|
426
|
+
throw new Error("Field ".concat(name_1, " should be of type [").concat(errorTypeText, "], ").concat(typeof v, " received. ").concat(v));
|
|
427
427
|
}
|
|
428
428
|
if (!isNullOrUndefined(v) &&
|
|
429
429
|
v.some(function (e) {
|
|
@@ -432,7 +432,7 @@ var validateModelFields = function (modelDefinition) { return function (k, v) {
|
|
|
432
432
|
var elemTypes = v
|
|
433
433
|
.map(function (e) { return (e === null ? 'null' : typeof e); })
|
|
434
434
|
.join(',');
|
|
435
|
-
throw new Error("All elements in the "
|
|
435
|
+
throw new Error("All elements in the ".concat(name_1, " array should be of type ").concat(errorTypeText, ", [").concat(elemTypes, "] received. ").concat(v));
|
|
436
436
|
}
|
|
437
437
|
if (validateScalar_1 && !isNullOrUndefined(v)) {
|
|
438
438
|
var validationStatus = v.map(function (e) {
|
|
@@ -447,7 +447,7 @@ var validateModelFields = function (modelDefinition) { return function (k, v) {
|
|
|
447
447
|
}
|
|
448
448
|
});
|
|
449
449
|
if (!validationStatus.every(function (s) { return s; })) {
|
|
450
|
-
throw new Error("All elements in the "
|
|
450
|
+
throw new Error("All elements in the ".concat(name_1, " array should be of type ").concat(type_1, ", validation failed for one or more elements. ").concat(v));
|
|
451
451
|
}
|
|
452
452
|
}
|
|
453
453
|
}
|
|
@@ -455,13 +455,13 @@ var validateModelFields = function (modelDefinition) { return function (k, v) {
|
|
|
455
455
|
return;
|
|
456
456
|
}
|
|
457
457
|
else if (typeof v !== jsType_1 && v !== null) {
|
|
458
|
-
throw new Error("Field "
|
|
458
|
+
throw new Error("Field ".concat(name_1, " should be of type ").concat(jsType_1, ", ").concat(typeof v, " received. ").concat(v));
|
|
459
459
|
}
|
|
460
460
|
else if (!isNullOrUndefined(v) &&
|
|
461
461
|
validateScalar_1 &&
|
|
462
462
|
!validateScalar_1(v) // TODO: why never, TS ... why ...
|
|
463
463
|
) {
|
|
464
|
-
throw new Error("Field "
|
|
464
|
+
throw new Error("Field ".concat(name_1, " should be of type ").concat(type_1, ", validation failed. ").concat(v));
|
|
465
465
|
}
|
|
466
466
|
}
|
|
467
467
|
else if (isNonModelFieldType(type_1)) {
|
|
@@ -472,15 +472,15 @@ var validateModelFields = function (modelDefinition) { return function (k, v) {
|
|
|
472
472
|
if (isArray) {
|
|
473
473
|
var errorTypeText = type_1.nonModel;
|
|
474
474
|
if (!isRequired_1) {
|
|
475
|
-
errorTypeText = type_1.nonModel
|
|
475
|
+
errorTypeText = "".concat(type_1.nonModel, " | null | undefined");
|
|
476
476
|
}
|
|
477
477
|
if (!Array.isArray(v)) {
|
|
478
|
-
throw new Error("Field "
|
|
478
|
+
throw new Error("Field ".concat(name_1, " should be of type [").concat(errorTypeText, "], ").concat(typeof v, " received. ").concat(v));
|
|
479
479
|
}
|
|
480
480
|
v.forEach(function (item) {
|
|
481
481
|
if ((isNullOrUndefined(item) && isRequired_1) ||
|
|
482
482
|
(typeof item !== 'object' && typeof item !== 'undefined')) {
|
|
483
|
-
throw new Error("All elements in the "
|
|
483
|
+
throw new Error("All elements in the ".concat(name_1, " array should be of type ").concat(type_1.nonModel, ", [").concat(typeof item, "] received. ").concat(item));
|
|
484
484
|
}
|
|
485
485
|
if (!isNullOrUndefined(item)) {
|
|
486
486
|
Object.keys(subNonModelDefinition_1.fields).forEach(function (subKey) {
|
|
@@ -491,7 +491,7 @@ var validateModelFields = function (modelDefinition) { return function (k, v) {
|
|
|
491
491
|
}
|
|
492
492
|
else {
|
|
493
493
|
if (typeof v !== 'object') {
|
|
494
|
-
throw new Error("Field "
|
|
494
|
+
throw new Error("Field ".concat(name_1, " should be of type ").concat(type_1.nonModel, ", ").concat(typeof v, " recieved. ").concat(v));
|
|
495
495
|
}
|
|
496
496
|
Object.keys(subNonModelDefinition_1.fields).forEach(function (subKey) {
|
|
497
497
|
modelValidator_1(subKey, v[subKey]);
|
|
@@ -645,7 +645,7 @@ var createModelClass = function (modelDefinition) {
|
|
|
645
645
|
// Keys are immutable
|
|
646
646
|
keyNames.forEach(function (key) {
|
|
647
647
|
if (draft[key] !== source[key]) {
|
|
648
|
-
logger.warn("copyOf() does not update PK fields. The '"
|
|
648
|
+
logger.warn("copyOf() does not update PK fields. The '".concat(key, "' update is being ignored."), { source: source });
|
|
649
649
|
}
|
|
650
650
|
draft[key] = source[key];
|
|
651
651
|
});
|
|
@@ -723,13 +723,13 @@ var createModelClass = function (modelDefinition) {
|
|
|
723
723
|
var modelConstructor = Object.getPrototypeOf(model || {})
|
|
724
724
|
.constructor;
|
|
725
725
|
if (!isValidModelConstructor(modelConstructor)) {
|
|
726
|
-
var msg = "Value passed to "
|
|
726
|
+
var msg = "Value passed to ".concat(modelDefinition.name, ".").concat(field, " is not a valid instance of a model");
|
|
727
727
|
logger.error(msg, { model: model });
|
|
728
728
|
throw new Error(msg);
|
|
729
729
|
}
|
|
730
730
|
if (modelConstructor.name.toLowerCase() !==
|
|
731
731
|
relationship.remoteModelConstructor.name.toLowerCase()) {
|
|
732
|
-
var msg = "Value passed to "
|
|
732
|
+
var msg = "Value passed to ".concat(modelDefinition.name, ".").concat(field, " is not an instance of ").concat(relationship.remoteModelConstructor.name);
|
|
733
733
|
logger.error(msg, { model: model });
|
|
734
734
|
throw new Error(msg);
|
|
735
735
|
}
|
|
@@ -738,7 +738,8 @@ var createModelClass = function (modelDefinition) {
|
|
|
738
738
|
// if the relationship can be managed automagically, set the FK's
|
|
739
739
|
if (relationship.isComplete) {
|
|
740
740
|
for (var i = 0; i < relationship.localJoinFields.length; i++) {
|
|
741
|
-
this[relationship.localJoinFields[i]] =
|
|
741
|
+
this[relationship.localJoinFields[i]] =
|
|
742
|
+
model === null || model === void 0 ? void 0 : model[relationship.remoteJoinFields[i]];
|
|
742
743
|
}
|
|
743
744
|
var instanceMemos = modelInstanceAssociationsMap.has(this)
|
|
744
745
|
? modelInstanceAssociationsMap.get(this)
|
|
@@ -786,7 +787,7 @@ var createModelClass = function (modelDefinition) {
|
|
|
786
787
|
instanceMemos[field] = resultPromise.then(function (rows) {
|
|
787
788
|
if (rows.length > 1) {
|
|
788
789
|
// should never happen for a HAS_ONE or BELONGS_TO.
|
|
789
|
-
var err = new Error("\n\t\t\t\t\t\t\t\t\tData integrity error.\n\t\t\t\t\t\t\t\t\tToo many records found for a HAS_ONE/BELONGS_TO field '"
|
|
790
|
+
var err = new Error("\n\t\t\t\t\t\t\t\t\tData integrity error.\n\t\t\t\t\t\t\t\t\tToo many records found for a HAS_ONE/BELONGS_TO field '".concat(modelDefinition.name, ".").concat(field, "'\n\t\t\t\t\t\t\t\t"));
|
|
790
791
|
console.error(err);
|
|
791
792
|
throw err;
|
|
792
793
|
}
|
|
@@ -899,25 +900,27 @@ var AsyncCollection = /** @class */ (function () {
|
|
|
899
900
|
* const first100 = await collection.toArray({max: 100});
|
|
900
901
|
* ```
|
|
901
902
|
*/
|
|
902
|
-
AsyncCollection.prototype.toArray = function (
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
var
|
|
907
|
-
return __generator(this, function (
|
|
908
|
-
switch (
|
|
903
|
+
AsyncCollection.prototype.toArray = function () {
|
|
904
|
+
return __awaiter(this, arguments, void 0, function (_a) {
|
|
905
|
+
var output, i, _b, _c, _d, element, e_6_1;
|
|
906
|
+
var _e, e_6, _f, _g;
|
|
907
|
+
var _h = _a === void 0 ? {} : _a, _j = _h.max, max = _j === void 0 ? Number.MAX_SAFE_INTEGER : _j;
|
|
908
|
+
return __generator(this, function (_k) {
|
|
909
|
+
switch (_k.label) {
|
|
909
910
|
case 0:
|
|
910
911
|
output = [];
|
|
911
912
|
i = 0;
|
|
912
|
-
|
|
913
|
+
_k.label = 1;
|
|
913
914
|
case 1:
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
case 2: return [4 /*yield*/,
|
|
915
|
+
_k.trys.push([1, 6, 7, 12]);
|
|
916
|
+
_b = true, _c = __asyncValues(this);
|
|
917
|
+
_k.label = 2;
|
|
918
|
+
case 2: return [4 /*yield*/, _c.next()];
|
|
918
919
|
case 3:
|
|
919
|
-
if (!(
|
|
920
|
-
|
|
920
|
+
if (!(_d = _k.sent(), _e = _d.done, !_e)) return [3 /*break*/, 5];
|
|
921
|
+
_g = _d.value;
|
|
922
|
+
_b = false;
|
|
923
|
+
element = _g;
|
|
921
924
|
if (i < max) {
|
|
922
925
|
output.push(element);
|
|
923
926
|
i++;
|
|
@@ -925,20 +928,22 @@ var AsyncCollection = /** @class */ (function () {
|
|
|
925
928
|
else {
|
|
926
929
|
return [3 /*break*/, 5];
|
|
927
930
|
}
|
|
928
|
-
|
|
929
|
-
case 4:
|
|
931
|
+
_k.label = 4;
|
|
932
|
+
case 4:
|
|
933
|
+
_b = true;
|
|
934
|
+
return [3 /*break*/, 2];
|
|
930
935
|
case 5: return [3 /*break*/, 12];
|
|
931
936
|
case 6:
|
|
932
|
-
e_6_1 =
|
|
937
|
+
e_6_1 = _k.sent();
|
|
933
938
|
e_6 = { error: e_6_1 };
|
|
934
939
|
return [3 /*break*/, 12];
|
|
935
940
|
case 7:
|
|
936
|
-
|
|
937
|
-
if (!(
|
|
938
|
-
return [4 /*yield*/,
|
|
941
|
+
_k.trys.push([7, , 10, 11]);
|
|
942
|
+
if (!(!_b && !_e && (_f = _c.return))) return [3 /*break*/, 9];
|
|
943
|
+
return [4 /*yield*/, _f.call(_c)];
|
|
939
944
|
case 8:
|
|
940
|
-
|
|
941
|
-
|
|
945
|
+
_k.sent();
|
|
946
|
+
_k.label = 9;
|
|
942
947
|
case 9: return [3 /*break*/, 11];
|
|
943
948
|
case 10:
|
|
944
949
|
if (e_6) throw e_6.error;
|
|
@@ -957,7 +962,7 @@ var checkReadOnlyPropertyOnCreate = function (draft, modelDefinition) {
|
|
|
957
962
|
var fields = modelDefinition.fields;
|
|
958
963
|
modelKeys.forEach(function (key) {
|
|
959
964
|
if (fields[key] && fields[key].isReadOnly) {
|
|
960
|
-
throw new Error(key
|
|
965
|
+
throw new Error("".concat(key, " is read-only."));
|
|
961
966
|
}
|
|
962
967
|
});
|
|
963
968
|
};
|
|
@@ -969,7 +974,7 @@ var checkReadOnlyPropertyOnUpdate = function (patches, modelDefinition) {
|
|
|
969
974
|
if (!val || !fields[key])
|
|
970
975
|
return;
|
|
971
976
|
if (fields[key].isReadOnly) {
|
|
972
|
-
throw new Error(key
|
|
977
|
+
throw new Error("".concat(key, " is read-only."));
|
|
973
978
|
}
|
|
974
979
|
});
|
|
975
980
|
};
|
|
@@ -1015,13 +1020,13 @@ function getModelConstructorByModelName(namespaceName, modelName) {
|
|
|
1015
1020
|
result = storageClasses[modelName];
|
|
1016
1021
|
break;
|
|
1017
1022
|
default:
|
|
1018
|
-
throw new Error("Invalid namespace: "
|
|
1023
|
+
throw new Error("Invalid namespace: ".concat(namespaceName));
|
|
1019
1024
|
}
|
|
1020
1025
|
if (isValidModelConstructor(result)) {
|
|
1021
1026
|
return result;
|
|
1022
1027
|
}
|
|
1023
1028
|
else {
|
|
1024
|
-
var msg = "Model name is not valid for namespace. modelName: "
|
|
1029
|
+
var msg = "Model name is not valid for namespace. modelName: ".concat(modelName, ", namespace: ").concat(namespaceName);
|
|
1025
1030
|
logger.error(msg);
|
|
1026
1031
|
throw new Error(msg);
|
|
1027
1032
|
}
|
|
@@ -1416,10 +1421,10 @@ var DataStore = /** @class */ (function () {
|
|
|
1416
1421
|
related = _c.sent();
|
|
1417
1422
|
if (related.length === 0) {
|
|
1418
1423
|
throw new Error([
|
|
1419
|
-
"Data integrity error. You tried to save a "
|
|
1420
|
-
"but the instance assigned to the \""
|
|
1424
|
+
"Data integrity error. You tried to save a ".concat(modelDefinition.name, " (").concat(JSON.stringify(model), ")"),
|
|
1425
|
+
"but the instance assigned to the \"".concat(relationship.field, "\" property"),
|
|
1421
1426
|
"does not exist in the local database. If you're trying to create the related",
|
|
1422
|
-
"\""
|
|
1427
|
+
"\"".concat((_b = relationship.remoteDefinition) === null || _b === void 0 ? void 0 : _b.name, "\", you must save it independently first."),
|
|
1423
1428
|
].join(' '));
|
|
1424
1429
|
}
|
|
1425
1430
|
_c.label = 4;
|
|
@@ -1856,7 +1861,7 @@ var DataStore = /** @class */ (function () {
|
|
|
1856
1861
|
var generateSnapshot = function () {
|
|
1857
1862
|
var _a, _b;
|
|
1858
1863
|
var isSynced = (_b = (_a = _this.sync) === null || _a === void 0 ? void 0 : _a.getModelSyncedStatus(model)) !== null && _b !== void 0 ? _b : false;
|
|
1859
|
-
var itemsArray =
|
|
1864
|
+
var itemsArray = __spreadArray(__spreadArray([], __read(Array.from(items.values())), false), __read(Array.from(itemsChanged.values())), false);
|
|
1860
1865
|
items.clear();
|
|
1861
1866
|
itemsArray.forEach(function (item) {
|
|
1862
1867
|
var itemModelDefinition = getModelDefinition(model);
|
|
@@ -1916,8 +1921,8 @@ var DataStore = /** @class */ (function () {
|
|
|
1916
1921
|
* @param payload The payload from the Hub event.
|
|
1917
1922
|
*/
|
|
1918
1923
|
var hubCallback = function (_a) {
|
|
1919
|
-
var payload = _a.payload;
|
|
1920
1924
|
var _b;
|
|
1925
|
+
var payload = _a.payload;
|
|
1921
1926
|
var event = payload.event, data = payload.data;
|
|
1922
1927
|
if (event === ControlMessage.SYNC_ENGINE_MODEL_SYNCED &&
|
|
1923
1928
|
((_b = data === null || data === void 0 ? void 0 : data.model) === null || _b === void 0 ? void 0 : _b.name) === model.name) {
|
|
@@ -2014,7 +2019,7 @@ var DataStore = /** @class */ (function () {
|
|
|
2014
2019
|
var handler = function (err) {
|
|
2015
2020
|
if (err.message.startsWith('BackgroundManagerNotOpenError')) {
|
|
2016
2021
|
throw new Error([
|
|
2017
|
-
"DataStoreStateError: Tried to execute `"
|
|
2022
|
+
"DataStoreStateError: Tried to execute `".concat(operation, "` while DataStore was \"").concat(_this.state, "\"."),
|
|
2018
2023
|
"This can only be done while DataStore is \"Started\" or \"Stopped\". To remedy:",
|
|
2019
2024
|
'Ensure all calls to `stop()` and `clear()` have completed first.',
|
|
2020
2025
|
'If this is not possible, retry the operation until it succeeds.',
|
|
@@ -2223,7 +2228,7 @@ var DataStore = /** @class */ (function () {
|
|
|
2223
2228
|
var _b = __read(_a, 2), modelDefinition = _b[0], predicate = _b[1];
|
|
2224
2229
|
if (map.has(modelDefinition)) {
|
|
2225
2230
|
var name_2 = modelDefinition.name;
|
|
2226
|
-
logger.warn("You can only utilize one Sync Expression per model.\n Subsequent sync expressions for the "
|
|
2231
|
+
logger.warn("You can only utilize one Sync Expression per model.\n Subsequent sync expressions for the ".concat(name_2, " model will be ignored."));
|
|
2227
2232
|
return map;
|
|
2228
2233
|
}
|
|
2229
2234
|
if (predicate) {
|
|
@@ -2243,7 +2248,7 @@ var DataStore = /** @class */ (function () {
|
|
|
2243
2248
|
var aws_appsync_graphqlEndpoint = this.amplifyConfig.aws_appsync_graphqlEndpoint;
|
|
2244
2249
|
var appSyncUrl = aws_appsync_graphqlEndpoint.split('/')[2];
|
|
2245
2250
|
var _a = __read(appSyncUrl.split('.'), 1), appSyncId = _a[0];
|
|
2246
|
-
return sessionId
|
|
2251
|
+
return "".concat(sessionId, "-").concat(appSyncId);
|
|
2247
2252
|
}
|
|
2248
2253
|
}
|
|
2249
2254
|
catch (_b) { }
|