@aws-amplify/datastore 4.0.12 → 4.0.13-push-notification-dryrun.43

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 (111) hide show
  1. package/lib/datastore/datastore.d.ts +29 -3
  2. package/lib/datastore/datastore.js +308 -147
  3. package/lib/datastore/datastore.js.map +1 -1
  4. package/lib/predicates/index.d.ts +77 -7
  5. package/lib/predicates/index.js +142 -122
  6. package/lib/predicates/index.js.map +1 -1
  7. package/lib/predicates/next.d.ts +51 -10
  8. package/lib/predicates/next.js +111 -91
  9. package/lib/predicates/next.js.map +1 -1
  10. package/lib/storage/adapter/AsyncStorageAdapter.d.ts +28 -30
  11. package/lib/storage/adapter/AsyncStorageAdapter.js +135 -532
  12. package/lib/storage/adapter/AsyncStorageAdapter.js.map +1 -1
  13. package/lib/storage/adapter/AsyncStorageDatabase.js.map +1 -1
  14. package/lib/storage/adapter/IndexedDBAdapter.d.ts +28 -29
  15. package/lib/storage/adapter/IndexedDBAdapter.js +490 -885
  16. package/lib/storage/adapter/IndexedDBAdapter.js.map +1 -1
  17. package/lib/storage/adapter/StorageAdapterBase.d.ts +134 -0
  18. package/lib/storage/adapter/StorageAdapterBase.js +439 -0
  19. package/lib/storage/adapter/StorageAdapterBase.js.map +1 -0
  20. package/lib/storage/relationship.d.ts +9 -0
  21. package/lib/storage/relationship.js +9 -0
  22. package/lib/storage/relationship.js.map +1 -1
  23. package/lib/storage/storage.d.ts +1 -1
  24. package/lib/storage/storage.js +4 -3
  25. package/lib/storage/storage.js.map +1 -1
  26. package/lib/sync/index.d.ts +15 -1
  27. package/lib/sync/index.js +80 -13
  28. package/lib/sync/index.js.map +1 -1
  29. package/lib/sync/outbox.js +14 -7
  30. package/lib/sync/outbox.js.map +1 -1
  31. package/lib/sync/processors/mutation.d.ts +10 -1
  32. package/lib/sync/processors/mutation.js +33 -12
  33. package/lib/sync/processors/mutation.js.map +1 -1
  34. package/lib/sync/processors/subscription.d.ts +7 -1
  35. package/lib/sync/processors/subscription.js +196 -135
  36. package/lib/sync/processors/subscription.js.map +1 -1
  37. package/lib/sync/processors/sync.d.ts +1 -1
  38. package/lib/sync/processors/sync.js.map +1 -1
  39. package/lib/sync/utils.d.ts +66 -2
  40. package/lib/sync/utils.js +264 -16
  41. package/lib/sync/utils.js.map +1 -1
  42. package/lib/types.d.ts +9 -1
  43. package/lib/types.js.map +1 -1
  44. package/lib/util.d.ts +16 -0
  45. package/lib/util.js +31 -2
  46. package/lib/util.js.map +1 -1
  47. package/lib-esm/datastore/datastore.d.ts +29 -3
  48. package/lib-esm/datastore/datastore.js +310 -149
  49. package/lib-esm/datastore/datastore.js.map +1 -1
  50. package/lib-esm/predicates/index.d.ts +77 -7
  51. package/lib-esm/predicates/index.js +143 -123
  52. package/lib-esm/predicates/index.js.map +1 -1
  53. package/lib-esm/predicates/next.d.ts +51 -10
  54. package/lib-esm/predicates/next.js +111 -91
  55. package/lib-esm/predicates/next.js.map +1 -1
  56. package/lib-esm/storage/adapter/AsyncStorageAdapter.d.ts +28 -30
  57. package/lib-esm/storage/adapter/AsyncStorageAdapter.js +138 -535
  58. package/lib-esm/storage/adapter/AsyncStorageAdapter.js.map +1 -1
  59. package/lib-esm/storage/adapter/AsyncStorageDatabase.js.map +1 -1
  60. package/lib-esm/storage/adapter/IndexedDBAdapter.d.ts +28 -29
  61. package/lib-esm/storage/adapter/IndexedDBAdapter.js +489 -884
  62. package/lib-esm/storage/adapter/IndexedDBAdapter.js.map +1 -1
  63. package/lib-esm/storage/adapter/StorageAdapterBase.d.ts +134 -0
  64. package/lib-esm/storage/adapter/StorageAdapterBase.js +437 -0
  65. package/lib-esm/storage/adapter/StorageAdapterBase.js.map +1 -0
  66. package/lib-esm/storage/relationship.d.ts +9 -0
  67. package/lib-esm/storage/relationship.js +9 -0
  68. package/lib-esm/storage/relationship.js.map +1 -1
  69. package/lib-esm/storage/storage.d.ts +1 -1
  70. package/lib-esm/storage/storage.js +4 -3
  71. package/lib-esm/storage/storage.js.map +1 -1
  72. package/lib-esm/sync/index.d.ts +15 -1
  73. package/lib-esm/sync/index.js +82 -15
  74. package/lib-esm/sync/index.js.map +1 -1
  75. package/lib-esm/sync/outbox.js +14 -7
  76. package/lib-esm/sync/outbox.js.map +1 -1
  77. package/lib-esm/sync/processors/mutation.d.ts +10 -1
  78. package/lib-esm/sync/processors/mutation.js +33 -12
  79. package/lib-esm/sync/processors/mutation.js.map +1 -1
  80. package/lib-esm/sync/processors/subscription.d.ts +7 -1
  81. package/lib-esm/sync/processors/subscription.js +197 -136
  82. package/lib-esm/sync/processors/subscription.js.map +1 -1
  83. package/lib-esm/sync/processors/sync.d.ts +1 -1
  84. package/lib-esm/sync/processors/sync.js.map +1 -1
  85. package/lib-esm/sync/utils.d.ts +66 -2
  86. package/lib-esm/sync/utils.js +261 -18
  87. package/lib-esm/sync/utils.js.map +1 -1
  88. package/lib-esm/types.d.ts +9 -1
  89. package/lib-esm/types.js.map +1 -1
  90. package/lib-esm/util.d.ts +16 -0
  91. package/lib-esm/util.js +32 -3
  92. package/lib-esm/util.js.map +1 -1
  93. package/package.json +12 -11
  94. package/src/datastore/datastore.ts +288 -159
  95. package/src/predicates/index.ts +145 -175
  96. package/src/predicates/next.ts +114 -81
  97. package/src/storage/adapter/AsyncStorageAdapter.ts +97 -563
  98. package/src/storage/adapter/AsyncStorageDatabase.ts +2 -2
  99. package/src/storage/adapter/IndexedDBAdapter.ts +318 -770
  100. package/src/storage/adapter/StorageAdapterBase.ts +545 -0
  101. package/src/storage/relationship.ts +9 -0
  102. package/src/storage/storage.ts +12 -9
  103. package/src/sync/index.ts +108 -20
  104. package/src/sync/outbox.ts +17 -11
  105. package/src/sync/processors/mutation.ts +35 -4
  106. package/src/sync/processors/subscription.ts +124 -10
  107. package/src/sync/processors/sync.ts +4 -1
  108. package/src/sync/utils.ts +285 -15
  109. package/src/types.ts +15 -2
  110. package/src/util.ts +40 -1
  111. package/CHANGELOG.md +0 -904
@@ -0,0 +1,439 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ var core_1 = require("@aws-amplify/core");
5
+ var predicates_1 = require("../../predicates");
6
+ var types_1 = require("../../types");
7
+ var util_1 = require("../../util");
8
+ var relationship_1 = require("../relationship");
9
+ var logger = new core_1.ConsoleLogger('DataStore');
10
+ var DB_NAME = 'amplify-datastore';
11
+ var StorageAdapterBase = /** @class */ (function () {
12
+ function StorageAdapterBase() {
13
+ this.dbName = DB_NAME;
14
+ }
15
+ /**
16
+ * Initializes local DB
17
+ *
18
+ * @param theSchema
19
+ * @param namespaceResolver
20
+ * @param modelInstanceCreator
21
+ * @param getModelConstructorByModelName
22
+ * @param sessionId
23
+ */
24
+ StorageAdapterBase.prototype.setUp = function (theSchema, namespaceResolver, modelInstanceCreator, getModelConstructorByModelName, sessionId) {
25
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
26
+ var _a, error_1;
27
+ var _this = this;
28
+ return tslib_1.__generator(this, function (_b) {
29
+ switch (_b.label) {
30
+ case 0: return [4 /*yield*/, this.preSetUpChecks()];
31
+ case 1:
32
+ _b.sent();
33
+ if (!!this.initPromise) return [3 /*break*/, 2];
34
+ this.initPromise = new Promise(function (res, rej) {
35
+ _this.resolve = res;
36
+ _this.reject = rej;
37
+ });
38
+ return [3 /*break*/, 4];
39
+ case 2: return [4 /*yield*/, this.initPromise];
40
+ case 3:
41
+ _b.sent();
42
+ return [2 /*return*/];
43
+ case 4:
44
+ if (sessionId) {
45
+ this.dbName = DB_NAME + "-" + sessionId;
46
+ }
47
+ this.schema = theSchema;
48
+ this.namespaceResolver = namespaceResolver;
49
+ this.modelInstanceCreator = modelInstanceCreator;
50
+ this.getModelConstructorByModelName = getModelConstructorByModelName;
51
+ _b.label = 5;
52
+ case 5:
53
+ _b.trys.push([5, 8, , 9]);
54
+ if (!!this.db) return [3 /*break*/, 7];
55
+ _a = this;
56
+ return [4 /*yield*/, this.initDb()];
57
+ case 6:
58
+ _a.db = _b.sent();
59
+ this.resolve();
60
+ _b.label = 7;
61
+ case 7: return [3 /*break*/, 9];
62
+ case 8:
63
+ error_1 = _b.sent();
64
+ this.reject(error_1);
65
+ return [3 /*break*/, 9];
66
+ case 9: return [2 /*return*/];
67
+ }
68
+ });
69
+ });
70
+ };
71
+ /**
72
+ * @param modelConstructor
73
+ * @returns local DB table name
74
+ */
75
+ StorageAdapterBase.prototype.getStorenameForModel = function (modelConstructor) {
76
+ var namespace = this.namespaceResolver(modelConstructor);
77
+ var modelName = modelConstructor.name;
78
+ return util_1.getStorename(namespace, modelName);
79
+ };
80
+ /**
81
+ *
82
+ * @param model - instantiated model record
83
+ * @returns the record's primary key values
84
+ */
85
+ StorageAdapterBase.prototype.getIndexKeyValuesFromModel = function (model) {
86
+ var modelConstructor = Object.getPrototypeOf(model)
87
+ .constructor;
88
+ var namespaceName = this.namespaceResolver(modelConstructor);
89
+ var keys = util_1.getIndexKeys(this.schema.namespaces[namespaceName], modelConstructor.name);
90
+ return util_1.extractPrimaryKeyValues(model, keys);
91
+ };
92
+ /**
93
+ * Common metadata for `save` operation
94
+ * used by individual storage adapters
95
+ *
96
+ * @param model
97
+ */
98
+ StorageAdapterBase.prototype.saveMetadata = function (model) {
99
+ var _this = this;
100
+ var modelConstructor = Object.getPrototypeOf(model)
101
+ .constructor;
102
+ var storeName = this.getStorenameForModel(modelConstructor);
103
+ var namespaceName = this.namespaceResolver(modelConstructor);
104
+ var connectedModels = util_1.traverseModel(modelConstructor.name, model, this.schema.namespaces[namespaceName], this.modelInstanceCreator, this.getModelConstructorByModelName);
105
+ var set = new Set();
106
+ var connectionStoreNames = Object.values(connectedModels).map(function (_a) {
107
+ var modelName = _a.modelName, item = _a.item, instance = _a.instance;
108
+ var storeName = util_1.getStorename(namespaceName, modelName);
109
+ set.add(storeName);
110
+ var keys = util_1.getIndexKeys(_this.schema.namespaces[namespaceName], modelName);
111
+ return { storeName: storeName, item: item, instance: instance, keys: keys };
112
+ });
113
+ var modelKeyValues = this.getIndexKeyValuesFromModel(model);
114
+ return { storeName: storeName, set: set, connectionStoreNames: connectionStoreNames, modelKeyValues: modelKeyValues };
115
+ };
116
+ /**
117
+ * Enforces conditional save. Throws if condition is not met.
118
+ * used by individual storage adapters
119
+ *
120
+ * @param model
121
+ */
122
+ StorageAdapterBase.prototype.validateSaveCondition = function (condition, fromDB) {
123
+ if (!(condition && fromDB)) {
124
+ return;
125
+ }
126
+ var predicates = predicates_1.ModelPredicateCreator.getPredicates(condition);
127
+ var _a = predicates, predicateObjs = _a.predicates, type = _a.type;
128
+ var isValid = util_1.validatePredicate(fromDB, type, predicateObjs);
129
+ if (!isValid) {
130
+ var msg = 'Conditional update failed';
131
+ logger.error(msg, { model: fromDB, condition: predicateObjs });
132
+ throw new Error(msg);
133
+ }
134
+ };
135
+ /**
136
+ * Instantiate models from POJO records returned from the database
137
+ *
138
+ * @param namespaceName - string model namespace
139
+ * @param srcModelName - string model name
140
+ * @param records - array of uninstantiated records
141
+ * @returns
142
+ */
143
+ StorageAdapterBase.prototype.load = function (namespaceName, srcModelName, records) {
144
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
145
+ var namespace, relations, connectionStoreNames, modelConstructor;
146
+ var _this = this;
147
+ return tslib_1.__generator(this, function (_a) {
148
+ namespace = this.schema.namespaces[namespaceName];
149
+ relations = namespace.relationships[srcModelName].relationTypes;
150
+ connectionStoreNames = relations.map(function (_a) {
151
+ var modelName = _a.modelName;
152
+ return util_1.getStorename(namespaceName, modelName);
153
+ });
154
+ modelConstructor = this.getModelConstructorByModelName(namespaceName, srcModelName);
155
+ if (connectionStoreNames.length === 0) {
156
+ return [2 /*return*/, records.map(function (record) {
157
+ return _this.modelInstanceCreator(modelConstructor, record);
158
+ })];
159
+ }
160
+ return [2 /*return*/, records.map(function (record) {
161
+ return _this.modelInstanceCreator(modelConstructor, record);
162
+ })];
163
+ });
164
+ });
165
+ };
166
+ /**
167
+ * Extracts operands from a predicate group into an array of key values
168
+ * Used in the query method
169
+ *
170
+ * @param predicates - predicate group
171
+ * @param keyPath - string array of key names ['id', 'sortKey']
172
+ * @returns string[] of key values
173
+ *
174
+ * @example
175
+ * ```js
176
+ * { and:[{ id: { eq: 'abc' }}, { sortKey: { eq: 'def' }}] }
177
+ * ```
178
+ * Becomes
179
+ * ```
180
+ * ['abc', 'def']
181
+ * ```
182
+ */
183
+ StorageAdapterBase.prototype.keyValueFromPredicate = function (predicates, keyPath) {
184
+ var e_1, _a;
185
+ var predicateObjs = predicates.predicates;
186
+ if (predicateObjs.length !== keyPath.length) {
187
+ return;
188
+ }
189
+ var keyValues = [];
190
+ var _loop_1 = function (key) {
191
+ var predicateObj = predicateObjs.find(function (p) {
192
+ // it's a relevant predicate object only if it's an equality
193
+ // operation for a key field from the key:
194
+ return types_1.isPredicateObj(p) &&
195
+ p.field === key &&
196
+ p.operator === 'eq' &&
197
+ p.operand !== null &&
198
+ p.operand !== undefined;
199
+ });
200
+ predicateObj && keyValues.push(predicateObj.operand);
201
+ };
202
+ try {
203
+ for (var keyPath_1 = tslib_1.__values(keyPath), keyPath_1_1 = keyPath_1.next(); !keyPath_1_1.done; keyPath_1_1 = keyPath_1.next()) {
204
+ var key = keyPath_1_1.value;
205
+ _loop_1(key);
206
+ }
207
+ }
208
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
209
+ finally {
210
+ try {
211
+ if (keyPath_1_1 && !keyPath_1_1.done && (_a = keyPath_1.return)) _a.call(keyPath_1);
212
+ }
213
+ finally { if (e_1) throw e_1.error; }
214
+ }
215
+ return keyValues.length === keyPath.length ? keyValues : undefined;
216
+ };
217
+ /**
218
+ * Common metadata for `query` operation
219
+ * used by individual storage adapters
220
+ *
221
+ * @param modelConstructor
222
+ * @param predicate
223
+ * @param pagination
224
+ */
225
+ StorageAdapterBase.prototype.queryMetadata = function (modelConstructor, predicate, pagination) {
226
+ var storeName = this.getStorenameForModel(modelConstructor);
227
+ var namespaceName = this.namespaceResolver(modelConstructor);
228
+ var predicates = predicate && predicates_1.ModelPredicateCreator.getPredicates(predicate);
229
+ var keyPath = util_1.getIndexKeys(this.schema.namespaces[namespaceName], modelConstructor.name);
230
+ var queryByKey = predicates && this.keyValueFromPredicate(predicates, keyPath);
231
+ var hasSort = pagination && pagination.sort;
232
+ var hasPagination = pagination && pagination.limit;
233
+ return {
234
+ storeName: storeName,
235
+ namespaceName: namespaceName,
236
+ queryByKey: queryByKey,
237
+ predicates: predicates,
238
+ hasSort: hasSort,
239
+ hasPagination: hasPagination,
240
+ };
241
+ };
242
+ /**
243
+ * Delete record
244
+ * Cascades to related records (for Has One and Has Many relationships)
245
+ *
246
+ * @param modelOrModelConstructor
247
+ * @param condition
248
+ * @returns
249
+ */
250
+ StorageAdapterBase.prototype.delete = function (modelOrModelConstructor, condition) {
251
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
252
+ var deleteQueue, modelConstructor, namespace, models, deletedModels, deletedModels, model, modelConstructor, namespaceName, storeName, keyValues, fromDB, msg, predicates, _a, predicateObjs, type, isValid, msg, deletedModels;
253
+ return tslib_1.__generator(this, function (_b) {
254
+ switch (_b.label) {
255
+ case 0: return [4 /*yield*/, this.preOpCheck()];
256
+ case 1:
257
+ _b.sent();
258
+ deleteQueue = [];
259
+ if (!util_1.isModelConstructor(modelOrModelConstructor)) return [3 /*break*/, 9];
260
+ modelConstructor = modelOrModelConstructor;
261
+ namespace = this.namespaceResolver(modelConstructor);
262
+ return [4 /*yield*/, this.query(modelConstructor, condition)];
263
+ case 2:
264
+ models = _b.sent();
265
+ if (!(condition !== undefined)) return [3 /*break*/, 5];
266
+ return [4 /*yield*/, this.deleteTraverse(models, modelConstructor, namespace, deleteQueue)];
267
+ case 3:
268
+ _b.sent();
269
+ return [4 /*yield*/, this.deleteItem(deleteQueue)];
270
+ case 4:
271
+ _b.sent();
272
+ deletedModels = deleteQueue.reduce(function (acc, _a) {
273
+ var items = _a.items;
274
+ return acc.concat(items);
275
+ }, []);
276
+ return [2 /*return*/, [models, deletedModels]];
277
+ case 5: return [4 /*yield*/, this.deleteTraverse(models, modelConstructor, namespace, deleteQueue)];
278
+ case 6:
279
+ _b.sent();
280
+ return [4 /*yield*/, this.deleteItem(deleteQueue)];
281
+ case 7:
282
+ _b.sent();
283
+ deletedModels = deleteQueue.reduce(function (acc, _a) {
284
+ var items = _a.items;
285
+ return acc.concat(items);
286
+ }, []);
287
+ return [2 /*return*/, [models, deletedModels]];
288
+ case 8: return [3 /*break*/, 16];
289
+ case 9:
290
+ model = modelOrModelConstructor;
291
+ modelConstructor = Object.getPrototypeOf(model)
292
+ .constructor;
293
+ namespaceName = this.namespaceResolver(modelConstructor);
294
+ storeName = this.getStorenameForModel(modelConstructor);
295
+ if (!condition) return [3 /*break*/, 12];
296
+ keyValues = this.getIndexKeyValuesFromModel(model);
297
+ return [4 /*yield*/, this._get(storeName, keyValues)];
298
+ case 10:
299
+ fromDB = _b.sent();
300
+ if (fromDB === undefined) {
301
+ msg = 'Model instance not found in storage';
302
+ logger.warn(msg, { model: model });
303
+ return [2 /*return*/, [[model], []]];
304
+ }
305
+ predicates = predicates_1.ModelPredicateCreator.getPredicates(condition);
306
+ _a = predicates, predicateObjs = _a.predicates, type = _a.type;
307
+ isValid = util_1.validatePredicate(fromDB, type, predicateObjs);
308
+ if (!isValid) {
309
+ msg = 'Conditional update failed';
310
+ logger.error(msg, { model: fromDB, condition: predicateObjs });
311
+ throw new Error(msg);
312
+ }
313
+ return [4 /*yield*/, this.deleteTraverse([model], modelConstructor, namespaceName, deleteQueue)];
314
+ case 11:
315
+ _b.sent();
316
+ return [3 /*break*/, 14];
317
+ case 12: return [4 /*yield*/, this.deleteTraverse([model], modelConstructor, namespaceName, deleteQueue)];
318
+ case 13:
319
+ _b.sent();
320
+ _b.label = 14;
321
+ case 14: return [4 /*yield*/, this.deleteItem(deleteQueue)];
322
+ case 15:
323
+ _b.sent();
324
+ deletedModels = deleteQueue.reduce(function (acc, _a) {
325
+ var items = _a.items;
326
+ return acc.concat(items);
327
+ }, []);
328
+ return [2 /*return*/, [[model], deletedModels]];
329
+ case 16: return [2 /*return*/];
330
+ }
331
+ });
332
+ });
333
+ };
334
+ /**
335
+ * Recursively traverse relationship graph and add
336
+ * all Has One and Has Many relations to `deleteQueue` param
337
+ *
338
+ * Actual deletion of records added to `deleteQueue` occurs in the `delete` method
339
+ *
340
+ * @param models
341
+ * @param modelConstructor
342
+ * @param namespace
343
+ * @param deleteQueue
344
+ */
345
+ StorageAdapterBase.prototype.deleteTraverse = function (models, modelConstructor, namespace, deleteQueue) {
346
+ var models_1, models_1_1;
347
+ var e_2, _a, e_3, _b;
348
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
349
+ var cascadingRelationTypes, model, modelDefinition, modelMeta, relationships, relationships_1, relationships_1_1, r, queryObject, relatedRecords, e_3_1, e_2_1;
350
+ return tslib_1.__generator(this, function (_c) {
351
+ switch (_c.label) {
352
+ case 0:
353
+ cascadingRelationTypes = ['HAS_ONE', 'HAS_MANY'];
354
+ _c.label = 1;
355
+ case 1:
356
+ _c.trys.push([1, 19, 20, 25]);
357
+ models_1 = tslib_1.__asyncValues(models);
358
+ _c.label = 2;
359
+ case 2: return [4 /*yield*/, models_1.next()];
360
+ case 3:
361
+ if (!(models_1_1 = _c.sent(), !models_1_1.done)) return [3 /*break*/, 18];
362
+ model = models_1_1.value;
363
+ modelDefinition = this.schema.namespaces[namespace].models[modelConstructor.name];
364
+ modelMeta = {
365
+ builder: modelConstructor,
366
+ schema: modelDefinition,
367
+ pkField: util_1.extractPrimaryKeyFieldNames(modelDefinition),
368
+ };
369
+ relationships = relationship_1.ModelRelationship.allFrom(modelMeta).filter(function (r) {
370
+ return cascadingRelationTypes.includes(r.type);
371
+ });
372
+ _c.label = 4;
373
+ case 4:
374
+ _c.trys.push([4, 11, 12, 17]);
375
+ relationships_1 = tslib_1.__asyncValues(relationships);
376
+ _c.label = 5;
377
+ case 5: return [4 /*yield*/, relationships_1.next()];
378
+ case 6:
379
+ if (!(relationships_1_1 = _c.sent(), !relationships_1_1.done)) return [3 /*break*/, 10];
380
+ r = relationships_1_1.value;
381
+ queryObject = r.createRemoteQueryObject(model);
382
+ if (!(queryObject !== null)) return [3 /*break*/, 9];
383
+ return [4 /*yield*/, this.query(r.remoteModelConstructor, predicates_1.ModelPredicateCreator.createFromFlatEqualities(r.remoteDefinition, queryObject))];
384
+ case 7:
385
+ relatedRecords = _c.sent();
386
+ return [4 /*yield*/, this.deleteTraverse(relatedRecords, r.remoteModelConstructor, namespace, deleteQueue)];
387
+ case 8:
388
+ _c.sent();
389
+ _c.label = 9;
390
+ case 9: return [3 /*break*/, 5];
391
+ case 10: return [3 /*break*/, 17];
392
+ case 11:
393
+ e_3_1 = _c.sent();
394
+ e_3 = { error: e_3_1 };
395
+ return [3 /*break*/, 17];
396
+ case 12:
397
+ _c.trys.push([12, , 15, 16]);
398
+ if (!(relationships_1_1 && !relationships_1_1.done && (_b = relationships_1.return))) return [3 /*break*/, 14];
399
+ return [4 /*yield*/, _b.call(relationships_1)];
400
+ case 13:
401
+ _c.sent();
402
+ _c.label = 14;
403
+ case 14: return [3 /*break*/, 16];
404
+ case 15:
405
+ if (e_3) throw e_3.error;
406
+ return [7 /*endfinally*/];
407
+ case 16: return [7 /*endfinally*/];
408
+ case 17: return [3 /*break*/, 2];
409
+ case 18: return [3 /*break*/, 25];
410
+ case 19:
411
+ e_2_1 = _c.sent();
412
+ e_2 = { error: e_2_1 };
413
+ return [3 /*break*/, 25];
414
+ case 20:
415
+ _c.trys.push([20, , 23, 24]);
416
+ if (!(models_1_1 && !models_1_1.done && (_a = models_1.return))) return [3 /*break*/, 22];
417
+ return [4 /*yield*/, _a.call(models_1)];
418
+ case 21:
419
+ _c.sent();
420
+ _c.label = 22;
421
+ case 22: return [3 /*break*/, 24];
422
+ case 23:
423
+ if (e_2) throw e_2.error;
424
+ return [7 /*endfinally*/];
425
+ case 24: return [7 /*endfinally*/];
426
+ case 25:
427
+ deleteQueue.push({
428
+ storeName: util_1.getStorename(namespace, modelConstructor.name),
429
+ items: models,
430
+ });
431
+ return [2 /*return*/];
432
+ }
433
+ });
434
+ });
435
+ };
436
+ return StorageAdapterBase;
437
+ }());
438
+ exports.StorageAdapterBase = StorageAdapterBase;
439
+ //# sourceMappingURL=StorageAdapterBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StorageAdapterBase.js","sourceRoot":"","sources":["../../../src/storage/adapter/StorageAdapterBase.ts"],"names":[],"mappings":"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"}
@@ -87,6 +87,15 @@ export declare class ModelRelationship<T> {
87
87
  * key fields.
88
88
  */
89
89
  private get localAssociatedWith();
90
+ /**
91
+ * The `remote` model's associated field's `assocation` metadata, if
92
+ * present.
93
+ *
94
+ * This is used when determining if the remote model's associated field
95
+ * specifies which FK fields to use. If this value is `undefined`, the
96
+ * name of the remote field (`this.localAssociatedWith`) *is* the remote
97
+ * key field.
98
+ */
90
99
  private get explicitRemoteAssociation();
91
100
  /**
92
101
  * The field names on the remote model that can used to query or queried to match
@@ -221,6 +221,15 @@ var ModelRelationship = /** @class */ (function () {
221
221
  configurable: true
222
222
  });
223
223
  Object.defineProperty(ModelRelationship.prototype, "explicitRemoteAssociation", {
224
+ /**
225
+ * The `remote` model's associated field's `assocation` metadata, if
226
+ * present.
227
+ *
228
+ * This is used when determining if the remote model's associated field
229
+ * specifies which FK fields to use. If this value is `undefined`, the
230
+ * name of the remote field (`this.localAssociatedWith`) *is* the remote
231
+ * key field.
232
+ */
224
233
  get: function () {
225
234
  var _a;
226
235
  if (this.localAssociatedWith) {
@@ -1 +1 @@
1
- {"version":3,"file":"relationship.js","sourceRoot":"","sources":["../../src/storage/relationship.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relationship.js","sourceRoot":"","sources":["../../src/storage/relationship.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,7 @@ declare class StorageClass implements StorageFacade {
29
29
  observe<T extends PersistentModel>(modelConstructor?: PersistentModelConstructor<T> | null, predicate?: ModelPredicate<T> | null, skipOwn?: Symbol): Observable<SubscriptionMessage<T>>;
30
30
  clear(completeObservable?: boolean): Promise<void>;
31
31
  batchSave<T extends PersistentModel>(modelConstructor: PersistentModelConstructor<any>, items: ModelInstanceMetadata[], mutator?: Symbol): Promise<[T, OpType][]>;
32
- private getUpdateMutationInput;
32
+ private getChangedFieldsInput;
33
33
  }
34
34
  declare class ExclusiveStorage implements StorageFacade {
35
35
  private storage;
@@ -78,7 +78,8 @@ var StorageClass = /** @class */ (function () {
78
78
  var updateMutationInput;
79
79
  // don't attempt to calc mutation input when storage.save
80
80
  // is called by Merger, i.e., when processing an AppSync response
81
- if (opType === types_1.OpType.UPDATE && !syncResponse) {
81
+ if ((opType === types_1.OpType.UPDATE || opType === types_1.OpType.INSERT) &&
82
+ !syncResponse) {
82
83
  //
83
84
  // TODO: LOOK!!!
84
85
  // the `model` used here is in effect regardless of what model
@@ -90,7 +91,7 @@ var StorageClass = /** @class */ (function () {
90
91
  // leaving as-is, because it's currently unclear whether anything
91
92
  // depends on this remaining as-is.
92
93
  //
93
- updateMutationInput = _this.getUpdateMutationInput(model, savedElement, patchesTuple);
94
+ updateMutationInput = _this.getChangedFieldsInput(model, savedElement, patchesTuple);
94
95
  // // an update without changed user fields
95
96
  // => don't create mutationEvent
96
97
  if (updateMutationInput === null) {
@@ -281,7 +282,7 @@ var StorageClass = /** @class */ (function () {
281
282
  });
282
283
  };
283
284
  // returns null if no user fields were changed (determined by value comparison)
284
- StorageClass.prototype.getUpdateMutationInput = function (model, originalElement, patchesTuple) {
285
+ StorageClass.prototype.getChangedFieldsInput = function (model, originalElement, patchesTuple) {
285
286
  var e_1, _a;
286
287
  var _b;
287
288
  var containsPatches = patchesTuple && patchesTuple.length;
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/storage/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/storage/storage.ts"],"names":[],"mappings":"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"}
@@ -67,9 +67,14 @@ export declare class SyncEngine {
67
67
  private readonly outbox;
68
68
  private readonly datastoreConnectivity;
69
69
  private readonly modelSyncedStatus;
70
+ private unsleepSyncQueriesObservable;
71
+ private waitForSleepState;
72
+ private syncQueriesObservableStartSleeping;
73
+ private stopDisruptionListener;
74
+ private connectionDisrupted;
70
75
  private runningProcesses;
71
76
  getModelSyncedStatus(modelConstructor: PersistentModelConstructor<any>): boolean;
72
- constructor(schema: InternalSchema, namespaceResolver: NamespaceResolver, modelClasses: TypeConstructorMap, userModelClasses: TypeConstructorMap, storage: Storage, modelInstanceCreator: ModelInstanceCreator, conflictHandler: ConflictHandler, errorHandler: ErrorHandler, syncPredicates: WeakMap<SchemaModel, ModelPredicate<any>>, amplifyConfig: Record<string, any>, authModeStrategy: AuthModeStrategy, amplifyContext: AmplifyContext, connectivityMonitor?: DataStoreConnectivity);
77
+ constructor(schema: InternalSchema, namespaceResolver: NamespaceResolver, modelClasses: TypeConstructorMap, userModelClasses: TypeConstructorMap, storage: Storage, modelInstanceCreator: ModelInstanceCreator, conflictHandler: ConflictHandler, errorHandler: ErrorHandler, syncPredicates: WeakMap<SchemaModel, ModelPredicate<any> | null>, amplifyConfig: Record<string, any>, authModeStrategy: AuthModeStrategy, amplifyContext: AmplifyContext, connectivityMonitor?: DataStoreConnectivity);
73
78
  start(params: StartParams): Observable<ControlMessageType<ControlMessage>>;
74
79
  private getModelsMetadataWithNextFullSync;
75
80
  private syncQueriesObservable;
@@ -85,5 +90,14 @@ export declare class SyncEngine {
85
90
  private getModelMetadata;
86
91
  private getModelDefinition;
87
92
  static getNamespace(): SchemaNamespace;
93
+ /**
94
+ * listen for websocket connection disruption
95
+ *
96
+ * May indicate there was a period of time where messages
97
+ * from AppSync were missed. A sync needs to be triggered to
98
+ * retrieve the missed data.
99
+ */
100
+ private startDisruptionListener;
101
+ private scheduleSync;
88
102
  }
89
103
  export {};