@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,6 +1,78 @@
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 __read = (this && this.__read) || function (o, n) {
39
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
40
+ if (!m) return o;
41
+ var i = m.call(o), r, ar = [], e;
42
+ try {
43
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
44
+ }
45
+ catch (error) { e = { error: error }; }
46
+ finally {
47
+ try {
48
+ if (r && !r.done && (m = i["return"])) m.call(i);
49
+ }
50
+ finally { if (e) throw e.error; }
51
+ }
52
+ return ar;
53
+ };
54
+ var __values = (this && this.__values) || function(o) {
55
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
56
+ if (m) return m.call(o);
57
+ if (o && typeof o.length === "number") return {
58
+ next: function () {
59
+ if (o && i >= o.length) o = void 0;
60
+ return { value: o && o[i++], done: !o };
61
+ }
62
+ };
63
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
64
+ };
65
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
66
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
67
+ if (ar || !(i in from)) {
68
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
69
+ ar[i] = from[i];
70
+ }
71
+ }
72
+ return to.concat(ar || Array.prototype.slice.call(from));
73
+ };
2
74
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
75
+ exports.ModelMerger = void 0;
4
76
  var types_1 = require("../types");
5
77
  var utils_1 = require("./utils");
6
78
  // https://github.com/aws-amplify/amplify-js/blob/datastore-docs/packages/datastore/docs/sync-engine.md#merger
@@ -16,10 +88,10 @@ var ModelMerger = /** @class */ (function () {
16
88
  * @returns The type of operation (INSERT/UPDATE/DELETE)
17
89
  */
18
90
  ModelMerger.prototype.merge = function (storage, model, modelDefinition) {
19
- return tslib_1.__awaiter(this, void 0, void 0, function () {
91
+ return __awaiter(this, void 0, void 0, function () {
20
92
  var result, mutationsForModel, isDelete;
21
93
  var _a, _b;
22
- return tslib_1.__generator(this, function (_c) {
94
+ return __generator(this, function (_c) {
23
95
  switch (_c.label) {
24
96
  case 0: return [4 /*yield*/, this.outbox.getForModel(storage, model, modelDefinition)];
25
97
  case 1:
@@ -34,7 +106,7 @@ var ModelMerger = /** @class */ (function () {
34
106
  return [3 /*break*/, 5];
35
107
  case 3: return [4 /*yield*/, storage.save(model, undefined, this.ownSymbol)];
36
108
  case 4:
37
- _a = tslib_1.__read.apply(void 0, [_c.sent(), 1]), _b = tslib_1.__read(_a[0], 2), result = _b[1];
109
+ _a = __read.apply(void 0, [_c.sent(), 1]), _b = __read(_a[0], 2), result = _b[1];
38
110
  _c.label = 5;
39
111
  case 5: return [2 /*return*/, result];
40
112
  }
@@ -42,17 +114,17 @@ var ModelMerger = /** @class */ (function () {
42
114
  });
43
115
  };
44
116
  ModelMerger.prototype.mergePage = function (storage, modelConstructor, items, modelDefinition) {
45
- return tslib_1.__awaiter(this, void 0, void 0, function () {
117
+ return __awaiter(this, void 0, void 0, function () {
46
118
  var itemsMap, items_1, items_1_1, item, modelId, page;
47
119
  var e_1, _a;
48
- return tslib_1.__generator(this, function (_b) {
120
+ return __generator(this, function (_b) {
49
121
  switch (_b.label) {
50
122
  case 0:
51
123
  itemsMap = new Map();
52
124
  try {
53
- for (items_1 = tslib_1.__values(items), items_1_1 = items_1.next(); !items_1_1.done; items_1_1 = items_1.next()) {
125
+ for (items_1 = __values(items), items_1_1 = items_1.next(); !items_1_1.done; items_1_1 = items_1.next()) {
54
126
  item = items_1_1.value;
55
- modelId = utils_1.getIdentifierValue(modelDefinition, item);
127
+ modelId = (0, utils_1.getIdentifierValue)(modelDefinition, item);
56
128
  itemsMap.set(modelId, item);
57
129
  }
58
130
  }
@@ -63,7 +135,7 @@ var ModelMerger = /** @class */ (function () {
63
135
  }
64
136
  finally { if (e_1) throw e_1.error; }
65
137
  }
66
- page = tslib_1.__spread(itemsMap.values());
138
+ page = __spreadArray([], __read(itemsMap.values()), false);
67
139
  return [4 /*yield*/, storage.batchSave(modelConstructor, page, this.ownSymbol)];
68
140
  case 1: return [2 /*return*/, _b.sent()];
69
141
  }
@@ -73,4 +145,3 @@ var ModelMerger = /** @class */ (function () {
73
145
  return ModelMerger;
74
146
  }());
75
147
  exports.ModelMerger = ModelMerger;
76
- //# sourceMappingURL=merger.js.map
@@ -1,6 +1,80 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
+ 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;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ var __rest = (this && this.__rest) || function (s, e) {
50
+ var t = {};
51
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
52
+ t[p] = s[p];
53
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
54
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
55
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
56
+ t[p[i]] = s[p[i]];
57
+ }
58
+ return t;
59
+ };
60
+ var __read = (this && this.__read) || function (o, n) {
61
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
62
+ if (!m) return o;
63
+ var i = m.call(o), r, ar = [], e;
64
+ try {
65
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
66
+ }
67
+ catch (error) { e = { error: error }; }
68
+ finally {
69
+ try {
70
+ if (r && !r.done && (m = i["return"])) m.call(i);
71
+ }
72
+ finally { if (e) throw e.error; }
73
+ }
74
+ return ar;
75
+ };
2
76
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
77
+ exports.MutationEventOutbox = void 0;
4
78
  var predicates_1 = require("../predicates");
5
79
  var types_1 = require("../types");
6
80
  var util_1 = require("../util");
@@ -15,13 +89,13 @@ var MutationEventOutbox = /** @class */ (function () {
15
89
  this.ownSymbol = ownSymbol;
16
90
  }
17
91
  MutationEventOutbox.prototype.enqueue = function (storage, mutationEvent) {
18
- return tslib_1.__awaiter(this, void 0, void 0, function () {
92
+ return __awaiter(this, void 0, void 0, function () {
19
93
  var _this = this;
20
- return tslib_1.__generator(this, function (_a) {
94
+ return __generator(this, function (_a) {
21
95
  switch (_a.label) {
22
- case 0: return [4 /*yield*/, storage.runExclusive(function (s) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
96
+ case 0: return [4 /*yield*/, storage.runExclusive(function (s) { return __awaiter(_this, void 0, void 0, function () {
23
97
  var mutationEventModelDefinition, predicate, _a, first, incomingMutationType, merged_1, incomingConditionJSON, incomingCondition, merged;
24
- return tslib_1.__generator(this, function (_b) {
98
+ return __generator(this, function (_b) {
25
99
  switch (_b.label) {
26
100
  case 0:
27
101
  mutationEventModelDefinition = this.schema.namespaces[util_1.SYNC].models['MutationEvent'];
@@ -33,7 +107,7 @@ var MutationEventOutbox = /** @class */ (function () {
33
107
  });
34
108
  return [4 /*yield*/, s.query(this.MutationEvent, predicate)];
35
109
  case 1:
36
- _a = tslib_1.__read.apply(void 0, [_b.sent(), 1]), first = _a[0];
110
+ _a = __read.apply(void 0, [_b.sent(), 1]), first = _a[0];
37
111
  if (!(first === undefined)) return [3 /*break*/, 3];
38
112
  return [4 /*yield*/, s.save(mutationEvent, undefined, this.ownSymbol)];
39
113
  case 2:
@@ -88,9 +162,9 @@ var MutationEventOutbox = /** @class */ (function () {
88
162
  });
89
163
  };
90
164
  MutationEventOutbox.prototype.dequeue = function (storage, record, recordOp) {
91
- return tslib_1.__awaiter(this, void 0, void 0, function () {
165
+ return __awaiter(this, void 0, void 0, function () {
92
166
  var head;
93
- return tslib_1.__generator(this, function (_a) {
167
+ return __generator(this, function (_a) {
94
168
  switch (_a.label) {
95
169
  case 0: return [4 /*yield*/, this.peek(storage)];
96
170
  case 1:
@@ -115,9 +189,9 @@ var MutationEventOutbox = /** @class */ (function () {
115
189
  * @param storage
116
190
  */
117
191
  MutationEventOutbox.prototype.peek = function (storage) {
118
- return tslib_1.__awaiter(this, void 0, void 0, function () {
192
+ return __awaiter(this, void 0, void 0, function () {
119
193
  var head;
120
- return tslib_1.__generator(this, function (_a) {
194
+ return __generator(this, function (_a) {
121
195
  switch (_a.label) {
122
196
  case 0: return [4 /*yield*/, storage.queryOne(this.MutationEvent, types_1.QueryOne.FIRST)];
123
197
  case 1:
@@ -129,13 +203,13 @@ var MutationEventOutbox = /** @class */ (function () {
129
203
  });
130
204
  };
131
205
  MutationEventOutbox.prototype.getForModel = function (storage, model, userModelDefinition) {
132
- return tslib_1.__awaiter(this, void 0, void 0, function () {
206
+ return __awaiter(this, void 0, void 0, function () {
133
207
  var mutationEventModelDefinition, modelId, mutationEvents;
134
- return tslib_1.__generator(this, function (_a) {
208
+ return __generator(this, function (_a) {
135
209
  switch (_a.label) {
136
210
  case 0:
137
211
  mutationEventModelDefinition = this.schema.namespaces[util_1.SYNC].models.MutationEvent;
138
- modelId = utils_1.getIdentifierValue(userModelDefinition, model);
212
+ modelId = (0, utils_1.getIdentifierValue)(userModelDefinition, model);
139
213
  return [4 /*yield*/, storage.query(this.MutationEvent, predicates_1.ModelPredicateCreator.createFromAST(mutationEventModelDefinition, {
140
214
  and: { modelId: { eq: modelId } },
141
215
  }))];
@@ -147,9 +221,9 @@ var MutationEventOutbox = /** @class */ (function () {
147
221
  });
148
222
  };
149
223
  MutationEventOutbox.prototype.getModelIds = function (storage) {
150
- return tslib_1.__awaiter(this, void 0, void 0, function () {
224
+ return __awaiter(this, void 0, void 0, function () {
151
225
  var mutationEvents, result;
152
- return tslib_1.__generator(this, function (_a) {
226
+ return __generator(this, function (_a) {
153
227
  switch (_a.label) {
154
228
  case 0: return [4 /*yield*/, storage.query(this.MutationEvent)];
155
229
  case 1:
@@ -168,22 +242,22 @@ var MutationEventOutbox = /** @class */ (function () {
168
242
  // in the mutation queue with the same id
169
243
  // see https://github.com/aws-amplify/amplify-js/pull/7354 for more details
170
244
  MutationEventOutbox.prototype.syncOutboxVersionsOnDequeue = function (storage, record, head, recordOp) {
171
- return tslib_1.__awaiter(this, void 0, void 0, function () {
245
+ return __awaiter(this, void 0, void 0, function () {
172
246
  var _version, _lastChangedAt, _deleted, _incomingData, incomingData, data, __version, __lastChangedAt, __deleted, _outgoingData, outgoingData, mutationEventModelDefinition, userModelDefinition, recordId, predicate, outdatedMutations, reconciledMutations;
173
247
  var _this = this;
174
- return tslib_1.__generator(this, function (_a) {
248
+ return __generator(this, function (_a) {
175
249
  switch (_a.label) {
176
250
  case 0:
177
251
  if (head.operation !== recordOp) {
178
252
  return [2 /*return*/];
179
253
  }
180
- _version = record._version, _lastChangedAt = record._lastChangedAt, _deleted = record._deleted, _incomingData = tslib_1.__rest(record, ["_version", "_lastChangedAt", "_deleted"]);
254
+ _version = record._version, _lastChangedAt = record._lastChangedAt, _deleted = record._deleted, _incomingData = __rest(record, ["_version", "_lastChangedAt", "_deleted"]);
181
255
  incomingData = this.removeTimestampFields(head.model, _incomingData);
182
256
  data = JSON.parse(head.data);
183
257
  if (!data) {
184
258
  return [2 /*return*/];
185
259
  }
186
- __version = data._version, __lastChangedAt = data._lastChangedAt, __deleted = data._deleted, _outgoingData = tslib_1.__rest(data, ["_version", "_lastChangedAt", "_deleted"]);
260
+ __version = data._version, __lastChangedAt = data._lastChangedAt, __deleted = data._deleted, _outgoingData = __rest(data, ["_version", "_lastChangedAt", "_deleted"]);
187
261
  outgoingData = this.removeTimestampFields(head.model, _outgoingData);
188
262
  // Don't sync the version when the data in the response does not match the data
189
263
  // in the request, i.e., when there's a handled conflict
@@ -191,12 +265,12 @@ var MutationEventOutbox = /** @class */ (function () {
191
265
  // NOTE: `incomingData` contains all the fields in the record, and `outgoingData`
192
266
  // only contains updated fields, resulting in an error when doing a comparison
193
267
  // of two equal mutations. Fix this, or mitigate otherwise.
194
- if (!util_1.valuesEqual(incomingData, outgoingData, true)) {
268
+ if (!(0, util_1.valuesEqual)(incomingData, outgoingData, true)) {
195
269
  return [2 /*return*/];
196
270
  }
197
271
  mutationEventModelDefinition = this.schema.namespaces[util_1.SYNC].models['MutationEvent'];
198
272
  userModelDefinition = this.schema.namespaces['user'].models[head.model];
199
- recordId = utils_1.getIdentifierValue(userModelDefinition, record);
273
+ recordId = (0, utils_1.getIdentifierValue)(userModelDefinition, record);
200
274
  predicate = predicates_1.ModelPredicateCreator.createFromAST(mutationEventModelDefinition, {
201
275
  and: [
202
276
  { modelId: { eq: recordId } },
@@ -211,7 +285,7 @@ var MutationEventOutbox = /** @class */ (function () {
211
285
  }
212
286
  reconciledMutations = outdatedMutations.map(function (m) {
213
287
  var oldData = JSON.parse(m.data);
214
- var newData = tslib_1.__assign(tslib_1.__assign({}, oldData), { _version: _version, _lastChangedAt: _lastChangedAt });
288
+ var newData = __assign(__assign({}, oldData), { _version: _version, _lastChangedAt: _lastChangedAt });
215
289
  return _this.MutationEvent.copyOf(m, function (draft) {
216
290
  draft.data = JSON.stringify(newData);
217
291
  });
@@ -219,7 +293,7 @@ var MutationEventOutbox = /** @class */ (function () {
219
293
  return [4 /*yield*/, storage.delete(this.MutationEvent, predicate)];
220
294
  case 2:
221
295
  _a.sent();
222
- return [4 /*yield*/, Promise.all(reconciledMutations.map(function (m) { return tslib_1.__awaiter(_this, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) {
296
+ return [4 /*yield*/, Promise.all(reconciledMutations.map(function (m) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
223
297
  switch (_a.label) {
224
298
  case 0: return [4 /*yield*/, storage.save(m, undefined, this.ownSymbol)];
225
299
  case 1: return [2 /*return*/, _a.sent()];
@@ -233,12 +307,10 @@ var MutationEventOutbox = /** @class */ (function () {
233
307
  });
234
308
  };
235
309
  MutationEventOutbox.prototype.mergeUserFields = function (previous, current) {
236
- var _a = JSON.parse(previous.data), _version = _a._version, _lastChangedAt = _a._lastChangedAt, _deleted = _a._deleted, previousData = tslib_1.__rest(_a, ["_version", "_lastChangedAt", "_deleted"]);
237
- var _b = JSON.parse(current.data), __version = _b._version, __lastChangedAt = _b._lastChangedAt, __deleted = _b._deleted, currentData = tslib_1.__rest(_b, ["_version", "_lastChangedAt", "_deleted"]);
238
- var data = JSON.stringify(tslib_1.__assign(tslib_1.__assign({ _version: _version,
239
- _lastChangedAt: _lastChangedAt,
240
- _deleted: _deleted }, previousData), currentData));
241
- return this.modelInstanceCreator(this.MutationEvent, tslib_1.__assign(tslib_1.__assign({}, current), { data: data }));
310
+ var _a = JSON.parse(previous.data), _version = _a._version, _lastChangedAt = _a._lastChangedAt, _deleted = _a._deleted, previousData = __rest(_a, ["_version", "_lastChangedAt", "_deleted"]);
311
+ var _b = JSON.parse(current.data), __version = _b._version, __lastChangedAt = _b._lastChangedAt, __deleted = _b._deleted, currentData = __rest(_b, ["_version", "_lastChangedAt", "_deleted"]);
312
+ var data = JSON.stringify(__assign(__assign({ _version: _version, _lastChangedAt: _lastChangedAt, _deleted: _deleted }, previousData), currentData));
313
+ return this.modelInstanceCreator(this.MutationEvent, __assign(__assign({}, current), { data: data }));
242
314
  };
243
315
  /*
244
316
  if a model is using custom timestamp fields
@@ -276,4 +348,3 @@ var MutationEventOutbox = /** @class */ (function () {
276
348
  return MutationEventOutbox;
277
349
  }());
278
350
  exports.MutationEventOutbox = MutationEventOutbox;
279
- //# sourceMappingURL=outbox.js.map
@@ -1,5 +1,5 @@
1
1
  import { ErrorType } from '../../types';
2
- export declare type ErrorMap = Partial<{
2
+ export type ErrorMap = Partial<{
3
3
  [key in ErrorType]: (error: Error) => boolean;
4
4
  }>;
5
5
  export declare const mutationErrorMap: ErrorMap;
@@ -1,6 +1,42 @@
1
1
  "use strict";
2
+ var __read = (this && this.__read) || function (o, n) {
3
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
4
+ if (!m) return o;
5
+ var i = m.call(o), r, ar = [], e;
6
+ try {
7
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
+ }
9
+ catch (error) { e = { error: error }; }
10
+ finally {
11
+ try {
12
+ if (r && !r.done && (m = i["return"])) m.call(i);
13
+ }
14
+ finally { if (e) throw e.error; }
15
+ }
16
+ return ar;
17
+ };
18
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
19
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
20
+ if (ar || !(i in from)) {
21
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
22
+ ar[i] = from[i];
23
+ }
24
+ }
25
+ return to.concat(ar || Array.prototype.slice.call(from));
26
+ };
27
+ var __values = (this && this.__values) || function(o) {
28
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
29
+ if (m) return m.call(o);
30
+ if (o && typeof o.length === "number") return {
31
+ next: function () {
32
+ if (o && i >= o.length) o = void 0;
33
+ return { value: o && o[i++], done: !o };
34
+ }
35
+ };
36
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
37
+ };
2
38
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
39
+ exports.mapErrorToType = exports.getSyncErrorType = exports.getSubscriptionErrorType = exports.getMutationErrorType = exports.syncErrorMap = exports.subscriptionErrorMap = exports.mutationErrorMap = void 0;
4
40
  var connectionTimeout = function (error) {
5
41
  return /^Connection failed: Connection Timeout/.test(error.message);
6
42
  };
@@ -48,9 +84,9 @@ exports.syncErrorMap = {
48
84
  * @param observableError an error from ZenObservable subscribe error callback
49
85
  */
50
86
  function unwrapObservableError(observableError) {
51
- var _a = observableError.error, _b = tslib_1.__read((_a === void 0 ? {
87
+ var _a = observableError.error, _b = _a === void 0 ? {
52
88
  errors: [],
53
- } : _a).errors, 1), error = _b[0];
89
+ } : _a, _c = __read(_b.errors, 1), error = _c[0];
54
90
  return error;
55
91
  }
56
92
  function getMutationErrorType(error) {
@@ -73,9 +109,9 @@ exports.getSyncErrorType = getSyncErrorType;
73
109
  */
74
110
  function mapErrorToType(errorMap, error) {
75
111
  var e_1, _a;
76
- var errorTypes = tslib_1.__spread(Object.keys(errorMap));
112
+ var errorTypes = __spreadArray([], __read(Object.keys(errorMap)), false);
77
113
  try {
78
- for (var errorTypes_1 = tslib_1.__values(errorTypes), errorTypes_1_1 = errorTypes_1.next(); !errorTypes_1_1.done; errorTypes_1_1 = errorTypes_1.next()) {
114
+ for (var errorTypes_1 = __values(errorTypes), errorTypes_1_1 = errorTypes_1.next(); !errorTypes_1_1.done; errorTypes_1_1 = errorTypes_1.next()) {
79
115
  var errorType = errorTypes_1_1.value;
80
116
  var matcher = errorMap[errorType];
81
117
  if (matcher === null || matcher === void 0 ? void 0 : matcher(error)) {
@@ -93,4 +129,3 @@ function mapErrorToType(errorMap, error) {
93
129
  return 'Unknown';
94
130
  }
95
131
  exports.mapErrorToType = mapErrorToType;
96
- //# sourceMappingURL=errorMaps.js.map
@@ -5,7 +5,7 @@ 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
- declare type MutationProcessorEvent = {
8
+ type MutationProcessorEvent = {
9
9
  operation: TransformerMutationType;
10
10
  modelDefinition: SchemaModel;
11
11
  model: PersistentModel;