@aws-amplify/datastore 3.4.8 → 3.4.9-in-app-messaging.48

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 (48) hide show
  1. package/CHANGELOG.md +104 -445
  2. package/dist/aws-amplify-datastore.js +28167 -13268
  3. package/dist/aws-amplify-datastore.js.map +1 -1
  4. package/dist/aws-amplify-datastore.min.js +8 -8
  5. package/dist/aws-amplify-datastore.min.js.map +1 -1
  6. package/lib/.tsbuildinfo +1 -1
  7. package/lib/datastore/datastore.d.ts +4 -1
  8. package/lib/datastore/datastore.js +129 -4
  9. package/lib/datastore/datastore.js.map +1 -1
  10. package/lib/sync/index.d.ts +3 -1
  11. package/lib/sync/index.js +10 -1
  12. package/lib/sync/index.js.map +1 -1
  13. package/lib/sync/processors/subscription.js +2 -2
  14. package/lib/sync/processors/subscription.js.map +1 -1
  15. package/lib/sync/processors/sync.d.ts +1 -3
  16. package/lib/sync/processors/sync.js +8 -19
  17. package/lib/sync/processors/sync.js.map +1 -1
  18. package/lib/types.d.ts +14 -0
  19. package/lib/types.js +5 -0
  20. package/lib/types.js.map +1 -1
  21. package/lib/util.d.ts +23 -1
  22. package/lib/util.js +77 -0
  23. package/lib/util.js.map +1 -1
  24. package/lib-esm/.tsbuildinfo +1 -1
  25. package/lib-esm/datastore/datastore.d.ts +4 -1
  26. package/lib-esm/datastore/datastore.js +130 -5
  27. package/lib-esm/datastore/datastore.js.map +1 -1
  28. package/lib-esm/sync/index.d.ts +3 -1
  29. package/lib-esm/sync/index.js +11 -2
  30. package/lib-esm/sync/index.js.map +1 -1
  31. package/lib-esm/sync/processors/subscription.js +2 -2
  32. package/lib-esm/sync/processors/subscription.js.map +1 -1
  33. package/lib-esm/sync/processors/sync.d.ts +1 -3
  34. package/lib-esm/sync/processors/sync.js +8 -19
  35. package/lib-esm/sync/processors/sync.js.map +1 -1
  36. package/lib-esm/types.d.ts +14 -0
  37. package/lib-esm/types.js +5 -0
  38. package/lib-esm/types.js.map +1 -1
  39. package/lib-esm/util.d.ts +23 -1
  40. package/lib-esm/util.js +78 -1
  41. package/lib-esm/util.js.map +1 -1
  42. package/package.json +7 -7
  43. package/src/datastore/datastore.ts +267 -121
  44. package/src/sync/index.ts +19 -3
  45. package/src/sync/processors/subscription.ts +1 -1
  46. package/src/sync/processors/sync.ts +1 -17
  47. package/src/types.ts +31 -12
  48. package/src/util.ts +80 -0
@@ -82,8 +82,6 @@ var zen_observable_ts_1 = __importDefault(require("zen-observable-ts"));
82
82
  var utils_1 = require("../utils");
83
83
  var core_1 = require("@aws-amplify/core");
84
84
  var predicates_1 = require("../../predicates");
85
- var DEFAULT_PAGINATION_LIMIT = 1000;
86
- var DEFAULT_MAX_RECORDS_TO_SYNC = 10000;
87
85
  var opResultDefaults = {
88
86
  items: [],
89
87
  nextToken: null,
@@ -91,13 +89,9 @@ var opResultDefaults = {
91
89
  };
92
90
  var logger = new core_1.ConsoleLogger('DataStore');
93
91
  var SyncProcessor = /** @class */ (function () {
94
- function SyncProcessor(schema, maxRecordsToSync, syncPageSize, syncPredicates, amplifyConfig, authModeStrategy) {
95
- if (maxRecordsToSync === void 0) { maxRecordsToSync = DEFAULT_MAX_RECORDS_TO_SYNC; }
96
- if (syncPageSize === void 0) { syncPageSize = DEFAULT_PAGINATION_LIMIT; }
92
+ function SyncProcessor(schema, syncPredicates, amplifyConfig, authModeStrategy) {
97
93
  if (amplifyConfig === void 0) { amplifyConfig = {}; }
98
94
  this.schema = schema;
99
- this.maxRecordsToSync = maxRecordsToSync;
100
- this.syncPageSize = syncPageSize;
101
95
  this.syncPredicates = syncPredicates;
102
96
  this.amplifyConfig = amplifyConfig;
103
97
  this.authModeStrategy = authModeStrategy;
@@ -131,10 +125,10 @@ var SyncProcessor = /** @class */ (function () {
131
125
  SyncProcessor.prototype.retrievePage = function (modelDefinition, lastSync, nextToken, limit, filter) {
132
126
  if (limit === void 0) { limit = null; }
133
127
  return __awaiter(this, void 0, void 0, function () {
134
- var _a, opName, query, variables, modelAuthModes, readAuthModes, authModeAttempts, authModeRetry, data, _b, opResult, items, newNextToken, startedAt;
128
+ var _a, opName, query, variables, modelAuthModes, readAuthModes, authModeAttempts, authModeRetry, data, _b, _c, opResult, items, newNextToken, startedAt;
135
129
  var _this = this;
136
- return __generator(this, function (_c) {
137
- switch (_c.label) {
130
+ return __generator(this, function (_d) {
131
+ switch (_d.label) {
138
132
  case 0:
139
133
  _a = __read(this.typeQuery.get(modelDefinition), 2), opName = _a[0], query = _a[1];
140
134
  variables = {
@@ -150,7 +144,7 @@ var SyncProcessor = /** @class */ (function () {
150
144
  schema: this.schema,
151
145
  })];
152
146
  case 1:
153
- modelAuthModes = _c.sent();
147
+ modelAuthModes = _d.sent();
154
148
  readAuthModes = modelAuthModes.READ;
155
149
  authModeAttempts = 0;
156
150
  authModeRetry = function () { return __awaiter(_this, void 0, void 0, function () {
@@ -198,8 +192,8 @@ var SyncProcessor = /** @class */ (function () {
198
192
  }); };
199
193
  return [4 /*yield*/, authModeRetry()];
200
194
  case 2:
201
- data = (_c.sent()).data;
202
- _b = opName, opResult = data[_b];
195
+ data = (_d.sent()).data;
196
+ _b = data, _c = opName, opResult = _b[_c];
203
197
  items = opResult.items, newNextToken = opResult.nextToken, startedAt = opResult.startedAt;
204
198
  return [2 /*return*/, {
205
199
  nextToken: newNextToken,
@@ -301,12 +295,7 @@ var SyncProcessor = /** @class */ (function () {
301
295
  SyncProcessor.prototype.start = function (typesLastSync) {
302
296
  var _this = this;
303
297
  var processing = true;
304
- var maxRecordsToSync = this.maxRecordsToSync !== undefined
305
- ? this.maxRecordsToSync
306
- : DEFAULT_MAX_RECORDS_TO_SYNC;
307
- var syncPageSize = this.syncPageSize !== undefined
308
- ? this.syncPageSize
309
- : DEFAULT_PAGINATION_LIMIT;
298
+ var _a = this.amplifyConfig, maxRecordsToSync = _a.maxRecordsToSync, syncPageSize = _a.syncPageSize;
310
299
  var parentPromises = new Map();
311
300
  var observable = new zen_observable_ts_1.default(function (observer) {
312
301
  var sortedTypesLastSyncs = Object.values(_this.schema.namespaces).reduce(function (map, namespace) {
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAAyE;AACzE,wEAA2C;AAU3C,kCAOkB;AAClB,0CAK2B;AAC3B,+CAAyD;AAEzD,IAAM,gBAAgB,GAAG;IACxB,KAAK,EAAE,EAAE;IACT,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;CACf,CAAC;AAEF,IAAM,MAAM,GAAG,IAAI,oBAAM,CAAC,WAAW,CAAC,CAAC;AAEvC;IAGC,uBACkB,MAAsB,EACtB,cAAyD,EACzD,aAAuC,EACvC,gBAAkC;QADlC,8BAAA,EAAA,kBAAuC;QAFvC,WAAM,GAAN,MAAM,CAAgB;QACtB,mBAAc,GAAd,cAAc,CAA2C;QACzD,kBAAa,GAAb,aAAa,CAA0B;QACvC,qBAAgB,GAAhB,gBAAgB,CAAkB;QANnC,cAAS,GAAG,IAAI,OAAO,EAAiC,CAAC;QAQzE,IAAI,CAAC,eAAe,EAAE,CAAC;IACxB,CAAC;IAEO,uCAAe,GAAvB;QAAA,iBAcC;QAbA,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAA,SAAS;YACtD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;iBAC7B,MAAM,CAAC,UAAC,EAAY;oBAAV,sBAAQ;gBAAO,OAAA,QAAQ;YAAR,CAAQ,CAAC;iBAClC,OAAO,CAAC,UAAA,KAAK;gBACP,IAAA,uEAIL,EAJM,kBAAkB,EAAf,yBAIT,CAAC;gBAEF,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,kDAA0B,GAAlC,UAAmC,KAAkB;QACpD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACzB,OAAO,IAAI,CAAC;SACZ;QACD,IAAM,eAAe,GAAyB,kCAAqB,CAAC,aAAa,CAChF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAC9B,KAAK,CACL,CAAC;QAEF,IAAI,CAAC,eAAe,EAAE;YACrB,OAAO,IAAI,CAAC;SACZ;QAED,OAAO,gCAAwB,CAAC,eAAe,CAAC,CAAC;IAClD,CAAC;IAEa,oCAAY,GAA1B,UAGC,eAA4B,EAC5B,QAAgB,EAChB,SAAiB,EACjB,KAAoB,EACpB,MAAqB;QADrB,sBAAA,EAAA,YAAoB;;;;;;;wBAGd,KAAA,OAAkB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,IAAA,EAApD,MAAM,QAAA,EAAE,KAAK,QAAA,CAAwC;wBAEtD,SAAS,GAAG;4BACjB,KAAK,OAAA;4BACL,SAAS,WAAA;4BACT,QAAQ,UAAA;4BACR,MAAM,QAAA;yBACN,CAAC;wBAEqB,qBAAM,yBAAiB,CAAC;gCAC9C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gCACvC,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,8BAA8B;gCAClE,SAAS,EAAE,eAAe,CAAC,IAAI;gCAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;6BACnB,CAAC,EAAA;;wBALI,cAAc,GAAG,SAKrB;wBAGI,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC;wBAEtC,gBAAgB,GAAG,CAAC,CAAC;wBACnB,aAAa,GAAG;;;;;;;wCAEpB,MAAM,CAAC,KAAK,CACX,oCAAkC,aAAa,CAAC,gBAAgB,CAAG,CACnE,CAAC;wCACe,qBAAM,IAAI,CAAC,aAAa,CAAI;gDAC5C,KAAK,OAAA;gDACL,SAAS,WAAA;gDACT,MAAM,QAAA;gDACN,eAAe,iBAAA;gDACf,QAAQ,EAAE,aAAa,CAAC,gBAAgB,CAAC;6CACzC,CAAC,EAAA;;wCANI,QAAQ,GAAG,SAMf;wCACF,MAAM,CAAC,KAAK,CACX,oCAAkC,aAAa,CAAC,gBAAgB,CAAG,CACnE,CAAC;wCACF,sBAAO,QAAQ,EAAC;;;wCAEhB,gBAAgB,EAAE,CAAC;wCACnB,IAAI,gBAAgB,IAAI,aAAa,CAAC,MAAM,EAAE;4CACvC,QAAQ,GAAG,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;4CACrD,MAAM,CAAC,KAAK,CAAC,gCAA8B,QAAU,EAAE,OAAK,CAAC,CAAC;4CAC9D,IAAI,8BAAsB,CAAC,OAAK,CAAC,IAAI,yBAAiB,CAAC,OAAK,CAAC,EAAE;gDAC9D,4EAA4E;gDAC5E,MAAM,CAAC,IAAI,CACV,mCAAiC,MAAM,wBAAmB,QAAQ,iCAA8B,CAChG,CAAC;gDAEF,sBAAO;wDACN,IAAI;4DACH,GAAC,MAAM,IAAG,gBAAgB;+DAC1B;qDACD,EAAC;6CACF;4CACD,MAAM,OAAK,CAAC;yCACZ;wCACD,MAAM,CAAC,KAAK,CACX,gCACC,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,kCACP,aAAa,CAAC,gBAAgB,CAAG,CAC9D,CAAC;wCACK,qBAAM,aAAa,EAAE,EAAA;4CAA5B,sBAAO,SAAqB,EAAC;;;;6BAE9B,CAAC;wBAEe,qBAAM,aAAa,EAAE,EAAA;;wBAA9B,IAAI,GAAK,CAAA,SAAqB,CAAA,KAA1B;wBAEmB,KAAA,IAAI,EAA3B,KAAC,MAAO,EAAE,QAAQ,SAAA,CAAU;wBAE5B,KAAK,GAAyC,QAAQ,MAAjD,EAAa,YAAY,GAAgB,QAAQ,UAAxB,EAAE,SAAS,GAAK,QAAQ,UAAb,CAAc;wBAE/D,sBAAO;gCACN,SAAS,EAAE,YAAY;gCACvB,SAAS,WAAA;gCACT,KAAK,OAAA;6BACL,EAAC;;;;KACF;IAED,iGAAiG;IACzF,qDAA6B,GAArC;QACC,IAAI;YACH,IAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;YAC5D,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;SACrB;QAAC,OAAO,CAAC,EAAE;YACX,OAAO,KAAK,CAAC;SACb;IACF,CAAC;IAEa,qCAAa,GAA3B,UAA+B,EAY9B;YAXA,gBAAK,EACL,wBAAS,EACT,kBAAM,EACN,oCAAe,EACf,sBAAQ;;;;;4BAgBD,qBAAM,+BAAwB,CACpC,UAAO,KAAK,EAAE,SAAS;;;;;;wCAEH,qBAAM,6BAAqB,CAC5C,QAAQ,EACR,IAAI,CAAC,aAAa,CAClB,EAAA;;wCAHK,SAAS,GAAG,SAGjB;wCAEM,qBAAM,aAAG,CAAC,OAAO,CAAC;gDACxB,KAAK,OAAA;gDACL,SAAS,WAAA;gDACT,QAAQ,UAAA;gDACR,SAAS,WAAA;6CACT,CAAC,EAAA;4CALF,sBAAO,SAKL,EAAC;;;wCAGG,6BAA6B,GAClC,8BAAsB,CAAC,OAAK,CAAC,IAAI,yBAAiB,CAAC,OAAK,CAAC,CAAC;wCAC3D,IAAI,6BAA6B,EAAE;4CAClC,MAAM,IAAI,wBAAiB,CAAC,6BAA6B,CAAC,CAAC;yCAC3D;wCAEK,QAAQ,GAAG,OAAO,CACvB,OAAK;4CACJ,OAAK,CAAC,IAAI;4CACV,OAAK,CAAC,IAAI,CAAC,MAAM,CAAC;4CAClB,OAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CACzB,CAAC;wCAEF,IAAI,IAAI,CAAC,6BAA6B,EAAE,EAAE;4CACzC,IAAI,QAAQ,EAAE;gDACP,MAAM,GAAG,OAAK,CAAC;gDACrB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAC3D,UAAA,IAAI,IAAI,OAAA,IAAI,KAAK,IAAI,EAAb,CAAa,CACrB,CAAC;gDAEF,IAAI,OAAK,CAAC,MAAM,EAAE;oDACjB,UAAG,CAAC,QAAQ,CAAC,WAAW,EAAE;wDACzB,KAAK,EAAE,6BAA6B;wDACpC,IAAI,EAAE;4DACL,MAAM,EAAE,OAAK,CAAC,MAAM;4DACpB,SAAS,EAAE,eAAe,CAAC,IAAI;yDAC/B;qDACD,CAAC,CAAC;iDACH;gDAED,sBAAO,MAAM,EAAC;6CACd;iDAAM;gDACN,MAAM,OAAK,CAAC;6CACZ;yCACD;wCAGK,YAAY,GACjB,OAAK;4CACL,OAAK,CAAC,MAAM;4CACX,OAAK,CAAC,MAAgB,CAAC,IAAI,CAC3B,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,SAAS,KAAK,cAAc,EAAhC,CAAgC,CACvC,CAAC;wCACH,IAAI,YAAY,EAAE;4CACX,MAAM,GAAG,OAAK,CAAC;4CAErB,IAAI,QAAQ,EAAE;gDACb,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAC3D,UAAA,IAAI,IAAI,OAAA,IAAI,KAAK,IAAI,EAAb,CAAa,CACrB,CAAC;6CACF;iDAAM;gDACN,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,yBACf,gBAAgB,GAChB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CACtB,CAAC;6CACF;4CACD,MAAM,CAAC,IAAI,CACV,YAAY,EACZ,mCAAiC,MAAM,wCAAqC,CAC5E,CAAC;4CACF,sBAAO,MAAM,EAAC;yCACd;6CAAM;4CACN,MAAM,OAAK,CAAC;yCACZ;;;;;6BAEF,EACD,CAAC,KAAK,EAAE,SAAS,CAAC,CAClB,EAAA;4BAnFD,sBAAO,SAmFN,EAAC;;;;KACF;IAED,6BAAK,GAAL,UACC,aAAiD;QADlD,iBA2FC;QAxFA,IAAI,UAAU,GAAG,IAAI,CAAC;QAChB,IAAA,uBAAuD,EAArD,sCAAgB,EAAE,8BAAmC,CAAC;QAC9D,IAAM,cAAc,GAAG,IAAI,GAAG,EAAyB,CAAC;QACxD,IAAM,UAAU,GAAG,IAAI,2BAAU,CAAgB,UAAA,QAAQ;YACxD,IAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,KAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CACxE,UAAC,GAAG,EAAE,SAAS;;;oBACd,KAAwB,IAAA,KAAA,SAAA,KAAK,CAAC,IAAI,CACjC,SAAS,CAAC,wBAAwB,CAAC,IAAI,EAAE,CACzC,CAAA,gBAAA,4BAAE;wBAFE,IAAM,SAAS,WAAA;wBAGnB,IAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;wBACpE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC,CAAC;qBACnD;;;;;;;;;gBACD,OAAO,GAAG,CAAC;YACZ,CAAC,EACD,IAAI,GAAG,EAAiC,CACxC,CAAC;YAEF,IAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC;iBAC/D,MAAM,CAAC,UAAC,EAAc;oBAAd,kBAAc,EAAX,yBAAQ;gBAAQ,OAAA,QAAQ;YAAR,CAAQ,CAAC;iBACpC,GAAG,CAAC,UAAO,EAAwC;oBAAxC,kBAAwC,EAAvC,uBAAe,EAAE,qBAAqB,EAApB,iBAAS,EAAE,gBAAQ;;;;;;;gCAC7C,IAAI,GAAG,KAAK,CAAC;gCACb,SAAS,GAAW,IAAI,CAAC;gCACzB,SAAS,GAAW,IAAI,CAAC;gCACzB,KAAK,GAA4B,IAAI,CAAC;gCAEtC,eAAe,GAAG,CAAC,CAAC;gCAClB,MAAM,GAAG,IAAI,CAAC,0BAA0B,CAAC,eAAe,CAAC,CAAC;gCAE1D,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CACrC,SAAS,CACT,CAAC,wBAAwB,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gCAC/C,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAA,MAAM;oCAClC,OAAA,cAAc,CAAC,GAAG,CAAI,SAAS,SAAI,MAAQ,CAAC;gCAA5C,CAA4C,CAC5C,CAAC;gCAEI,OAAO,GAAG,IAAI,OAAO,CAAO,UAAM,GAAG;;;;;oDAC1C,qBAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAA;;gDAA3B,SAA2B,CAAC;;;gDAG3B,IAAI,CAAC,UAAU,EAAE;oDAChB,sBAAO;iDACP;gDAEK,KAAK,GAAG,IAAI,CAAC,GAAG,CACrB,gBAAgB,GAAG,eAAe,EAClC,YAAY,CACZ,CAAC;gDAEiC,qBAAM,IAAI,CAAC,YAAY,CACzD,eAAe,EACf,QAAQ,EACR,SAAS,EACT,KAAK,EACL,MAAM,CACN,EAAA;;gDAND,CAAC,cAMA,EANE,gBAAK,EAAE,wBAAS,EAAE,wBAAS,CAM5B,CAAC;gDAEH,eAAe,IAAI,KAAK,CAAC,MAAM,CAAC;gDAEhC,IAAI,GAAG,SAAS,KAAK,IAAI,IAAI,eAAe,IAAI,gBAAgB,CAAC;gDAEjE,QAAQ,CAAC,IAAI,CAAC;oDACb,SAAS,WAAA;oDACT,eAAe,iBAAA;oDACf,KAAK,OAAA;oDACL,IAAI,MAAA;oDACJ,SAAS,WAAA;oDACT,UAAU,EAAE,CAAC,QAAQ;iDACrB,CAAC,CAAC;;;oDACK,CAAC,IAAI;;;gDAEd,GAAG,EAAE,CAAC;;;;qCACN,CAAC,CAAC;gCAEH,cAAc,CAAC,GAAG,CAAI,SAAS,SAAI,eAAe,CAAC,IAAM,EAAE,OAAO,CAAC,CAAC;gCAEpE,qBAAM,OAAO,EAAA;;gCAAb,SAAa,CAAC;;;;;aACd,CAAC,CAAC;YAEJ,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC;gBAChC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACrB,CAAC,CAAC,CAAC;YAEH,OAAO;gBACN,UAAU,GAAG,KAAK,CAAC;YACpB,CAAC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACnB,CAAC;IACF,oBAAC;AAAD,CAAC,AAnVD,IAmVC;AAWQ,sCAAa"}
package/lib/types.d.ts CHANGED
@@ -215,6 +215,10 @@ export declare type SubscriptionMessage<T extends PersistentModel> = {
215
215
  model: PersistentModelConstructor<T>;
216
216
  condition: PredicatesGroup<T> | null;
217
217
  };
218
+ export declare type DataStoreSnapshot<T extends PersistentModel> = {
219
+ items: T[];
220
+ isSynced: boolean;
221
+ };
218
222
  export declare type PredicateExpression<M extends PersistentModel, FT> = TypeName<FT> extends keyof MapTypeToOperands<FT> ? (operator: keyof MapTypeToOperands<FT>[TypeName<FT>], operand: MapTypeToOperands<FT>[TypeName<FT>][keyof MapTypeToOperands<FT>[TypeName<FT>]]) => ModelPredicate<M> : never;
219
223
  declare type EqualityOperators<T> = {
220
224
  ne: T;
@@ -295,6 +299,7 @@ export declare type ProducerPaginationInput<T extends PersistentModel> = {
295
299
  limit?: number;
296
300
  page?: number;
297
301
  };
302
+ export declare type ObserveQueryOptions<T extends PersistentModel> = Pick<ProducerPaginationInput<T>, 'sort'>;
298
303
  export declare type PaginationInput<T extends PersistentModel> = {
299
304
  sort?: SortPredicate<T>;
300
305
  limit?: number;
@@ -425,4 +430,13 @@ export declare type SyncError = {
425
430
  export declare const DISCARD: unique symbol;
426
431
  export declare type ConflictHandler = (conflict: SyncConflict) => Promise<PersistentModel | typeof DISCARD> | PersistentModel | typeof DISCARD;
427
432
  export declare type ErrorHandler = (error: SyncError) => void;
433
+ export declare type DeferredCallbackResolverOptions = {
434
+ callback: () => void;
435
+ maxInterval?: number;
436
+ errorHandler?: (error: string) => void;
437
+ };
438
+ export declare enum LimitTimerRaceResolvedValues {
439
+ LIMIT = "LIMIT",
440
+ TIMER = "TIMER"
441
+ }
428
442
  export {};
package/lib/types.js CHANGED
@@ -233,5 +233,10 @@ function syncExpression(modelConstructor, conditionProducer) {
233
233
  }
234
234
  exports.syncExpression = syncExpression;
235
235
  exports.DISCARD = Symbol('DISCARD');
236
+ var LimitTimerRaceResolvedValues;
237
+ (function (LimitTimerRaceResolvedValues) {
238
+ LimitTimerRaceResolvedValues["LIMIT"] = "LIMIT";
239
+ LimitTimerRaceResolvedValues["TIMER"] = "TIMER";
240
+ })(LimitTimerRaceResolvedValues = exports.LimitTimerRaceResolvedValues || (exports.LimitTimerRaceResolvedValues = {}));
236
241
  //#endregion
237
242
  //# sourceMappingURL=types.js.map
package/lib/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/lib/util.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { ULID } from 'ulid';
2
- import { ModelInstanceMetadata, PersistentModel, PersistentModelConstructor, PredicateObject, PredicatesGroup, RelationshipType, RelationType, ModelKeys, ModelAttributes, SchemaNamespace, SortPredicatesGroup, NonModelTypeConstructor } from './types';
2
+ import { ModelInstanceMetadata, PersistentModel, PersistentModelConstructor, PredicateObject, PredicatesGroup, RelationshipType, RelationType, ModelKeys, ModelAttributes, SchemaNamespace, SortPredicatesGroup, NonModelTypeConstructor, DeferredCallbackResolverOptions } from './types';
3
3
  export declare const exhaustiveCheck: (obj: never, throwOnError?: boolean) => void;
4
4
  export declare const isNullOrUndefined: (val: any) => boolean;
5
5
  export declare const validatePredicate: <T extends Readonly<{
@@ -69,3 +69,25 @@ export declare const isAWSJSON: (val: string) => boolean;
69
69
  export declare const isAWSURL: (val: string) => boolean;
70
70
  export declare const isAWSPhone: (val: string) => boolean;
71
71
  export declare const isAWSIPAddress: (val: string) => boolean;
72
+ export declare class DeferredPromise {
73
+ promise: Promise<string>;
74
+ resolve: (value: string | PromiseLike<string>) => void;
75
+ reject: () => void;
76
+ constructor();
77
+ }
78
+ export declare class DeferredCallbackResolver {
79
+ private limitPromise;
80
+ private timerPromise;
81
+ private maxInterval;
82
+ private timer;
83
+ private raceInFlight;
84
+ private callback;
85
+ private errorHandler;
86
+ private defaultErrorHandler;
87
+ constructor(options: DeferredCallbackResolverOptions);
88
+ private startTimer;
89
+ private racePromises;
90
+ start(): void;
91
+ clear(): void;
92
+ resolve(): void;
93
+ }
package/lib/util.js CHANGED
@@ -609,4 +609,81 @@ exports.isAWSPhone = function (val) {
609
609
  exports.isAWSIPAddress = function (val) {
610
610
  return !!/((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?$))$/.exec(val);
611
611
  };
612
+ var DeferredPromise = /** @class */ (function () {
613
+ function DeferredPromise() {
614
+ var self = this;
615
+ this.promise = new Promise(function (resolve, reject) {
616
+ self.resolve = resolve;
617
+ self.reject = reject;
618
+ });
619
+ }
620
+ return DeferredPromise;
621
+ }());
622
+ exports.DeferredPromise = DeferredPromise;
623
+ var DeferredCallbackResolver = /** @class */ (function () {
624
+ function DeferredCallbackResolver(options) {
625
+ this.limitPromise = new DeferredPromise();
626
+ this.raceInFlight = false;
627
+ this.callback = function () { };
628
+ this.defaultErrorHandler = function (msg) {
629
+ if (msg === void 0) { msg = 'DeferredCallbackResolver error'; }
630
+ throw new Error(msg);
631
+ };
632
+ this.callback = options.callback;
633
+ this.errorHandler = options.errorHandler || this.defaultErrorHandler;
634
+ this.maxInterval = options.maxInterval || 2000;
635
+ }
636
+ DeferredCallbackResolver.prototype.startTimer = function () {
637
+ var _this = this;
638
+ this.timerPromise = new Promise(function (resolve, reject) {
639
+ _this.timer = setTimeout(function () {
640
+ resolve(types_1.LimitTimerRaceResolvedValues.TIMER);
641
+ }, _this.maxInterval);
642
+ });
643
+ };
644
+ DeferredCallbackResolver.prototype.racePromises = function () {
645
+ return __awaiter(this, void 0, void 0, function () {
646
+ var winner, err_1;
647
+ return __generator(this, function (_c) {
648
+ switch (_c.label) {
649
+ case 0:
650
+ _c.trys.push([0, 2, 3, 4]);
651
+ this.raceInFlight = true;
652
+ this.startTimer();
653
+ return [4 /*yield*/, Promise.race([
654
+ this.timerPromise,
655
+ this.limitPromise.promise,
656
+ ])];
657
+ case 1:
658
+ winner = _c.sent();
659
+ this.callback();
660
+ return [3 /*break*/, 4];
661
+ case 2:
662
+ err_1 = _c.sent();
663
+ this.errorHandler(err_1);
664
+ return [3 /*break*/, 4];
665
+ case 3:
666
+ // reset for the next race
667
+ this.clear();
668
+ this.raceInFlight = false;
669
+ this.limitPromise = new DeferredPromise();
670
+ return [2 /*return*/, winner];
671
+ case 4: return [2 /*return*/];
672
+ }
673
+ });
674
+ });
675
+ };
676
+ DeferredCallbackResolver.prototype.start = function () {
677
+ if (!this.raceInFlight)
678
+ this.racePromises();
679
+ };
680
+ DeferredCallbackResolver.prototype.clear = function () {
681
+ clearTimeout(this.timer);
682
+ };
683
+ DeferredCallbackResolver.prototype.resolve = function () {
684
+ this.limitPromise.resolve(types_1.LimitTimerRaceResolvedValues.LIMIT);
685
+ };
686
+ return DeferredCallbackResolver;
687
+ }());
688
+ exports.DeferredCallbackResolver = DeferredCallbackResolver;
612
689
  //# sourceMappingURL=util.js.map
package/lib/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAgC;AAChC,6BAA8C;AAC9C,6BAAkC;AAElC,iCAqBiB;AACjB,yEAAuD;AAE1C,QAAA,eAAe,GAAG,UAAC,GAAU,EAAE,YAA4B;IAA5B,6BAAA,EAAA,mBAA4B;IACvE,IAAI,YAAY,EAAE;QACjB,MAAM,IAAI,KAAK,CAAC,aAAW,GAAK,CAAC,CAAC;KAClC;AACF,CAAC,CAAC;AAEW,QAAA,iBAAiB,GAAG,UAAC,GAAQ;IACzC,OAAO,OAAO,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,CAAC;AACxE,CAAC,CAAC;AAEW,QAAA,iBAAiB,GAAG,UAChC,KAAQ,EACR,SAAmC,EACnC,kBAA+D;IAE/D,IAAI,UAA+C,CAAC;IACpD,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE;QACpC,OAAO,IAAI,CAAC;KACZ;IAED,QAAQ,SAAS,EAAE;QAClB,KAAK,KAAK;YACT,UAAU,GAAG,OAAO,CAAC;YACrB,UAAU,GAAG,IAAI,CAAC;YAClB,MAAM;QACP,KAAK,KAAK;YACT,UAAU,GAAG,OAAO,CAAC;YACrB,MAAM;QACP,KAAK,IAAI;YACR,UAAU,GAAG,MAAM,CAAC;YACpB,MAAM;QACP;YACC,uBAAe,CAAC,SAAS,CAAC,CAAC;KAC5B;IAED,IAAM,MAAM,GAAY,kBAAkB,CAAC,UAAU,CAAC,CAAC,UAAA,gBAAgB;QACtE,IAAI,sBAAc,CAAC,gBAAgB,CAAC,EAAE;YAC7B,IAAA,8BAAK,EAAE,oCAAQ,EAAE,kCAAO,CAAsB;YACtD,IAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YAE3B,OAAO,8BAAsB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SACxD;QAED,IAAI,wBAAgB,CAAC,gBAAgB,CAAC,EAAE;YAC/B,IAAA,4BAAI,EAAE,wCAAU,CAAsB;YAC9C,OAAO,yBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;SAClD;QAED,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AACtC,CAAC,CAAC;AAEW,QAAA,sBAAsB,GAAG,UACrC,KAAQ,EACR,QAA4B,EAC5B,OAAmB;IAEnB,QAAQ,QAAQ,EAAE;QACjB,KAAK,IAAI;YACR,OAAO,KAAK,KAAK,OAAO,CAAC;QAC1B,KAAK,IAAI;YACR,OAAO,KAAK,KAAK,OAAO,CAAC;QAC1B,KAAK,IAAI;YACR,OAAO,KAAK,IAAI,OAAO,CAAC;QACzB,KAAK,IAAI;YACR,OAAO,KAAK,GAAG,OAAO,CAAC;QACxB,KAAK,IAAI;YACR,OAAO,KAAK,IAAI,OAAO,CAAC;QACzB,KAAK,IAAI;YACR,OAAO,KAAK,GAAG,OAAO,CAAC;QACxB,KAAK,SAAS;YACP,IAAA,uBAA4B,EAA3B,WAAG,EAAE,WAAsB,CAAC;YACnC,OAAO,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC;QACrC,KAAK,YAAY;YAChB,OAAO,CACN,CAAC,yBAAiB,CAAC,KAAK,CAAC;gBACN,KAAO,CAAC,UAAU,CAAmB,OAAQ,CAAC,CACjE,CAAC;QACH,KAAK,UAAU;YACd,OAAO,CACN,CAAC,yBAAiB,CAAC,KAAK,CAAC;gBACN,KAAO,CAAC,OAAO,CAAmB,OAAQ,CAAC,GAAG,CAAC,CAAC,CACnE,CAAC;QACH,KAAK,aAAa;YACjB,OAAO,CACN,yBAAiB,CAAC,KAAK,CAAC;gBACL,KAAO,CAAC,OAAO,CAAmB,OAAQ,CAAC,KAAK,CAAC,CAAC,CACrE,CAAC;QACH;YACC,uBAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACjC,OAAO,KAAK,CAAC;KACd;AACF,CAAC,CAAC;AAEW,QAAA,kBAAkB,GAAG,UACjC,GAAQ;IAER,OAAO,CACN,GAAG,IAAI,OAAuC,GAAI,CAAC,MAAM,KAAK,UAAU,CACxE,CAAC;AACH,CAAC,CAAC;AAEF,IAAM,eAAe,GAAG,IAAI,OAAO,EAAgC,CAAC;AAEpE,SAAgB,qBAAqB,CAAC,KAAmC;IACxE,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAFD,sDAEC;AAEY,QAAA,qBAAqB,GAAG,UACpC,GAAQ;IAER,OAAO,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BE;AACW,QAAA,oBAAoB,GAAG,UACnC,UAA2B;IAE3B,IAAM,uBAAuB,GAAG,UAAC,EAKhC;;QAHC,yFAAyF;QACzF,iCAA4B,EAAjB,2BAAgB;QAEvB,OAAA,aAAa;IAAb,CAAa,CAAC;IAEpB,IAAM,kBAAkB,GAAG,UAAU;SACnC,MAAM,CAAC,oCAA4B,CAAC;SACpC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAE/B;;;MAGE;IACF,IAAM,mBAAmB,GAAG,UAAC,MAAM;QAClC,OAAA,MAAM,CAAC,MAAM,CAAC,UAAC,QAAQ,EAAE,aAAa;YACrC,IAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;YAEhD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC1B,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAChC,OAAO,QAAQ,CAAC;aAChB;YAED,wFAAwF;YACxF,IAAM,kBAAkB,GAAG,QAAQ,CAAC,SAAS,CAAC,UAAA,WAAW;gBACxD,OAAO,SAAI,WAAW,EAAE,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAvB,CAAuB,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;YAEH,IAAI,kBAAkB,GAAG,CAAC,CAAC,EAAE;gBAC5B,IAAM,KAAK,GAAG,IAAI,GAAG,UACjB,QAAQ,CAAC,kBAAkB,CAAC,EAC5B,gBAAgB,EAClB,CAAC;gBACH,mEAAmE;gBACnE,QAAQ,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC;aACrC;iBAAM;gBACN,+EAA+E;gBAC/E,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;aAChC;YAED,OAAO,QAAQ,CAAC;QACjB,CAAC,EAAE,EAAE,CAAC;IA1BN,CA0BM,CAAC;IAER,IAAM,OAAO,GAAG,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;IACxD,sEAAsE;IACtE,iEAAiE;IACjE,IAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAE9C,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAEW,QAAA,wBAAwB,GAAG,UACvC,SAA0B;IAE1B,IAAM,YAAY,GAAqB,EAAE,CAAC;IAC1C,IAAM,IAAI,GAAc,EAAE,CAAC;IAE3B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAC,IAAY;;QAClD,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;QACxD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAEhB,IAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAC,IAAY;YAC9C,IAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1C,IACC,OAAO,cAAc,CAAC,IAAI,KAAK,QAAQ;gBACvC,OAAO,IAAI,cAAc,CAAC,IAAI,EAC7B;gBACD,IAAM,cAAc,GAAG,cAAc,CAAC,WAAW,CAAC,cAAc,CAAC;gBACjE,YAAY,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC;oBACrC,SAAS,EAAE,cAAc,CAAC,IAAI;oBAC9B,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,KAAK;oBACpC,YAAY,EAAE,cAAc;oBAC5B,UAAU,EAAE,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC;oBACpD,cAAc,EAAE,cAAc,CAAC,WAAW,CAAC,gBAAgB,CAAC;iBAC5D,CAAC,CAAC;gBAEH,IAAI,cAAc,KAAK,YAAY,EAAE;oBACpC,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAC9B,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC,CACxC,CAAC;iBACF;aACD;QACF,CAAC,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,UAAU,EAAE;YACrB,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,GAAG,4BAAoB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;;gBAElE,KAAwB,IAAA,KAAA,SAAA,KAAK,CAAC,UAAU,CAAA,gBAAA,4BAAE;oBAArC,IAAM,SAAS,WAAA;oBACnB,IAAI,CAAC,2BAAmB,CAAC,SAAS,CAAC,EAAE;wBACpC,SAAS;qBACT;oBAED,IAAI,kCAA0B,CAAC,SAAS,CAAC,EAAE;wBAC1C,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;qBACpD;oBAEO,IAAA,oCAAM,CAA0B;;wBACxC,KAAoB,IAAA,0BAAA,SAAA,MAAM,CAAA,CAAA,8BAAA,kDAAE;4BAAvB,IAAM,KAAK,mBAAA;4BACf,iDAAiD;4BACjD,IAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;4BAC1D,IAAI,CAAC,MAAM,EAAE;gCACZ,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;6BACvC;yBACD;;;;;;;;;iBACD;;;;;;;;;SACD;IACF,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,IAAM,yBAAyB,GAAG,IAAI,OAAO,EAA6B,CAAC;AAE9D,QAAA,aAAa,GAAG,UAC5B,YAAoB,EACpB,QAAW,EACX,SAA0B,EAC1B,oBAA0C,EAC1C,8BAGoC;IAEpC,IAAM,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC;IAC9C,IAAM,gBAAgB,GAAG,8BAA8B,CACtD,SAAS,CAAC,IAAI,EACd,YAAY,CACZ,CAAC;IAEF,IAAM,QAAQ,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IAC7C,IAAM,MAAM,GAIN,EAAE,CAAC;IAET,IAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAA,aAAa;QAClE,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,UAAC,KAAmB;YAClD,IAAM,gBAAgB,GAAG,8BAA8B,CACtD,SAAS,CAAC,IAAI,EACd,KAAK,CAAC,SAAS,CACf,CAAC;YAEF,QAAQ,KAAK,CAAC,YAAY,EAAE;gBAC3B,KAAK,SAAS;oBACb,IAAI,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;wBAC9B,IAAI,aAAa,SAAG,CAAC;wBACrB,IAAI;4BACH,aAAa,GAAG,oBAAoB,CACnC,gBAAgB,EAChB,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CACzB,CAAC;yBACF;wBAAC,OAAO,KAAK,EAAE;4BACf,aAAa;yBACb;wBAED,MAAM,CAAC,IAAI,CAAC;4BACX,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;4BAC/B,QAAQ,EAAE,aAAa;yBACvB,CAAC,CAAC;wBAEG,aAAc,CAAC,KAAK,CAAC,SAAS,CAAC,GAAqB,CACzD,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAC7B,CAAC,EAAE,CAAC;qBACN;oBAED,MAAM;gBACP,KAAK,YAAY;oBAChB,IAAI,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;wBAC9B,IAAI,aAAa,SAAG,CAAC;wBACrB,IAAI;4BACH,aAAa,GAAG,oBAAoB,CACnC,gBAAgB,EAChB,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CACzB,CAAC;yBACF;wBAAC,OAAO,KAAK,EAAE;4BACf,aAAa;yBACb;wBAED,IAAM,SAAS,GAA2B,CACzC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAC7B,CAAC,QAAQ,CAAC;wBAEZ,IAAI,CAAC,SAAS,EAAE;4BACf,MAAM,CAAC,IAAI,CAAC;gCACX,SAAS,EAAE,KAAK,CAAC,SAAS;gCAC1B,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;gCAC/B,QAAQ,EAAE,aAAa;6BACvB,CAAC,CAAC;yBACH;qBACD;oBAED,IAAI,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;wBAC7B,aAAc,CAAC,KAAK,CAAC,UAAU,CAAC,GAAqB,CAC1D,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAC7B,CAAC,EAAE,CAAC;wBACN,OAAO,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;qBACtC;oBAED,MAAM;gBACP,KAAK,UAAU;oBACd,sBAAsB;oBACtB,MAAM;gBACP;oBACC,uBAAe,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;oBACpC,MAAM;aACP;QACF,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC;QACd,SAAS,EAAE,YAAY;QACvB,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,WAAW;KACrB,CAAC,CAAC;IAEH,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;QAC9C,yBAAyB,CAAC,GAAG,CAC5B,SAAS,EACT,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAC,CACrD,CAAC;KACF;IAED,IAAM,YAAY,GAAG,yBAAyB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAE9D,MAAM,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC;QAChB,OAAO,CACN,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CACrE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEW,QAAA,QAAQ,GAAG,UAAC,GAAmB,EAAE,GAAW;IACxD,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,GAAG,CAAC,IAAI,CAAC,UAAC,OAAqB;QAC9B,IAAI,OAAO,CAAC,SAAS,KAAK,GAAG,EAAE;YAC9B,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC;SAC3B;IACF,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAEW,QAAA,uBAAuB,GAAG,UACtC,OAAiB,EACjB,GAAW;IAEX,IAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,KAAK,GAAG,EAAX,CAAW,CAAC,CAAC;IAC/C,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAEF,IAAY,UAKX;AALD,WAAY,UAAU;IACrB,qCAAuB,CAAA;IACvB,2BAAa,CAAA;IACb,2BAAa,CAAA;IACb,iCAAmB,CAAA;AACpB,CAAC,EALW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAKrB;AAED,IAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;AAKT,8BAAS;AAJvC,IAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;AAIpB,oBAAI;AAHb,IAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;AAGd,oBAAI;AAFnB,IAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;AAEd,0BAAO;AAE5B,IAAI,sBAAsB,CAAC;AAEd,QAAA,aAAa,GAAG;IAC5B,OAAO,IAAI,OAAO,CAAC,UAAA,OAAO;QACzB,IAAM,MAAM,GAAG,SAAI,EAAE,CAAC;QACtB,IAAI,EAAE,CAAC;QAEP,IAAM,SAAS,GAAG;YACjB,sBAAsB,GAAG,KAAK,CAAC;YAE/B,OAAO,CAAC,IAAI,CAAC,CAAC;QACf,CAAC,CAAC;QAEF,IAAM,YAAY,GAAG;;;;6BAChB,CAAA,EAAE,IAAI,EAAE,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,UAAU,CAAA,EAAxD,wBAAwD;wBAC3D,qBAAM,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAA;;wBAAvB,SAAuB,CAAC;;4BAGzB,qBAAM,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,EAAA;;wBAAtC,SAAsC,CAAC;wBAEvC,sBAAsB,GAAG,IAAI,CAAC;wBAE9B,sBAAO,OAAO,CAAC,KAAK,CAAC,EAAC;;;aACtB,CAAC;QAEF,IAAI,sBAAsB,KAAK,IAAI,EAAE;YACpC,OAAO,YAAY,EAAE,CAAC;SACtB;QAED,IAAI,sBAAsB,KAAK,KAAK,EAAE;YACrC,OAAO,SAAS,EAAE,CAAC;SACnB;QAED,IAAI,SAAS,KAAK,IAAI;YAAE,OAAO,SAAS,EAAE,CAAC;QAE3C,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,EAAE,CAAC,OAAO,GAAG,SAAS,CAAC;QACvB,EAAE,CAAC,SAAS,GAAG,YAAY,CAAC;IAC7B,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,IAAM,WAAW,GAAG,UAAS,MAAc;IAC1C,OAAO,eAAM,CAAC,IAAI,CAAC,IAAI,sCAAS,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;AACtE,CAAC,CAAC;AACF,IAAM,IAAI,GAAG,cAAM,OAAA,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,EAAlC,CAAkC,CAAC;AACtD,SAAgB,oBAAoB,CAAC,IAAa;IACjD,IAAM,IAAI,GAAG,uBAAgB,CAAC,IAAI,CAAC,CAAC;IAEpC,OAAO;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC,CAAC;AACH,CAAC;AAND,oDAMC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,MAAM;IACrB,IACC,OAAO,WAAW,KAAK,WAAW;QAClC,WAAW;QACX,OAAO,WAAW,CAAC,GAAG,KAAK,UAAU,EACpC;QACD,OAAO,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,qBAAqB;KACnD;SAAM;QACN,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;KAClB;AACF,CAAC;AAVD,wBAUC;AAED,SAAgB,mBAAmB,CAClC,cAAsC;IAEtC,OAAO,SAAS,eAAe,CAAC,CAAC,EAAE,CAAC;;;YACnC,6DAA6D;YAC7D,+BAA+B;YAC/B,KAAwB,IAAA,mBAAA,SAAA,cAAc,CAAA,8CAAA,0EAAE;gBAAnC,IAAM,SAAS,2BAAA;gBACX,IAAA,uBAAK,EAAE,uCAAa,CAAe;gBAE3C,8CAA8C;gBAC9C,IAAM,cAAc,GAAG,aAAa,KAAK,qBAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAE1E,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE;oBACxB,OAAO,CAAC,CAAC,GAAG,cAAc,CAAC;iBAC3B;gBAED,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE;oBACxB,OAAO,CAAC,GAAG,cAAc,CAAC;iBAC1B;aACD;;;;;;;;;QAED,OAAO,CAAC,CAAC;IACV,CAAC,CAAC;AACH,CAAC;AAvBD,kDAuBC;AAED,4BAA4B;AAC5B,gEAAgE;AAChE,iCAAiC;AACjC,+DAA+D;AAC/D,4DAA4D;AAC5D,SAAgB,WAAW,CAC1B,IAAS,EACT,IAAS,EACT,OAAwB;;IAAxB,wBAAA,EAAA,eAAwB;IAExB,IAAI,CAAC,GAAG,IAAI,CAAC;IACb,IAAI,CAAC,GAAG,IAAI,CAAC;IAEb,IAAM,cAAc,GAAG,UAAC,EAAE,EAAE,EAAE;QAC7B,OAAO,CACN,CAAC,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI,CAAC,CACtE,CAAC;IACH,CAAC,CAAC;IAEF,iEAAiE;IACjE,IACC,CAAC,CAAC,YAAY,MAAM,IAAI,CAAC,CAAC,CAAC,YAAY,MAAM,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC,CAAC,YAAY,MAAM,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,EAC9C;QACD,OAAO,KAAK,CAAC;KACb;IAED,0BAA0B;IAC1B,IAAI,CAAC,CAAC,CAAC,YAAY,MAAM,CAAC,EAAE;QAC3B,IAAI,OAAO,IAAI,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;YACpC,OAAO,IAAI,CAAC;SACZ;QAED,OAAO,CAAC,KAAK,CAAC,CAAC;KACf;IAED,+BAA+B;IAC/B,IACC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EACtC;QACD,OAAO,KAAK,CAAC;KACb;IAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,EAAE;QACzC,CAAC,YAAO,CAAC,CAAC,CAAC;QACX,CAAC,YAAO,CAAC,CAAC,CAAC;KACX;IAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,EAAE;QACzC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;KAC1B;IAED,IAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE7B,8GAA8G;IAC9G,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;QACpE,OAAO,KAAK,CAAC;KACb;IAED,yCAAyC;IACzC,uEAAuE;IACvE,mCAAmC;IACnC,IAAM,IAAI,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;;QAE1D,KAAkB,IAAA,SAAA,SAAA,IAAI,CAAA,0BAAA,4CAAE;YAAnB,IAAM,GAAG,iBAAA;YACb,IAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YACpB,IAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAEpB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE;gBACtC,OAAO,KAAK,CAAC;aACb;SACD;;;;;;;;;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAxED,kCAwEC;AAEY,QAAA,SAAS,GAAG,UAAC,GAAW;IACpC,OAAO,CAAC,CAAC,mDAAmD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxE,CAAC,CAAC;AAEW,QAAA,SAAS,GAAG,UAAC,GAAW;IACpC,OAAO,CAAC,CAAC,6DAA6D,CAAC,IAAI,CAC1E,GAAG,CACH,CAAC;AACH,CAAC,CAAC;AAEW,QAAA,aAAa,GAAG,UAAC,GAAW;IACxC,OAAO,CAAC,CAAC,+EAA+E,CAAC,IAAI,CAC5F,GAAG,CACH,CAAC;AACH,CAAC,CAAC;AAEW,QAAA,cAAc,GAAG,UAAC,GAAW;IACzC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC;AAEW,QAAA,UAAU,GAAG,UAAC,GAAW;IACrC,OAAO,CAAC,CAAC,sIAAsI,CAAC,IAAI,CACnJ,GAAG,CACH,CAAC;AACH,CAAC,CAAC;AAEW,QAAA,SAAS,GAAG,UAAC,GAAW;IACpC,IAAI;QACH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChB,OAAO,IAAI,CAAC;KACZ;IAAC,WAAM;QACP,OAAO,KAAK,CAAC;KACb;AACF,CAAC,CAAC;AAEW,QAAA,QAAQ,GAAG,UAAC,GAAW;IACnC,IAAI;QACH,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;KACtB;IAAC,WAAM;QACP,OAAO,KAAK,CAAC;KACb;AACF,CAAC,CAAC;AAEW,QAAA,UAAU,GAAG,UAAC,GAAW;IACrC,OAAO,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtC,CAAC,CAAC;AAEW,QAAA,cAAc,GAAG,UAAC,GAAW;IACzC,OAAO,CAAC,CAAC,sqCAAsqC,CAAC,IAAI,CACnrC,GAAG,CACH,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "3.7.7"
2
+ "version": "3.8.3"
3
3
  }
@@ -1,6 +1,6 @@
1
1
  import Observable from 'zen-observable-ts';
2
2
  import { PredicateAll } from '../predicates';
3
- import { ConflictHandler, DataStoreConfig, ModelInit, ModelInstanceMetadata, NonModelTypeConstructor, ProducerPaginationInput, PersistentModel, PersistentModelConstructor, ProducerModelPredicate, Schema, SubscriptionMessage, TypeConstructorMap, ErrorHandler } from '../types';
3
+ import { ConflictHandler, DataStoreConfig, ModelInit, ModelInstanceMetadata, NonModelTypeConstructor, ProducerPaginationInput, PersistentModel, PersistentModelConstructor, ProducerModelPredicate, Schema, SubscriptionMessage, DataStoreSnapshot, TypeConstructorMap, ErrorHandler, ObserveQueryOptions } from '../types';
4
4
  export declare let syncClasses: TypeConstructorMap;
5
5
  declare const initSchema: (userSchema: Schema) => Record<string, NonModelTypeConstructor<any> | PersistentModelConstructor<any, {
6
6
  readOnlyFields: "createdAt" | "updatedAt";
@@ -45,6 +45,9 @@ declare class DataStore {
45
45
  <T extends PersistentModel>(model: T): Observable<SubscriptionMessage<T>>;
46
46
  <T extends PersistentModel>(modelConstructor: PersistentModelConstructor<T>, criteria?: string | ProducerModelPredicate<T>): Observable<SubscriptionMessage<T>>;
47
47
  };
48
+ observeQuery: {
49
+ <T extends PersistentModel>(modelConstructor: PersistentModelConstructor<T>, criteria?: ProducerModelPredicate<T> | typeof PredicateAll, paginationProducer?: ObserveQueryOptions<T>): Observable<DataStoreSnapshot<T>>;
50
+ };
48
51
  configure: (config?: DataStoreConfig) => void;
49
52
  clear: () => Promise<void>;
50
53
  stop: () => Promise<void>;
@@ -83,6 +83,10 @@ var __values = (this && this.__values) || function(o) {
83
83
  };
84
84
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
85
85
  };
86
+ var __spread = (this && this.__spread) || function () {
87
+ for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
88
+ return ar;
89
+ };
86
90
  import { Amplify, ConsoleLogger as Logger, Hub, JS } from '@aws-amplify/core';
87
91
  import { immerable, produce, setAutoFreeze, enablePatches, } from 'immer';
88
92
  import { v4 as uuid4 } from 'uuid';
@@ -92,7 +96,7 @@ import { isPredicatesAll, ModelPredicateCreator, ModelSortPredicateCreator, } fr
92
96
  import { ExclusiveStorage as Storage } from '../storage/storage';
93
97
  import { ControlMessage, SyncEngine } from '../sync';
94
98
  import { GraphQLScalarType, isGraphQLScalarType, AuthModeStrategyType, isNonModelFieldType, isModelFieldType, } from '../types';
95
- import { DATASTORE, establishRelationAndKeys, exhaustiveCheck, isModelConstructor, monotonicUlidFactory, STORAGE, SYNC, USER, isNullOrUndefined, registerNonModelClass, } from '../util';
99
+ import { DATASTORE, establishRelationAndKeys, exhaustiveCheck, isModelConstructor, monotonicUlidFactory, STORAGE, SYNC, USER, isNullOrUndefined, registerNonModelClass, sortCompareFunction, DeferredCallbackResolver, } from '../util';
96
100
  setAutoFreeze(true);
97
101
  enablePatches();
98
102
  var logger = new Logger('DataStore');
@@ -868,6 +872,123 @@ var DataStore = /** @class */ (function () {
868
872
  };
869
873
  });
870
874
  };
875
+ this.observeQuery = function (model, criteria, options) {
876
+ return new Observable(function (observer) {
877
+ var items = new Map();
878
+ var itemsChanged = new Map();
879
+ var deletedItemIds = [];
880
+ var handle;
881
+ var generateAndEmitSnapshot = function () {
882
+ var snapshot = generateSnapshot();
883
+ emitSnapshot(snapshot);
884
+ };
885
+ // a mechanism to return data after X amount of seconds OR after the
886
+ // "limit" (itemsChanged >= this.syncPageSize) has been reached, whichever comes first
887
+ var limitTimerRace = new DeferredCallbackResolver({
888
+ callback: generateAndEmitSnapshot,
889
+ errorHandler: observer.error,
890
+ maxInterval: 2000,
891
+ });
892
+ var sort = (options || {}).sort;
893
+ var sortOptions = sort ? { sort: sort } : undefined;
894
+ (function () { return __awaiter(_this, void 0, void 0, function () {
895
+ var err_1;
896
+ var _this = this;
897
+ return __generator(this, function (_a) {
898
+ switch (_a.label) {
899
+ case 0:
900
+ _a.trys.push([0, 2, , 3]);
901
+ return [4 /*yield*/, this.query(model, criteria, sortOptions)];
902
+ case 1:
903
+ // first, query and return any locally-available records
904
+ (_a.sent()).forEach(function (item) {
905
+ return items.set(item.id, item);
906
+ });
907
+ // observe the model and send a stream of updates (debounced)
908
+ handle = this.observe(model,
909
+ // @ts-ignore TODO: fix this TSlint error
910
+ criteria).subscribe(function (_a) {
911
+ var element = _a.element, model = _a.model, opType = _a.opType;
912
+ // Flag items which have been recently deleted
913
+ // NOTE: Merging of separate operations to the same model instance is handled upstream
914
+ // in the `mergePage` method within src/sync/merger.ts. The final state of a model instance
915
+ // depends on the LATEST record (for a given id).
916
+ if (opType === 'DELETE') {
917
+ deletedItemIds.push(element.id);
918
+ }
919
+ else {
920
+ itemsChanged.set(element.id, element);
921
+ }
922
+ var isSynced = _this.sync.getModelSyncedStatus(model);
923
+ var limit = itemsChanged.size - deletedItemIds.length >= _this.syncPageSize;
924
+ if (limit || isSynced) {
925
+ limitTimerRace.resolve();
926
+ }
927
+ // kicks off every subsequent race as results sync down
928
+ limitTimerRace.start();
929
+ });
930
+ // returns a set of initial/locally-available results
931
+ generateAndEmitSnapshot();
932
+ return [3 /*break*/, 3];
933
+ case 2:
934
+ err_1 = _a.sent();
935
+ observer.error(err_1);
936
+ return [3 /*break*/, 3];
937
+ case 3: return [2 /*return*/];
938
+ }
939
+ });
940
+ }); })();
941
+ // TODO: abstract this function into a util file to be able to write better unit tests
942
+ var generateSnapshot = function () {
943
+ var isSynced = _this.sync.getModelSyncedStatus(model);
944
+ var itemsArray = __spread(Array.from(items.values()), Array.from(itemsChanged.values()));
945
+ if (options === null || options === void 0 ? void 0 : options.sort) {
946
+ sortItems(itemsArray);
947
+ }
948
+ items.clear();
949
+ itemsArray.forEach(function (item) { return items.set(item.id, item); });
950
+ // remove deleted items from the final result set
951
+ deletedItemIds.forEach(function (id) { return items.delete(id); });
952
+ return {
953
+ items: Array.from(items.values()),
954
+ isSynced: isSynced,
955
+ };
956
+ };
957
+ var emitSnapshot = function (snapshot) {
958
+ // send the generated snapshot to the primary subscription
959
+ observer.next(snapshot);
960
+ // reset the changed items sets
961
+ itemsChanged.clear();
962
+ deletedItemIds = [];
963
+ };
964
+ var sortItems = function (itemsToSort) {
965
+ var modelDefinition = getModelDefinition(model);
966
+ var pagination = _this.processPagination(modelDefinition, options);
967
+ var sortPredicates = ModelSortPredicateCreator.getPredicates(pagination.sort);
968
+ if (sortPredicates.length) {
969
+ var compareFn = sortCompareFunction(sortPredicates);
970
+ itemsToSort.sort(compareFn);
971
+ }
972
+ };
973
+ // send one last snapshot when the model is fully synced
974
+ var hubCallback = function (_a) {
975
+ var payload = _a.payload;
976
+ var _b;
977
+ var event = payload.event, data = payload.data;
978
+ if (event === ControlMessage.SYNC_ENGINE_MODEL_SYNCED &&
979
+ ((_b = data === null || data === void 0 ? void 0 : data.model) === null || _b === void 0 ? void 0 : _b.name) === model.name) {
980
+ generateAndEmitSnapshot();
981
+ Hub.remove('api', hubCallback);
982
+ }
983
+ };
984
+ Hub.listen('datastore', hubCallback);
985
+ return function () {
986
+ if (handle) {
987
+ handle.unsubscribe();
988
+ }
989
+ };
990
+ });
991
+ };
871
992
  this.configure = function (config) {
872
993
  if (config === void 0) { config = {}; }
873
994
  var configDataStore = config.DataStore, configAuthModeStrategyType = config.authModeStrategyType, configConflictHandler = config.conflictHandler, configErrorHandler = config.errorHandler, configMaxRecordsToSync = config.maxRecordsToSync, configSyncPageSize = config.syncPageSize, configFullSyncInterval = config.fullSyncInterval, configSyncExpressions = config.syncExpressions, configAuthProviders = config.authProviders, configStorageAdapter = config.storageAdapter, configFromAmplify = __rest(config, ["DataStore", "authModeStrategyType", "conflictHandler", "errorHandler", "maxRecordsToSync", "syncPageSize", "fullSyncInterval", "syncExpressions", "authProviders", "storageAdapter"]);
@@ -897,12 +1018,16 @@ var DataStore = /** @class */ (function () {
897
1018
  configSyncExpressions;
898
1019
  _this.maxRecordsToSync =
899
1020
  (configDataStore && configDataStore.maxRecordsToSync) ||
900
- _this.maxRecordsToSync ||
901
- configMaxRecordsToSync;
1021
+ configMaxRecordsToSync ||
1022
+ 10000;
1023
+ // store on config object, so that Sync, Subscription, and Mutation processors can have access
1024
+ _this.amplifyConfig.maxRecordsToSync = _this.maxRecordsToSync;
902
1025
  _this.syncPageSize =
903
1026
  (configDataStore && configDataStore.syncPageSize) ||
904
- _this.syncPageSize ||
905
- configSyncPageSize;
1027
+ configSyncPageSize ||
1028
+ 1000;
1029
+ // store on config object, so that Sync, Subscription, and Mutation processors can have access
1030
+ _this.amplifyConfig.syncPageSize = _this.syncPageSize;
906
1031
  _this.fullSyncInterval =
907
1032
  (configDataStore && configDataStore.fullSyncInterval) ||
908
1033
  _this.fullSyncInterval ||