@aws-amplify/datastore 3.12.6-next.20 → 3.12.6-next.32

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 (144) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/lib/authModeStrategies/multiAuthStrategy.js +13 -2
  3. package/lib/authModeStrategies/multiAuthStrategy.js.map +1 -1
  4. package/lib/datastore/datastore.js +648 -344
  5. package/lib/datastore/datastore.js.map +1 -1
  6. package/lib/predicates/index.js +12 -2
  7. package/lib/predicates/index.js.map +1 -1
  8. package/lib/storage/adapter/AsyncStorageAdapter.js +354 -203
  9. package/lib/storage/adapter/AsyncStorageAdapter.js.map +1 -1
  10. package/lib/storage/adapter/AsyncStorageDatabase.js +65 -28
  11. package/lib/storage/adapter/AsyncStorageDatabase.js.map +1 -1
  12. package/lib/storage/adapter/IndexedDBAdapter.js +444 -271
  13. package/lib/storage/adapter/IndexedDBAdapter.js.map +1 -1
  14. package/lib/storage/storage.js +93 -28
  15. package/lib/storage/storage.js.map +1 -1
  16. package/lib/sync/datastoreConnectivity.js +9 -0
  17. package/lib/sync/datastoreConnectivity.js.map +1 -1
  18. package/lib/sync/index.js +522 -397
  19. package/lib/sync/index.js.map +1 -1
  20. package/lib/sync/merger.js +13 -6
  21. package/lib/sync/merger.js.map +1 -1
  22. package/lib/sync/outbox.js +77 -71
  23. package/lib/sync/outbox.js.map +1 -1
  24. package/lib/sync/processors/mutation.js +269 -209
  25. package/lib/sync/processors/mutation.js.map +1 -1
  26. package/lib/sync/processors/subscription.js +213 -178
  27. package/lib/sync/processors/subscription.js.map +1 -1
  28. package/lib/sync/processors/sync.js +126 -121
  29. package/lib/sync/processors/sync.js.map +1 -1
  30. package/lib/sync/utils.js +43 -8
  31. package/lib/sync/utils.js.map +1 -1
  32. package/lib/types.js +10 -1
  33. package/lib/types.js.map +1 -1
  34. package/lib/util.js +419 -166
  35. package/lib/util.js.map +1 -1
  36. package/lib-esm/authModeStrategies/multiAuthStrategy.d.ts +11 -0
  37. package/lib-esm/authModeStrategies/multiAuthStrategy.js +12 -1
  38. package/lib-esm/authModeStrategies/multiAuthStrategy.js.map +1 -1
  39. package/lib-esm/datastore/datastore.d.ts +107 -17
  40. package/lib-esm/datastore/datastore.js +648 -344
  41. package/lib-esm/datastore/datastore.js.map +1 -1
  42. package/lib-esm/index.d.ts +3 -19
  43. package/lib-esm/predicates/index.d.ts +3 -2
  44. package/lib-esm/predicates/index.js +13 -3
  45. package/lib-esm/predicates/index.js.map +1 -1
  46. package/lib-esm/storage/adapter/AsyncStorageAdapter.d.ts +4 -3
  47. package/lib-esm/storage/adapter/AsyncStorageAdapter.js +355 -204
  48. package/lib-esm/storage/adapter/AsyncStorageAdapter.js.map +1 -1
  49. package/lib-esm/storage/adapter/AsyncStorageDatabase.d.ts +14 -4
  50. package/lib-esm/storage/adapter/AsyncStorageDatabase.js +66 -29
  51. package/lib-esm/storage/adapter/AsyncStorageDatabase.js.map +1 -1
  52. package/lib-esm/storage/adapter/IndexedDBAdapter.d.ts +26 -4
  53. package/lib-esm/storage/adapter/IndexedDBAdapter.js +445 -272
  54. package/lib-esm/storage/adapter/IndexedDBAdapter.js.map +1 -1
  55. package/lib-esm/storage/adapter/index.d.ts +1 -1
  56. package/lib-esm/storage/storage.d.ts +1 -1
  57. package/lib-esm/storage/storage.js +93 -28
  58. package/lib-esm/storage/storage.js.map +1 -1
  59. package/lib-esm/sync/datastoreConnectivity.d.ts +1 -0
  60. package/lib-esm/sync/datastoreConnectivity.js +10 -1
  61. package/lib-esm/sync/datastoreConnectivity.js.map +1 -1
  62. package/lib-esm/sync/index.d.ts +31 -5
  63. package/lib-esm/sync/index.js +524 -399
  64. package/lib-esm/sync/index.js.map +1 -1
  65. package/lib-esm/sync/merger.d.ts +9 -3
  66. package/lib-esm/sync/merger.js +13 -6
  67. package/lib-esm/sync/merger.js.map +1 -1
  68. package/lib-esm/sync/outbox.d.ts +2 -2
  69. package/lib-esm/sync/outbox.js +78 -72
  70. package/lib-esm/sync/outbox.js.map +1 -1
  71. package/lib-esm/sync/processors/mutation.d.ts +2 -0
  72. package/lib-esm/sync/processors/mutation.js +270 -210
  73. package/lib-esm/sync/processors/mutation.js.map +1 -1
  74. package/lib-esm/sync/processors/subscription.d.ts +2 -0
  75. package/lib-esm/sync/processors/subscription.js +213 -178
  76. package/lib-esm/sync/processors/subscription.js.map +1 -1
  77. package/lib-esm/sync/processors/sync.d.ts +2 -1
  78. package/lib-esm/sync/processors/sync.js +126 -121
  79. package/lib-esm/sync/processors/sync.js.map +1 -1
  80. package/lib-esm/sync/utils.d.ts +3 -2
  81. package/lib-esm/sync/utils.js +45 -11
  82. package/lib-esm/sync/utils.js.map +1 -1
  83. package/lib-esm/types.d.ts +65 -26
  84. package/lib-esm/types.js +9 -2
  85. package/lib-esm/types.js.map +1 -1
  86. package/lib-esm/util.d.ts +67 -24
  87. package/lib-esm/util.js +419 -166
  88. package/lib-esm/util.js.map +1 -1
  89. package/package.json +13 -7
  90. package/src/authModeStrategies/multiAuthStrategy.ts +12 -1
  91. package/src/datastore/datastore.ts +798 -397
  92. package/src/predicates/index.ts +32 -10
  93. package/src/storage/adapter/AsyncStorageAdapter.ts +309 -93
  94. package/src/storage/adapter/AsyncStorageDatabase.ts +74 -26
  95. package/src/storage/adapter/IndexedDBAdapter.ts +358 -134
  96. package/src/storage/adapter/index.ts +1 -1
  97. package/src/storage/storage.ts +69 -22
  98. package/src/sync/datastoreConnectivity.ts +6 -0
  99. package/src/sync/index.ts +521 -412
  100. package/src/sync/merger.ts +20 -4
  101. package/src/sync/outbox.ts +22 -9
  102. package/src/sync/processors/mutation.ts +188 -150
  103. package/src/sync/processors/subscription.ts +289 -253
  104. package/src/sync/processors/sync.ts +151 -138
  105. package/src/sync/utils.ts +67 -12
  106. package/src/types.ts +182 -30
  107. package/src/util.ts +505 -176
  108. package/build.js +0 -5
  109. package/dist/aws-amplify-datastore.js +0 -83311
  110. package/dist/aws-amplify-datastore.js.map +0 -1
  111. package/dist/aws-amplify-datastore.min.js +0 -168
  112. package/dist/aws-amplify-datastore.min.js.map +0 -1
  113. package/index.js +0 -7
  114. package/lib/authModeStrategies/defaultAuthStrategy.d.ts +0 -2
  115. package/lib/authModeStrategies/index.d.ts +0 -2
  116. package/lib/authModeStrategies/multiAuthStrategy.d.ts +0 -2
  117. package/lib/datastore/datastore.d.ts +0 -66
  118. package/lib/index.d.ts +0 -31
  119. package/lib/predicates/index.d.ts +0 -15
  120. package/lib/predicates/sort.d.ts +0 -8
  121. package/lib/ssr/index.d.ts +0 -3
  122. package/lib/storage/adapter/AsyncStorageAdapter.d.ts +0 -40
  123. package/lib/storage/adapter/AsyncStorageDatabase.d.ts +0 -29
  124. package/lib/storage/adapter/InMemoryStore.d.ts +0 -11
  125. package/lib/storage/adapter/InMemoryStore.native.d.ts +0 -1
  126. package/lib/storage/adapter/IndexedDBAdapter.d.ts +0 -37
  127. package/lib/storage/adapter/getDefaultAdapter/index.d.ts +0 -3
  128. package/lib/storage/adapter/getDefaultAdapter/index.native.d.ts +0 -3
  129. package/lib/storage/adapter/index.d.ts +0 -9
  130. package/lib/storage/storage.d.ts +0 -49
  131. package/lib/sync/datastoreConnectivity.d.ts +0 -15
  132. package/lib/sync/datastoreReachability/index.d.ts +0 -3
  133. package/lib/sync/datastoreReachability/index.native.d.ts +0 -3
  134. package/lib/sync/index.d.ts +0 -63
  135. package/lib/sync/merger.d.ts +0 -11
  136. package/lib/sync/outbox.d.ts +0 -27
  137. package/lib/sync/processors/errorMaps.d.ts +0 -17
  138. package/lib/sync/processors/mutation.d.ts +0 -56
  139. package/lib/sync/processors/subscription.d.ts +0 -31
  140. package/lib/sync/processors/sync.d.ts +0 -27
  141. package/lib/sync/utils.d.ts +0 -41
  142. package/lib/types.d.ts +0 -462
  143. package/lib/util.d.ts +0 -113
  144. package/webpack.config.dev.js +0 -6
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var tslib_1 = require("tslib");
4
- var api_1 = tslib_1.__importDefault(require("@aws-amplify/api"));
4
+ var api_1 = require("@aws-amplify/api");
5
5
  var zen_observable_ts_1 = tslib_1.__importDefault(require("zen-observable-ts"));
6
6
  var types_1 = require("../../types");
7
7
  var utils_1 = require("../utils");
@@ -25,7 +25,8 @@ var SyncProcessor = /** @class */ (function () {
25
25
  this.errorHandler = errorHandler;
26
26
  this.amplifyContext = amplifyContext;
27
27
  this.typeQuery = new WeakMap();
28
- amplifyContext.API = amplifyContext.API || api_1.default;
28
+ this.runningProcesses = new core_1.BackgroundProcessManager();
29
+ amplifyContext.API = amplifyContext.API || api_1.API;
29
30
  this.generateQueries();
30
31
  }
31
32
  SyncProcessor.prototype.generateQueries = function () {
@@ -52,7 +53,7 @@ var SyncProcessor = /** @class */ (function () {
52
53
  }
53
54
  return utils_1.predicateToGraphQLFilter(predicatesGroup);
54
55
  };
55
- SyncProcessor.prototype.retrievePage = function (modelDefinition, lastSync, nextToken, limit, filter) {
56
+ SyncProcessor.prototype.retrievePage = function (modelDefinition, lastSync, nextToken, limit, filter, onTerminate) {
56
57
  if (limit === void 0) { limit = null; }
57
58
  return tslib_1.__awaiter(this, void 0, void 0, function () {
58
59
  var _a, opName, query, variables, modelAuthModes, readAuthModes, authModeAttempts, authModeRetry, data, _b, _c, opResult, items, newNextToken, startedAt;
@@ -83,7 +84,12 @@ var SyncProcessor = /** @class */ (function () {
83
84
  return tslib_1.__generator(this, function (_b) {
84
85
  switch (_b.label) {
85
86
  case 0:
86
- _b.trys.push([0, 2, , 4]);
87
+ if (!this.runningProcesses.isOpen) {
88
+ throw new Error('sync.retreievePage termination was requested. Exiting.');
89
+ }
90
+ _b.label = 1;
91
+ case 1:
92
+ _b.trys.push([1, 3, , 5]);
87
93
  logger.debug("Attempting sync with authMode: " + readAuthModes[authModeAttempts]);
88
94
  return [4 /*yield*/, this.jitteredRetry({
89
95
  query: query,
@@ -91,12 +97,13 @@ var SyncProcessor = /** @class */ (function () {
91
97
  opName: opName,
92
98
  modelDefinition: modelDefinition,
93
99
  authMode: readAuthModes[authModeAttempts],
100
+ onTerminate: onTerminate,
94
101
  })];
95
- case 1:
102
+ case 2:
96
103
  response = _b.sent();
97
104
  logger.debug("Sync successful with authMode: " + readAuthModes[authModeAttempts]);
98
105
  return [2 /*return*/, response];
99
- case 2:
106
+ case 3:
100
107
  error_1 = _b.sent();
101
108
  authModeAttempts++;
102
109
  if (authModeAttempts >= readAuthModes.length) {
@@ -115,8 +122,8 @@ var SyncProcessor = /** @class */ (function () {
115
122
  }
116
123
  logger.debug("Sync failed with authMode: " + readAuthModes[authModeAttempts - 1] + ". Retrying with authMode: " + readAuthModes[authModeAttempts]);
117
124
  return [4 /*yield*/, authModeRetry()];
118
- case 3: return [2 /*return*/, _b.sent()];
119
- case 4: return [2 /*return*/];
125
+ case 4: return [2 /*return*/, _b.sent()];
126
+ case 5: return [2 /*return*/];
120
127
  }
121
128
  });
122
129
  }); };
@@ -134,32 +141,23 @@ var SyncProcessor = /** @class */ (function () {
134
141
  });
135
142
  });
136
143
  };
137
- // Partial data private feature flag. Not a public API. This will be removed in a future release.
138
- SyncProcessor.prototype.partialDataFeatureFlagEnabled = function () {
139
- try {
140
- var flag = sessionStorage.getItem('datastorePartialData');
141
- return Boolean(flag);
142
- }
143
- catch (e) {
144
- return false;
145
- }
146
- };
147
144
  SyncProcessor.prototype.jitteredRetry = function (_a) {
148
- var query = _a.query, variables = _a.variables, opName = _a.opName, modelDefinition = _a.modelDefinition, authMode = _a.authMode;
145
+ var query = _a.query, variables = _a.variables, opName = _a.opName, modelDefinition = _a.modelDefinition, authMode = _a.authMode, onTerminate = _a.onTerminate;
149
146
  return tslib_1.__awaiter(this, void 0, void 0, function () {
150
147
  var _this = this;
151
148
  return tslib_1.__generator(this, function (_b) {
152
149
  switch (_b.label) {
153
150
  case 0: return [4 /*yield*/, core_1.jitteredExponentialRetry(function (query, variables) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
154
- var authToken, error_2, clientOrForbiddenErrorMessage, hasItems, result, unauthorized, result;
151
+ var authToken, error_2, clientOrForbiddenErrorMessage, hasItems, unauthorized, otherErrors, result;
155
152
  var _this = this;
156
- return tslib_1.__generator(this, function (_a) {
157
- switch (_a.label) {
153
+ var _a, _b, _c, _d;
154
+ return tslib_1.__generator(this, function (_e) {
155
+ switch (_e.label) {
158
156
  case 0:
159
- _a.trys.push([0, 3, , 8]);
157
+ _e.trys.push([0, 3, , 6]);
160
158
  return [4 /*yield*/, utils_1.getTokenForCustomAuth(authMode, this.amplifyConfig)];
161
159
  case 1:
162
- authToken = _a.sent();
160
+ authToken = _e.sent();
163
161
  return [4 /*yield*/, this.amplifyContext.API.graphql({
164
162
  query: query,
165
163
  variables: variables,
@@ -167,23 +165,24 @@ var SyncProcessor = /** @class */ (function () {
167
165
  authToken: authToken,
168
166
  userAgentSuffix: util_1.USER_AGENT_SUFFIX_DATASTORE,
169
167
  })];
170
- case 2: return [2 /*return*/, _a.sent()];
168
+ case 2: return [2 /*return*/, _e.sent()];
171
169
  case 3:
172
- error_2 = _a.sent();
170
+ error_2 = _e.sent();
173
171
  clientOrForbiddenErrorMessage = utils_1.getClientSideAuthError(error_2) || utils_1.getForbiddenError(error_2);
174
172
  if (clientOrForbiddenErrorMessage) {
175
173
  throw new core_1.NonRetryableError(clientOrForbiddenErrorMessage);
176
174
  }
177
- hasItems = Boolean(error_2 &&
178
- error_2.data &&
179
- error_2.data[opName] &&
180
- error_2.data[opName].items);
181
- if (!this.partialDataFeatureFlagEnabled()) return [3 /*break*/, 7];
182
- if (!hasItems) return [3 /*break*/, 6];
175
+ hasItems = Boolean((_b = (_a = error_2 === null || error_2 === void 0 ? void 0 : error_2.data) === null || _a === void 0 ? void 0 : _a[opName]) === null || _b === void 0 ? void 0 : _b.items);
176
+ unauthorized = (error_2 === null || error_2 === void 0 ? void 0 : error_2.errors) &&
177
+ error_2.errors.some(function (err) { return err.errorType === 'Unauthorized'; });
178
+ otherErrors = (error_2 === null || error_2 === void 0 ? void 0 : error_2.errors) &&
179
+ error_2.errors.filter(function (err) { return err.errorType !== 'Unauthorized'; });
183
180
  result = error_2;
184
- result.data[opName].items = result.data[opName].items.filter(function (item) { return item !== null; });
185
- if (!error_2.errors) return [3 /*break*/, 5];
186
- return [4 /*yield*/, Promise.all(error_2.errors.map(function (err) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
181
+ if (hasItems) {
182
+ result.data[opName].items = result.data[opName].items.filter(function (item) { return item !== null; });
183
+ }
184
+ if (!(hasItems && (otherErrors === null || otherErrors === void 0 ? void 0 : otherErrors.length))) return [3 /*break*/, 5];
185
+ return [4 /*yield*/, Promise.all(otherErrors.map(function (err) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
187
186
  var e_1;
188
187
  return tslib_1.__generator(this, function (_a) {
189
188
  switch (_a.label) {
@@ -212,40 +211,30 @@ var SyncProcessor = /** @class */ (function () {
212
211
  });
213
212
  }); }))];
214
213
  case 4:
215
- _a.sent();
214
+ _e.sent();
216
215
  core_1.Hub.dispatch('datastore', {
217
- event: 'syncQueriesPartialSyncError',
216
+ event: 'nonApplicableDataReceived',
218
217
  data: {
219
- errors: error_2.errors,
218
+ errors: otherErrors,
220
219
  modelName: modelDefinition.name,
221
220
  },
222
221
  });
223
- _a.label = 5;
224
- case 5: return [2 /*return*/, result];
225
- case 6: throw error_2;
226
- case 7:
227
- unauthorized = error_2 &&
228
- error_2.errors &&
229
- error_2.errors.some(function (err) { return err.errorType === 'Unauthorized'; });
222
+ _e.label = 5;
223
+ case 5:
230
224
  if (unauthorized) {
231
- result = error_2;
232
- if (hasItems) {
233
- result.data[opName].items = result.data[opName].items.filter(function (item) { return item !== null; });
234
- }
235
- else {
236
- result.data[opName] = tslib_1.__assign(tslib_1.__assign({}, opResultDefaults), result.data[opName]);
237
- }
238
225
  logger.warn('queryError', "User is unauthorized to query " + opName + ", some items could not be returned.");
226
+ result.data = result.data || {};
227
+ result.data[opName] = tslib_1.__assign(tslib_1.__assign({}, opResultDefaults), result.data[opName]);
239
228
  return [2 /*return*/, result];
240
229
  }
241
- else {
242
- throw error_2;
230
+ if ((_d = (_c = result.data) === null || _c === void 0 ? void 0 : _c[opName].items) === null || _d === void 0 ? void 0 : _d.length) {
231
+ return [2 /*return*/, result];
243
232
  }
244
- return [3 /*break*/, 8];
245
- case 8: return [2 /*return*/];
233
+ throw error_2;
234
+ case 6: return [2 /*return*/];
246
235
  }
247
236
  });
248
- }); }, [query, variables])];
237
+ }); }, [query, variables], undefined, onTerminate)];
249
238
  case 1: return [2 /*return*/, _b.sent()];
250
239
  }
251
240
  });
@@ -253,7 +242,6 @@ var SyncProcessor = /** @class */ (function () {
253
242
  };
254
243
  SyncProcessor.prototype.start = function (typesLastSync) {
255
244
  var _this = this;
256
- var processing = true;
257
245
  var _a = this.amplifyConfig, maxRecordsToSync = _a.maxRecordsToSync, syncPageSize = _a.syncPageSize;
258
246
  var parentPromises = new Map();
259
247
  var observable = new zen_observable_ts_1.default(function (observer) {
@@ -282,77 +270,94 @@ var SyncProcessor = /** @class */ (function () {
282
270
  })
283
271
  .map(function (_a) {
284
272
  var _b = tslib_1.__read(_a, 2), modelDefinition = _b[0], _c = tslib_1.__read(_b[1], 2), namespace = _c[0], lastSync = _c[1];
285
- return tslib_1.__awaiter(_this, void 0, void 0, function () {
286
- var done, nextToken, startedAt, items, recordsReceived, filter, parents, promises, promise;
287
- var _this = this;
288
- return tslib_1.__generator(this, function (_d) {
289
- switch (_d.label) {
290
- case 0:
291
- done = false;
292
- nextToken = null;
293
- startedAt = null;
294
- items = null;
295
- recordsReceived = 0;
296
- filter = this.graphqlFilterFromPredicate(modelDefinition);
297
- parents = this.schema.namespaces[namespace].modelTopologicalOrdering.get(modelDefinition.name);
298
- promises = parents.map(function (parent) {
299
- return parentPromises.get(namespace + "_" + parent);
300
- });
301
- promise = new Promise(function (res) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
302
- var limit;
303
- var _a;
304
- return tslib_1.__generator(this, function (_b) {
305
- switch (_b.label) {
306
- case 0: return [4 /*yield*/, Promise.all(promises)];
307
- case 1:
308
- _b.sent();
309
- _b.label = 2;
310
- case 2:
311
- if (!processing) {
312
- return [2 /*return*/];
313
- }
314
- limit = Math.min(maxRecordsToSync - recordsReceived, syncPageSize);
315
- return [4 /*yield*/, this.retrievePage(modelDefinition, lastSync, nextToken, limit, filter)];
316
- case 3:
317
- (_a = _b.sent(), items = _a.items, nextToken = _a.nextToken, startedAt = _a.startedAt);
318
- recordsReceived += items.length;
319
- done = nextToken === null || recordsReceived >= maxRecordsToSync;
320
- observer.next({
321
- namespace: namespace,
322
- modelDefinition: modelDefinition,
323
- items: items,
324
- done: done,
325
- startedAt: startedAt,
326
- isFullSync: !lastSync,
327
- });
328
- _b.label = 4;
329
- case 4:
330
- if (!done) return [3 /*break*/, 2];
331
- _b.label = 5;
332
- case 5:
333
- res();
334
- return [2 /*return*/];
335
- }
273
+ return _this.runningProcesses.isOpen &&
274
+ _this.runningProcesses.add(function (onTerminate) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
275
+ var done, nextToken, startedAt, items, recordsReceived, filter, parents, promises, promise;
276
+ var _this = this;
277
+ return tslib_1.__generator(this, function (_a) {
278
+ switch (_a.label) {
279
+ case 0:
280
+ done = false;
281
+ nextToken = null;
282
+ startedAt = null;
283
+ items = null;
284
+ recordsReceived = 0;
285
+ filter = this.graphqlFilterFromPredicate(modelDefinition);
286
+ parents = this.schema.namespaces[namespace].modelTopologicalOrdering.get(modelDefinition.name);
287
+ promises = parents.map(function (parent) {
288
+ return parentPromises.get(namespace + "_" + parent);
336
289
  });
337
- }); });
338
- parentPromises.set(namespace + "_" + modelDefinition.name, promise);
339
- return [4 /*yield*/, promise];
340
- case 1:
341
- _d.sent();
342
- return [2 /*return*/];
343
- }
344
- });
345
- });
290
+ promise = new Promise(function (res) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
291
+ var limit;
292
+ var _a;
293
+ return tslib_1.__generator(this, function (_b) {
294
+ switch (_b.label) {
295
+ case 0: return [4 /*yield*/, Promise.all(promises)];
296
+ case 1:
297
+ _b.sent();
298
+ _b.label = 2;
299
+ case 2:
300
+ if (!this.runningProcesses.isOpen) {
301
+ return [2 /*return*/];
302
+ }
303
+ limit = Math.min(maxRecordsToSync - recordsReceived, syncPageSize);
304
+ return [4 /*yield*/, this.retrievePage(modelDefinition, lastSync, nextToken, limit, filter, onTerminate)];
305
+ case 3:
306
+ (_a = _b.sent(), items = _a.items, nextToken = _a.nextToken, startedAt = _a.startedAt);
307
+ recordsReceived += items.length;
308
+ done =
309
+ nextToken === null || recordsReceived >= maxRecordsToSync;
310
+ observer.next({
311
+ namespace: namespace,
312
+ modelDefinition: modelDefinition,
313
+ items: items,
314
+ done: done,
315
+ startedAt: startedAt,
316
+ isFullSync: !lastSync,
317
+ });
318
+ _b.label = 4;
319
+ case 4:
320
+ if (!done) return [3 /*break*/, 2];
321
+ _b.label = 5;
322
+ case 5:
323
+ res();
324
+ return [2 /*return*/];
325
+ }
326
+ });
327
+ }); });
328
+ parentPromises.set(namespace + "_" + modelDefinition.name, promise);
329
+ return [4 /*yield*/, promise];
330
+ case 1:
331
+ _a.sent();
332
+ return [2 /*return*/];
333
+ }
334
+ });
335
+ }); }, "adding model " + modelDefinition.name);
346
336
  });
347
337
  Promise.all(allModelsReady).then(function () {
348
338
  observer.complete();
349
339
  });
350
- return function () {
351
- processing = false;
352
- };
353
340
  });
354
341
  return observable;
355
342
  };
343
+ SyncProcessor.prototype.stop = function () {
344
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
345
+ return tslib_1.__generator(this, function (_a) {
346
+ switch (_a.label) {
347
+ case 0:
348
+ logger.debug('stopping sync processor');
349
+ return [4 /*yield*/, this.runningProcesses.close()];
350
+ case 1:
351
+ _a.sent();
352
+ return [4 /*yield*/, this.runningProcesses.open()];
353
+ case 2:
354
+ _a.sent();
355
+ logger.debug('sync processor stopped');
356
+ return [2 /*return*/];
357
+ }
358
+ });
359
+ });
360
+ };
356
361
  return SyncProcessor;
357
362
  }());
358
363
  exports.SyncProcessor = SyncProcessor;
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/sync/processors/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/sync/processors/sync.ts"],"names":[],"mappings":"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"}
package/lib/sync/utils.js CHANGED
@@ -46,7 +46,7 @@ function generateSelectionSet(namespace, modelDefinition) {
46
46
  if (types_1.isSchemaModel(modelDefinition)) {
47
47
  scalarAndMetadataFields = scalarAndMetadataFields
48
48
  .concat(getMetadataFields())
49
- .concat(getConnectionFields(modelDefinition));
49
+ .concat(getConnectionFields(modelDefinition, namespace));
50
50
  }
51
51
  var result = scalarAndMetadataFields.join('\n');
52
52
  return result;
@@ -61,7 +61,7 @@ function getImplicitOwnerField(modelDefinition, scalarFields) {
61
61
  }
62
62
  function getOwnerFields(modelDefinition) {
63
63
  var ownerFields = [];
64
- if (types_1.isSchemaModel(modelDefinition) && modelDefinition.attributes) {
64
+ if (types_1.isSchemaModelWithAttributes(modelDefinition)) {
65
65
  modelDefinition.attributes.forEach(function (attr) {
66
66
  if (attr.properties && attr.properties.rules) {
67
67
  var rule = attr.properties.rules.find(function (rule) { return rule.allow === 'owner'; });
@@ -88,7 +88,8 @@ function getScalarFields(modelDefinition) {
88
88
  }, {});
89
89
  return result;
90
90
  }
91
- function getConnectionFields(modelDefinition) {
91
+ // Used for generating the selection set for queries and mutations
92
+ function getConnectionFields(modelDefinition, namespace) {
92
93
  var result = [];
93
94
  Object.values(modelDefinition.fields)
94
95
  .filter(function (_a) {
@@ -105,7 +106,24 @@ function getConnectionFields(modelDefinition) {
105
106
  break;
106
107
  case 'BELONGS_TO':
107
108
  if (types_1.isTargetNameAssociation(association)) {
108
- result.push(name + " { id _deleted }");
109
+ // New codegen (CPK)
110
+ if (association.targetNames && association.targetNames.length > 0) {
111
+ // Need to retrieve relations in order to get connected model keys
112
+ var _b = tslib_1.__read(util_1.establishRelationAndKeys(namespace), 1), relations = _b[0];
113
+ var connectedModelName = modelDefinition.fields[name].type['model'];
114
+ var byPkIndex = relations[connectedModelName].indexes.find(function (_a) {
115
+ var _b = tslib_1.__read(_a, 1), name = _b[0];
116
+ return name === 'byPk';
117
+ });
118
+ var keyFields = byPkIndex && byPkIndex[1];
119
+ var keyFieldSelectionSet = keyFields === null || keyFields === void 0 ? void 0 : keyFields.join(' ');
120
+ // We rely on `_deleted` when we process the sync query (e.g. in batchSave in the adapters)
121
+ result.push(name + " { " + keyFieldSelectionSet + " _deleted }");
122
+ }
123
+ else {
124
+ // backwards-compatability for schema generated prior to custom primary key support
125
+ result.push(name + " { id _deleted }");
126
+ }
109
127
  }
110
128
  break;
111
129
  default:
@@ -282,26 +300,36 @@ function createMutationInstanceFromModelOperation(relationships, modelDefinition
282
300
  }
283
301
  return v;
284
302
  };
285
- var mutationEvent = modelInstanceCreator(MutationEventConstructor, tslib_1.__assign(tslib_1.__assign({}, (id ? { id: id } : {})), { data: JSON.stringify(element, replacer), modelId: element.id, model: model.name, operation: operation, condition: JSON.stringify(condition) }));
303
+ var modelId = getIdentifierValue(modelDefinition, element);
304
+ var optionalId = types_1.OpType.INSERT && id ? { id: id } : {};
305
+ var mutationEvent = modelInstanceCreator(MutationEventConstructor, tslib_1.__assign(tslib_1.__assign({}, optionalId), { data: JSON.stringify(element, replacer), modelId: modelId, model: model.name, operation: operation, condition: JSON.stringify(condition) }));
286
306
  return mutationEvent;
287
307
  }
288
308
  exports.createMutationInstanceFromModelOperation = createMutationInstanceFromModelOperation;
289
- function predicateToGraphQLCondition(predicate) {
309
+ function predicateToGraphQLCondition(predicate, modelDefinition) {
290
310
  var result = {};
291
311
  if (!predicate || !Array.isArray(predicate.predicates)) {
292
312
  return result;
293
313
  }
314
+ var keyFields = util_1.extractPrimaryKeyFieldNames(modelDefinition);
294
315
  predicate.predicates.forEach(function (p) {
295
316
  var _a;
296
317
  if (types_1.isPredicateObj(p)) {
297
318
  var field = p.field, operator = p.operator, operand = p.operand;
298
- if (field === 'id') {
319
+ // This is compatible with how the GQL Transform currently generates the Condition Input,
320
+ // i.e. any PK and SK fields are omitted and can't be used as conditions.
321
+ // However, I think this limits usability.
322
+ // What if we want to delete all records where SK > some value
323
+ // Or all records where PK = some value but SKs are different values
324
+ // TODO: if the Transform gets updated ^ we'll need to modify this logic to only omit
325
+ // key fields from the predicate/condition when ALL of the keyFields are present and using `eq` operators
326
+ if (keyFields.includes(field)) {
299
327
  return;
300
328
  }
301
329
  result[field] = (_a = {}, _a[operator] = operand, _a);
302
330
  }
303
331
  else {
304
- result[p.type] = predicateToGraphQLCondition(p);
332
+ result[p.type] = predicateToGraphQLCondition(p, modelDefinition);
305
333
  }
306
334
  });
307
335
  return result;
@@ -465,4 +493,11 @@ function getTokenForCustomAuth(authMode, amplifyConfig) {
465
493
  });
466
494
  }
467
495
  exports.getTokenForCustomAuth = getTokenForCustomAuth;
496
+ // Util that takes a modelDefinition and model and returns either the id value(s) or the custom primary key value(s)
497
+ function getIdentifierValue(modelDefinition, model) {
498
+ var pkFieldNames = util_1.extractPrimaryKeyFieldNames(modelDefinition);
499
+ var idOrPk = pkFieldNames.map(function (f) { return model[f]; }).join(util_1.IDENTIFIER_KEY_SEPARATOR);
500
+ return idOrPk;
501
+ }
502
+ exports.getIdentifierValue = getIdentifierValue;
468
503
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/sync/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/sync/utils.ts"],"names":[],"mappings":";;;AAAA,wDAA6D;AAC7D,wCAAoD;AACpD,0CAA2C;AAE3C,kCAyBkB;AAClB,gCAKiB;AAGjB,IAAM,MAAM,GAAG,IAAI,aAAM,CAAC,WAAW,CAAC,CAAC;AAEvC,IAAK,oBAMJ;AAND,WAAK,oBAAoB;IACxB,sCAAc,CAAA;IACd,2CAAmB,CAAA;IACnB,2CAAmB,CAAA;IACnB,2CAAmB,CAAA;IACnB,qCAAa,CAAA;AACd,CAAC,EANI,oBAAoB,KAApB,oBAAoB,QAMxB;AAED,IAAY,uBAKX;AALD,WAAY,uBAAuB;IAClC,4CAAiB,CAAA;IACjB,4CAAiB,CAAA;IACjB,4CAAiB,CAAA;IACjB,sCAAW,CAAA;AACZ,CAAC,EALW,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAKlC;AAED,IAAM,aAAa,GAA0B;IAC5C,QAAQ,EAAE,SAAS;IACnB,cAAc,EAAE,SAAS;IACzB,QAAQ,EAAE,SAAS;CACnB,CAAC;AAEF,IAAM,cAAc,GAAoC,CACvD,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAC1B,CAAC;AACF,SAAgB,iBAAiB;IAChC,OAAO,cAAc,CAAC;AACvB,CAAC;AAFD,8CAEC;AAED,SAAgB,oBAAoB,CACnC,SAA0B,EAC1B,eAA6C;IAE7C,IAAM,YAAY,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC;IACtD,IAAM,cAAc,GAAG,iBAAiB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IACrE,IAAM,kBAAkB,GAAG,qBAAqB,CAC/C,eAAe,EACf,YAAY,CACZ,CAAC;IAEF,IAAI,uBAAuB,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;SACvD,GAAG,CAAC,UAAC,EAAQ;YAAN,cAAI;QAAO,OAAA,IAAI;IAAJ,CAAI,CAAC;SACvB,MAAM,CAAC,kBAAkB,CAAC;SAC1B,MAAM,CAAC,cAAc,CAAC,CAAC;IAEzB,IAAI,qBAAa,CAAC,eAAe,CAAC,EAAE;QACnC,uBAAuB,GAAG,uBAAuB;aAC/C,MAAM,CAAC,iBAAiB,EAAE,CAAC;aAC3B,MAAM,CAAC,mBAAmB,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC;KAC1D;IAED,IAAM,MAAM,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAElD,OAAO,MAAM,CAAC;AACf,CAAC;AAzBD,oDAyBC;AAED,SAAS,qBAAqB,CAC7B,eAA6C,EAC7C,YAAyB;IAEzB,IAAM,WAAW,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;IAEpD,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;QACzD,OAAO,CAAC,OAAO,CAAC,CAAC;KACjB;IACD,OAAO,EAAE,CAAC;AACX,CAAC;AAED,SAAS,cAAc,CACtB,eAA6C;IAE7C,IAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,mCAA2B,CAAC,eAAe,CAAC,EAAE;QACjD,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,UAAA,IAAI;YACtC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;gBAC7C,IAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,KAAK,KAAK,OAAO,EAAtB,CAAsB,CAAC,CAAC;gBACxE,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;oBAC5B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBAClC;aACD;QACF,CAAC,CAAC,CAAC;KACH;IACD,OAAO,WAAW,CAAC;AACpB,CAAC;AAED,SAAS,eAAe,CACvB,eAA6C;IAErC,IAAA,+BAAM,CAAqB;IAEnC,IAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;SAClC,MAAM,CAAC,UAAA,KAAK;QACZ,IAAI,2BAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,uBAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACnE,OAAO,IAAI,CAAC;SACZ;QAED,OAAO,KAAK,CAAC;IACd,CAAC,CAAC;SACD,MAAM,CAAC,UAAC,GAAG,EAAE,KAAK;QAClB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QAExB,OAAO,GAAG,CAAC;IACZ,CAAC,EAAE,EAAiB,CAAC,CAAC;IAEvB,OAAO,MAAM,CAAC;AACf,CAAC;AAED,kEAAkE;AAClE,SAAS,mBAAmB,CAC3B,eAA4B,EAC5B,SAA0B;IAE1B,IAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC;SACnC,MAAM,CAAC,UAAC,EAAe;YAAb,4BAAW;QAAO,OAAA,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM;IAA9C,CAA8C,CAAC;SAC3E,OAAO,CAAC,UAAC,EAAqB;YAAnB,cAAI,EAAE,4BAAW;QACpB,IAAA,2CAAc,CAAiB;QAEvC,QAAQ,cAAc,EAAE;YACvB,KAAK,SAAS,CAAC;YACf,KAAK,UAAU;gBACd,sBAAsB;gBACtB,MAAM;YACP,KAAK,YAAY;gBAChB,IAAI,+BAAuB,CAAC,WAAW,CAAC,EAAE;oBACzC,oBAAoB;oBACpB,IAAI,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;wBAClE,kEAAkE;wBAC5D,IAAA,kEAAiD,EAAhD,iBAAgD,CAAC;wBAExD,IAAM,kBAAkB,GACvB,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBAE5C,IAAM,SAAS,GAAG,SAAS,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,IAAI,CAC3D,UAAC,EAAM;gCAAN,0BAAM,EAAL,YAAI;4BAAM,OAAA,IAAI,KAAK,MAAM;wBAAf,CAAe,CAC3B,CAAC;wBACF,IAAM,SAAS,GAAG,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;wBAC5C,IAAM,oBAAoB,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,CAAC,GAAG,CAAC,CAAC;wBAElD,2FAA2F;wBAC3F,MAAM,CAAC,IAAI,CAAI,IAAI,WAAM,oBAAoB,gBAAa,CAAC,CAAC;qBAC5D;yBAAM;wBACN,mFAAmF;wBACnF,MAAM,CAAC,IAAI,CAAI,IAAI,qBAAkB,CAAC,CAAC;qBACvC;iBACD;gBACD,MAAM;YACP;gBACC,sBAAe,CAAC,cAAc,CAAC,CAAC;SACjC;IACF,CAAC,CAAC,CAAC;IAEJ,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CACzB,SAA0B,EAC1B,eAA6C;IAE7C,IAAM,MAAM,GAAG,EAAE,CAAC;IAElB,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAC,EAAc;YAAZ,cAAI,EAAE,cAAI;QAC1D,IAAI,2BAAmB,CAAC,IAAI,CAAC,EAAE;YAC9B,IAAM,cAAc,GAAG,SAAS,CAAC,SAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3D,IAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CACtE,UAAC,EAAQ;oBAAN,cAAI;gBAAO,OAAA,IAAI;YAAJ,CAAI,CAClB,CAAC;YAEF,IAAM,QAAM,GAAG,EAAE,CAAC;YAClB,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAA,KAAK;gBACzC,IAAA,iBAAI,EAAE,iBAAI,CAAW;gBAE7B,IAAI,2BAAmB,CAAC,IAAI,CAAC,EAAE;oBAC9B,IAAM,gBAAc,GAAG,SAAS,CAAC,SAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAE3D,QAAM,CAAC,IAAI,CACP,IAAI,WAAM,oBAAoB,CAAC,SAAS,EAAE,gBAAc,CAAC,OAAI,CAChE,CAAC;iBACF;YACF,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CAAI,IAAI,WAAM,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,SAAI,QAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAI,CAAC,CAAC;SACzE;IACF,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAgB,qBAAqB,CACpC,eAA4B;IAE5B,kDAAkD;IAClD,IAAM,UAAU,GAAG,EAAE;SACnB,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC;SAClC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAA5B,CAA4B,CAAC,CAAC;IAErC,IAAA,kCAA+B,EAAjB,oCAAU,EAAV,+BAAiB,CAAsB;IAE7D,IAAM,WAAW,GAAwB,EAAE,CAAC;IAC5C,kDAAkD;IAClD,KAAK,CAAC,OAAO,CAAC,UAAA,IAAI;QACjB,4DAA4D;QAE3D,IAAA,uBAAkC,EAAlC,uDAAkC,EAClC,oBAAoB,EAApB,yCAAoB,EACpB,oBAAmD,EAAnD,wEAAmD,EACnD,kBAAsB,EAAtB,2CAAsB,EACtB,oBAA6B,EAA7B,kDAA6B,EAC7B,eAA2B,EAA3B,yCAA2B,EAC3B,gBAAW,EAAX,gCAAW,CACH;QAET,IAAM,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACrD,IAAM,WAAW,GAAG,YAAY,KAAK,OAAO,CAAC;QAE7C,IAAI,CAAC,gBAAgB,IAAI,CAAC,WAAW,EAAE;YACtC,OAAO;SACP;QAED,IAAM,QAAQ,GAAsB;YACnC,aAAa,eAAA;YACb,UAAU,YAAA;YACV,QAAQ,UAAA;YACR,UAAU,YAAA;YACV,YAAY,cAAA;YACZ,MAAM,QAAA;YACN,sBAAsB,EAAE,KAAK;SAC7B,CAAC;QAEF,IAAI,WAAW,EAAE;YAChB,2CAA2C;YAC3C,yCAAyC;YACzC,IAAM,WAAW,GAAuC,EAAG;iBACzD,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC;iBAClC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAA7B,CAA6B,CAAC,CAAC;YAE9C,8CAA8C;YACtC,IAAA,mCAAyD,EAA3C,4CAAoC,EAAnB,oCAAY,EAAZ,iCAA0B,CAC9C;YAEnB,sEAAsE;YACtE,2CAA2C;YAC3C,QAAQ,CAAC,sBAAsB;gBAC9B,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,QAAQ,CAAC;SACpD;QAED,IAAI,WAAW,EAAE;YAChB,iCAAiC;YACjC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3B,OAAO;SACP;QAED,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,OAAO,WAAW,CAAC;AACpB,CAAC;AApED,sDAoEC;AAED,SAAgB,iCAAiC,CAChD,SAA0B,EAC1B,eAA4B,EAC5B,uBAAgD,EAChD,oBAA6B,EAC7B,UAAkB;IAElB,IAAM,YAAY,GAAG,oBAAoB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAE9D,IAAA,+BAAc,EAAE,2CAA0B,CAAqB;IAEvE,IAAM,MAAM,GAAG,OAAK,uBAAuB,GAAG,QAAU,CAAC;IACzD,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,oBAAoB,EAAE;QACzB,OAAO,GAAG,OAAK,UAAU,eAAY,CAAC;QACtC,MAAM,GAAG,MAAI,UAAU,WAAM,UAAU,MAAG,CAAC;KAC3C;IAED,OAAO;QACN,uBAAuB;QACvB,MAAM;QACN,2BAAyB,OAAO,iBAC7B,MAAM,GAAG,MAAM,mBACd,YAAY,qBAEd;KACF,CAAC;AACH,CAAC;AA7BD,8EA6BC;AAED,SAAgB,qBAAqB,CACpC,SAA0B,EAC1B,eAA4B,EAC5B,aAAgD;IAEhD,IAAI,YAAY,GAAG,oBAAoB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAE5D,IAAA,+BAAc,EAAE,2CAA0B,CAAqB;IAEvE,IAAI,SAAiB,CAAC;IACtB,IAAI,YAAY,GAAW,GAAG,CAAC;IAC/B,IAAI,aAAa,GAAW,GAAG,CAAC;IAChC,IAAI,uBAAgD,CAAC;IAErD,QAAQ,aAAa,EAAE;QACtB,KAAK,MAAM;YACV,SAAS,GAAG,SAAO,cAAgB,CAAC;YACpC,YAAY,GAAG,8EAA4E,QAAQ,iBAAc,CAAC;YAClH,aAAa;gBACZ,8EAA8E,CAAC;YAChF,YAAY,GAAG,4BACT,YAAY,kEAGL,CAAC;YACd,MAAM;QACP,KAAK,QAAQ;YACZ,SAAS,GAAG,WAAS,QAAU,CAAC;YAChC,YAAY,GAAG,oBAAkB,QAAQ,YAAS,CAAC;YACnD,aAAa,GAAG,iBAAiB,CAAC;YAClC,uBAAuB,GAAG,uBAAuB,CAAC,MAAM,CAAC;YACzD,MAAM;QACP,KAAK,QAAQ;YACZ,SAAS,GAAG,WAAS,QAAU,CAAC;YAChC,YAAY,GAAG,oBAAkB,QAAQ,iCAA4B,QAAQ,oBAAiB,CAAC;YAC/F,aAAa,GAAG,wCAAwC,CAAC;YACzD,uBAAuB,GAAG,uBAAuB,CAAC,MAAM,CAAC;YACzD,MAAM;QACP,KAAK,QAAQ;YACZ,SAAS,GAAG,WAAS,QAAU,CAAC;YAChC,YAAY,GAAG,oBAAkB,QAAQ,iCAA4B,QAAQ,oBAAiB,CAAC;YAC/F,aAAa,GAAG,wCAAwC,CAAC;YACzD,uBAAuB,GAAG,uBAAuB,CAAC,MAAM,CAAC;YACzD,MAAM;QACP,KAAK,KAAK;YACT,SAAS,GAAG,QAAM,QAAU,CAAC;YAC7B,YAAY,GAAG,YAAY,CAAC;YAC5B,aAAa,GAAG,WAAW,CAAC;YAC5B,uBAAuB,GAAG,uBAAuB,CAAC,GAAG,CAAC;YACtD,MAAM;QAEP;YACC,sBAAe,CAAC,aAAa,CAAC,CAAC;KAChC;IAED,OAAO;QACN;YACC,uBAAuB;YACvB,SAAS;YACN,oBAAoB,CAAC,aAAa,CAAC,kBAAa,YAAY,eAC9D,SAAS,GAAG,aAAa,iBACxB,YAAY,iBAEd;SACA;KACD,CAAC;AACH,CAAC;AAlED,sDAkEC;AAED,SAAgB,wCAAwC,CAGvD,aAA+B,EAC/B,eAA4B,EAC5B,MAAc,EACd,KAAoC,EACpC,OAAU,EACV,SAA2B,EAC3B,wBAAmE,EACnE,oBAA0C,EAC1C,EAAW;IAEX,IAAI,SAAkC,CAAC;IAEvC,QAAQ,MAAM,EAAE;QACf,KAAK,cAAM,CAAC,MAAM;YACjB,SAAS,GAAG,uBAAuB,CAAC,MAAM,CAAC;YAC3C,MAAM;QACP,KAAK,cAAM,CAAC,MAAM;YACjB,SAAS,GAAG,uBAAuB,CAAC,MAAM,CAAC;YAC3C,MAAM;QACP,KAAK,cAAM,CAAC,MAAM;YACjB,SAAS,GAAG,uBAAuB,CAAC,MAAM,CAAC;YAC3C,MAAM;QACP;YACC,sBAAe,CAAC,MAAM,CAAC,CAAC;KACzB;IAED,2CAA2C;IAC3C,4FAA4F;IAC5F,oDAAoD;IACpD,IAAM,QAAQ,GAAG,UAAC,CAAC,EAAE,CAAC;QACrB,IAAM,SAAS,GACd,CAAC;YACD,CAAC,KAAK,IAAI;YACV,OAAO,CAAC,KAAK,QAAQ;YACrB,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;YACzB,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;QAE9C,IAAI,SAAS,EAAE;YACd,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SACzB;QACD,OAAO,CAAC,CAAC;IACV,CAAC,CAAC;IAEF,IAAM,OAAO,GAAG,kBAAkB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAC7D,IAAM,UAAU,GAAG,cAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,IAAA,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAErD,IAAM,aAAa,GAAG,oBAAoB,CAAC,wBAAwB,wCAC/D,UAAU,KACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,EACvC,OAAO,SAAA,EACP,KAAK,EAAE,KAAK,CAAC,IAAI,EACjB,SAAS,WAAA,EACT,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IACnC,CAAC;IAEH,OAAO,aAAa,CAAC;AACtB,CAAC;AA3DD,4FA2DC;AAED,SAAgB,2BAA2B,CAC1C,SAA+B,EAC/B,eAA4B;IAE5B,IAAM,MAAM,GAAG,EAAE,CAAC;IAElB,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE;QACvD,OAAO,MAAM,CAAC;KACd;IAED,IAAM,SAAS,GAAG,kCAA2B,CAAC,eAAe,CAAC,CAAC;IAE/D,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,UAAA,CAAC;;QAC7B,IAAI,sBAAc,CAAC,CAAC,CAAC,EAAE;YACd,IAAA,eAAK,EAAE,qBAAQ,EAAE,mBAAO,CAAO;YAEvC,yFAAyF;YACzF,yEAAyE;YACzE,0CAA0C;YAC1C,8DAA8D;YAC9D,oEAAoE;YAEpE,qFAAqF;YACrF,yGAAyG;YACzG,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAe,CAAC,EAAE;gBACxC,OAAO;aACP;YAED,MAAM,CAAC,KAAK,CAAC,aAAK,GAAC,QAAQ,IAAG,OAAO,KAAE,CAAC;SACxC;aAAM;YACN,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,2BAA2B,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;SACjE;IACF,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AACf,CAAC;AAnCD,kEAmCC;AAED,SAAgB,wBAAwB,CACvC,eAAqC;IAErC,IAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,IAAI,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE;QACnE,OAAO,MAAM,CAAC;KACd;IAEO,IAAA,2BAAI,EAAE,uCAAU,CAAqB;IAC7C,IAAM,MAAM,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,CAAC;IAE/C,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEhC,IAAM,cAAc,GAAG,UAAA,KAAK;QAC3B,OAAA,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IAA1D,CAA0D,CAAC;IAE5D,UAAU,CAAC,OAAO,CAAC,UAAA,SAAS;;QAC3B,IAAI,sBAAc,CAAC,SAAS,CAAC,EAAE;YACtB,IAAA,uBAAK,EAAE,6BAAQ,EAAE,2BAAO,CAAe;YAE/C,IAAM,QAAQ;gBACb,GAAC,KAAK,cAAK,GAAC,QAAQ,IAAG,OAAO,KAAE;mBAChC,CAAC;YAEF,cAAc,CAAC,QAAQ,CAAC,CAAC;YACzB,OAAO;SACP;QAED,cAAc,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AACf,CAAC;AAjCD,4DAiCC;AAED,SAAgB,sBAAsB,CACrC,KAA+B,EAC/B,IAAuB;IAEvB,oCAAoC;IACpC,IAAI,UAAU,GAAsB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAEjE,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;QACnC,IAAI,YAAY,SAAA,CAAC;QACjB,IAAI;YACH,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;SACtC;QAAC,OAAO,CAAC,EAAE;YACX,YAAY,GAAG,UAAU,CAAC;SAC1B;QACD,UAAU,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;KACrC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC;AAlBD,wDAkBC;AAED,SAAsB,iBAAiB,CAAC,EAUvC;QATA,sCAAgB,EAChB,oCAAe,EACf,wBAAS,EACT,kBAAM;;;;;;;oBASA,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,sBAAc,CAAC,CAAC;oBAE3C,cAAc,GAEhB;wBACH,MAAM,EAAE,EAAE;wBACV,IAAI,EAAE,EAAE;wBACR,MAAM,EAAE,EAAE;wBACV,MAAM,EAAE,EAAE;qBACV,CAAC;;;;oBAGD,qBAAM,OAAO,CAAC,GAAG,CAChB,UAAU,CAAC,GAAG,CAAC,UAAM,SAAS;;;;4CACX,qBAAM,gBAAgB,CAAC;4CACxC,MAAM,QAAA;4CACN,SAAS,WAAA;4CACT,SAAS,WAAA;yCACT,CAAC,EAAA;;wCAJI,SAAS,GAAG,SAIhB;wCAEF,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;4CAClC,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;yCACxC;6CAAM,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE;4CACxD,cAAc,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;yCACtC;6CAAM;4CACN,qEAAqE;4CACrE,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;yCAC9C;;;;6BACD,CAAC,CACF,EAAA;;oBAjBD,SAiBC,CAAC;;;;oBAEF,MAAM,CAAC,KAAK,CAAC,yCAAuC,SAAW,EAAE,OAAK,CAAC,CAAC;;wBAEzE,sBAAO,cAAc,EAAC;;;;CACtB;AA/CD,8CA+CC;AAED,SAAgB,iBAAiB,CAAC,KAAK;IACtC,IAAM,sBAAsB,GAAG;QAC9B,qCAAqC;QACrC,qCAAqC;KACrC,CAAC;IACF,IAAI,cAAc,CAAC;IACnB,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;QAC1B,cAAc,GAAI,KAAK,CAAC,MAAgB,CAAC,IAAI,CAAC,UAAA,GAAG;YAChD,OAAA,sBAAsB,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;QAA5C,CAA4C,CAC5C,CAAC;KACF;SAAM,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE;QAClC,cAAc,GAAG,KAAK,CAAC;KACvB;IAED,IAAI,cAAc,EAAE;QACnB,OAAO,cAAc,CAAC,OAAO,CAAC;KAC9B;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAlBD,8CAkBC;AAED,SAAgB,sBAAsB,CAAC,KAAK;IAC3C,IAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,sBAAgB,CAAC,CAAC;IAC7D,IAAM,eAAe,GACpB,KAAK;QACL,KAAK,CAAC,OAAO;QACb,oBAAoB,CAAC,IAAI,CAAC,UAAA,WAAW;YACpC,OAAA,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;QAAnC,CAAmC,CACnC,CAAC;IACH,OAAO,eAAe,IAAI,IAAI,CAAC;AAChC,CAAC;AATD,wDASC;AAED,SAAsB,qBAAqB,CAC1C,QAA2B,EAC3B,aAAuC;IAAvC,8BAAA,EAAA,kBAAuC;;;;;;yBAEnC,CAAA,QAAQ,KAAK,+BAAiB,CAAC,UAAU,CAAA,EAAzC,wBAAyC;oBAE3C,KACG,aAAa,cADwD,EAAvD,oBAAoB,oBAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,2BAAnC,CACpB;yBACd,CAAA,oBAAoB,IAAI,OAAO,oBAAoB,KAAK,UAAU,CAAA,EAAlE,wBAAkE;;;;oBAElD,qBAAM,oBAAoB,EAAE,EAAA;;oBAAtC,KAAK,GAAK,CAAA,SAA4B,CAAA,MAAjC;oBACb,sBAAO,KAAK,EAAC;;;oBAEb,MAAM,IAAI,KAAK,CACd,yDAAyD,OAAO,CAChE,CAAC;;;gBAGH,qCAAqC;gBACrC,MAAM,IAAI,KAAK,CACd,4FAA8F,+BAAiB,CAAC,UAAY,CAC5H,CAAC;;;;;CAGJ;AAxBD,sDAwBC;AAED,oHAAoH;AACpH,SAAgB,kBAAkB,CACjC,eAA4B,EAC5B,KAA8C;IAE9C,IAAM,YAAY,GAAG,kCAA2B,CAAC,eAAe,CAAC,CAAC;IAElE,IAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,KAAK,CAAC,CAAC,CAAC,EAAR,CAAQ,CAAC,CAAC,IAAI,CAAC,+BAAwB,CAAC,CAAC;IAE9E,OAAO,MAAM,CAAC;AACf,CAAC;AATD,gDASC"}
package/lib/types.js CHANGED
@@ -6,12 +6,16 @@ function isSchemaModel(obj) {
6
6
  return obj && obj.pluralName !== undefined;
7
7
  }
8
8
  exports.isSchemaModel = isSchemaModel;
9
+ function isSchemaModelWithAttributes(m) {
10
+ return isSchemaModel(m) && m.attributes !== undefined;
11
+ }
12
+ exports.isSchemaModelWithAttributes = isSchemaModelWithAttributes;
9
13
  function isAssociatedWith(obj) {
10
14
  return obj && obj.associatedWith;
11
15
  }
12
16
  exports.isAssociatedWith = isAssociatedWith;
13
17
  function isTargetNameAssociation(obj) {
14
- return obj && obj.targetName;
18
+ return (obj === null || obj === void 0 ? void 0 : obj.targetName) || (obj === null || obj === void 0 ? void 0 : obj.targetNames);
15
19
  }
16
20
  exports.isTargetNameAssociation = isTargetNameAssociation;
17
21
  function isModelAttributeAuth(attr) {
@@ -148,6 +152,11 @@ function isEnumFieldType(obj) {
148
152
  return false;
149
153
  }
150
154
  exports.isEnumFieldType = isEnumFieldType;
155
+ function isIdentifierObject(obj, modelDefinition) {
156
+ var keys = util_1.extractPrimaryKeyFieldNames(modelDefinition);
157
+ return (typeof obj === 'object' && obj && keys.every(function (k) { return obj[k] !== undefined; }));
158
+ }
159
+ exports.isIdentifierObject = isIdentifierObject;
151
160
  //#endregion
152
161
  //#region Subscription messages
153
162
  var OpType;