@stemy/ngx-utils 11.2.9 → 11.2.10

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,5 +1,6 @@
1
1
  import { from, Observable, Subject, Subscription } from "rxjs";
2
2
  import { mergeMap } from "rxjs/operators";
3
+ import { TimerUtils } from "./timer.utils";
3
4
  export class ObservableUtils {
4
5
  static toSearch(search) {
5
6
  return mergeMap(
@@ -23,18 +24,23 @@ export class ObservableUtils {
23
24
  const subscriptions = [];
24
25
  subscribers.forEach(info => {
25
26
  let alreadyCalled = false;
27
+ const timer = info.timeout > 0 ? TimerUtils.createTimeout() : 0;
28
+ const cb = timer ? function () {
29
+ const args = Array.from(arguments);
30
+ timer.set(() => {
31
+ info.cb.apply(null, args);
32
+ }, info.timeout);
33
+ } : info.cb;
26
34
  info.subjects.forEach(subject => {
27
- const ss = subject.subscribe(function () {
28
- const args = Array.from(arguments);
29
- args.unshift(subject);
35
+ const ss = subject.subscribe((value) => {
30
36
  alreadyCalled = true;
31
- info.cb.apply(null, args);
37
+ cb.call(null, subject, value);
32
38
  });
33
39
  subscriptions.push(ss);
34
40
  });
35
41
  if (alreadyCalled)
36
42
  return;
37
- info.cb();
43
+ cb();
38
44
  });
39
45
  return ObservableUtils.multiSubscription(...subscriptions);
40
46
  }
@@ -54,4 +60,4 @@ export class ObservableUtils {
54
60
  });
55
61
  }
56
62
  }
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2YWJsZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvdXRpbHMvb2JzZXJ2YWJsZS51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQVN4QyxNQUFNLE9BQU8sZUFBZTtJQUV4QixNQUFNLENBQUMsUUFBUSxDQUFDLE1BQXlCO1FBQ3JDLE9BQU8sUUFBUTtRQUNYLFdBQVc7UUFDWCxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUNwRCxDQUNHLFVBQVUsQ0FBQyxNQUFNO1FBQ2IsV0FBVztRQUNYLENBQUMsUUFBYSxFQUFFLEVBQUU7WUFDZCxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQ0osQ0FDSixDQUFDO0lBQ04sQ0FBQztJQUVELE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLGFBQTZCO1FBQ3JELFdBQVc7UUFDWCxNQUFNLE1BQU0sR0FBRyxHQUFHLEVBQUU7WUFDaEIsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDdEIsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDO1FBQ0YsT0FBTyxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLFdBQThCO1FBQzlDLE1BQU0sYUFBYSxHQUFtQixFQUFFLENBQUM7UUFDekMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN2QixJQUFJLGFBQWEsR0FBRyxLQUFLLENBQUM7WUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQzVCLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7b0JBQ3pCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7b0JBQ25DLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQ3RCLGFBQWEsR0FBRyxJQUFJLENBQUM7b0JBQ3JCLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDOUIsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMzQixDQUFDLENBQUMsQ0FBQztZQUNILElBQUksYUFBYTtnQkFBRSxPQUFPO1lBQzFCLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxlQUFlLENBQUMsaUJBQWlCLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxZQUF1QjtRQUN2QyxJQUFJLE9BQVksQ0FBQztRQUNqQixPQUFPLElBQUksVUFBVSxDQUFNLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDdEMsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDVixPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDeEIsSUFBSTtvQkFDQSxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7aUJBQ2xDO2dCQUFDLE9BQU8sR0FBRyxFQUFFO29CQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ3RCO2FBQ0o7WUFDRCxPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2Zyb20sIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHttZXJnZU1hcH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcblxyXG5pbXBvcnQge0lTZWFyY2hPYnNlcnZhYmxlfSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElTdWJzY3JpYmVySW5mbyB7XHJcbiAgICBzdWJqZWN0czogT2JzZXJ2YWJsZTxhbnk+W10sXHJcbiAgICBjYjogKGV2PzogT2JzZXJ2YWJsZTxhbnk+LCAuLi5hcmdzOiBhbnlbXSkgPT4gYW55LFxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgT2JzZXJ2YWJsZVV0aWxzIHtcclxuXHJcbiAgICBzdGF0aWMgdG9TZWFyY2goc2VhcmNoOiBJU2VhcmNoT2JzZXJ2YWJsZSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAgICAgcmV0dXJuIG1lcmdlTWFwKFxyXG4gICAgICAgICAgICAvLyBAZHluYW1pY1xyXG4gICAgICAgICAgICAodG9rZW46IHN0cmluZykgPT4gc2VhcmNoLmdldFNlYXJjaFJlc3VsdHModG9rZW4pXHJcbiAgICAgICAgKShcclxuICAgICAgICAgICAgT2JzZXJ2YWJsZS5jcmVhdGUoXHJcbiAgICAgICAgICAgICAgICAvLyBAZHluYW1pY1xyXG4gICAgICAgICAgICAgICAgKG9ic2VydmVyOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KHNlYXJjaC5zZWFyY2gpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgbXVsdGlTdWJzY3JpcHRpb24oLi4uc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10pOiBTdWJzY3JpcHRpb24ge1xyXG4gICAgICAgIC8vIEBkeW5hbWljXHJcbiAgICAgICAgY29uc3QgbGFtYmRhID0gKCkgPT4ge1xyXG4gICAgICAgICAgICBzdWJzY3JpcHRpb25zLmZvckVhY2gocyA9PiB7XHJcbiAgICAgICAgICAgICAgICBzLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgcmV0dXJuIG5ldyBTdWJzY3JpcHRpb24obGFtYmRhKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgc3Vic2NyaWJlKC4uLnN1YnNjcmliZXJzOiBJU3Vic2NyaWJlckluZm9bXSk6IFN1YnNjcmlwdGlvbiB7XHJcbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuICAgICAgICBzdWJzY3JpYmVycy5mb3JFYWNoKGluZm8gPT4ge1xyXG4gICAgICAgICAgICBsZXQgYWxyZWFkeUNhbGxlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICBpbmZvLnN1YmplY3RzLmZvckVhY2goc3ViamVjdCA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBzcyA9IHN1YmplY3Quc3Vic2NyaWJlKGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBhcmdzID0gQXJyYXkuZnJvbShhcmd1bWVudHMpO1xyXG4gICAgICAgICAgICAgICAgICAgIGFyZ3MudW5zaGlmdChzdWJqZWN0KTtcclxuICAgICAgICAgICAgICAgICAgICBhbHJlYWR5Q2FsbGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICBpbmZvLmNiLmFwcGx5KG51bGwsIGFyZ3MpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb25zLnB1c2goc3MpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgaWYgKGFscmVhZHlDYWxsZWQpIHJldHVybjtcclxuICAgICAgICAgICAgaW5mby5jYigpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBPYnNlcnZhYmxlVXRpbHMubXVsdGlTdWJzY3JpcHRpb24oLi4uc3Vic2NyaXB0aW9ucyk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGZyb21GdW5jdGlvbihjYWxsYmFja0Z1bmM6ICgpID0+IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAgICAgbGV0IHN1YmplY3Q6IGFueTtcclxuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8YW55Pigoc3Vic2NyaWJlcikgPT4ge1xyXG4gICAgICAgICAgICBpZiAoIXN1YmplY3QpIHtcclxuICAgICAgICAgICAgICAgIHN1YmplY3QgPSBuZXcgU3ViamVjdCgpO1xyXG4gICAgICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgICAgICBzdWJqZWN0ID0gZnJvbShjYWxsYmFja0Z1bmMoKSk7XHJcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgICAgICAgICAgICBzdWJqZWN0LmVycm9yKGVycik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHN1YmplY3Quc3Vic2NyaWJlKHN1YnNjcmliZXIpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2YWJsZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvdXRpbHMvb2JzZXJ2YWJsZS51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBUXpDLE1BQU0sT0FBTyxlQUFlO0lBRXhCLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBeUI7UUFDckMsT0FBTyxRQUFRO1FBQ1gsV0FBVztRQUNYLENBQUMsS0FBYSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQ3BELENBQ0csVUFBVSxDQUFDLE1BQU07UUFDYixXQUFXO1FBQ1gsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUNkLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FDSixDQUNKLENBQUM7SUFDTixDQUFDO0lBRUQsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsYUFBNkI7UUFDckQsV0FBVztRQUNYLE1BQU0sTUFBTSxHQUFHLEdBQUcsRUFBRTtZQUNoQixhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUN0QixDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDcEIsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUM7UUFDRixPQUFPLElBQUksWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsV0FBOEI7UUFDOUMsTUFBTSxhQUFhLEdBQW1CLEVBQUUsQ0FBQztRQUN6QyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3ZCLElBQUksYUFBYSxHQUFHLEtBQUssQ0FBQztZQUMxQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEUsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDZixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUNuQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtvQkFDWCxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQzlCLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ1osSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQzVCLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtvQkFDbkMsYUFBYSxHQUFHLElBQUksQ0FBQztvQkFDckIsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUNsQyxDQUFDLENBQUMsQ0FBQztnQkFDSCxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzNCLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxhQUFhO2dCQUFFLE9BQU87WUFDMUIsRUFBRSxFQUFFLENBQUM7UUFDVCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sZUFBZSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsWUFBdUI7UUFDdkMsSUFBSSxPQUFZLENBQUM7UUFDakIsT0FBTyxJQUFJLFVBQVUsQ0FBTSxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ1YsT0FBTyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ3hCLElBQUk7b0JBQ0EsT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO2lCQUNsQztnQkFBQyxPQUFPLEdBQUcsRUFBRTtvQkFDVixPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUN0QjthQUNKO1lBQ0QsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtmcm9tLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7bWVyZ2VNYXB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5cclxuaW1wb3J0IHtJU2VhcmNoT2JzZXJ2YWJsZX0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5pbXBvcnQge1RpbWVyVXRpbHN9IGZyb20gXCIuL3RpbWVyLnV0aWxzXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElTdWJzY3JpYmVySW5mbyB7XHJcbiAgICBzdWJqZWN0czogT2JzZXJ2YWJsZTxhbnk+W107XHJcbiAgICBjYjogKGV2PzogT2JzZXJ2YWJsZTxhbnk+LCAuLi5hcmdzOiBhbnlbXSkgPT4gYW55O1xyXG4gICAgdGltZW91dD86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE9ic2VydmFibGVVdGlscyB7XHJcblxyXG4gICAgc3RhdGljIHRvU2VhcmNoKHNlYXJjaDogSVNlYXJjaE9ic2VydmFibGUpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgICAgIHJldHVybiBtZXJnZU1hcChcclxuICAgICAgICAgICAgLy8gQGR5bmFtaWNcclxuICAgICAgICAgICAgKHRva2VuOiBzdHJpbmcpID0+IHNlYXJjaC5nZXRTZWFyY2hSZXN1bHRzKHRva2VuKVxyXG4gICAgICAgICkoXHJcbiAgICAgICAgICAgIE9ic2VydmFibGUuY3JlYXRlKFxyXG4gICAgICAgICAgICAgICAgLy8gQGR5bmFtaWNcclxuICAgICAgICAgICAgICAgIChvYnNlcnZlcjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChzZWFyY2guc2VhcmNoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIG11bHRpU3Vic2NyaXB0aW9uKC4uLnN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdKTogU3Vic2NyaXB0aW9uIHtcclxuICAgICAgICAvLyBAZHluYW1pY1xyXG4gICAgICAgIGNvbnN0IGxhbWJkYSA9ICgpID0+IHtcclxuICAgICAgICAgICAgc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHMgPT4ge1xyXG4gICAgICAgICAgICAgICAgcy51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiBuZXcgU3Vic2NyaXB0aW9uKGxhbWJkYSk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIHN1YnNjcmliZSguLi5zdWJzY3JpYmVyczogSVN1YnNjcmliZXJJbmZvW10pOiBTdWJzY3JpcHRpb24ge1xyXG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcbiAgICAgICAgc3Vic2NyaWJlcnMuZm9yRWFjaChpbmZvID0+IHtcclxuICAgICAgICAgICAgbGV0IGFscmVhZHlDYWxsZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgY29uc3QgdGltZXIgPSBpbmZvLnRpbWVvdXQgPiAwID8gVGltZXJVdGlscy5jcmVhdGVUaW1lb3V0KCkgOiAwO1xyXG4gICAgICAgICAgICBjb25zdCBjYiA9IHRpbWVyID8gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgYXJncyA9IEFycmF5LmZyb20oYXJndW1lbnRzKTtcclxuICAgICAgICAgICAgICAgIHRpbWVyLnNldCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW5mby5jYi5hcHBseShudWxsLCBhcmdzKTtcclxuICAgICAgICAgICAgICAgIH0sIGluZm8udGltZW91dCk7XHJcbiAgICAgICAgICAgIH0gOiBpbmZvLmNiO1xyXG4gICAgICAgICAgICBpbmZvLnN1YmplY3RzLmZvckVhY2goc3ViamVjdCA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBzcyA9IHN1YmplY3Quc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGFscmVhZHlDYWxsZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNiLmNhbGwobnVsbCwgc3ViamVjdCwgdmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb25zLnB1c2goc3MpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgaWYgKGFscmVhZHlDYWxsZWQpIHJldHVybjtcclxuICAgICAgICAgICAgY2IoKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gT2JzZXJ2YWJsZVV0aWxzLm11bHRpU3Vic2NyaXB0aW9uKC4uLnN1YnNjcmlwdGlvbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBmcm9tRnVuY3Rpb24oY2FsbGJhY2tGdW5jOiAoKSA9PiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgICAgIGxldCBzdWJqZWN0OiBhbnk7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPGFueT4oKHN1YnNjcmliZXIpID0+IHtcclxuICAgICAgICAgICAgaWYgKCFzdWJqZWN0KSB7XHJcbiAgICAgICAgICAgICAgICBzdWJqZWN0ID0gbmV3IFN1YmplY3QoKTtcclxuICAgICAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc3ViamVjdCA9IGZyb20oY2FsbGJhY2tGdW5jKCkpO1xyXG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc3ViamVjdC5lcnJvcihlcnIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBzdWJqZWN0LnN1YnNjcmliZShzdWJzY3JpYmVyKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1485,6 +1485,57 @@ __decorate([
1485
1485
  FactoryDependencies(AUTH_SERVICE, StateService)
1486
1486
  ], AuthGuard, "guardAuthStateField", null);
1487
1487
 
1488
+ class TimerUtils {
1489
+ static createTimeout(func, time) {
1490
+ // @dynamic
1491
+ const run = (timer) => {
1492
+ timer.clear();
1493
+ timer.id = setTimeout(() => {
1494
+ timer.id = null;
1495
+ timer.func();
1496
+ }, timer.time);
1497
+ };
1498
+ // @dynamic
1499
+ const clear = (timer) => {
1500
+ if (!timer.id)
1501
+ return;
1502
+ clearTimeout(timer.id);
1503
+ timer.id = null;
1504
+ };
1505
+ return TimerUtils.createTimer(run, clear, func, time);
1506
+ }
1507
+ static createInterval(func, time) {
1508
+ // @dynamic
1509
+ const run = (timer) => {
1510
+ timer.clear();
1511
+ timer.id = setInterval(timer.func, timer.time);
1512
+ };
1513
+ // @dynamic
1514
+ const clear = (timer) => {
1515
+ if (!timer.id)
1516
+ return;
1517
+ clearInterval(timer.id);
1518
+ timer.id = null;
1519
+ };
1520
+ return TimerUtils.createTimer(run, clear, func, time);
1521
+ }
1522
+ static createTimer(run, clear, func, time) {
1523
+ const timer = {};
1524
+ const setParams = (func, time) => {
1525
+ timer.func = !ObjectUtils.isFunction(func) ? (() => { }) : func;
1526
+ timer.time = !ObjectUtils.isNumber(time) ? 100 : time;
1527
+ };
1528
+ timer.run = () => run(timer);
1529
+ timer.clear = () => clear(timer);
1530
+ timer.set = (func, time) => {
1531
+ setParams(func, time);
1532
+ timer.run();
1533
+ };
1534
+ setParams(func, time);
1535
+ return timer;
1536
+ }
1537
+ }
1538
+
1488
1539
  class ObservableUtils {
1489
1540
  static toSearch(search) {
1490
1541
  return mergeMap(
@@ -1508,18 +1559,23 @@ class ObservableUtils {
1508
1559
  const subscriptions = [];
1509
1560
  subscribers.forEach(info => {
1510
1561
  let alreadyCalled = false;
1562
+ const timer = info.timeout > 0 ? TimerUtils.createTimeout() : 0;
1563
+ const cb = timer ? function () {
1564
+ const args = Array.from(arguments);
1565
+ timer.set(() => {
1566
+ info.cb.apply(null, args);
1567
+ }, info.timeout);
1568
+ } : info.cb;
1511
1569
  info.subjects.forEach(subject => {
1512
- const ss = subject.subscribe(function () {
1513
- const args = Array.from(arguments);
1514
- args.unshift(subject);
1570
+ const ss = subject.subscribe((value) => {
1515
1571
  alreadyCalled = true;
1516
- info.cb.apply(null, args);
1572
+ cb.call(null, subject, value);
1517
1573
  });
1518
1574
  subscriptions.push(ss);
1519
1575
  });
1520
1576
  if (alreadyCalled)
1521
1577
  return;
1522
- info.cb();
1578
+ cb();
1523
1579
  });
1524
1580
  return ObservableUtils.multiSubscription(...subscriptions);
1525
1581
  }
@@ -1686,57 +1742,6 @@ class SetUtils {
1686
1742
  }
1687
1743
  }
1688
1744
 
1689
- class TimerUtils {
1690
- static createTimeout(func, time) {
1691
- // @dynamic
1692
- const run = (timer) => {
1693
- timer.clear();
1694
- timer.id = setTimeout(() => {
1695
- timer.id = null;
1696
- timer.func();
1697
- }, timer.time);
1698
- };
1699
- // @dynamic
1700
- const clear = (timer) => {
1701
- if (!timer.id)
1702
- return;
1703
- clearTimeout(timer.id);
1704
- timer.id = null;
1705
- };
1706
- return TimerUtils.createTimer(run, clear, func, time);
1707
- }
1708
- static createInterval(func, time) {
1709
- // @dynamic
1710
- const run = (timer) => {
1711
- timer.clear();
1712
- timer.id = setInterval(timer.func, timer.time);
1713
- };
1714
- // @dynamic
1715
- const clear = (timer) => {
1716
- if (!timer.id)
1717
- return;
1718
- clearInterval(timer.id);
1719
- timer.id = null;
1720
- };
1721
- return TimerUtils.createTimer(run, clear, func, time);
1722
- }
1723
- static createTimer(run, clear, func, time) {
1724
- const timer = {};
1725
- const setParams = (func, time) => {
1726
- timer.func = !ObjectUtils.isFunction(func) ? (() => { }) : func;
1727
- timer.time = !ObjectUtils.isNumber(time) ? 100 : time;
1728
- };
1729
- timer.run = () => run(timer);
1730
- timer.clear = () => clear(timer);
1731
- timer.set = (func, time) => {
1732
- setParams(func, time);
1733
- timer.run();
1734
- };
1735
- setParams(func, time);
1736
- return timer;
1737
- }
1738
- }
1739
-
1740
1745
  class UniqueUtils {
1741
1746
  static uuid() {
1742
1747
  if (typeof window !== "undefined" && typeof window.crypto !== "undefined" && typeof window.crypto.getRandomValues !== "undefined") {