@aws-amplify/datastore 3.5.2 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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, DataStoreSnapshot, 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";
@@ -46,7 +46,7 @@ declare class DataStore {
46
46
  <T extends PersistentModel>(modelConstructor: PersistentModelConstructor<T>, criteria?: string | ProducerModelPredicate<T>): Observable<SubscriptionMessage<T>>;
47
47
  };
48
48
  observeQuery: {
49
- <T extends PersistentModel>(modelConstructor: PersistentModelConstructor<T>, criteria?: ProducerModelPredicate<T> | typeof PredicateAll, paginationProducer?: ProducerPaginationInput<T>): Observable<DataStoreSnapshot<T>>;
49
+ <T extends PersistentModel>(modelConstructor: PersistentModelConstructor<T>, criteria?: ProducerModelPredicate<T> | typeof PredicateAll, paginationProducer?: ObserveQueryOptions<T>): Observable<DataStoreSnapshot<T>>;
50
50
  };
51
51
  configure: (config?: DataStoreConfig) => void;
52
52
  clear: () => Promise<void>;
@@ -882,6 +882,19 @@ var DataStore = /** @class */ (function () {
882
882
  var itemsChanged = new Map();
883
883
  var deletedItemIds = [];
884
884
  var handle;
885
+ var generateAndEmitSnapshot = function () {
886
+ var snapshot = generateSnapshot();
887
+ emitSnapshot(snapshot);
888
+ };
889
+ // a mechanism to return data after X amount of seconds OR after the
890
+ // "limit" (itemsChanged >= this.syncPageSize) has been reached, whichever comes first
891
+ var limitTimerRace = new util_1.DeferredCallbackResolver({
892
+ callback: generateAndEmitSnapshot,
893
+ errorHandler: observer.error,
894
+ maxInterval: 2000,
895
+ });
896
+ var sort = (options || {}).sort;
897
+ var sortOptions = sort ? { sort: sort } : undefined;
885
898
  (function () { return __awaiter(_this, void 0, void 0, function () {
886
899
  var err_1;
887
900
  var _this = this;
@@ -889,7 +902,7 @@ var DataStore = /** @class */ (function () {
889
902
  switch (_a.label) {
890
903
  case 0:
891
904
  _a.trys.push([0, 2, , 3]);
892
- return [4 /*yield*/, this.query(model, criteria, options)];
905
+ return [4 /*yield*/, this.query(model, criteria, sortOptions)];
893
906
  case 1:
894
907
  // first, query and return any locally-available records
895
908
  (_a.sent()).forEach(function (item) {
@@ -911,12 +924,14 @@ var DataStore = /** @class */ (function () {
911
924
  itemsChanged.set(element.id, element);
912
925
  }
913
926
  var isSynced = _this.sync.getModelSyncedStatus(model);
914
- if (itemsChanged.size - deletedItemIds.length >= _this.syncPageSize ||
915
- isSynced) {
916
- generateAndEmitSnapshot();
927
+ var limit = itemsChanged.size - deletedItemIds.length >= _this.syncPageSize;
928
+ if (limit || isSynced) {
929
+ limitTimerRace.resolve();
917
930
  }
931
+ // kicks off every subsequent race as results sync down
932
+ limitTimerRace.start();
918
933
  });
919
- // will return any locally-available items in the first snapshot
934
+ // returns a set of initial/locally-available results
920
935
  generateAndEmitSnapshot();
921
936
  return [3 /*break*/, 3];
922
937
  case 2:
@@ -950,10 +965,6 @@ var DataStore = /** @class */ (function () {
950
965
  itemsChanged.clear();
951
966
  deletedItemIds = [];
952
967
  };
953
- var generateAndEmitSnapshot = function () {
954
- var snapshot = generateSnapshot();
955
- emitSnapshot(snapshot);
956
- };
957
968
  var sortItems = function (itemsToSort) {
958
969
  var modelDefinition = getModelDefinition(model);
959
970
  var pagination = _this.processPagination(modelDefinition, options);
@@ -1 +1 @@
1
- {"version":3,"file":"datastore.js","sourceRoot":"","sources":["../../src/datastore/datastore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"datastore.js","sourceRoot":"","sources":["../../src/datastore/datastore.ts"],"names":[],"mappings":"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"}
package/lib/types.d.ts CHANGED
@@ -299,6 +299,7 @@ export declare type ProducerPaginationInput<T extends PersistentModel> = {
299
299
  limit?: number;
300
300
  page?: number;
301
301
  };
302
+ export declare type ObserveQueryOptions<T extends PersistentModel> = Pick<ProducerPaginationInput<T>, 'sort'>;
302
303
  export declare type PaginationInput<T extends PersistentModel> = {
303
304
  sort?: SortPredicate<T>;
304
305
  limit?: number;
@@ -429,4 +430,13 @@ export declare type SyncError = {
429
430
  export declare const DISCARD: unique symbol;
430
431
  export declare type ConflictHandler = (conflict: SyncConflict) => Promise<PersistentModel | typeof DISCARD> | PersistentModel | typeof DISCARD;
431
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
+ }
432
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":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
@@ -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, DataStoreSnapshot, 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";
@@ -46,7 +46,7 @@ declare class DataStore {
46
46
  <T extends PersistentModel>(modelConstructor: PersistentModelConstructor<T>, criteria?: string | ProducerModelPredicate<T>): Observable<SubscriptionMessage<T>>;
47
47
  };
48
48
  observeQuery: {
49
- <T extends PersistentModel>(modelConstructor: PersistentModelConstructor<T>, criteria?: ProducerModelPredicate<T> | typeof PredicateAll, paginationProducer?: ProducerPaginationInput<T>): Observable<DataStoreSnapshot<T>>;
49
+ <T extends PersistentModel>(modelConstructor: PersistentModelConstructor<T>, criteria?: ProducerModelPredicate<T> | typeof PredicateAll, paginationProducer?: ObserveQueryOptions<T>): Observable<DataStoreSnapshot<T>>;
50
50
  };
51
51
  configure: (config?: DataStoreConfig) => void;
52
52
  clear: () => Promise<void>;
@@ -96,7 +96,7 @@ import { isPredicatesAll, ModelPredicateCreator, ModelSortPredicateCreator, } fr
96
96
  import { ExclusiveStorage as Storage } from '../storage/storage';
97
97
  import { ControlMessage, SyncEngine } from '../sync';
98
98
  import { GraphQLScalarType, isGraphQLScalarType, AuthModeStrategyType, isNonModelFieldType, isModelFieldType, } from '../types';
99
- import { DATASTORE, establishRelationAndKeys, exhaustiveCheck, isModelConstructor, monotonicUlidFactory, STORAGE, SYNC, USER, isNullOrUndefined, registerNonModelClass, sortCompareFunction, } from '../util';
99
+ import { DATASTORE, establishRelationAndKeys, exhaustiveCheck, isModelConstructor, monotonicUlidFactory, STORAGE, SYNC, USER, isNullOrUndefined, registerNonModelClass, sortCompareFunction, DeferredCallbackResolver, } from '../util';
100
100
  setAutoFreeze(true);
101
101
  enablePatches();
102
102
  var logger = new Logger('DataStore');
@@ -878,6 +878,19 @@ var DataStore = /** @class */ (function () {
878
878
  var itemsChanged = new Map();
879
879
  var deletedItemIds = [];
880
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;
881
894
  (function () { return __awaiter(_this, void 0, void 0, function () {
882
895
  var err_1;
883
896
  var _this = this;
@@ -885,7 +898,7 @@ var DataStore = /** @class */ (function () {
885
898
  switch (_a.label) {
886
899
  case 0:
887
900
  _a.trys.push([0, 2, , 3]);
888
- return [4 /*yield*/, this.query(model, criteria, options)];
901
+ return [4 /*yield*/, this.query(model, criteria, sortOptions)];
889
902
  case 1:
890
903
  // first, query and return any locally-available records
891
904
  (_a.sent()).forEach(function (item) {
@@ -907,12 +920,14 @@ var DataStore = /** @class */ (function () {
907
920
  itemsChanged.set(element.id, element);
908
921
  }
909
922
  var isSynced = _this.sync.getModelSyncedStatus(model);
910
- if (itemsChanged.size - deletedItemIds.length >= _this.syncPageSize ||
911
- isSynced) {
912
- generateAndEmitSnapshot();
923
+ var limit = itemsChanged.size - deletedItemIds.length >= _this.syncPageSize;
924
+ if (limit || isSynced) {
925
+ limitTimerRace.resolve();
913
926
  }
927
+ // kicks off every subsequent race as results sync down
928
+ limitTimerRace.start();
914
929
  });
915
- // will return any locally-available items in the first snapshot
930
+ // returns a set of initial/locally-available results
916
931
  generateAndEmitSnapshot();
917
932
  return [3 /*break*/, 3];
918
933
  case 2:
@@ -946,10 +961,6 @@ var DataStore = /** @class */ (function () {
946
961
  itemsChanged.clear();
947
962
  deletedItemIds = [];
948
963
  };
949
- var generateAndEmitSnapshot = function () {
950
- var snapshot = generateSnapshot();
951
- emitSnapshot(snapshot);
952
- };
953
964
  var sortItems = function (itemsToSort) {
954
965
  var modelDefinition = getModelDefinition(model);
955
966
  var pagination = _this.processPagination(modelDefinition, options);