@aws-amplify/datastore 3.12.3-unstable.5 → 3.12.3

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 (55) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/aws-amplify-datastore.js +192 -150
  3. package/dist/aws-amplify-datastore.js.map +1 -1
  4. package/dist/aws-amplify-datastore.min.js +6 -6
  5. package/dist/aws-amplify-datastore.min.js.map +1 -1
  6. package/lib/authModeStrategies/multiAuthStrategy.d.ts +2 -2
  7. package/lib/authModeStrategies/multiAuthStrategy.js +32 -26
  8. package/lib/authModeStrategies/multiAuthStrategy.js.map +1 -1
  9. package/lib/datastore/datastore.d.ts +4 -0
  10. package/lib/datastore/datastore.js +18 -2
  11. package/lib/datastore/datastore.js.map +1 -1
  12. package/lib/sync/index.d.ts +3 -2
  13. package/lib/sync/index.js +5 -4
  14. package/lib/sync/index.js.map +1 -1
  15. package/lib/sync/processors/mutation.d.ts +4 -3
  16. package/lib/sync/processors/mutation.js +5 -3
  17. package/lib/sync/processors/mutation.js.map +1 -1
  18. package/lib/sync/processors/subscription.d.ts +3 -2
  19. package/lib/sync/processors/subscription.js +9 -7
  20. package/lib/sync/processors/subscription.js.map +1 -1
  21. package/lib/sync/processors/sync.d.ts +3 -4
  22. package/lib/sync/processors/sync.js +4 -3
  23. package/lib/sync/processors/sync.js.map +1 -1
  24. package/lib/types.d.ts +8 -0
  25. package/lib/types.js +0 -1
  26. package/lib/types.js.map +1 -1
  27. package/lib-esm/authModeStrategies/multiAuthStrategy.d.ts +2 -2
  28. package/lib-esm/authModeStrategies/multiAuthStrategy.js +32 -26
  29. package/lib-esm/authModeStrategies/multiAuthStrategy.js.map +1 -1
  30. package/lib-esm/datastore/datastore.d.ts +4 -0
  31. package/lib-esm/datastore/datastore.js +18 -2
  32. package/lib-esm/datastore/datastore.js.map +1 -1
  33. package/lib-esm/sync/index.d.ts +3 -2
  34. package/lib-esm/sync/index.js +5 -4
  35. package/lib-esm/sync/index.js.map +1 -1
  36. package/lib-esm/sync/processors/mutation.d.ts +4 -3
  37. package/lib-esm/sync/processors/mutation.js +5 -3
  38. package/lib-esm/sync/processors/mutation.js.map +1 -1
  39. package/lib-esm/sync/processors/subscription.d.ts +3 -2
  40. package/lib-esm/sync/processors/subscription.js +9 -7
  41. package/lib-esm/sync/processors/subscription.js.map +1 -1
  42. package/lib-esm/sync/processors/sync.d.ts +3 -4
  43. package/lib-esm/sync/processors/sync.js +4 -3
  44. package/lib-esm/sync/processors/sync.js.map +1 -1
  45. package/lib-esm/types.d.ts +8 -0
  46. package/lib-esm/types.js +0 -1
  47. package/lib-esm/types.js.map +1 -1
  48. package/package.json +7 -7
  49. package/src/authModeStrategies/multiAuthStrategy.ts +24 -21
  50. package/src/datastore/datastore.ts +22 -2
  51. package/src/sync/index.ts +12 -4
  52. package/src/sync/processors/mutation.ts +6 -3
  53. package/src/sync/processors/subscription.ts +15 -9
  54. package/src/sync/processors/sync.ts +4 -3
  55. package/src/types.ts +9 -0
@@ -81734,57 +81734,66 @@ function getAuthRules(_a) {
81734
81734
  return Array.from(authModes);
81735
81735
  }
81736
81736
 
81737
- var multiAuthStrategy = function multiAuthStrategy(_a) {
81738
- var schema = _a.schema,
81739
- modelName = _a.modelName;
81740
- return __awaiter(void 0, void 0, void 0, function () {
81741
- var currentUser, e_1, attributes, authAttribute, sortedRules;
81742
- return __generator(this, function (_b) {
81743
- switch (_b.label) {
81744
- case 0:
81745
- _b.trys.push([0, 2,, 3]);
81737
+ var multiAuthStrategy = function multiAuthStrategy(amplifyContext) {
81738
+ return function (_a) {
81739
+ var schema = _a.schema,
81740
+ modelName = _a.modelName;
81741
+ return __awaiter(void 0, void 0, void 0, function () {
81742
+ var currentUser, e_1, attributes, authAttribute, sortedRules;
81746
81743
 
81747
- return [4
81748
- /*yield*/
81749
- , _aws_amplify_auth__WEBPACK_IMPORTED_MODULE_0__["default"].currentAuthenticatedUser()];
81744
+ var _b;
81750
81745
 
81751
- case 1:
81752
- currentUser = _b.sent();
81753
- return [3
81754
- /*break*/
81755
- , 3];
81746
+ return __generator(this, function (_c) {
81747
+ switch (_c.label) {
81748
+ case 0:
81749
+ amplifyContext.Auth = amplifyContext.Auth || _aws_amplify_auth__WEBPACK_IMPORTED_MODULE_0__["default"];
81750
+ _c.label = 1;
81756
81751
 
81757
- case 2:
81758
- e_1 = _b.sent();
81759
- return [3
81760
- /*break*/
81761
- , 3];
81752
+ case 1:
81753
+ _c.trys.push([1, 3,, 4]);
81762
81754
 
81763
- case 3:
81764
- attributes = schema.namespaces.user.models[modelName].attributes;
81755
+ return [4
81756
+ /*yield*/
81757
+ , amplifyContext.Auth.currentAuthenticatedUser()];
81765
81758
 
81766
- if (attributes) {
81767
- authAttribute = attributes.find(function (attr) {
81768
- return attr.type === 'auth';
81769
- });
81759
+ case 2:
81760
+ currentUser = _c.sent();
81761
+ return [3
81762
+ /*break*/
81763
+ , 4];
81770
81764
 
81771
- if (authAttribute.properties && authAttribute.properties.rules) {
81772
- sortedRules = sortAuthRulesWithPriority(authAttribute.properties.rules);
81773
- return [2
81774
- /*return*/
81775
- , getAuthRules({
81776
- currentUser: currentUser,
81777
- rules: sortedRules
81778
- })];
81765
+ case 3:
81766
+ e_1 = _c.sent();
81767
+ return [3
81768
+ /*break*/
81769
+ , 4];
81770
+
81771
+ case 4:
81772
+ attributes = schema.namespaces.user.models[modelName].attributes;
81773
+
81774
+ if (attributes) {
81775
+ authAttribute = attributes.find(function (attr) {
81776
+ return attr.type === 'auth';
81777
+ });
81778
+
81779
+ if ((_b = authAttribute === null || authAttribute === void 0 ? void 0 : authAttribute.properties) === null || _b === void 0 ? void 0 : _b.rules) {
81780
+ sortedRules = sortAuthRulesWithPriority(authAttribute.properties.rules);
81781
+ return [2
81782
+ /*return*/
81783
+ , getAuthRules({
81784
+ currentUser: currentUser,
81785
+ rules: sortedRules
81786
+ })];
81787
+ }
81779
81788
  }
81780
- }
81781
81789
 
81782
- return [2
81783
- /*return*/
81784
- , []];
81785
- }
81790
+ return [2
81791
+ /*return*/
81792
+ , []];
81793
+ }
81794
+ });
81786
81795
  });
81787
- });
81796
+ };
81788
81797
  };
81789
81798
 
81790
81799
  /***/ }),
@@ -81802,17 +81811,20 @@ __webpack_require__.r(__webpack_exports__);
81802
81811
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DataStoreClass", function() { return DataStore; });
81803
81812
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "initSchema", function() { return initSchema; });
81804
81813
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DataStore", function() { return instance; });
81805
- /* harmony import */ var _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @aws-amplify/core */ "../core/lib-esm/index.js");
81806
- /* harmony import */ var immer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! immer */ "./node_modules/immer/dist/immer.esm.js");
81807
- /* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! uuid */ "./node_modules/uuid/index.js");
81808
- /* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(uuid__WEBPACK_IMPORTED_MODULE_2__);
81809
- /* harmony import */ var zen_observable_ts__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zen-observable-ts */ "../../node_modules/zen-observable-ts/lib/bundle.esm.js");
81810
- /* harmony import */ var _authModeStrategies__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../authModeStrategies */ "./lib-esm/authModeStrategies/index.js");
81811
- /* harmony import */ var _predicates__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../predicates */ "./lib-esm/predicates/index.js");
81812
- /* harmony import */ var _storage_storage__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../storage/storage */ "./lib-esm/storage/storage.js");
81813
- /* harmony import */ var _sync__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../sync */ "./lib-esm/sync/index.js");
81814
- /* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../types */ "./lib-esm/types.js");
81815
- /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../util */ "./lib-esm/util.js");
81814
+ /* harmony import */ var _aws_amplify_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @aws-amplify/api */ "../api/lib-esm/index.js");
81815
+ /* harmony import */ var _aws_amplify_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @aws-amplify/core */ "../core/lib-esm/index.js");
81816
+ /* harmony import */ var _aws_amplify_auth__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @aws-amplify/auth */ "../auth/lib-esm/index.js");
81817
+ /* harmony import */ var _aws_amplify_cache__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @aws-amplify/cache */ "../cache/lib-esm/index.js");
81818
+ /* harmony import */ var immer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! immer */ "./node_modules/immer/dist/immer.esm.js");
81819
+ /* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! uuid */ "./node_modules/uuid/index.js");
81820
+ /* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(uuid__WEBPACK_IMPORTED_MODULE_5__);
81821
+ /* harmony import */ var zen_observable_ts__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! zen-observable-ts */ "../../node_modules/zen-observable-ts/lib/bundle.esm.js");
81822
+ /* harmony import */ var _authModeStrategies__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../authModeStrategies */ "./lib-esm/authModeStrategies/index.js");
81823
+ /* harmony import */ var _predicates__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../predicates */ "./lib-esm/predicates/index.js");
81824
+ /* harmony import */ var _storage_storage__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../storage/storage */ "./lib-esm/storage/storage.js");
81825
+ /* harmony import */ var _sync__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../sync */ "./lib-esm/sync/index.js");
81826
+ /* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../types */ "./lib-esm/types.js");
81827
+ /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../util */ "./lib-esm/util.js");
81816
81828
  function _typeof(obj) {
81817
81829
  "@babel/helpers - typeof";
81818
81830
 
@@ -82057,11 +82069,14 @@ var __spread = undefined && undefined.__spread || function () {
82057
82069
 
82058
82070
 
82059
82071
 
82060
- Object(immer__WEBPACK_IMPORTED_MODULE_1__["setAutoFreeze"])(true);
82061
- Object(immer__WEBPACK_IMPORTED_MODULE_1__["enablePatches"])();
82062
- var logger = new _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["ConsoleLogger"]('DataStore');
82063
- var ulid = Object(_util__WEBPACK_IMPORTED_MODULE_9__["monotonicUlidFactory"])(Date.now());
82064
- var isNode = _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["JS"].browserOrNode().isNode;
82072
+
82073
+
82074
+
82075
+ Object(immer__WEBPACK_IMPORTED_MODULE_4__["setAutoFreeze"])(true);
82076
+ Object(immer__WEBPACK_IMPORTED_MODULE_4__["enablePatches"])();
82077
+ var logger = new _aws_amplify_core__WEBPACK_IMPORTED_MODULE_1__["ConsoleLogger"]('DataStore');
82078
+ var ulid = Object(_util__WEBPACK_IMPORTED_MODULE_12__["monotonicUlidFactory"])(Date.now());
82079
+ var isNode = _aws_amplify_core__WEBPACK_IMPORTED_MODULE_1__["JS"].browserOrNode().isNode;
82065
82080
  var SETTING_SCHEMA_VERSION = 'schemaVersion';
82066
82081
  var schema;
82067
82082
  var modelNamespaceMap = new WeakMap(); // stores data for crafting the correct update mutation input for a model
@@ -82076,7 +82091,7 @@ var getModelDefinition = function getModelDefinition(modelConstructor) {
82076
82091
  };
82077
82092
 
82078
82093
  var isValidModelConstructor = function isValidModelConstructor(obj) {
82079
- return Object(_util__WEBPACK_IMPORTED_MODULE_9__["isModelConstructor"])(obj) && modelNamespaceMap.has(obj);
82094
+ return Object(_util__WEBPACK_IMPORTED_MODULE_12__["isModelConstructor"])(obj) && modelNamespaceMap.has(obj);
82080
82095
  };
82081
82096
 
82082
82097
  var namespaceResolver = function namespaceResolver(modelConstructor) {
@@ -82102,15 +82117,15 @@ var initSchema = function initSchema(userSchema) {
82102
82117
  });
82103
82118
 
82104
82119
  var internalUserNamespace = __assign({
82105
- name: _util__WEBPACK_IMPORTED_MODULE_9__["USER"]
82120
+ name: _util__WEBPACK_IMPORTED_MODULE_12__["USER"]
82106
82121
  }, userSchema);
82107
82122
 
82108
82123
  logger.log('DataStore', 'Init models');
82109
82124
  userClasses = createTypeClasses(internalUserNamespace);
82110
82125
  logger.log('DataStore', 'Models initialized');
82111
82126
  var dataStoreNamespace = getNamespace();
82112
- var storageNamespace = _storage_storage__WEBPACK_IMPORTED_MODULE_6__["ExclusiveStorage"].getNamespace();
82113
- var syncNamespace = _sync__WEBPACK_IMPORTED_MODULE_7__["SyncEngine"].getNamespace();
82127
+ var storageNamespace = _storage_storage__WEBPACK_IMPORTED_MODULE_9__["ExclusiveStorage"].getNamespace();
82128
+ var syncNamespace = _sync__WEBPACK_IMPORTED_MODULE_10__["SyncEngine"].getNamespace();
82114
82129
  dataStoreClasses = createTypeClasses(dataStoreNamespace);
82115
82130
  storageClasses = createTypeClasses(storageNamespace);
82116
82131
  syncClasses = createTypeClasses(syncNamespace);
@@ -82121,7 +82136,7 @@ var initSchema = function initSchema(userSchema) {
82121
82136
  Object.keys(schema.namespaces).forEach(function (namespace) {
82122
82137
  var e_1, _a;
82123
82138
 
82124
- var _b = __read(Object(_util__WEBPACK_IMPORTED_MODULE_9__["establishRelationAndKeys"])(schema.namespaces[namespace]), 2),
82139
+ var _b = __read(Object(_util__WEBPACK_IMPORTED_MODULE_12__["establishRelationAndKeys"])(schema.namespaces[namespace]), 2),
82125
82140
  relations = _b[0],
82126
82141
  keys = _b[1];
82127
82142
 
@@ -82242,9 +82257,9 @@ var validateModelFields = function validateModelFields(modelDefinition) {
82242
82257
  throw new Error("Field " + name_1 + " is required");
82243
82258
  }
82244
82259
 
82245
- if (Object(_types__WEBPACK_IMPORTED_MODULE_8__["isGraphQLScalarType"])(type)) {
82246
- var jsType_1 = _types__WEBPACK_IMPORTED_MODULE_8__["GraphQLScalarType"].getJSType(type);
82247
- var validateScalar_1 = _types__WEBPACK_IMPORTED_MODULE_8__["GraphQLScalarType"].getValidationFunction(type);
82260
+ if (Object(_types__WEBPACK_IMPORTED_MODULE_11__["isGraphQLScalarType"])(type)) {
82261
+ var jsType_1 = _types__WEBPACK_IMPORTED_MODULE_11__["GraphQLScalarType"].getJSType(type);
82262
+ var validateScalar_1 = _types__WEBPACK_IMPORTED_MODULE_11__["GraphQLScalarType"].getValidationFunction(type);
82248
82263
 
82249
82264
  if (type === 'AWSJSON') {
82250
82265
  if (_typeof(v) === jsType_1) {
@@ -82272,8 +82287,8 @@ var validateModelFields = function validateModelFields(modelDefinition) {
82272
82287
  throw new Error("Field " + name_1 + " should be of type [" + errorTypeText + "], " + _typeof(v) + " received. " + v);
82273
82288
  }
82274
82289
 
82275
- if (!Object(_util__WEBPACK_IMPORTED_MODULE_9__["isNullOrUndefined"])(v) && v.some(function (e) {
82276
- return Object(_util__WEBPACK_IMPORTED_MODULE_9__["isNullOrUndefined"])(e) ? isRequired_1 : _typeof(e) !== jsType_1;
82290
+ if (!Object(_util__WEBPACK_IMPORTED_MODULE_12__["isNullOrUndefined"])(v) && v.some(function (e) {
82291
+ return Object(_util__WEBPACK_IMPORTED_MODULE_12__["isNullOrUndefined"])(e) ? isRequired_1 : _typeof(e) !== jsType_1;
82277
82292
  })) {
82278
82293
  var elemTypes = v.map(function (e) {
82279
82294
  return e === null ? 'null' : _typeof(e);
@@ -82281,11 +82296,11 @@ var validateModelFields = function validateModelFields(modelDefinition) {
82281
82296
  throw new Error("All elements in the " + name_1 + " array should be of type " + errorTypeText + ", [" + elemTypes + "] received. " + v);
82282
82297
  }
82283
82298
 
82284
- if (validateScalar_1 && !Object(_util__WEBPACK_IMPORTED_MODULE_9__["isNullOrUndefined"])(v)) {
82299
+ if (validateScalar_1 && !Object(_util__WEBPACK_IMPORTED_MODULE_12__["isNullOrUndefined"])(v)) {
82285
82300
  var validationStatus = v.map(function (e) {
82286
- if (!Object(_util__WEBPACK_IMPORTED_MODULE_9__["isNullOrUndefined"])(e)) {
82301
+ if (!Object(_util__WEBPACK_IMPORTED_MODULE_12__["isNullOrUndefined"])(e)) {
82287
82302
  return validateScalar_1(e);
82288
- } else if (Object(_util__WEBPACK_IMPORTED_MODULE_9__["isNullOrUndefined"])(e) && !isRequired_1) {
82303
+ } else if (Object(_util__WEBPACK_IMPORTED_MODULE_12__["isNullOrUndefined"])(e) && !isRequired_1) {
82289
82304
  return true;
82290
82305
  } else {
82291
82306
  return false;
@@ -82302,7 +82317,7 @@ var validateModelFields = function validateModelFields(modelDefinition) {
82302
82317
  return;
82303
82318
  } else if (_typeof(v) !== jsType_1 && v !== null) {
82304
82319
  throw new Error("Field " + name_1 + " should be of type " + jsType_1 + ", " + _typeof(v) + " received. " + v);
82305
- } else if (!Object(_util__WEBPACK_IMPORTED_MODULE_9__["isNullOrUndefined"])(v) && validateScalar_1 && !validateScalar_1(v)) {
82320
+ } else if (!Object(_util__WEBPACK_IMPORTED_MODULE_12__["isNullOrUndefined"])(v) && validateScalar_1 && !validateScalar_1(v)) {
82306
82321
  throw new Error("Field " + name_1 + " should be of type " + type + ", validation failed. " + v);
82307
82322
  }
82308
82323
  }
@@ -82316,7 +82331,7 @@ var castInstanceType = function castInstanceType(modelDefinition, k, v) {
82316
82331
  type = _a.type; // attempt to parse stringified JSON
82317
82332
 
82318
82333
 
82319
- if (typeof v === 'string' && (isArray || type === 'AWSJSON' || Object(_types__WEBPACK_IMPORTED_MODULE_8__["isNonModelFieldType"])(type) || Object(_types__WEBPACK_IMPORTED_MODULE_8__["isModelFieldType"])(type))) {
82334
+ if (typeof v === 'string' && (isArray || type === 'AWSJSON' || Object(_types__WEBPACK_IMPORTED_MODULE_11__["isNonModelFieldType"])(type) || Object(_types__WEBPACK_IMPORTED_MODULE_11__["isModelFieldType"])(type))) {
82320
82335
  try {
82321
82336
  return JSON.parse(v);
82322
82337
  } catch (_b) {// if JSON is invalid, don't throw and let modelValidator handle it
@@ -82349,7 +82364,7 @@ var createModelClass = function createModelClass(modelDefinition) {
82349
82364
  /** @class */
82350
82365
  function () {
82351
82366
  function Model(init) {
82352
- var instance = Object(immer__WEBPACK_IMPORTED_MODULE_1__["produce"])(this, function (draft) {
82367
+ var instance = Object(immer__WEBPACK_IMPORTED_MODULE_4__["produce"])(this, function (draft) {
82353
82368
  initializeInstance(init, modelDefinition, draft);
82354
82369
  var modelInstanceMetadata = instancesMetadata.has(init) ? init : {};
82355
82370
  var _id = modelInstanceMetadata.id,
@@ -82358,7 +82373,7 @@ var createModelClass = function createModelClass(modelDefinition) {
82358
82373
  _deleted = modelInstanceMetadata._deleted; // instancesIds are set by modelInstanceCreator, it is accessible only internally
82359
82374
 
82360
82375
  var isInternal = _id !== null && _id !== undefined;
82361
- var id = isInternal ? _id : modelDefinition.syncable ? Object(uuid__WEBPACK_IMPORTED_MODULE_2__["v4"])() : ulid();
82376
+ var id = isInternal ? _id : modelDefinition.syncable ? Object(uuid__WEBPACK_IMPORTED_MODULE_5__["v4"])() : ulid();
82362
82377
 
82363
82378
  if (!isInternal) {
82364
82379
  checkReadOnlyPropertyOnCreate(draft, modelDefinition);
@@ -82387,7 +82402,7 @@ var createModelClass = function createModelClass(modelDefinition) {
82387
82402
  }
82388
82403
 
82389
82404
  var patches;
82390
- var model = Object(immer__WEBPACK_IMPORTED_MODULE_1__["produce"])(source, function (draft) {
82405
+ var model = Object(immer__WEBPACK_IMPORTED_MODULE_4__["produce"])(source, function (draft) {
82391
82406
  fn(draft);
82392
82407
  draft.id = source.id;
82393
82408
  var modelValidator = validateModelFields(modelDefinition);
@@ -82410,7 +82425,7 @@ var createModelClass = function createModelClass(modelDefinition) {
82410
82425
  existingPatches = _a[0],
82411
82426
  existingSource = _a[1];
82412
82427
 
82413
- var mergedPatches = Object(_util__WEBPACK_IMPORTED_MODULE_9__["mergePatches"])(existingSource, existingPatches, patches);
82428
+ var mergedPatches = Object(_util__WEBPACK_IMPORTED_MODULE_12__["mergePatches"])(existingSource, existingPatches, patches);
82414
82429
  modelPatchesMap.set(model, [mergedPatches, existingSource]);
82415
82430
  checkReadOnlyPropertyOnUpdate(mergedPatches, modelDefinition);
82416
82431
  } else {
@@ -82448,7 +82463,7 @@ var createModelClass = function createModelClass(modelDefinition) {
82448
82463
  return Model;
82449
82464
  }();
82450
82465
 
82451
- clazz[immer__WEBPACK_IMPORTED_MODULE_1__["immerable"]] = true;
82466
+ clazz[immer__WEBPACK_IMPORTED_MODULE_4__["immerable"]] = true;
82452
82467
  Object.defineProperty(clazz, 'name', {
82453
82468
  value: modelDefinition.name
82454
82469
  });
@@ -82488,7 +82503,7 @@ var createNonModelClass = function createNonModelClass(typeDefinition) {
82488
82503
  /** @class */
82489
82504
  function () {
82490
82505
  function Model(init) {
82491
- var instance = Object(immer__WEBPACK_IMPORTED_MODULE_1__["produce"])(this, function (draft) {
82506
+ var instance = Object(immer__WEBPACK_IMPORTED_MODULE_4__["produce"])(this, function (draft) {
82492
82507
  initializeInstance(init, typeDefinition, draft);
82493
82508
  });
82494
82509
  return instance;
@@ -82497,11 +82512,11 @@ var createNonModelClass = function createNonModelClass(typeDefinition) {
82497
82512
  return Model;
82498
82513
  }();
82499
82514
 
82500
- clazz[immer__WEBPACK_IMPORTED_MODULE_1__["immerable"]] = true;
82515
+ clazz[immer__WEBPACK_IMPORTED_MODULE_4__["immerable"]] = true;
82501
82516
  Object.defineProperty(clazz, 'name', {
82502
82517
  value: typeDefinition.name
82503
82518
  });
82504
- Object(_util__WEBPACK_IMPORTED_MODULE_9__["registerNonModelClass"])(clazz);
82519
+ Object(_util__WEBPACK_IMPORTED_MODULE_12__["registerNonModelClass"])(clazz);
82505
82520
  return clazz;
82506
82521
  };
82507
82522
 
@@ -82527,24 +82542,24 @@ function getModelConstructorByModelName(namespaceName, modelName) {
82527
82542
  var result;
82528
82543
 
82529
82544
  switch (namespaceName) {
82530
- case _util__WEBPACK_IMPORTED_MODULE_9__["DATASTORE"]:
82545
+ case _util__WEBPACK_IMPORTED_MODULE_12__["DATASTORE"]:
82531
82546
  result = dataStoreClasses[modelName];
82532
82547
  break;
82533
82548
 
82534
- case _util__WEBPACK_IMPORTED_MODULE_9__["USER"]:
82549
+ case _util__WEBPACK_IMPORTED_MODULE_12__["USER"]:
82535
82550
  result = userClasses[modelName];
82536
82551
  break;
82537
82552
 
82538
- case _util__WEBPACK_IMPORTED_MODULE_9__["SYNC"]:
82553
+ case _util__WEBPACK_IMPORTED_MODULE_12__["SYNC"]:
82539
82554
  result = syncClasses[modelName];
82540
82555
  break;
82541
82556
 
82542
- case _util__WEBPACK_IMPORTED_MODULE_9__["STORAGE"]:
82557
+ case _util__WEBPACK_IMPORTED_MODULE_12__["STORAGE"]:
82543
82558
  result = storageClasses[modelName];
82544
82559
  break;
82545
82560
 
82546
82561
  default:
82547
- Object(_util__WEBPACK_IMPORTED_MODULE_9__["exhaustiveCheck"])(namespaceName);
82562
+ Object(_util__WEBPACK_IMPORTED_MODULE_12__["exhaustiveCheck"])(namespaceName);
82548
82563
  break;
82549
82564
  }
82550
82565
 
@@ -82567,7 +82582,7 @@ function checkSchemaVersion(storage, version) {
82567
82582
  switch (_a.label) {
82568
82583
  case 0:
82569
82584
  Setting = dataStoreClasses.Setting;
82570
- modelDefinition = schema.namespaces[_util__WEBPACK_IMPORTED_MODULE_9__["DATASTORE"]].models.Setting;
82585
+ modelDefinition = schema.namespaces[_util__WEBPACK_IMPORTED_MODULE_12__["DATASTORE"]].models.Setting;
82571
82586
  return [4
82572
82587
  /*yield*/
82573
82588
  , storage.runExclusive(function (s) {
@@ -82579,7 +82594,7 @@ function checkSchemaVersion(storage, version) {
82579
82594
  case 0:
82580
82595
  return [4
82581
82596
  /*yield*/
82582
- , s.query(Setting, _predicates__WEBPACK_IMPORTED_MODULE_5__["ModelPredicateCreator"].createFromExisting(modelDefinition, function (c) {
82597
+ , s.query(Setting, _predicates__WEBPACK_IMPORTED_MODULE_8__["ModelPredicateCreator"].createFromExisting(modelDefinition, function (c) {
82583
82598
  // @ts-ignore Argument of type '"eq"' is not assignable to parameter of type 'never'.
82584
82599
  return c.key('eq', SETTING_SCHEMA_VERSION);
82585
82600
  }), {
@@ -82647,7 +82662,7 @@ var syncSubscription;
82647
82662
 
82648
82663
  function getNamespace() {
82649
82664
  var namespace = {
82650
- name: _util__WEBPACK_IMPORTED_MODULE_9__["DATASTORE"],
82665
+ name: _util__WEBPACK_IMPORTED_MODULE_12__["DATASTORE"],
82651
82666
  relationships: {},
82652
82667
  enums: {},
82653
82668
  nonModels: {},
@@ -82686,10 +82701,20 @@ var DataStore =
82686
82701
  /** @class */
82687
82702
  function () {
82688
82703
  function DataStore() {
82689
- var _this = this;
82704
+ var _this = this; // reference to configured category instances. Used for preserving SSR context
82690
82705
 
82706
+
82707
+ this.Auth = _aws_amplify_auth__WEBPACK_IMPORTED_MODULE_2__["Auth"];
82708
+ this.API = _aws_amplify_api__WEBPACK_IMPORTED_MODULE_0__["default"];
82709
+ this.Cache = _aws_amplify_cache__WEBPACK_IMPORTED_MODULE_3__["default"];
82691
82710
  this.amplifyConfig = {};
82692
- this.syncPredicates = new WeakMap();
82711
+ this.syncPredicates = new WeakMap(); // object that gets passed to descendent classes. Allows us to pass these down by reference
82712
+
82713
+ this.amplifyContext = {
82714
+ Auth: this.Auth,
82715
+ API: this.API,
82716
+ Cache: this.Cache
82717
+ };
82693
82718
 
82694
82719
  this.start = function () {
82695
82720
  return __awaiter(_this, void 0, void 0, function () {
@@ -82725,7 +82750,7 @@ function () {
82725
82750
  ];
82726
82751
 
82727
82752
  case 3:
82728
- this.storage = new _storage_storage__WEBPACK_IMPORTED_MODULE_6__["ExclusiveStorage"](schema, namespaceResolver, getModelConstructorByModelName, modelInstanceCreator, this.storageAdapter, this.sessionId);
82753
+ this.storage = new _storage_storage__WEBPACK_IMPORTED_MODULE_9__["ExclusiveStorage"](schema, namespaceResolver, getModelConstructorByModelName, modelInstanceCreator, this.storageAdapter, this.sessionId);
82729
82754
  return [4
82730
82755
  /*yield*/
82731
82756
  , this.storage.init()];
@@ -82753,7 +82778,7 @@ function () {
82753
82778
 
82754
82779
  case 6:
82755
82780
  _a.syncPredicates = _b.sent();
82756
- this.sync = new _sync__WEBPACK_IMPORTED_MODULE_7__["SyncEngine"](schema, namespaceResolver, syncClasses, userClasses, this.storage, modelInstanceCreator, this.conflictHandler, this.errorHandler, this.syncPredicates, this.amplifyConfig, this.authModeStrategy);
82781
+ this.sync = new _sync__WEBPACK_IMPORTED_MODULE_10__["SyncEngine"](schema, namespaceResolver, syncClasses, userClasses, this.storage, modelInstanceCreator, this.conflictHandler, this.errorHandler, this.syncPredicates, this.amplifyConfig, this.authModeStrategy, this.amplifyContext);
82757
82782
  fullSyncIntervalInMilliseconds = this.fullSyncInterval * 1000 * 60;
82758
82783
  syncSubscription = this.sync.start({
82759
82784
  fullSyncInterval: fullSyncIntervalInMilliseconds
@@ -82763,13 +82788,13 @@ function () {
82763
82788
  data = _a.data; // In Node, we need to wait for queries to be synced to prevent returning empty arrays.
82764
82789
  // In the Browser, we can begin returning data once subscriptions are in place.
82765
82790
 
82766
- var readyType = isNode ? _sync__WEBPACK_IMPORTED_MODULE_7__["ControlMessage"].SYNC_ENGINE_SYNC_QUERIES_READY : _sync__WEBPACK_IMPORTED_MODULE_7__["ControlMessage"].SYNC_ENGINE_STORAGE_SUBSCRIBED;
82791
+ var readyType = isNode ? _sync__WEBPACK_IMPORTED_MODULE_10__["ControlMessage"].SYNC_ENGINE_SYNC_QUERIES_READY : _sync__WEBPACK_IMPORTED_MODULE_10__["ControlMessage"].SYNC_ENGINE_STORAGE_SUBSCRIBED;
82767
82792
 
82768
82793
  if (type === readyType) {
82769
82794
  _this.initResolve();
82770
82795
  }
82771
82796
 
82772
- _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["Hub"].dispatch('datastore', {
82797
+ _aws_amplify_core__WEBPACK_IMPORTED_MODULE_1__["Hub"].dispatch('datastore', {
82773
82798
  event: type,
82774
82799
  data: data
82775
82800
  });
@@ -82838,13 +82863,13 @@ function () {
82838
82863
  modelDefinition = getModelDefinition(modelConstructor);
82839
82864
 
82840
82865
  if (isQueryOne(idOrCriteria)) {
82841
- predicate = _predicates__WEBPACK_IMPORTED_MODULE_5__["ModelPredicateCreator"].createForId(modelDefinition, idOrCriteria);
82866
+ predicate = _predicates__WEBPACK_IMPORTED_MODULE_8__["ModelPredicateCreator"].createForId(modelDefinition, idOrCriteria);
82842
82867
  } else {
82843
- if (Object(_predicates__WEBPACK_IMPORTED_MODULE_5__["isPredicatesAll"])(idOrCriteria)) {
82868
+ if (Object(_predicates__WEBPACK_IMPORTED_MODULE_8__["isPredicatesAll"])(idOrCriteria)) {
82844
82869
  // Predicates.ALL means "all records", so no predicate (undefined)
82845
82870
  predicate = undefined;
82846
82871
  } else {
82847
- predicate = _predicates__WEBPACK_IMPORTED_MODULE_5__["ModelPredicateCreator"].createFromExisting(modelDefinition, idOrCriteria);
82872
+ predicate = _predicates__WEBPACK_IMPORTED_MODULE_8__["ModelPredicateCreator"].createFromExisting(modelDefinition, idOrCriteria);
82848
82873
  }
82849
82874
  }
82850
82875
 
@@ -82852,9 +82877,9 @@ function () {
82852
82877
 
82853
82878
  logger.debug('params ready', {
82854
82879
  modelConstructor: modelConstructor,
82855
- predicate: _predicates__WEBPACK_IMPORTED_MODULE_5__["ModelPredicateCreator"].getPredicates(predicate, false),
82880
+ predicate: _predicates__WEBPACK_IMPORTED_MODULE_8__["ModelPredicateCreator"].getPredicates(predicate, false),
82856
82881
  pagination: __assign(__assign({}, pagination), {
82857
- sort: _predicates__WEBPACK_IMPORTED_MODULE_5__["ModelSortPredicateCreator"].getPredicates(pagination && pagination.sort, false)
82882
+ sort: _predicates__WEBPACK_IMPORTED_MODULE_8__["ModelSortPredicateCreator"].getPredicates(pagination && pagination.sort, false)
82858
82883
  })
82859
82884
  });
82860
82885
  return [4
@@ -82899,7 +82924,7 @@ function () {
82899
82924
  }
82900
82925
 
82901
82926
  modelDefinition = getModelDefinition(modelConstructor);
82902
- producedCondition = _predicates__WEBPACK_IMPORTED_MODULE_5__["ModelPredicateCreator"].createFromExisting(modelDefinition, condition);
82927
+ producedCondition = _predicates__WEBPACK_IMPORTED_MODULE_8__["ModelPredicateCreator"].createFromExisting(modelDefinition, condition);
82903
82928
  return [4
82904
82929
  /*yield*/
82905
82930
  , this.storage.runExclusive(function (s) {
@@ -82916,7 +82941,7 @@ function () {
82916
82941
 
82917
82942
  return [2
82918
82943
  /*return*/
82919
- , s.query(modelConstructor, _predicates__WEBPACK_IMPORTED_MODULE_5__["ModelPredicateCreator"].createForId(modelDefinition, model.id))];
82944
+ , s.query(modelConstructor, _predicates__WEBPACK_IMPORTED_MODULE_8__["ModelPredicateCreator"].createForId(modelDefinition, model.id))];
82920
82945
  }
82921
82946
  });
82922
82947
  });
@@ -83004,16 +83029,16 @@ function () {
83004
83029
  }
83005
83030
 
83006
83031
  if (typeof idOrCriteria === 'string') {
83007
- condition = _predicates__WEBPACK_IMPORTED_MODULE_5__["ModelPredicateCreator"].createForId(getModelDefinition(modelConstructor), idOrCriteria);
83032
+ condition = _predicates__WEBPACK_IMPORTED_MODULE_8__["ModelPredicateCreator"].createForId(getModelDefinition(modelConstructor), idOrCriteria);
83008
83033
  } else {
83009
- condition = _predicates__WEBPACK_IMPORTED_MODULE_5__["ModelPredicateCreator"].createFromExisting(getModelDefinition(modelConstructor),
83034
+ condition = _predicates__WEBPACK_IMPORTED_MODULE_8__["ModelPredicateCreator"].createFromExisting(getModelDefinition(modelConstructor),
83010
83035
  /**
83011
83036
  * idOrCriteria is always a ProducerModelPredicate<T>, never a symbol.
83012
83037
  * The symbol is used only for typing purposes. e.g. see Predicates.ALL
83013
83038
  */
83014
83039
  idOrCriteria);
83015
83040
 
83016
- if (!condition || !_predicates__WEBPACK_IMPORTED_MODULE_5__["ModelPredicateCreator"].isValidPredicate(condition)) {
83041
+ if (!condition || !_predicates__WEBPACK_IMPORTED_MODULE_8__["ModelPredicateCreator"].isValidPredicate(condition)) {
83017
83042
  msg = 'Criteria required. Do you want to delete all? Pass Predicates.ALL';
83018
83043
  logger.error(msg, {
83019
83044
  condition: condition
@@ -83045,7 +83070,7 @@ function () {
83045
83070
  }
83046
83071
 
83047
83072
  modelDefinition = getModelDefinition(modelConstructor);
83048
- idPredicate = _predicates__WEBPACK_IMPORTED_MODULE_5__["ModelPredicateCreator"].createForId(modelDefinition, model.id);
83073
+ idPredicate = _predicates__WEBPACK_IMPORTED_MODULE_8__["ModelPredicateCreator"].createForId(modelDefinition, model.id);
83049
83074
 
83050
83075
  if (idOrCriteria) {
83051
83076
  if (typeof idOrCriteria !== 'function') {
@@ -83116,12 +83141,12 @@ function () {
83116
83141
  }
83117
83142
 
83118
83143
  if (typeof idOrCriteria === 'string') {
83119
- predicate = _predicates__WEBPACK_IMPORTED_MODULE_5__["ModelPredicateCreator"].createForId(getModelDefinition(modelConstructor), idOrCriteria);
83144
+ predicate = _predicates__WEBPACK_IMPORTED_MODULE_8__["ModelPredicateCreator"].createForId(getModelDefinition(modelConstructor), idOrCriteria);
83120
83145
  } else {
83121
- predicate = modelConstructor && _predicates__WEBPACK_IMPORTED_MODULE_5__["ModelPredicateCreator"].createFromExisting(getModelDefinition(modelConstructor), idOrCriteria);
83146
+ predicate = modelConstructor && _predicates__WEBPACK_IMPORTED_MODULE_8__["ModelPredicateCreator"].createFromExisting(getModelDefinition(modelConstructor), idOrCriteria);
83122
83147
  }
83123
83148
 
83124
- return new zen_observable_ts__WEBPACK_IMPORTED_MODULE_3__["default"](function (observer) {
83149
+ return new zen_observable_ts__WEBPACK_IMPORTED_MODULE_6__["default"](function (observer) {
83125
83150
  var handle;
83126
83151
 
83127
83152
  (function () {
@@ -83142,7 +83167,7 @@ function () {
83142
83167
 
83143
83168
  handle = this.storage.observe(modelConstructor, predicate).filter(function (_a) {
83144
83169
  var model = _a.model;
83145
- return namespaceResolver(model) === _util__WEBPACK_IMPORTED_MODULE_9__["USER"];
83170
+ return namespaceResolver(model) === _util__WEBPACK_IMPORTED_MODULE_12__["USER"];
83146
83171
  }).subscribe({
83147
83172
  next: function next(item) {
83148
83173
  return __awaiter(_this, void 0, void 0, function () {
@@ -83198,7 +83223,7 @@ function () {
83198
83223
  };
83199
83224
 
83200
83225
  this.observeQuery = function (model, criteria, options) {
83201
- return new zen_observable_ts__WEBPACK_IMPORTED_MODULE_3__["default"](function (observer) {
83226
+ return new zen_observable_ts__WEBPACK_IMPORTED_MODULE_6__["default"](function (observer) {
83202
83227
  var items = new Map();
83203
83228
  var itemsChanged = new Map();
83204
83229
  var deletedItemIds = [];
@@ -83222,7 +83247,7 @@ function () {
83222
83247
  // "limit" (itemsChanged >= this.syncPageSize) has been reached, whichever comes first
83223
83248
 
83224
83249
 
83225
- var limitTimerRace = new _util__WEBPACK_IMPORTED_MODULE_9__["DeferredCallbackResolver"]({
83250
+ var limitTimerRace = new _util__WEBPACK_IMPORTED_MODULE_12__["DeferredCallbackResolver"]({
83226
83251
  callback: generateAndEmitSnapshot,
83227
83252
  errorHandler: observer.error,
83228
83253
  maxInterval: 2000
@@ -83234,17 +83259,17 @@ function () {
83234
83259
  var modelDefinition = getModelDefinition(model);
83235
83260
 
83236
83261
  if (isQueryOne(criteria)) {
83237
- predicate = _predicates__WEBPACK_IMPORTED_MODULE_5__["ModelPredicateCreator"].createForId(modelDefinition, criteria);
83262
+ predicate = _predicates__WEBPACK_IMPORTED_MODULE_8__["ModelPredicateCreator"].createForId(modelDefinition, criteria);
83238
83263
  } else {
83239
- if (Object(_predicates__WEBPACK_IMPORTED_MODULE_5__["isPredicatesAll"])(criteria)) {
83264
+ if (Object(_predicates__WEBPACK_IMPORTED_MODULE_8__["isPredicatesAll"])(criteria)) {
83240
83265
  // Predicates.ALL means "all records", so no predicate (undefined)
83241
83266
  predicate = undefined;
83242
83267
  } else {
83243
- predicate = _predicates__WEBPACK_IMPORTED_MODULE_5__["ModelPredicateCreator"].createFromExisting(modelDefinition, criteria);
83268
+ predicate = _predicates__WEBPACK_IMPORTED_MODULE_8__["ModelPredicateCreator"].createFromExisting(modelDefinition, criteria);
83244
83269
  }
83245
83270
  }
83246
83271
 
83247
- var _a = _predicates__WEBPACK_IMPORTED_MODULE_5__["ModelPredicateCreator"].getPredicates(predicate, false) || {},
83272
+ var _a = _predicates__WEBPACK_IMPORTED_MODULE_8__["ModelPredicateCreator"].getPredicates(predicate, false) || {},
83248
83273
  predicates = _a.predicates,
83249
83274
  predicateGroupType = _a.type;
83250
83275
 
@@ -83282,7 +83307,7 @@ function () {
83282
83307
 
83283
83308
  var _b, _c;
83284
83309
 
83285
- if (hasPredicate && !Object(_util__WEBPACK_IMPORTED_MODULE_9__["validatePredicate"])(element, predicateGroupType, predicates)) {
83310
+ if (hasPredicate && !Object(_util__WEBPACK_IMPORTED_MODULE_12__["validatePredicate"])(element, predicateGroupType, predicates)) {
83286
83311
  if (opType === 'UPDATE' && (items.has(element.id) || itemsChanged.has(element.id))) {
83287
83312
  // tracking as a "deleted item" will include the item in
83288
83313
  // page limit calculations and ensure it is removed from the
@@ -83398,10 +83423,10 @@ function () {
83398
83423
 
83399
83424
  var pagination = _this.processPagination(modelDefinition, options);
83400
83425
 
83401
- var sortPredicates = _predicates__WEBPACK_IMPORTED_MODULE_5__["ModelSortPredicateCreator"].getPredicates(pagination.sort);
83426
+ var sortPredicates = _predicates__WEBPACK_IMPORTED_MODULE_8__["ModelSortPredicateCreator"].getPredicates(pagination.sort);
83402
83427
 
83403
83428
  if (sortPredicates.length) {
83404
- var compareFn = Object(_util__WEBPACK_IMPORTED_MODULE_9__["sortCompareFunction"])(sortPredicates);
83429
+ var compareFn = Object(_util__WEBPACK_IMPORTED_MODULE_12__["sortCompareFunction"])(sortPredicates);
83405
83430
  itemsToSort.sort(compareFn);
83406
83431
  }
83407
83432
  };
@@ -83423,13 +83448,13 @@ function () {
83423
83448
  var event = payload.event,
83424
83449
  data = payload.data;
83425
83450
 
83426
- if (event === _sync__WEBPACK_IMPORTED_MODULE_7__["ControlMessage"].SYNC_ENGINE_MODEL_SYNCED && ((_b = data === null || data === void 0 ? void 0 : data.model) === null || _b === void 0 ? void 0 : _b.name) === model.name) {
83451
+ if (event === _sync__WEBPACK_IMPORTED_MODULE_10__["ControlMessage"].SYNC_ENGINE_MODEL_SYNCED && ((_b = data === null || data === void 0 ? void 0 : data.model) === null || _b === void 0 ? void 0 : _b.name) === model.name) {
83427
83452
  generateAndEmitSnapshot();
83428
- _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["Hub"].remove('api', hubCallback);
83453
+ _aws_amplify_core__WEBPACK_IMPORTED_MODULE_1__["Hub"].remove('api', hubCallback);
83429
83454
  }
83430
83455
  };
83431
83456
 
83432
- _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["Hub"].listen('datastore', hubCallback);
83457
+ _aws_amplify_core__WEBPACK_IMPORTED_MODULE_1__["Hub"].listen('datastore', hubCallback);
83433
83458
  return function () {
83434
83459
  if (handle) {
83435
83460
  handle.unsubscribe();
@@ -83443,6 +83468,10 @@ function () {
83443
83468
  config = {};
83444
83469
  }
83445
83470
 
83471
+ _this.amplifyContext.Auth = _this.Auth;
83472
+ _this.amplifyContext.API = _this.API;
83473
+ _this.amplifyContext.Cache = _this.Cache;
83474
+
83446
83475
  var configDataStore = config.DataStore,
83447
83476
  configAuthModeStrategyType = config.authModeStrategyType,
83448
83477
  configConflictHandler = config.conflictHandler,
@@ -83458,19 +83487,19 @@ function () {
83458
83487
  _this.amplifyConfig = __assign(__assign({}, configFromAmplify), _this.amplifyConfig);
83459
83488
  _this.conflictHandler = _this.setConflictHandler(config);
83460
83489
  _this.errorHandler = _this.setErrorHandler(config);
83461
- var authModeStrategyType = configDataStore && configDataStore.authModeStrategyType || configAuthModeStrategyType || _types__WEBPACK_IMPORTED_MODULE_8__["AuthModeStrategyType"].DEFAULT;
83490
+ var authModeStrategyType = configDataStore && configDataStore.authModeStrategyType || configAuthModeStrategyType || _types__WEBPACK_IMPORTED_MODULE_11__["AuthModeStrategyType"].DEFAULT;
83462
83491
 
83463
83492
  switch (authModeStrategyType) {
83464
- case _types__WEBPACK_IMPORTED_MODULE_8__["AuthModeStrategyType"].MULTI_AUTH:
83465
- _this.authModeStrategy = _authModeStrategies__WEBPACK_IMPORTED_MODULE_4__["multiAuthStrategy"];
83493
+ case _types__WEBPACK_IMPORTED_MODULE_11__["AuthModeStrategyType"].MULTI_AUTH:
83494
+ _this.authModeStrategy = Object(_authModeStrategies__WEBPACK_IMPORTED_MODULE_7__["multiAuthStrategy"])(_this.amplifyContext);
83466
83495
  break;
83467
83496
 
83468
- case _types__WEBPACK_IMPORTED_MODULE_8__["AuthModeStrategyType"].DEFAULT:
83469
- _this.authModeStrategy = _authModeStrategies__WEBPACK_IMPORTED_MODULE_4__["defaultAuthStrategy"];
83497
+ case _types__WEBPACK_IMPORTED_MODULE_11__["AuthModeStrategyType"].DEFAULT:
83498
+ _this.authModeStrategy = _authModeStrategies__WEBPACK_IMPORTED_MODULE_7__["defaultAuthStrategy"];
83470
83499
  break;
83471
83500
 
83472
83501
  default:
83473
- _this.authModeStrategy = _authModeStrategies__WEBPACK_IMPORTED_MODULE_4__["defaultAuthStrategy"];
83502
+ _this.authModeStrategy = _authModeStrategies__WEBPACK_IMPORTED_MODULE_7__["defaultAuthStrategy"];
83474
83503
  break;
83475
83504
  } // store on config object, so that Sync, Subscription, and Mutation processors can have access
83476
83505
 
@@ -83499,7 +83528,7 @@ function () {
83499
83528
  /*break*/
83500
83529
  , 2]; // connect to storage so that it can be cleared without fully starting DataStore
83501
83530
 
83502
- this.storage = new _storage_storage__WEBPACK_IMPORTED_MODULE_6__["ExclusiveStorage"](schema, namespaceResolver, getModelConstructorByModelName, modelInstanceCreator, this.storageAdapter, this.sessionId);
83531
+ this.storage = new _storage_storage__WEBPACK_IMPORTED_MODULE_9__["ExclusiveStorage"](schema, namespaceResolver, getModelConstructorByModelName, modelInstanceCreator, this.storageAdapter, this.sessionId);
83503
83532
  return [4
83504
83533
  /*yield*/
83505
83534
  , this.storage.init()];
@@ -83617,7 +83646,7 @@ function () {
83617
83646
  }
83618
83647
 
83619
83648
  if (sort) {
83620
- sortPredicate = _predicates__WEBPACK_IMPORTED_MODULE_5__["ModelSortPredicateCreator"].createFromExisting(modelDefinition, paginationProducer.sort);
83649
+ sortPredicate = _predicates__WEBPACK_IMPORTED_MODULE_8__["ModelSortPredicateCreator"].createFromExisting(modelDefinition, paginationProducer.sort);
83621
83650
  }
83622
83651
 
83623
83652
  return {
@@ -83665,7 +83694,7 @@ function () {
83665
83694
  case 2:
83666
83695
  condition = _b.sent();
83667
83696
 
83668
- if (Object(_predicates__WEBPACK_IMPORTED_MODULE_5__["isPredicatesAll"])(condition)) {
83697
+ if (Object(_predicates__WEBPACK_IMPORTED_MODULE_8__["isPredicatesAll"])(condition)) {
83669
83698
  return [2
83670
83699
  /*return*/
83671
83700
  , [modelDefinition, null]];
@@ -83692,7 +83721,7 @@ function () {
83692
83721
 
83693
83722
  DataStore.prototype.createFromCondition = function (modelDefinition, condition) {
83694
83723
  try {
83695
- return _predicates__WEBPACK_IMPORTED_MODULE_5__["ModelPredicateCreator"].createFromExisting(modelDefinition, condition);
83724
+ return _predicates__WEBPACK_IMPORTED_MODULE_8__["ModelPredicateCreator"].createFromExisting(modelDefinition, condition);
83696
83725
  } catch (error) {
83697
83726
  logger.error('Error creating Sync Predicate');
83698
83727
  throw error;
@@ -83780,7 +83809,7 @@ function () {
83780
83809
  }();
83781
83810
 
83782
83811
  var instance = new DataStore();
83783
- _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["Amplify"].register(instance);
83812
+ _aws_amplify_core__WEBPACK_IMPORTED_MODULE_1__["Amplify"].register(instance);
83784
83813
 
83785
83814
 
83786
83815
  /***/ }),
@@ -90457,7 +90486,7 @@ var ControlMessage;
90457
90486
  var SyncEngine =
90458
90487
  /** @class */
90459
90488
  function () {
90460
- function SyncEngine(schema, namespaceResolver, modelClasses, userModelClasses, storage, modelInstanceCreator, conflictHandler, errorHandler, syncPredicates, amplifyConfig, authModeStrategy) {
90489
+ function SyncEngine(schema, namespaceResolver, modelClasses, userModelClasses, storage, modelInstanceCreator, conflictHandler, errorHandler, syncPredicates, amplifyConfig, authModeStrategy, amplifyContext) {
90461
90490
  if (amplifyConfig === void 0) {
90462
90491
  amplifyConfig = {};
90463
90492
  }
@@ -90471,14 +90500,15 @@ function () {
90471
90500
  this.syncPredicates = syncPredicates;
90472
90501
  this.amplifyConfig = amplifyConfig;
90473
90502
  this.authModeStrategy = authModeStrategy;
90503
+ this.amplifyContext = amplifyContext;
90474
90504
  this.online = false;
90475
90505
  this.modelSyncedStatus = new WeakMap();
90476
90506
  var MutationEvent = this.modelClasses['MutationEvent'];
90477
90507
  this.outbox = new _outbox__WEBPACK_IMPORTED_MODULE_8__["MutationEventOutbox"](this.schema, MutationEvent, modelInstanceCreator, ownSymbol);
90478
90508
  this.modelMerger = new _merger__WEBPACK_IMPORTED_MODULE_7__["ModelMerger"](this.outbox, ownSymbol);
90479
- this.syncQueriesProcessor = new _processors_sync__WEBPACK_IMPORTED_MODULE_11__["SyncProcessor"](this.schema, this.syncPredicates, this.amplifyConfig, this.authModeStrategy, errorHandler);
90480
- this.subscriptionsProcessor = new _processors_subscription__WEBPACK_IMPORTED_MODULE_10__["SubscriptionProcessor"](this.schema, this.syncPredicates, this.amplifyConfig, this.authModeStrategy, errorHandler);
90481
- this.mutationsProcessor = new _processors_mutation__WEBPACK_IMPORTED_MODULE_9__["MutationProcessor"](this.schema, this.storage, this.userModelClasses, this.outbox, this.modelInstanceCreator, MutationEvent, this.amplifyConfig, this.authModeStrategy, errorHandler, conflictHandler);
90509
+ this.syncQueriesProcessor = new _processors_sync__WEBPACK_IMPORTED_MODULE_11__["SyncProcessor"](this.schema, this.syncPredicates, this.amplifyConfig, this.authModeStrategy, errorHandler, this.amplifyContext);
90510
+ this.subscriptionsProcessor = new _processors_subscription__WEBPACK_IMPORTED_MODULE_10__["SubscriptionProcessor"](this.schema, this.syncPredicates, this.amplifyConfig, this.authModeStrategy, errorHandler, this.amplifyContext);
90511
+ this.mutationsProcessor = new _processors_mutation__WEBPACK_IMPORTED_MODULE_9__["MutationProcessor"](this.schema, this.storage, this.userModelClasses, this.outbox, this.modelInstanceCreator, MutationEvent, this.amplifyConfig, this.authModeStrategy, errorHandler, conflictHandler, this.amplifyContext);
90482
90512
  this.datastoreConnectivity = new _datastoreConnectivity__WEBPACK_IMPORTED_MODULE_6__["default"]();
90483
90513
  }
90484
90514
 
@@ -92950,7 +92980,7 @@ var logger = new _aws_amplify_core__WEBPACK_IMPORTED_MODULE_1__["ConsoleLogger"]
92950
92980
  var MutationProcessor =
92951
92981
  /** @class */
92952
92982
  function () {
92953
- function MutationProcessor(schema, storage, userClasses, outbox, modelInstanceCreator, MutationEvent, amplifyConfig, authModeStrategy, errorHandler, conflictHandler) {
92983
+ function MutationProcessor(schema, storage, userClasses, outbox, modelInstanceCreator, MutationEvent, amplifyConfig, authModeStrategy, errorHandler, conflictHandler, amplifyContext) {
92954
92984
  if (amplifyConfig === void 0) {
92955
92985
  amplifyConfig = {};
92956
92986
  }
@@ -92965,8 +92995,10 @@ function () {
92965
92995
  this.authModeStrategy = authModeStrategy;
92966
92996
  this.errorHandler = errorHandler;
92967
92997
  this.conflictHandler = conflictHandler;
92998
+ this.amplifyContext = amplifyContext;
92968
92999
  this.typeQuery = new WeakMap();
92969
93000
  this.processing = false;
93001
+ this.amplifyContext.API = this.amplifyContext.API || _aws_amplify_api__WEBPACK_IMPORTED_MODULE_0__["default"];
92970
93002
  this.generateQueries();
92971
93003
  }
92972
93004
 
@@ -93300,7 +93332,7 @@ function () {
93300
93332
 
93301
93333
  return [4
93302
93334
  /*yield*/
93303
- , _aws_amplify_api__WEBPACK_IMPORTED_MODULE_0__["default"].graphql(tryWith)];
93335
+ , this.amplifyContext.API.graphql(tryWith)];
93304
93336
 
93305
93337
  case 3:
93306
93338
  result = _h.sent();
@@ -93383,7 +93415,7 @@ function () {
93383
93415
  authToken_1 = _h.sent();
93384
93416
  return [4
93385
93417
  /*yield*/
93386
- , _aws_amplify_api__WEBPACK_IMPORTED_MODULE_0__["default"].graphql({
93418
+ , this.amplifyContext.API.graphql({
93387
93419
  query: query_1,
93388
93420
  variables: {
93389
93421
  id: variables.input.id
@@ -93898,16 +93930,25 @@ var USER_CREDENTIALS;
93898
93930
  var SubscriptionProcessor =
93899
93931
  /** @class */
93900
93932
  function () {
93901
- function SubscriptionProcessor(schema, syncPredicates, amplifyConfig, authModeStrategy, errorHandler) {
93933
+ function SubscriptionProcessor(schema, syncPredicates, amplifyConfig, authModeStrategy, errorHandler, amplifyContext) {
93902
93934
  if (amplifyConfig === void 0) {
93903
93935
  amplifyConfig = {};
93904
93936
  }
93905
93937
 
93938
+ if (amplifyContext === void 0) {
93939
+ amplifyContext = {
93940
+ Auth: _aws_amplify_auth__WEBPACK_IMPORTED_MODULE_1__["Auth"],
93941
+ API: _aws_amplify_api__WEBPACK_IMPORTED_MODULE_0__["default"],
93942
+ Cache: _aws_amplify_cache__WEBPACK_IMPORTED_MODULE_2__["default"]
93943
+ };
93944
+ }
93945
+
93906
93946
  this.schema = schema;
93907
93947
  this.syncPredicates = syncPredicates;
93908
93948
  this.amplifyConfig = amplifyConfig;
93909
93949
  this.authModeStrategy = authModeStrategy;
93910
93950
  this.errorHandler = errorHandler;
93951
+ this.amplifyContext = amplifyContext;
93911
93952
  this.typeQuery = new WeakMap();
93912
93953
  this.buffer = [];
93913
93954
  }
@@ -94066,7 +94107,7 @@ function () {
94066
94107
 
94067
94108
  return [4
94068
94109
  /*yield*/
94069
- , _aws_amplify_auth__WEBPACK_IMPORTED_MODULE_1__["default"].currentCredentials()];
94110
+ , this.amplifyContext.Auth.currentCredentials()];
94070
94111
 
94071
94112
  case 1:
94072
94113
  credentials = _b.sent();
@@ -94086,7 +94127,7 @@ function () {
94086
94127
 
94087
94128
  return [4
94088
94129
  /*yield*/
94089
- , _aws_amplify_auth__WEBPACK_IMPORTED_MODULE_1__["default"].currentSession()];
94130
+ , this.amplifyContext.Auth.currentSession()];
94090
94131
 
94091
94132
  case 4:
94092
94133
  session = _b.sent();
@@ -94113,7 +94154,7 @@ function () {
94113
94154
  token = void 0;
94114
94155
  return [4
94115
94156
  /*yield*/
94116
- , _aws_amplify_cache__WEBPACK_IMPORTED_MODULE_2__["default"].getItem('federatedInfo')];
94157
+ , this.amplifyContext.Cache.getItem('federatedInfo')];
94117
94158
 
94118
94159
  case 7:
94119
94160
  federatedInfo = _b.sent();
@@ -94128,7 +94169,7 @@ function () {
94128
94169
  case 8:
94129
94170
  return [4
94130
94171
  /*yield*/
94131
- , _aws_amplify_auth__WEBPACK_IMPORTED_MODULE_1__["default"].currentAuthenticatedUser()];
94172
+ , this.amplifyContext.Auth.currentAuthenticatedUser()];
94132
94173
 
94133
94174
  case 9:
94134
94175
  currentUser = _b.sent();
@@ -94219,7 +94260,7 @@ function () {
94219
94260
 
94220
94261
  logger.debug("Attempting " + operation + " subscription with authMode: " + readAuthModes[operationAuthModeAttempts[operation]]);
94221
94262
  userAgentSuffix = _util__WEBPACK_IMPORTED_MODULE_9__["USER_AGENT_SUFFIX_DATASTORE"];
94222
- queryObservable = _aws_amplify_api__WEBPACK_IMPORTED_MODULE_0__["default"].graphql(__assign(__assign({
94263
+ queryObservable = this.amplifyContext.API.graphql(__assign(__assign({
94223
94264
  query: query,
94224
94265
  variables: variables
94225
94266
  }, {
@@ -94707,7 +94748,7 @@ var logger = new _aws_amplify_core__WEBPACK_IMPORTED_MODULE_5__["ConsoleLogger"]
94707
94748
  var SyncProcessor =
94708
94749
  /** @class */
94709
94750
  function () {
94710
- function SyncProcessor(schema, syncPredicates, amplifyConfig, authModeStrategy, errorHandler, modelInstanceCreator) {
94751
+ function SyncProcessor(schema, syncPredicates, amplifyConfig, authModeStrategy, errorHandler, amplifyContext) {
94711
94752
  if (amplifyConfig === void 0) {
94712
94753
  amplifyConfig = {};
94713
94754
  }
@@ -94717,8 +94758,9 @@ function () {
94717
94758
  this.amplifyConfig = amplifyConfig;
94718
94759
  this.authModeStrategy = authModeStrategy;
94719
94760
  this.errorHandler = errorHandler;
94720
- this.modelInstanceCreator = modelInstanceCreator;
94761
+ this.amplifyContext = amplifyContext;
94721
94762
  this.typeQuery = new WeakMap();
94763
+ amplifyContext.API = amplifyContext.API || _aws_amplify_api__WEBPACK_IMPORTED_MODULE_0__["default"];
94722
94764
  this.generateQueries();
94723
94765
  }
94724
94766
 
@@ -94919,7 +94961,7 @@ function () {
94919
94961
  authToken = _a.sent();
94920
94962
  return [4
94921
94963
  /*yield*/
94922
- , _aws_amplify_api__WEBPACK_IMPORTED_MODULE_0__["default"].graphql({
94964
+ , this.amplifyContext.API.graphql({
94923
94965
  query: query,
94924
94966
  variables: variables,
94925
94967
  authMode: authMode,
@@ -96391,7 +96433,7 @@ var LimitTimerRaceResolvedValues;
96391
96433
  (function (LimitTimerRaceResolvedValues) {
96392
96434
  LimitTimerRaceResolvedValues["LIMIT"] = "LIMIT";
96393
96435
  LimitTimerRaceResolvedValues["TIMER"] = "TIMER";
96394
- })(LimitTimerRaceResolvedValues || (LimitTimerRaceResolvedValues = {})); //#endregion
96436
+ })(LimitTimerRaceResolvedValues || (LimitTimerRaceResolvedValues = {}));
96395
96437
 
96396
96438
  /***/ }),
96397
96439