@aws-amplify/datastore 4.7.5 → 5.0.1-console-preview.4208d73.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.
Files changed (182) hide show
  1. package/README.md +4 -0
  2. package/lib/authModeStrategies/defaultAuthStrategy.js +3 -2
  3. package/lib/authModeStrategies/index.js +3 -3
  4. package/lib/authModeStrategies/multiAuthStrategy.js +81 -24
  5. package/lib/datastore/datastore.d.ts +3 -4
  6. package/lib/datastore/datastore.js +361 -227
  7. package/lib/index.d.ts +1 -1
  8. package/lib/index.js +25 -12
  9. package/lib/predicates/index.js +46 -12
  10. package/lib/predicates/next.d.ts +2 -2
  11. package/lib/predicates/next.js +172 -74
  12. package/lib/predicates/sort.js +3 -4
  13. package/lib/ssr/index.js +1 -1
  14. package/lib/storage/adapter/AsyncStorageAdapter.js +240 -128
  15. package/lib/storage/adapter/AsyncStorageDatabase.js +100 -39
  16. package/lib/storage/adapter/InMemoryStore.js +68 -17
  17. package/lib/storage/adapter/InMemoryStore.native.js +5 -3
  18. package/lib/storage/adapter/IndexedDBAdapter.js +355 -199
  19. package/lib/storage/adapter/StorageAdapterBase.js +154 -85
  20. package/lib/storage/adapter/getDefaultAdapter/index.js +8 -9
  21. package/lib/storage/adapter/getDefaultAdapter/index.native.js +4 -3
  22. package/lib/storage/adapter/index.js +0 -1
  23. package/lib/storage/relationship.js +31 -21
  24. package/lib/storage/storage.d.ts +3 -3
  25. package/lib/storage/storage.js +143 -61
  26. package/lib/sync/datastoreConnectivity.d.ts +1 -1
  27. package/lib/sync/datastoreConnectivity.js +57 -9
  28. package/lib/sync/datastoreReachability/index.js +3 -3
  29. package/lib/sync/datastoreReachability/index.native.js +7 -5
  30. package/lib/sync/index.d.ts +1 -1
  31. package/lib/sync/index.js +193 -125
  32. package/lib/sync/merger.js +81 -10
  33. package/lib/sync/outbox.js +101 -30
  34. package/lib/sync/processors/errorMaps.d.ts +1 -1
  35. package/lib/sync/processors/errorMaps.js +41 -6
  36. package/lib/sync/processors/mutation.d.ts +1 -1
  37. package/lib/sync/processors/mutation.js +192 -101
  38. package/lib/sync/processors/subscription.d.ts +4 -1
  39. package/lib/sync/processors/subscription.js +190 -178
  40. package/lib/sync/processors/sync.d.ts +1 -1
  41. package/lib/sync/processors/sync.js +113 -47
  42. package/lib/sync/utils.d.ts +4 -4
  43. package/lib/sync/utils.js +162 -81
  44. package/lib/tsconfig.tsbuildinfo +1 -0
  45. package/lib/types.d.ts +138 -140
  46. package/lib/types.js +40 -5
  47. package/lib/util.d.ts +9 -17
  48. package/lib/util.js +216 -100
  49. package/lib-esm/authModeStrategies/defaultAuthStrategy.js +0 -1
  50. package/lib-esm/authModeStrategies/index.js +0 -1
  51. package/lib-esm/authModeStrategies/multiAuthStrategy.js +76 -21
  52. package/lib-esm/datastore/datastore.d.ts +3 -4
  53. package/lib-esm/datastore/datastore.js +206 -77
  54. package/lib-esm/index.d.ts +1 -1
  55. package/lib-esm/index.js +0 -1
  56. package/lib-esm/predicates/index.js +40 -7
  57. package/lib-esm/predicates/next.d.ts +2 -2
  58. package/lib-esm/predicates/next.js +148 -52
  59. package/lib-esm/predicates/sort.js +2 -4
  60. package/lib-esm/ssr/index.js +0 -1
  61. package/lib-esm/storage/adapter/AsyncStorageAdapter.js +203 -95
  62. package/lib-esm/storage/adapter/AsyncStorageDatabase.js +66 -5
  63. package/lib-esm/storage/adapter/InMemoryStore.js +52 -2
  64. package/lib-esm/storage/adapter/InMemoryStore.native.js +0 -1
  65. package/lib-esm/storage/adapter/IndexedDBAdapter.js +271 -138
  66. package/lib-esm/storage/adapter/StorageAdapterBase.js +130 -62
  67. package/lib-esm/storage/adapter/getDefaultAdapter/index.js +2 -5
  68. package/lib-esm/storage/adapter/getDefaultAdapter/index.native.js +0 -1
  69. package/lib-esm/storage/adapter/index.js +1 -1
  70. package/lib-esm/storage/relationship.js +27 -18
  71. package/lib-esm/storage/storage.d.ts +3 -3
  72. package/lib-esm/storage/storage.js +87 -9
  73. package/lib-esm/sync/datastoreConnectivity.d.ts +1 -1
  74. package/lib-esm/sync/datastoreConnectivity.js +48 -3
  75. package/lib-esm/sync/datastoreReachability/index.js +1 -2
  76. package/lib-esm/sync/datastoreReachability/index.native.js +1 -2
  77. package/lib-esm/sync/index.d.ts +1 -1
  78. package/lib-esm/sync/index.js +136 -72
  79. package/lib-esm/sync/merger.js +73 -3
  80. package/lib-esm/sync/outbox.js +75 -5
  81. package/lib-esm/sync/processors/errorMaps.d.ts +1 -1
  82. package/lib-esm/sync/processors/errorMaps.js +39 -5
  83. package/lib-esm/sync/processors/mutation.d.ts +1 -1
  84. package/lib-esm/sync/processors/mutation.js +130 -44
  85. package/lib-esm/sync/processors/subscription.d.ts +4 -1
  86. package/lib-esm/sync/processors/subscription.js +134 -126
  87. package/lib-esm/sync/processors/sync.d.ts +1 -1
  88. package/lib-esm/sync/processors/sync.js +74 -12
  89. package/lib-esm/sync/utils.d.ts +4 -4
  90. package/lib-esm/sync/utils.js +135 -55
  91. package/lib-esm/tsconfig.tsbuildinfo +1 -0
  92. package/lib-esm/types.d.ts +138 -140
  93. package/lib-esm/types.js +36 -2
  94. package/lib-esm/util.d.ts +9 -17
  95. package/lib-esm/util.js +96 -16
  96. package/package.json +139 -132
  97. package/src/authModeStrategies/multiAuthStrategy.ts +11 -12
  98. package/src/datastore/datastore.ts +32 -25
  99. package/src/predicates/sort.ts +3 -1
  100. package/src/storage/adapter/InMemoryStore.ts +1 -1
  101. package/src/storage/adapter/IndexedDBAdapter.ts +1 -1
  102. package/src/storage/adapter/StorageAdapterBase.ts +1 -1
  103. package/src/storage/adapter/getDefaultAdapter/index.ts +2 -3
  104. package/src/storage/storage.ts +1 -1
  105. package/src/sync/datastoreConnectivity.ts +2 -2
  106. package/src/sync/datastoreReachability/index.native.ts +1 -1
  107. package/src/sync/datastoreReachability/index.ts +1 -1
  108. package/src/sync/index.ts +69 -78
  109. package/src/sync/processors/mutation.ts +16 -10
  110. package/src/sync/processors/subscription.ts +55 -127
  111. package/src/sync/processors/sync.ts +8 -4
  112. package/src/sync/utils.ts +7 -8
  113. package/src/types.ts +4 -8
  114. package/src/util.ts +5 -6
  115. package/lib/.tsbuildinfo +0 -3
  116. package/lib/authModeStrategies/defaultAuthStrategy.js.map +0 -1
  117. package/lib/authModeStrategies/index.js.map +0 -1
  118. package/lib/authModeStrategies/multiAuthStrategy.js.map +0 -1
  119. package/lib/datastore/datastore.js.map +0 -1
  120. package/lib/index.js.map +0 -1
  121. package/lib/predicates/index.js.map +0 -1
  122. package/lib/predicates/next.js.map +0 -1
  123. package/lib/predicates/sort.js.map +0 -1
  124. package/lib/ssr/index.js.map +0 -1
  125. package/lib/storage/adapter/AsyncStorageAdapter.js.map +0 -1
  126. package/lib/storage/adapter/AsyncStorageDatabase.js.map +0 -1
  127. package/lib/storage/adapter/InMemoryStore.js.map +0 -1
  128. package/lib/storage/adapter/InMemoryStore.native.js.map +0 -1
  129. package/lib/storage/adapter/IndexedDBAdapter.js.map +0 -1
  130. package/lib/storage/adapter/StorageAdapterBase.js.map +0 -1
  131. package/lib/storage/adapter/getDefaultAdapter/index.js.map +0 -1
  132. package/lib/storage/adapter/getDefaultAdapter/index.native.js.map +0 -1
  133. package/lib/storage/adapter/index.js.map +0 -1
  134. package/lib/storage/relationship.js.map +0 -1
  135. package/lib/storage/storage.js.map +0 -1
  136. package/lib/sync/datastoreConnectivity.js.map +0 -1
  137. package/lib/sync/datastoreReachability/index.js.map +0 -1
  138. package/lib/sync/datastoreReachability/index.native.js.map +0 -1
  139. package/lib/sync/index.js.map +0 -1
  140. package/lib/sync/merger.js.map +0 -1
  141. package/lib/sync/outbox.js.map +0 -1
  142. package/lib/sync/processors/errorMaps.js.map +0 -1
  143. package/lib/sync/processors/mutation.js.map +0 -1
  144. package/lib/sync/processors/subscription.js.map +0 -1
  145. package/lib/sync/processors/sync.js.map +0 -1
  146. package/lib/sync/utils.js.map +0 -1
  147. package/lib/types.js.map +0 -1
  148. package/lib/util.js.map +0 -1
  149. package/lib-esm/.tsbuildinfo +0 -3
  150. package/lib-esm/authModeStrategies/defaultAuthStrategy.js.map +0 -1
  151. package/lib-esm/authModeStrategies/index.js.map +0 -1
  152. package/lib-esm/authModeStrategies/multiAuthStrategy.js.map +0 -1
  153. package/lib-esm/datastore/datastore.js.map +0 -1
  154. package/lib-esm/index.js.map +0 -1
  155. package/lib-esm/predicates/index.js.map +0 -1
  156. package/lib-esm/predicates/next.js.map +0 -1
  157. package/lib-esm/predicates/sort.js.map +0 -1
  158. package/lib-esm/ssr/index.js.map +0 -1
  159. package/lib-esm/storage/adapter/AsyncStorageAdapter.js.map +0 -1
  160. package/lib-esm/storage/adapter/AsyncStorageDatabase.js.map +0 -1
  161. package/lib-esm/storage/adapter/InMemoryStore.js.map +0 -1
  162. package/lib-esm/storage/adapter/InMemoryStore.native.js.map +0 -1
  163. package/lib-esm/storage/adapter/IndexedDBAdapter.js.map +0 -1
  164. package/lib-esm/storage/adapter/StorageAdapterBase.js.map +0 -1
  165. package/lib-esm/storage/adapter/getDefaultAdapter/index.js.map +0 -1
  166. package/lib-esm/storage/adapter/getDefaultAdapter/index.native.js.map +0 -1
  167. package/lib-esm/storage/adapter/index.js.map +0 -1
  168. package/lib-esm/storage/relationship.js.map +0 -1
  169. package/lib-esm/storage/storage.js.map +0 -1
  170. package/lib-esm/sync/datastoreConnectivity.js.map +0 -1
  171. package/lib-esm/sync/datastoreReachability/index.js.map +0 -1
  172. package/lib-esm/sync/datastoreReachability/index.native.js.map +0 -1
  173. package/lib-esm/sync/index.js.map +0 -1
  174. package/lib-esm/sync/merger.js.map +0 -1
  175. package/lib-esm/sync/outbox.js.map +0 -1
  176. package/lib-esm/sync/processors/errorMaps.js.map +0 -1
  177. package/lib-esm/sync/processors/mutation.js.map +0 -1
  178. package/lib-esm/sync/processors/subscription.js.map +0 -1
  179. package/lib-esm/sync/processors/sync.js.map +0 -1
  180. package/lib-esm/sync/utils.js.map +0 -1
  181. package/lib-esm/types.js.map +0 -1
  182. package/lib-esm/util.js.map +0 -1
@@ -1,14 +1,66 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __asyncValues = (this && this.__asyncValues) || function (o) {
39
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
40
+ var m = o[Symbol.asyncIterator], i;
41
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
42
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
43
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
44
+ };
45
+ var __values = (this && this.__values) || function(o) {
46
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
47
+ if (m) return m.call(o);
48
+ if (o && typeof o.length === "number") return {
49
+ next: function () {
50
+ if (o && i >= o.length) o = void 0;
51
+ return { value: o && o[i++], done: !o };
52
+ }
53
+ };
54
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
55
+ };
2
56
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
5
- // SPDX-License-Identifier: Apache-2.0
6
- var core_1 = require("@aws-amplify/core");
57
+ exports.StorageAdapterBase = void 0;
7
58
  var predicates_1 = require("../../predicates");
8
59
  var types_1 = require("../../types");
9
60
  var util_1 = require("../../util");
10
61
  var relationship_1 = require("../relationship");
11
- var logger = new core_1.ConsoleLogger('DataStore');
62
+ var utils_1 = require("@aws-amplify/core/internals/utils");
63
+ var logger = new utils_1.Logger('DataStore');
12
64
  var DB_NAME = 'amplify-datastore';
13
65
  var StorageAdapterBase = /** @class */ (function () {
14
66
  function StorageAdapterBase() {
@@ -24,10 +76,10 @@ var StorageAdapterBase = /** @class */ (function () {
24
76
  * @param sessionId
25
77
  */
26
78
  StorageAdapterBase.prototype.setUp = function (theSchema, namespaceResolver, modelInstanceCreator, getModelConstructorByModelName, sessionId) {
27
- return tslib_1.__awaiter(this, void 0, void 0, function () {
79
+ return __awaiter(this, void 0, void 0, function () {
28
80
  var _a, error_1;
29
81
  var _this = this;
30
- return tslib_1.__generator(this, function (_b) {
82
+ return __generator(this, function (_b) {
31
83
  switch (_b.label) {
32
84
  case 0: return [4 /*yield*/, this.preSetUpChecks()];
33
85
  case 1:
@@ -44,7 +96,7 @@ var StorageAdapterBase = /** @class */ (function () {
44
96
  return [2 /*return*/];
45
97
  case 4:
46
98
  if (sessionId) {
47
- this.dbName = DB_NAME + "-" + sessionId;
99
+ this.dbName = "".concat(DB_NAME, "-").concat(sessionId);
48
100
  }
49
101
  this.schema = theSchema;
50
102
  this.namespaceResolver = namespaceResolver;
@@ -77,7 +129,7 @@ var StorageAdapterBase = /** @class */ (function () {
77
129
  StorageAdapterBase.prototype.getStorenameForModel = function (modelConstructor) {
78
130
  var namespace = this.namespaceResolver(modelConstructor);
79
131
  var modelName = modelConstructor.name;
80
- return util_1.getStorename(namespace, modelName);
132
+ return (0, util_1.getStorename)(namespace, modelName);
81
133
  };
82
134
  /**
83
135
  *
@@ -88,8 +140,8 @@ var StorageAdapterBase = /** @class */ (function () {
88
140
  var modelConstructor = Object.getPrototypeOf(model)
89
141
  .constructor;
90
142
  var namespaceName = this.namespaceResolver(modelConstructor);
91
- var keys = util_1.getIndexKeys(this.schema.namespaces[namespaceName], modelConstructor.name);
92
- return util_1.extractPrimaryKeyValues(model, keys);
143
+ var keys = (0, util_1.getIndexKeys)(this.schema.namespaces[namespaceName], modelConstructor.name);
144
+ return (0, util_1.extractPrimaryKeyValues)(model, keys);
93
145
  };
94
146
  /**
95
147
  * Common metadata for `save` operation
@@ -103,13 +155,13 @@ var StorageAdapterBase = /** @class */ (function () {
103
155
  .constructor;
104
156
  var storeName = this.getStorenameForModel(modelConstructor);
105
157
  var namespaceName = this.namespaceResolver(modelConstructor);
106
- var connectedModels = util_1.traverseModel(modelConstructor.name, model, this.schema.namespaces[namespaceName], this.modelInstanceCreator, this.getModelConstructorByModelName);
158
+ var connectedModels = (0, util_1.traverseModel)(modelConstructor.name, model, this.schema.namespaces[namespaceName], this.modelInstanceCreator, this.getModelConstructorByModelName);
107
159
  var set = new Set();
108
160
  var connectionStoreNames = Object.values(connectedModels).map(function (_a) {
109
161
  var modelName = _a.modelName, item = _a.item, instance = _a.instance;
110
- var storeName = util_1.getStorename(namespaceName, modelName);
162
+ var storeName = (0, util_1.getStorename)(namespaceName, modelName);
111
163
  set.add(storeName);
112
- var keys = util_1.getIndexKeys(_this.schema.namespaces[namespaceName], modelName);
164
+ var keys = (0, util_1.getIndexKeys)(_this.schema.namespaces[namespaceName], modelName);
113
165
  return { storeName: storeName, item: item, instance: instance, keys: keys };
114
166
  });
115
167
  var modelKeyValues = this.getIndexKeyValuesFromModel(model);
@@ -127,7 +179,7 @@ var StorageAdapterBase = /** @class */ (function () {
127
179
  }
128
180
  var predicates = predicates_1.ModelPredicateCreator.getPredicates(condition);
129
181
  var _a = predicates, predicateObjs = _a.predicates, type = _a.type;
130
- var isValid = util_1.validatePredicate(fromDB, type, predicateObjs);
182
+ var isValid = (0, util_1.validatePredicate)(fromDB, type, predicateObjs);
131
183
  if (!isValid) {
132
184
  var msg = 'Conditional update failed';
133
185
  logger.error(msg, { model: fromDB, condition: predicateObjs });
@@ -143,15 +195,15 @@ var StorageAdapterBase = /** @class */ (function () {
143
195
  * @returns
144
196
  */
145
197
  StorageAdapterBase.prototype.load = function (namespaceName, srcModelName, records) {
146
- return tslib_1.__awaiter(this, void 0, void 0, function () {
198
+ return __awaiter(this, void 0, void 0, function () {
147
199
  var namespace, relations, connectionStoreNames, modelConstructor;
148
200
  var _this = this;
149
- return tslib_1.__generator(this, function (_a) {
201
+ return __generator(this, function (_a) {
150
202
  namespace = this.schema.namespaces[namespaceName];
151
203
  relations = namespace.relationships[srcModelName].relationTypes;
152
204
  connectionStoreNames = relations.map(function (_a) {
153
205
  var modelName = _a.modelName;
154
- return util_1.getStorename(namespaceName, modelName);
206
+ return (0, util_1.getStorename)(namespaceName, modelName);
155
207
  });
156
208
  modelConstructor = this.getModelConstructorByModelName(namespaceName, srcModelName);
157
209
  if (connectionStoreNames.length === 0) {
@@ -193,7 +245,7 @@ var StorageAdapterBase = /** @class */ (function () {
193
245
  var predicateObj = predicateObjs.find(function (p) {
194
246
  // it's a relevant predicate object only if it's an equality
195
247
  // operation for a key field from the key:
196
- return types_1.isPredicateObj(p) &&
248
+ return (0, types_1.isPredicateObj)(p) &&
197
249
  p.field === key &&
198
250
  p.operator === 'eq' &&
199
251
  p.operand !== null &&
@@ -202,7 +254,7 @@ var StorageAdapterBase = /** @class */ (function () {
202
254
  predicateObj && keyValues.push(predicateObj.operand);
203
255
  };
204
256
  try {
205
- for (var keyPath_1 = tslib_1.__values(keyPath), keyPath_1_1 = keyPath_1.next(); !keyPath_1_1.done; keyPath_1_1 = keyPath_1.next()) {
257
+ for (var keyPath_1 = __values(keyPath), keyPath_1_1 = keyPath_1.next(); !keyPath_1_1.done; keyPath_1_1 = keyPath_1.next()) {
206
258
  var key = keyPath_1_1.value;
207
259
  _loop_1(key);
208
260
  }
@@ -228,7 +280,7 @@ var StorageAdapterBase = /** @class */ (function () {
228
280
  var storeName = this.getStorenameForModel(modelConstructor);
229
281
  var namespaceName = this.namespaceResolver(modelConstructor);
230
282
  var predicates = predicate && predicates_1.ModelPredicateCreator.getPredicates(predicate);
231
- var keyPath = util_1.getIndexKeys(this.schema.namespaces[namespaceName], modelConstructor.name);
283
+ var keyPath = (0, util_1.getIndexKeys)(this.schema.namespaces[namespaceName], modelConstructor.name);
232
284
  var queryByKey = predicates && this.keyValueFromPredicate(predicates, keyPath);
233
285
  var hasSort = pagination && pagination.sort;
234
286
  var hasPagination = pagination && pagination.limit;
@@ -250,15 +302,15 @@ var StorageAdapterBase = /** @class */ (function () {
250
302
  * @returns
251
303
  */
252
304
  StorageAdapterBase.prototype.delete = function (modelOrModelConstructor, condition) {
253
- return tslib_1.__awaiter(this, void 0, void 0, function () {
305
+ return __awaiter(this, void 0, void 0, function () {
254
306
  var deleteQueue, modelConstructor, namespace, models, deletedModels, deletedModels, model, modelConstructor, namespaceName, storeName, keyValues, fromDB, msg, predicates, _a, predicateObjs, type, isValid, msg, deletedModels;
255
- return tslib_1.__generator(this, function (_b) {
307
+ return __generator(this, function (_b) {
256
308
  switch (_b.label) {
257
309
  case 0: return [4 /*yield*/, this.preOpCheck()];
258
310
  case 1:
259
311
  _b.sent();
260
312
  deleteQueue = [];
261
- if (!util_1.isModelConstructor(modelOrModelConstructor)) return [3 /*break*/, 9];
313
+ if (!(0, util_1.isModelConstructor)(modelOrModelConstructor)) return [3 /*break*/, 9];
262
314
  modelConstructor = modelOrModelConstructor;
263
315
  namespace = this.namespaceResolver(modelConstructor);
264
316
  return [4 /*yield*/, this.query(modelConstructor, condition)];
@@ -306,7 +358,7 @@ var StorageAdapterBase = /** @class */ (function () {
306
358
  }
307
359
  predicates = predicates_1.ModelPredicateCreator.getPredicates(condition);
308
360
  _a = predicates, predicateObjs = _a.predicates, type = _a.type;
309
- isValid = util_1.validatePredicate(fromDB, type, predicateObjs);
361
+ isValid = (0, util_1.validatePredicate)(fromDB, type, predicateObjs);
310
362
  if (!isValid) {
311
363
  msg = 'Conditional update failed';
312
364
  logger.error(msg, { model: fromDB, condition: predicateObjs });
@@ -345,89 +397,107 @@ var StorageAdapterBase = /** @class */ (function () {
345
397
  * @param deleteQueue
346
398
  */
347
399
  StorageAdapterBase.prototype.deleteTraverse = function (models, modelConstructor, namespace, deleteQueue) {
348
- var models_1, models_1_1;
349
- var e_2, _a, e_3, _b;
350
- return tslib_1.__awaiter(this, void 0, void 0, function () {
351
- var cascadingRelationTypes, model, modelDefinition, modelMeta, relationships, relationships_1, relationships_1_1, r, queryObject, relatedRecords, e_3_1, e_2_1;
352
- return tslib_1.__generator(this, function (_c) {
353
- switch (_c.label) {
400
+ var _a, models_1, models_1_1;
401
+ var _b, e_2, _c, _d, _e, e_3, _f, _g;
402
+ return __awaiter(this, void 0, void 0, function () {
403
+ var cascadingRelationTypes, model, modelDefinition, modelMeta, relationships, _h, relationships_1, relationships_1_1, r, queryObject, relatedRecords, e_3_1, e_2_1;
404
+ return __generator(this, function (_j) {
405
+ switch (_j.label) {
354
406
  case 0:
355
407
  cascadingRelationTypes = ['HAS_ONE', 'HAS_MANY'];
356
- _c.label = 1;
408
+ _j.label = 1;
357
409
  case 1:
358
- _c.trys.push([1, 19, 20, 25]);
359
- models_1 = tslib_1.__asyncValues(models);
360
- _c.label = 2;
410
+ _j.trys.push([1, 25, 26, 31]);
411
+ _a = true, models_1 = __asyncValues(models);
412
+ _j.label = 2;
361
413
  case 2: return [4 /*yield*/, models_1.next()];
362
414
  case 3:
363
- if (!(models_1_1 = _c.sent(), !models_1_1.done)) return [3 /*break*/, 18];
364
- model = models_1_1.value;
415
+ if (!(models_1_1 = _j.sent(), _b = models_1_1.done, !_b)) return [3 /*break*/, 24];
416
+ _d = models_1_1.value;
417
+ _a = false;
418
+ _j.label = 4;
419
+ case 4:
420
+ _j.trys.push([4, , 22, 23]);
421
+ model = _d;
365
422
  modelDefinition = this.schema.namespaces[namespace].models[modelConstructor.name];
366
423
  modelMeta = {
367
424
  builder: modelConstructor,
368
425
  schema: modelDefinition,
369
- pkField: util_1.extractPrimaryKeyFieldNames(modelDefinition),
426
+ pkField: (0, util_1.extractPrimaryKeyFieldNames)(modelDefinition),
370
427
  };
371
428
  relationships = relationship_1.ModelRelationship.allFrom(modelMeta).filter(function (r) {
372
429
  return cascadingRelationTypes.includes(r.type);
373
430
  });
374
- _c.label = 4;
375
- case 4:
376
- _c.trys.push([4, 11, 12, 17]);
377
- relationships_1 = tslib_1.__asyncValues(relationships);
378
- _c.label = 5;
379
- case 5: return [4 /*yield*/, relationships_1.next()];
380
- case 6:
381
- if (!(relationships_1_1 = _c.sent(), !relationships_1_1.done)) return [3 /*break*/, 10];
382
- r = relationships_1_1.value;
431
+ _j.label = 5;
432
+ case 5:
433
+ _j.trys.push([5, 15, 16, 21]);
434
+ _h = true, relationships_1 = (e_3 = void 0, __asyncValues(relationships));
435
+ _j.label = 6;
436
+ case 6: return [4 /*yield*/, relationships_1.next()];
437
+ case 7:
438
+ if (!(relationships_1_1 = _j.sent(), _e = relationships_1_1.done, !_e)) return [3 /*break*/, 14];
439
+ _g = relationships_1_1.value;
440
+ _h = false;
441
+ _j.label = 8;
442
+ case 8:
443
+ _j.trys.push([8, , 12, 13]);
444
+ r = _g;
383
445
  queryObject = r.createRemoteQueryObject(model);
384
- if (!(queryObject !== null)) return [3 /*break*/, 9];
446
+ if (!(queryObject !== null)) return [3 /*break*/, 11];
385
447
  return [4 /*yield*/, this.query(r.remoteModelConstructor, predicates_1.ModelPredicateCreator.createFromFlatEqualities(r.remoteDefinition, queryObject))];
386
- case 7:
387
- relatedRecords = _c.sent();
448
+ case 9:
449
+ relatedRecords = _j.sent();
388
450
  return [4 /*yield*/, this.deleteTraverse(relatedRecords, r.remoteModelConstructor, namespace, deleteQueue)];
389
- case 8:
390
- _c.sent();
391
- _c.label = 9;
392
- case 9: return [3 /*break*/, 5];
393
- case 10: return [3 /*break*/, 17];
394
- case 11:
395
- e_3_1 = _c.sent();
396
- e_3 = { error: e_3_1 };
397
- return [3 /*break*/, 17];
451
+ case 10:
452
+ _j.sent();
453
+ _j.label = 11;
454
+ case 11: return [3 /*break*/, 13];
398
455
  case 12:
399
- _c.trys.push([12, , 15, 16]);
400
- if (!(relationships_1_1 && !relationships_1_1.done && (_b = relationships_1.return))) return [3 /*break*/, 14];
401
- return [4 /*yield*/, _b.call(relationships_1)];
402
- case 13:
403
- _c.sent();
404
- _c.label = 14;
405
- case 14: return [3 /*break*/, 16];
456
+ _h = true;
457
+ return [7 /*endfinally*/];
458
+ case 13: return [3 /*break*/, 6];
459
+ case 14: return [3 /*break*/, 21];
406
460
  case 15:
461
+ e_3_1 = _j.sent();
462
+ e_3 = { error: e_3_1 };
463
+ return [3 /*break*/, 21];
464
+ case 16:
465
+ _j.trys.push([16, , 19, 20]);
466
+ if (!(!_h && !_e && (_f = relationships_1.return))) return [3 /*break*/, 18];
467
+ return [4 /*yield*/, _f.call(relationships_1)];
468
+ case 17:
469
+ _j.sent();
470
+ _j.label = 18;
471
+ case 18: return [3 /*break*/, 20];
472
+ case 19:
407
473
  if (e_3) throw e_3.error;
408
474
  return [7 /*endfinally*/];
409
- case 16: return [7 /*endfinally*/];
410
- case 17: return [3 /*break*/, 2];
411
- case 18: return [3 /*break*/, 25];
412
- case 19:
413
- e_2_1 = _c.sent();
475
+ case 20: return [7 /*endfinally*/];
476
+ case 21: return [3 /*break*/, 23];
477
+ case 22:
478
+ _a = true;
479
+ return [7 /*endfinally*/];
480
+ case 23: return [3 /*break*/, 2];
481
+ case 24: return [3 /*break*/, 31];
482
+ case 25:
483
+ e_2_1 = _j.sent();
414
484
  e_2 = { error: e_2_1 };
415
- return [3 /*break*/, 25];
416
- case 20:
417
- _c.trys.push([20, , 23, 24]);
418
- if (!(models_1_1 && !models_1_1.done && (_a = models_1.return))) return [3 /*break*/, 22];
419
- return [4 /*yield*/, _a.call(models_1)];
420
- case 21:
421
- _c.sent();
422
- _c.label = 22;
423
- case 22: return [3 /*break*/, 24];
424
- case 23:
485
+ return [3 /*break*/, 31];
486
+ case 26:
487
+ _j.trys.push([26, , 29, 30]);
488
+ if (!(!_a && !_b && (_c = models_1.return))) return [3 /*break*/, 28];
489
+ return [4 /*yield*/, _c.call(models_1)];
490
+ case 27:
491
+ _j.sent();
492
+ _j.label = 28;
493
+ case 28: return [3 /*break*/, 30];
494
+ case 29:
425
495
  if (e_2) throw e_2.error;
426
496
  return [7 /*endfinally*/];
427
- case 24: return [7 /*endfinally*/];
428
- case 25:
497
+ case 30: return [7 /*endfinally*/];
498
+ case 31:
429
499
  deleteQueue.push({
430
- storeName: util_1.getStorename(namespace, modelConstructor.name),
500
+ storeName: (0, util_1.getStorename)(namespace, modelConstructor.name),
431
501
  items: models,
432
502
  });
433
503
  return [2 /*return*/];
@@ -438,4 +508,3 @@ var StorageAdapterBase = /** @class */ (function () {
438
508
  return StorageAdapterBase;
439
509
  }());
440
510
  exports.StorageAdapterBase = StorageAdapterBase;
441
- //# sourceMappingURL=StorageAdapterBase.js.map
@@ -1,17 +1,16 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
5
- // SPDX-License-Identifier: Apache-2.0
6
- var core_1 = require("@aws-amplify/core");
7
- var IndexedDBAdapter_1 = tslib_1.__importDefault(require("../IndexedDBAdapter"));
8
- var AsyncStorageAdapter_1 = tslib_1.__importDefault(require("../AsyncStorageAdapter"));
6
+ var IndexedDBAdapter_1 = __importDefault(require("../IndexedDBAdapter"));
7
+ var AsyncStorageAdapter_1 = __importDefault(require("../AsyncStorageAdapter"));
8
+ var utils_1 = require("@aws-amplify/core/internals/utils");
9
9
  var getDefaultAdapter = function () {
10
- var isBrowser = core_1.browserOrNode().isBrowser;
11
- if ((isBrowser && window.indexedDB) || (core_1.isWebWorker() && self.indexedDB)) {
10
+ var isBrowser = true; // TODO(v6): Update this for SSR
11
+ if ((isBrowser && window.indexedDB) || ((0, utils_1.isWebWorker)() && self.indexedDB)) {
12
12
  return IndexedDBAdapter_1.default;
13
13
  }
14
14
  return AsyncStorageAdapter_1.default;
15
15
  };
16
16
  exports.default = getDefaultAdapter;
17
- //# sourceMappingURL=index.js.map
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- var AsyncStorageAdapter_1 = tslib_1.__importDefault(require("../AsyncStorageAdapter"));
6
+ var AsyncStorageAdapter_1 = __importDefault(require("../AsyncStorageAdapter"));
5
7
  var getDefaultAdapter = function () {
6
8
  return AsyncStorageAdapter_1.default;
7
9
  };
8
10
  exports.default = getDefaultAdapter;
9
- //# sourceMappingURL=index.native.js.map
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=index.js.map
@@ -1,6 +1,17 @@
1
1
  "use strict";
2
+ var __values = (this && this.__values) || function(o) {
3
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
4
+ if (m) return m.call(o);
5
+ if (o && typeof o.length === "number") return {
6
+ next: function () {
7
+ if (o && i >= o.length) o = void 0;
8
+ return { value: o && o[i++], done: !o };
9
+ }
10
+ };
11
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
12
+ };
2
13
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
14
+ exports.ModelRelationship = void 0;
4
15
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
5
16
  // SPDX-License-Identifier: Apache-2.0
6
17
  var types_1 = require("../types");
@@ -18,8 +29,8 @@ var ModelRelationship = /** @class */ (function () {
18
29
  * @param field The "local" model field.
19
30
  */
20
31
  function ModelRelationship(model, field) {
21
- if (!types_1.isFieldAssociation(model.schema, field)) {
22
- throw new Error(model.schema.name + "." + field + " is not a relationship.");
32
+ if (!(0, types_1.isFieldAssociation)(model.schema, field)) {
33
+ throw new Error("".concat(model.schema.name, ".").concat(field, " is not a relationship."));
23
34
  }
24
35
  this.localModel = model;
25
36
  this._field = field;
@@ -32,7 +43,7 @@ var ModelRelationship = /** @class */ (function () {
32
43
  * @param field The field that may relates the local model to the remote model.
33
44
  */
34
45
  ModelRelationship.from = function (model, field) {
35
- if (types_1.isFieldAssociation(model.schema, field)) {
46
+ if ((0, types_1.isFieldAssociation)(model.schema, field)) {
36
47
  return new this(model, field);
37
48
  }
38
49
  else {
@@ -48,7 +59,7 @@ var ModelRelationship = /** @class */ (function () {
48
59
  var e_1, _a;
49
60
  var relationships = [];
50
61
  try {
51
- for (var _b = tslib_1.__values(Object.keys(model.schema.fields)), _c = _b.next(); !_c.done; _c = _b.next()) {
62
+ for (var _b = __values(Object.keys(model.schema.fields)), _c = _b.next(); !_c.done; _c = _b.next()) {
52
63
  var field = _c.value;
53
64
  var relationship = ModelRelationship.from(model, field);
54
65
  relationship && relationships.push(relationship);
@@ -67,7 +78,7 @@ var ModelRelationship = /** @class */ (function () {
67
78
  get: function () {
68
79
  return this.localModel.schema;
69
80
  },
70
- enumerable: true,
81
+ enumerable: false,
71
82
  configurable: true
72
83
  });
73
84
  Object.defineProperty(ModelRelationship.prototype, "field", {
@@ -78,7 +89,7 @@ var ModelRelationship = /** @class */ (function () {
78
89
  get: function () {
79
90
  return this._field;
80
91
  },
81
- enumerable: true,
92
+ enumerable: false,
82
93
  configurable: true
83
94
  });
84
95
  Object.defineProperty(ModelRelationship.prototype, "localConstructor", {
@@ -89,7 +100,7 @@ var ModelRelationship = /** @class */ (function () {
89
100
  get: function () {
90
101
  return this.localModel.builder;
91
102
  },
92
- enumerable: true,
103
+ enumerable: false,
93
104
  configurable: true
94
105
  });
95
106
  Object.defineProperty(ModelRelationship.prototype, "type", {
@@ -100,7 +111,7 @@ var ModelRelationship = /** @class */ (function () {
100
111
  get: function () {
101
112
  return this.localAssocation.connectionType;
102
113
  },
103
- enumerable: true,
114
+ enumerable: false,
104
115
  configurable: true
105
116
  });
106
117
  Object.defineProperty(ModelRelationship.prototype, "localAssocation", {
@@ -114,7 +125,7 @@ var ModelRelationship = /** @class */ (function () {
114
125
  get: function () {
115
126
  return this.localDefinition.fields[this.field].association;
116
127
  },
117
- enumerable: true,
128
+ enumerable: false,
118
129
  configurable: true
119
130
  });
120
131
  Object.defineProperty(ModelRelationship.prototype, "localJoinFields", {
@@ -145,7 +156,7 @@ var ModelRelationship = /** @class */ (function () {
145
156
  return this.localPKFields;
146
157
  }
147
158
  },
148
- enumerable: true,
159
+ enumerable: false,
149
160
  configurable: true
150
161
  });
151
162
  Object.defineProperty(ModelRelationship.prototype, "localPKFields", {
@@ -157,7 +168,7 @@ var ModelRelationship = /** @class */ (function () {
157
168
  get: function () {
158
169
  return this.localModel.pkField;
159
170
  },
160
- enumerable: true,
171
+ enumerable: false,
161
172
  configurable: true
162
173
  });
163
174
  Object.defineProperty(ModelRelationship.prototype, "remoteDefinition", {
@@ -165,14 +176,14 @@ var ModelRelationship = /** @class */ (function () {
165
176
  var _a;
166
177
  return (_a = this.remoteModelType.modelConstructor) === null || _a === void 0 ? void 0 : _a.schema;
167
178
  },
168
- enumerable: true,
179
+ enumerable: false,
169
180
  configurable: true
170
181
  });
171
182
  Object.defineProperty(ModelRelationship.prototype, "remoteModelType", {
172
183
  get: function () {
173
184
  return this.localDefinition.fields[this.field].type;
174
185
  },
175
- enumerable: true,
186
+ enumerable: false,
176
187
  configurable: true
177
188
  });
178
189
  Object.defineProperty(ModelRelationship.prototype, "remoteModelConstructor", {
@@ -183,7 +194,7 @@ var ModelRelationship = /** @class */ (function () {
183
194
  get: function () {
184
195
  return this.remoteModelType.modelConstructor.builder;
185
196
  },
186
- enumerable: true,
197
+ enumerable: false,
187
198
  configurable: true
188
199
  });
189
200
  Object.defineProperty(ModelRelationship.prototype, "remotePKFields", {
@@ -196,7 +207,7 @@ var ModelRelationship = /** @class */ (function () {
196
207
  var _a;
197
208
  return ((_a = this.remoteModelType.modelConstructor) === null || _a === void 0 ? void 0 : _a.pkField) || ['id'];
198
209
  },
199
- enumerable: true,
210
+ enumerable: false,
200
211
  configurable: true
201
212
  });
202
213
  Object.defineProperty(ModelRelationship.prototype, "localAssociatedWith", {
@@ -219,7 +230,7 @@ var ModelRelationship = /** @class */ (function () {
219
230
  return undefined;
220
231
  }
221
232
  },
222
- enumerable: true,
233
+ enumerable: false,
223
234
  configurable: true
224
235
  });
225
236
  Object.defineProperty(ModelRelationship.prototype, "explicitRemoteAssociation", {
@@ -243,7 +254,7 @@ var ModelRelationship = /** @class */ (function () {
243
254
  }
244
255
  }
245
256
  },
246
- enumerable: true,
257
+ enumerable: false,
247
258
  configurable: true
248
259
  });
249
260
  Object.defineProperty(ModelRelationship.prototype, "remoteJoinFields", {
@@ -274,7 +285,7 @@ var ModelRelationship = /** @class */ (function () {
274
285
  return this.remotePKFields;
275
286
  }
276
287
  },
277
- enumerable: true,
288
+ enumerable: false,
278
289
  configurable: true
279
290
  });
280
291
  Object.defineProperty(ModelRelationship.prototype, "isComplete", {
@@ -285,7 +296,7 @@ var ModelRelationship = /** @class */ (function () {
285
296
  get: function () {
286
297
  return this.localJoinFields.length > 0 && this.remoteJoinFields.length > 0;
287
298
  },
288
- enumerable: true,
299
+ enumerable: false,
289
300
  configurable: true
290
301
  });
291
302
  /**
@@ -343,4 +354,3 @@ var ModelRelationship = /** @class */ (function () {
343
354
  return ModelRelationship;
344
355
  }());
345
356
  exports.ModelRelationship = ModelRelationship;
346
- //# sourceMappingURL=relationship.js.map
@@ -4,11 +4,11 @@ import { ModelInstanceCreator } from '../datastore/datastore';
4
4
  import { InternalSchema, ModelInstanceMetadata, ModelPredicate, NamespaceResolver, OpType, PaginationInput, PersistentModel, PersistentModelConstructor, QueryOne, SchemaNamespace, InternalSubscriptionMessage, SubscriptionMessage } from '../types';
5
5
  import { NAMESPACES } from '../util';
6
6
  import { Adapter } from './adapter';
7
- export declare type StorageSubscriptionMessage<T extends PersistentModel> = InternalSubscriptionMessage<T> & {
7
+ export type StorageSubscriptionMessage<T extends PersistentModel> = InternalSubscriptionMessage<T> & {
8
8
  mutator?: Symbol;
9
9
  };
10
- export declare type StorageFacade = Omit<Adapter, 'setUp'>;
11
- export declare type Storage = InstanceType<typeof StorageClass>;
10
+ export type StorageFacade = Omit<Adapter, 'setUp'>;
11
+ export type Storage = InstanceType<typeof StorageClass>;
12
12
  declare class StorageClass implements StorageFacade {
13
13
  private readonly schema;
14
14
  private readonly namespaceResolver;