@elderbyte/ngx-starter 15.3.4 → 15.4.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.
Files changed (41) hide show
  1. package/_index.scss +6 -3
  2. package/esm2020/lib/common/data/data-context/data-context-active-page.mjs +2 -2
  3. package/esm2020/lib/common/data/data-context/data-context-base.mjs +46 -27
  4. package/esm2020/lib/common/data/data-context/data-context-builder.mjs +9 -8
  5. package/esm2020/lib/common/data/data-context/data-context-continuable-paged.mjs +7 -8
  6. package/esm2020/lib/common/data/data-context/data-context-continuable-token.mjs +2 -2
  7. package/esm2020/lib/common/data/data-context/data-context-life-cycle-binding.mjs +4 -2
  8. package/esm2020/lib/common/data/data-context/data-context-source-event-binding.mjs +46 -0
  9. package/esm2020/lib/common/data/data-context/data-context.mjs +1 -1
  10. package/esm2020/lib/common/data/data-context/indexed-entities.mjs +143 -0
  11. package/esm2020/lib/common/data/data-context/public_api.mjs +3 -2
  12. package/esm2020/lib/common/data/datasource/data-source-base.mjs +38 -0
  13. package/esm2020/lib/common/data/datasource/data-source-change-event.mjs +24 -0
  14. package/esm2020/lib/common/data/datasource/data-source.mjs +1 -1
  15. package/esm2020/lib/common/data/datasource/local/local-list-data-source.mjs +11 -19
  16. package/esm2020/lib/common/data/datasource/local/local-paged-data-source.mjs +8 -8
  17. package/esm2020/lib/common/data/datasource/public_api.mjs +3 -1
  18. package/esm2020/lib/common/data/datasource/rest/rest-client.mjs +23 -38
  19. package/fesm2015/elderbyte-ngx-starter.mjs +408 -178
  20. package/fesm2015/elderbyte-ngx-starter.mjs.map +1 -1
  21. package/fesm2020/elderbyte-ngx-starter.mjs +407 -178
  22. package/fesm2020/elderbyte-ngx-starter.mjs.map +1 -1
  23. package/lib/common/data/data-context/data-context-base.d.ts +12 -3
  24. package/lib/common/data/data-context/data-context-builder.d.ts +2 -1
  25. package/lib/common/data/data-context/data-context-source-event-binding.d.ts +31 -0
  26. package/lib/common/data/data-context/data-context.d.ts +14 -2
  27. package/lib/common/data/data-context/indexed-entities.d.ts +72 -0
  28. package/lib/common/data/data-context/public_api.d.ts +2 -1
  29. package/lib/common/data/datasource/data-source-base.d.ts +38 -0
  30. package/lib/common/data/datasource/data-source-change-event.d.ts +13 -0
  31. package/lib/common/data/datasource/data-source.d.ts +2 -1
  32. package/lib/common/data/datasource/local/local-list-data-source.d.ts +3 -7
  33. package/lib/common/data/datasource/local/local-paged-data-source.d.ts +5 -3
  34. package/lib/common/data/datasource/public_api.d.ts +2 -0
  35. package/lib/common/data/datasource/rest/rest-client.d.ts +10 -18
  36. package/package.json +1 -1
  37. package/theming/_elder-common.scss +14 -8
  38. package/theming/_elder-config.scss +37 -0
  39. package/theming/_elder-flex-layout.scss +231 -8
  40. package/esm2020/lib/common/data/data-context/data-context-source-auto-reloader.mjs +0 -12
  41. package/lib/common/data/data-context/data-context-source-auto-reloader.d.ts +0 -8
@@ -111,7 +111,7 @@ export class DataContextContinuablePaged extends DataContextContinuableBase {
111
111
  this.onIdle();
112
112
  }, err => {
113
113
  this.onError(err);
114
- this.setData([]);
114
+ this.clearData();
115
115
  this.setTotal(0);
116
116
  this.logger.error('Failed to query data', err);
117
117
  subject.error(err);
@@ -126,13 +126,12 @@ export class DataContextContinuablePaged extends DataContextContinuableBase {
126
126
  try {
127
127
  this.setTotal(page.totalElements);
128
128
  const start = page.number * page.size;
129
- const newData = clear ? [] : [...this.dataSnapshot];
130
- for (let i = 0; i < page.content.length; i++) {
131
- const item = page.content[i];
132
- newData[i + start] = item;
133
- this.indexItem(item);
129
+ if (clear) {
130
+ this.setData(page.content);
131
+ }
132
+ else {
133
+ this.insertData(page.content, start);
134
134
  }
135
- this.setData(newData, true);
136
135
  }
137
136
  catch (err) {
138
137
  this.onError(err);
@@ -140,4 +139,4 @@ export class DataContextContinuablePaged extends DataContextContinuableBase {
140
139
  }
141
140
  }
142
141
  }
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250ZXh0LWNvbnRpbnVhYmxlLXBhZ2VkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dC1jb250aW51YWJsZS1wYWdlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsYUFBYSxFQUFFLEtBQUssRUFBYyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUFPLFFBQVEsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUN2QyxPQUFPLEVBQVMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDM0UsT0FBTyxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFJckQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLDJCQUErQixTQUFRLDBCQUE2QjtJQWU3RTs7OztnRkFJNEU7SUFFNUUsWUFDSSxVQUErQixFQUMvQixRQUFnQixFQUNoQixPQUEyQixFQUMzQixVQUFnQyxFQUNoQyxTQUE4QztRQUU5QyxLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBMUJoRTs7OztvRkFJNEU7UUFFM0QsV0FBTSxHQUFXLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV6RSxlQUFVLEdBQXFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDekQsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFtQnBCLElBQUksQ0FBQyxZQUFZLEdBQUcsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJ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RUc7SUFDSyxnQkFBZ0IsQ0FBQyxJQUFhLEVBQUUsS0FBYztRQUNsRCxJQUFJO1lBQ0EsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDbEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBRXRDLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3BELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDMUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDN0IsT0FBTyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDeEI7WUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztTQUMvQjtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxtQ0FBbUMsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDckU7SUFDTCxDQUFDO0NBR0oiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7Y29tYmluZUxhdGVzdCwgRU1QVFksIE9ic2VydmFibGUsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtQYWdlLCBQYWdlYWJsZX0gZnJvbSAnLi4vcGFnZSc7XG5pbXBvcnQge0xvZ2dlciwgTG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtEYXRhQ29udGV4dENvbnRpbnVhYmxlQmFzZX0gZnJvbSAnLi9kYXRhLWNvbnRleHQtY29udGludWFibGUtYmFzZSc7XG5pbXBvcnQge2ZpcnN0LCBtYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtTb3J0fSBmcm9tICcuLi9zb3J0JztcbmltcG9ydCB7SVBhZ2VkRGF0YVNvdXJjZX0gZnJvbSAnLi4vZGF0YXNvdXJjZS9kYXRhLXNvdXJjZSc7XG5cbi8qKlxuICogRXh0ZW5kcyBhIHNpbXBsZSBmbGF0IGxpc3QgZGF0YS1jb250ZXh0IHdpdGggaW5maW5pdGUtc2Nyb2xsIHBhZ2luYXRpb24gc3VwcG9ydC5cbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRhQ29udGV4dENvbnRpbnVhYmxlUGFnZWQ8VD4gZXh0ZW5kcyBEYXRhQ29udGV4dENvbnRpbnVhYmxlQmFzZTxUPiB7XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IExvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgICBwcml2YXRlIF9wYWdlQ2FjaGU6IE1hcDxudW1iZXIsIE9ic2VydmFibGU8UGFnZTxUPj4+ID0gbmV3IE1hcCgpO1xuICAgIHByaXZhdGUgX2xhdGVzdFBhZ2UgPSAwO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBfaGFzTW9yZURhdGE6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqIENvbnN0cnVjdG9ycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGRhdGFTb3VyY2U6IElQYWdlZERhdGFTb3VyY2U8VD4sXG4gICAgICAgIHBhZ2VTaXplOiBudW1iZXIsXG4gICAgICAgIGluZGV4Rm46ICgoaXRlbTogVCkgPT4gYW55KSxcbiAgICAgICAgbG9jYWxBcHBseTogKChkYXRhOiBUW10pID0+IFRbXSksXG4gICAgICAgIGxvY2FsU29ydDogKChkYXRhOiBUW10sIHNvcnRzOiBTb3J0W10pID0+IFRbXSlcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZGF0YVNvdXJjZSwgcGFnZVNpemUsIGluZGV4Rm4sIGxvY2FsQXBwbHksIGxvY2FsU29ydCk7XG5cbiAgICAgICAgdGhpcy5faGFzTW9yZURhdGEgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnRvdGFsLCB0aGlzLmRhdGFdKS5waXBlKFxuICAgICAgICAgIG1hcCgoW3RvdGFsLCBkYXRhXSkgPT4gdGhpcy5jaGVja0hhc01vcmVEYXRhKHRvdGFsLCBkYXRhKSksXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICBwdWJsaWMgZ2V0IGRhdGFTb3VyY2UoKTogSVBhZ2VkRGF0YVNvdXJjZTxUPiB7XG4gICAgICByZXR1cm4gPElQYWdlZERhdGFTb3VyY2U8VD4+c3VwZXIuZGF0YVNvdXJjZTtcbiAgICB9XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgLyoqXG4gICAgICogTG9hZCB0aGUgbmV4dCBjaHVuayBvZiBkYXRhLlxuICAgICAqIFVzZWZ1bCBmb3IgaW5maW5pdGUgc2Nyb2xsIGxpa2UgZGF0YSBmbG93cy5cbiAgICAgKlxuICAgICAqL1xuICAgIHB1YmxpYyBsb2FkTW9yZSgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBpZiAodGhpcy5oYXNNb3JlRGF0YVNuYXBzaG90KSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKCdMb2FkaW5nIG1vcmUuLi4nICsgdGhpcy5fbGF0ZXN0UGFnZSk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmxvYWRpbmdTbmFwc2hvdCkgeyByZXR1cm4gRU1QVFk7IH1cbiAgICAgICAgICAgIGNvbnN0IG5leHRQYWdlID0gdGhpcy5fbGF0ZXN0UGFnZSArIDE7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5mZXRjaFBhZ2UobmV4dFBhZ2UsIHRoaXMuY2h1bmtTaXplKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdDYW5ub3QgbG9hZCBtb3JlIGRhdGEsIHNpbmNlIG5vIG1vcmUgZGF0YSBhdmFpbGFibGUuJyk7XG4gICAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGhhc01vcmVEYXRhKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgcmV0dXJuIHRoaXMuX2hhc01vcmVEYXRhO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaGFzTW9yZURhdGFTbmFwc2hvdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tIYXNNb3JlRGF0YSh0aGlzLnRvdGFsU25hcHNob3QsIHRoaXMuZGF0YVNuYXBzaG90KTtcbiAgICB9XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqIFByaXZhdGUgTWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgcHJpdmF0ZSBjaGVja0hhc01vcmVEYXRhKHRvdGFsOiBudW1iZXIgfCB1bmRlZmluZWQsIGRhdGE6IFRbXSk6IGJvb2xlYW4ge1xuICAgICAgaWYgKHRvdGFsKSB7XG4gICAgICAgIHJldHVybiB0b3RhbCA+IGRhdGEubGVuZ3RoO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkNodW5rU2l6ZUNoYW5nZWQobmV3U2l6ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVsb2FkKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlbG9hZEludGVybmFsKCk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICAgIC8vIFNpbmNlIGNvbnRpbnVhYmxlIGRhdGEtY29udGV4dHMgYXJlIGFwcGVuZGluZyBkYXRhLFxuICAgICAgLy8gd2UgbmVlZCB0byBjbGVhciBpdCBmb3IgYSByZWxvYWQuXG4gICAgICB0aGlzLmNsZWFyQWxsKHRydWUpO1xuXG4gICAgICByZXR1cm4gdGhpcy5mZXRjaFBhZ2UoMCwgdGhpcy5jaHVua1NpemUsIHRydWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjbGVhckFsbChzaWxlbnQgPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBzdXBlci5jbGVhckFsbChzaWxlbnQpO1xuICAgICAgICB0aGlzLl9wYWdlQ2FjaGUgPSBuZXcgTWFwKCk7XG4gICAgICAgIHRoaXMuX2xhdGVzdFBhZ2UgPSAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmV0Y2hQYWdlKHBhZ2VJbmRleDogbnVtYmVyLCBwYWdlU2l6ZTogbnVtYmVyLCBjbGVhciA9IGZhbHNlKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgICAgICBjb25zdCBzdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgICAgICBjb25zdCBwYWdlUmVxdWVzdCA9IG5ldyBQYWdlYWJsZShwYWdlSW5kZXgsIHBhZ2VTaXplLCB0aGlzLnNvcnQuc29ydHNTbmFwc2hvdCk7XG5cbiAgICAgICAgaWYgKHRoaXMuX3BhZ2VDYWNoZS5oYXMocGFnZUluZGV4KSkge1xuICAgICAgICAgICAgLy8gUGFnZSBhbHJlYWR5IGxvYWRlZCAtIHNraXBwaW5nIHJlcXVlc3QhXG4gICAgICAgICAgICB0aGlzLmxvZ2dlci50cmFjZSgnU2tpcHBpbmcgZmV0Y2hpbmcgcGFnZSBzaW5jZSBpdHMgYWxyZWFkeSBpbiBwYWdlIG9ic2VydmFibGUgY2FjaGUuJyk7XG4gICAgICAgICAgICBzdWJqZWN0Lm5leHQoKTtcbiAgICAgICAgfSBlbHNlIHtcblxuICAgICAgICAgICAgdGhpcy5vbkxvYWRpbmcoKTtcblxuICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYExvYWRpbmcgcGFnZSAke3BhZ2VJbmRleH0gdXNpbmcgcGFnZWFibGU6YCwgcGFnZVJlcXVlc3QpO1xuXG4gICAgICAgICAgICBjb25zdCBwYWdlT2JzID0gdGhpcy5kYXRhU291cmNlLmZpbmRBbGxQYWdlZChwYWdlUmVxdWVzdCwgdGhpcy5maWx0ZXIuZmlsdGVyc1NuYXBzaG90KTtcblxuICAgICAgICAgICAgdGhpcy5fcGFnZUNhY2hlLnNldChwYWdlSW5kZXgsIHBhZ2VPYnMpO1xuXG4gICAgICAgICAgICBwYWdlT2JzLnN1YnNjcmliZSgocGFnZTogUGFnZTxUPikgPT4ge1xuXG5cbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnR290IHBhZ2UgZGF0YTonLCBwYWdlKTtcblxuICAgICAgICAgICAgICAgIHRoaXMucG9wdWxhdGVQYWdlRGF0YShwYWdlLCBjbGVhcik7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fbGF0ZXN0UGFnZSA8IHBhZ2UubnVtYmVyKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2xhdGVzdFBhZ2UgPSBwYWdlLm51bWJlcjsgLy8gVE9ETyBUaGlzIG1pZ2h0IGNhdXNlIHRoYXQgcGFnZXMgYXJlIHNraXBwZWRcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzdWJqZWN0Lm5leHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uSWRsZSgpO1xuICAgICAgICAgICAgfSwgZXJyID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uRXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNldERhdGEoW10pO1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0VG90YWwoMCk7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoJ0ZhaWxlZCB0byBxdWVyeSBkYXRhJywgZXJyKTtcbiAgICAgICAgICAgICAgICBzdWJqZWN0LmVycm9yKGVycik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzdWJqZWN0LnBpcGUoZmlyc3QoKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9hZCB0aGUgZGF0YSBmcm9tIHRoZSBnaXZlbiBwYWdlIGludG8gdGhlIGN1cnJlbnQgZGF0YSBjb250ZXh0XG4gICAgICovXG4gICAgcHJpdmF0ZSBwb3B1bGF0ZVBhZ2VEYXRhKHBhZ2U6IFBhZ2U8VD4sIGNsZWFyOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLnNldFRvdGFsKHBhZ2UudG90YWxFbGVtZW50cyk7XG4gICAgICAgICAgICBjb25zdCBzdGFydCA9IHBhZ2UubnVtYmVyICogcGFnZS5zaXplO1xuXG4gICAgICAgICAgICBjb25zdCBuZXdEYXRhID0gY2xlYXIgPyBbXSA6IFsuLi50aGlzLmRhdGFTbmFwc2hvdF07XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhZ2UuY29udGVudC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBwYWdlLmNvbnRlbnRbaV07XG4gICAgICAgICAgICAgICAgbmV3RGF0YVtpICsgc3RhcnRdID0gaXRlbTtcbiAgICAgICAgICAgICAgICB0aGlzLmluZGV4SXRlbShpdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuc2V0RGF0YShuZXdEYXRhLCB0cnVlKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICB0aGlzLm9uRXJyb3IoZXJyKTtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKCdGYWlsZWQgdG8gcG9wdWxhdGUgZGF0YSB3aXRoIHBhZ2UnLCBwYWdlLCBlcnIpO1xuICAgICAgICB9XG4gICAgfVxuXG5cbn1cbiJdfQ==
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250ZXh0LWNvbnRpbnVhYmxlLXBhZ2VkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dC1jb250aW51YWJsZS1wYWdlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsYUFBYSxFQUFFLEtBQUssRUFBYyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUFPLFFBQVEsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUN2QyxPQUFPLEVBQVMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDM0UsT0FBTyxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFJckQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLDJCQUErQixTQUFRLDBCQUE2QjtJQWUvRTs7OztnRkFJNEU7SUFFNUUsWUFDRSxVQUErQixFQUMvQixRQUFnQixFQUNoQixPQUEyQixFQUMzQixVQUFnQyxFQUNoQyxTQUE4QztRQUU5QyxLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBMUI5RDs7OztvRkFJNEU7UUFFM0QsV0FBTSxHQUFXLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV6RSxlQUFVLEdBQXFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDekQsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFtQnRCLElBQUksQ0FBQyxZQUFZLEdBQUcsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzdELEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQzFELFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQzdCLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRTVFLElBQVcsVUFBVTtRQUNuQixPQUE0QixLQUFLLENBQUMsVUFBVSxDQUFDO0lBQy9DLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUU7Ozs7T0FJRztJQUNJLFFBQVE7UUFDYixJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFdkQsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO2dCQUN4QixPQUFPLEtBQUssQ0FBQzthQUNkO1lBQ0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7WUFDdEMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDakQ7YUFBTTtZQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7WUFDMUUsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFXLG1CQUFtQjtRQUM1QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXBFLGdCQUFnQixDQUFDLEtBQXlCLEVBQUUsSUFBUztRQUMzRCxJQUFJLEtBQUssRUFBRTtZQUNULE9BQU8sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDNUI7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFUyxrQkFBa0IsQ0FBQyxPQUFlO1FBQzFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRVMsY0FBYztRQUN0QixzREFBc0Q7UUFDdEQsb0NBQW9DO1FBQ3BDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFUyxRQUFRLENBQUMsTUFBTSxHQUFHLEtBQUs7UUFDL0IsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVPLFNBQVMsQ0FBQyxTQUFpQixFQUFFLFFBQWdCLEVBQUUsS0FBSyxHQUFHLEtBQUs7UUFFbEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVwQyxNQUFNLFdBQVcsR0FBRyxJQUFJLFFBQVEsQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFL0UsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNsQywwQ0FBMEM7WUFDMUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsb0VBQW9FLENBQUMsQ0FBQztZQUN4RixPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDaEI7YUFBTTtZQUVMLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUVqQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsU0FBUyxrQkFBa0IsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUU1RSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUV2RixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFFeEMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQWEsRUFBRSxFQUFFO2dCQUdsQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFFMUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFFbkMsSUFBSSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUU7b0JBQ2xDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLCtDQUErQztpQkFDaEY7Z0JBRUQsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNmLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDbEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDL0MsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNyQixDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ssZ0JBQWdCLENBQUMsSUFBYSxFQUFFLEtBQWM7UUFDcEQsSUFBSTtZQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ2xDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUN0QyxJQUFJLEtBQUssRUFBRTtnQkFDVCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUM1QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDdEM7U0FDRjtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxtQ0FBbUMsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDbkU7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NvbWJpbmVMYXRlc3QsIEVNUFRZLCBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7UGFnZSwgUGFnZWFibGV9IGZyb20gJy4uL3BhZ2UnO1xuaW1wb3J0IHtMb2dnZXIsIExvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7RGF0YUNvbnRleHRDb250aW51YWJsZUJhc2V9IGZyb20gJy4vZGF0YS1jb250ZXh0LWNvbnRpbnVhYmxlLWJhc2UnO1xuaW1wb3J0IHtmaXJzdCwgbWFwLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7U29ydH0gZnJvbSAnLi4vc29ydCc7XG5pbXBvcnQge0lQYWdlZERhdGFTb3VyY2V9IGZyb20gJy4uL2RhdGFzb3VyY2UvZGF0YS1zb3VyY2UnO1xuXG4vKipcbiAqIEV4dGVuZHMgYSBzaW1wbGUgZmxhdCBsaXN0IGRhdGEtY29udGV4dCB3aXRoIGluZmluaXRlLXNjcm9sbCBwYWdpbmF0aW9uIHN1cHBvcnQuXG4gKlxuICovXG5leHBvcnQgY2xhc3MgRGF0YUNvbnRleHRDb250aW51YWJsZVBhZ2VkPFQ+IGV4dGVuZHMgRGF0YUNvbnRleHRDb250aW51YWJsZUJhc2U8VD4ge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyOiBMb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIHByaXZhdGUgX3BhZ2VDYWNoZTogTWFwPG51bWJlciwgT2JzZXJ2YWJsZTxQYWdlPFQ+Pj4gPSBuZXcgTWFwKCk7XG4gIHByaXZhdGUgX2xhdGVzdFBhZ2UgPSAwO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2hhc01vcmVEYXRhOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGRhdGFTb3VyY2U6IElQYWdlZERhdGFTb3VyY2U8VD4sXG4gICAgcGFnZVNpemU6IG51bWJlcixcbiAgICBpbmRleEZuOiAoKGl0ZW06IFQpID0+IGFueSksXG4gICAgbG9jYWxBcHBseTogKChkYXRhOiBUW10pID0+IFRbXSksXG4gICAgbG9jYWxTb3J0OiAoKGRhdGE6IFRbXSwgc29ydHM6IFNvcnRbXSkgPT4gVFtdKVxuICApIHtcbiAgICBzdXBlcihkYXRhU291cmNlLCBwYWdlU2l6ZSwgaW5kZXhGbiwgbG9jYWxBcHBseSwgbG9jYWxTb3J0KTtcblxuICAgIHRoaXMuX2hhc01vcmVEYXRhID0gY29tYmluZUxhdGVzdChbdGhpcy50b3RhbCwgdGhpcy5kYXRhXSkucGlwZShcbiAgICAgIG1hcCgoW3RvdGFsLCBkYXRhXSkgPT4gdGhpcy5jaGVja0hhc01vcmVEYXRhKHRvdGFsLCBkYXRhKSksXG4gICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpXG4gICAgKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBnZXQgZGF0YVNvdXJjZSgpOiBJUGFnZWREYXRhU291cmNlPFQ+IHtcbiAgICByZXR1cm4gPElQYWdlZERhdGFTb3VyY2U8VD4+c3VwZXIuZGF0YVNvdXJjZTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBMb2FkIHRoZSBuZXh0IGNodW5rIG9mIGRhdGEuXG4gICAqIFVzZWZ1bCBmb3IgaW5maW5pdGUgc2Nyb2xsIGxpa2UgZGF0YSBmbG93cy5cbiAgICpcbiAgICovXG4gIHB1YmxpYyBsb2FkTW9yZSgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGlmICh0aGlzLmhhc01vcmVEYXRhU25hcHNob3QpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmluZm8oJ0xvYWRpbmcgbW9yZS4uLicgKyB0aGlzLl9sYXRlc3RQYWdlKTtcblxuICAgICAgaWYgKHRoaXMubG9hZGluZ1NuYXBzaG90KSB7XG4gICAgICAgIHJldHVybiBFTVBUWTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG5leHRQYWdlID0gdGhpcy5fbGF0ZXN0UGFnZSArIDE7XG4gICAgICByZXR1cm4gdGhpcy5mZXRjaFBhZ2UobmV4dFBhZ2UsIHRoaXMuY2h1bmtTaXplKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ0Nhbm5vdCBsb2FkIG1vcmUgZGF0YSwgc2luY2Ugbm8gbW9yZSBkYXRhIGF2YWlsYWJsZS4nKTtcbiAgICAgIHJldHVybiBFTVBUWTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc01vcmVEYXRhKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9oYXNNb3JlRGF0YTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzTW9yZURhdGFTbmFwc2hvdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jaGVja0hhc01vcmVEYXRhKHRoaXMudG90YWxTbmFwc2hvdCwgdGhpcy5kYXRhU25hcHNob3QpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgTWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBjaGVja0hhc01vcmVEYXRhKHRvdGFsOiBudW1iZXIgfCB1bmRlZmluZWQsIGRhdGE6IFRbXSk6IGJvb2xlYW4ge1xuICAgIGlmICh0b3RhbCkge1xuICAgICAgcmV0dXJuIHRvdGFsID4gZGF0YS5sZW5ndGg7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkNodW5rU2l6ZUNoYW5nZWQobmV3U2l6ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5yZWxvYWQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWxvYWRJbnRlcm5hbCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIC8vIFNpbmNlIGNvbnRpbnVhYmxlIGRhdGEtY29udGV4dHMgYXJlIGFwcGVuZGluZyBkYXRhLFxuICAgIC8vIHdlIG5lZWQgdG8gY2xlYXIgaXQgZm9yIGEgcmVsb2FkLlxuICAgIHRoaXMuY2xlYXJBbGwodHJ1ZSk7XG4gICAgcmV0dXJuIHRoaXMuZmV0Y2hQYWdlKDAsIHRoaXMuY2h1bmtTaXplLCB0cnVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjbGVhckFsbChzaWxlbnQgPSBmYWxzZSk6IHZvaWQge1xuICAgIHN1cGVyLmNsZWFyQWxsKHNpbGVudCk7XG4gICAgdGhpcy5fcGFnZUNhY2hlID0gbmV3IE1hcCgpO1xuICAgIHRoaXMuX2xhdGVzdFBhZ2UgPSAwO1xuICB9XG5cbiAgcHJpdmF0ZSBmZXRjaFBhZ2UocGFnZUluZGV4OiBudW1iZXIsIHBhZ2VTaXplOiBudW1iZXIsIGNsZWFyID0gZmFsc2UpOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgY29uc3Qgc3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBjb25zdCBwYWdlUmVxdWVzdCA9IG5ldyBQYWdlYWJsZShwYWdlSW5kZXgsIHBhZ2VTaXplLCB0aGlzLnNvcnQuc29ydHNTbmFwc2hvdCk7XG5cbiAgICBpZiAodGhpcy5fcGFnZUNhY2hlLmhhcyhwYWdlSW5kZXgpKSB7XG4gICAgICAvLyBQYWdlIGFscmVhZHkgbG9hZGVkIC0gc2tpcHBpbmcgcmVxdWVzdCFcbiAgICAgIHRoaXMubG9nZ2VyLnRyYWNlKCdTa2lwcGluZyBmZXRjaGluZyBwYWdlIHNpbmNlIGl0cyBhbHJlYWR5IGluIHBhZ2Ugb2JzZXJ2YWJsZSBjYWNoZS4nKTtcbiAgICAgIHN1YmplY3QubmV4dCgpO1xuICAgIH0gZWxzZSB7XG5cbiAgICAgIHRoaXMub25Mb2FkaW5nKCk7XG5cbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGBMb2FkaW5nIHBhZ2UgJHtwYWdlSW5kZXh9IHVzaW5nIHBhZ2VhYmxlOmAsIHBhZ2VSZXF1ZXN0KTtcblxuICAgICAgY29uc3QgcGFnZU9icyA9IHRoaXMuZGF0YVNvdXJjZS5maW5kQWxsUGFnZWQocGFnZVJlcXVlc3QsIHRoaXMuZmlsdGVyLmZpbHRlcnNTbmFwc2hvdCk7XG5cbiAgICAgIHRoaXMuX3BhZ2VDYWNoZS5zZXQocGFnZUluZGV4LCBwYWdlT2JzKTtcblxuICAgICAgcGFnZU9icy5zdWJzY3JpYmUoKHBhZ2U6IFBhZ2U8VD4pID0+IHtcblxuXG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdHb3QgcGFnZSBkYXRhOicsIHBhZ2UpO1xuXG4gICAgICAgIHRoaXMucG9wdWxhdGVQYWdlRGF0YShwYWdlLCBjbGVhcik7XG5cbiAgICAgICAgaWYgKHRoaXMuX2xhdGVzdFBhZ2UgPCBwYWdlLm51bWJlcikge1xuICAgICAgICAgIHRoaXMuX2xhdGVzdFBhZ2UgPSBwYWdlLm51bWJlcjsgLy8gVE9ETyBUaGlzIG1pZ2h0IGNhdXNlIHRoYXQgcGFnZXMgYXJlIHNraXBwZWRcbiAgICAgICAgfVxuXG4gICAgICAgIHN1YmplY3QubmV4dCgpO1xuICAgICAgICB0aGlzLm9uSWRsZSgpO1xuICAgICAgfSwgZXJyID0+IHtcbiAgICAgICAgdGhpcy5vbkVycm9yKGVycik7XG4gICAgICAgIHRoaXMuY2xlYXJEYXRhKCk7XG4gICAgICAgIHRoaXMuc2V0VG90YWwoMCk7XG4gICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKCdGYWlsZWQgdG8gcXVlcnkgZGF0YScsIGVycik7XG4gICAgICAgIHN1YmplY3QuZXJyb3IoZXJyKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBzdWJqZWN0LnBpcGUoZmlyc3QoKSk7XG4gIH1cblxuICAvKipcbiAgICogTG9hZCB0aGUgZGF0YSBmcm9tIHRoZSBnaXZlbiBwYWdlIGludG8gdGhlIGN1cnJlbnQgZGF0YSBjb250ZXh0XG4gICAqL1xuICBwcml2YXRlIHBvcHVsYXRlUGFnZURhdGEocGFnZTogUGFnZTxUPiwgY2xlYXI6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zZXRUb3RhbChwYWdlLnRvdGFsRWxlbWVudHMpO1xuICAgICAgY29uc3Qgc3RhcnQgPSBwYWdlLm51bWJlciAqIHBhZ2Uuc2l6ZTtcbiAgICAgIGlmIChjbGVhcikge1xuICAgICAgICB0aGlzLnNldERhdGEocGFnZS5jb250ZW50KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaW5zZXJ0RGF0YShwYWdlLmNvbnRlbnQsIHN0YXJ0KTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRoaXMub25FcnJvcihlcnIpO1xuICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoJ0ZhaWxlZCB0byBwb3B1bGF0ZSBkYXRhIHdpdGggcGFnZScsIHBhZ2UsIGVycik7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -93,7 +93,7 @@ export class DataContextContinuableToken extends DataContextContinuableBase {
93
93
  }, err => {
94
94
  this.onError(err);
95
95
  this.logger.error('Failed to query data', err);
96
- this.setData([]);
96
+ this.clearData();
97
97
  this.setTotal(0);
98
98
  subject.error(err);
99
99
  });
@@ -133,4 +133,4 @@ export class DataContextContinuableToken extends DataContextContinuableBase {
133
133
  return token1 === token2;
134
134
  }
135
135
  }
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250ZXh0LWNvbnRpbnVhYmxlLXRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dC1jb250aW51YWJsZS10b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFM0QsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDM0UsT0FBTyxFQUFDLGVBQWUsRUFBRSxLQUFLLEVBQWMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxLQUFLLEVBQUUsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFJekQsTUFBTSxPQUFPLDJCQUErQixTQUFRLDBCQUE2QjtJQWdCL0UsNENBQTRDO0lBRTVDOzs7O2dGQUk0RTtJQUU1RSxZQUNFLFVBQXFDLEVBQ3JDLFNBQWlCLEVBQ2pCLE9BQTJCLEVBQzNCLFVBQWdDLEVBQ2hDLFNBQThDO1FBRTlDLEtBQUssQ0FBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUM7UUE1Qi9EOzs7O29GQUk0RTtRQUUzRCxXQUFNLEdBQVcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWhFLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDbkQsZ0JBQVcsR0FBMEIsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQW9CaEUsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RSxJQUFXLFVBQVU7UUFDbkIs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LElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHVDQUF1QyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLFdBQVcsR0FBRyxLQUFLLENBQUMsaUJBQWlCLEdBQUcsSUFBSTtnQkFDNUgseURBQXlELEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7U0FDekY7SUFDSCxDQUFDO0lBRU8sYUFBYSxDQUFDLE1BQWUsRUFBRSxNQUFlO1FBQ3BELElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFBRSxPQUFPLElBQUksQ0FBQztTQUFFO1FBQ3hDLE9BQU8sTUFBTSxLQUFLLE1BQU0sQ0FBQztJQUMzQixDQUFDO0NBR0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0xvZ2dlciwgTG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtDb250aW51YWJsZUxpc3Rpbmd9IGZyb20gJy4uL2NvbnRpbnVhYmxlLWxpc3RpbmcnO1xuaW1wb3J0IHtEYXRhQ29udGV4dENvbnRpbnVhYmxlQmFzZX0gZnJvbSAnLi9kYXRhLWNvbnRleHQtY29udGludWFibGUtYmFzZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgRU1QVFksIE9ic2VydmFibGUsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaXJzdCwgdGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtUb2tlbkNodW5rUmVxdWVzdH0gZnJvbSAnLi4vdG9rZW4tY2h1bmstcmVxdWVzdCc7XG5pbXBvcnQge1NvcnR9IGZyb20gJy4uL3NvcnQnO1xuaW1wb3J0IHtJQ29udGludWFibGVEYXRhU291cmNlfSBmcm9tICcuLi9kYXRhc291cmNlL2RhdGEtc291cmNlJztcblxuZXhwb3J0IGNsYXNzIERhdGFDb250ZXh0Q29udGludWFibGVUb2tlbjxUPiBleHRlbmRzIERhdGFDb250ZXh0Q29udGludWFibGVCYXNlPFQ+IHtcblxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyOiBMb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2hhc01vcmVEYXRhID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NodW5rQ2FjaGU6IFNldDxzdHJpbmd8dW5kZWZpbmVkPiA9IG5ldyBTZXQoKTtcblxuICBwcml2YXRlIF9leHBlY3RlZENodW5rVG9rZW4/OiBzdHJpbmc7XG5cbiAgLy8gcHJvdGVjdGVkIG5leHRDb250aW51YXRpb25Ub2tlbj86IHN0cmluZztcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBkYXRhU291cmNlOiBJQ29udGludWFibGVEYXRhU291cmNlPFQ+LFxuICAgIGNodW5rU2l6ZTogbnVtYmVyLFxuICAgIGluZGV4Rm46ICgoaXRlbTogVCkgPT4gYW55KSxcbiAgICBsb2NhbEFwcGx5OiAoKGRhdGE6IFRbXSkgPT4gVFtdKSxcbiAgICBsb2NhbFNvcnQ6ICgoZGF0YTogVFtdLCBzb3J0czogU29ydFtdKSA9PiBUW10pXG4gICkge1xuICAgIHN1cGVyKGRhdGFTb3VyY2UsIGNodW5rU2l6ZSwgaW5kZXhGbiwgbG9jYWxBcHBseSwgbG9jYWxTb3J0KTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBnZXQgZGF0YVNvdXJjZSgpOiBJQ29udGludWFibGVEYXRhU291cmNlPFQ+IHtcbiAgICByZXR1cm4gPElDb250aW51YWJsZURhdGFTb3VyY2U8VD4+c3VwZXIuZGF0YVNvdXJjZTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBnZXQgaGFzTW9yZURhdGFTbmFwc2hvdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faGFzTW9yZURhdGEuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzTW9yZURhdGEoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2hhc01vcmVEYXRhLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGxvYWRNb3JlKCk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICBpZiAodGhpcy5sb2FkaW5nU25hcHNob3QpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdTa2lwcGluZyBsb2FkLW1vcmUgc2luY2UgYWxyZWFkeSBsb2FkaW5nIGEgY2h1bmshJyk7XG4gICAgICByZXR1cm4gRU1QVFk7XG4gICAgfVxuXG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLl9leHBlY3RlZENodW5rVG9rZW47XG5cbiAgICBpZiAodG9rZW4gJiYgdG9rZW4ubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hOZXh0Q2h1bmsodG9rZW4pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnQ2Fubm90IGxvYWQgbW9yZSBkYXRhLCBzaW5jZSBubyBtb3JlIGRhdGEgYXZhaWxhYmxlLicpO1xuICAgICAgcmV0dXJuIEVNUFRZO1xuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm90ZWN0IEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByb3RlY3RlZCBjbGVhckFsbChzaWxlbnQgPSBmYWxzZSk6IHZvaWQge1xuICAgIHN1cGVyLmNsZWFyQWxsKHNpbGVudCk7XG4gICAgdGhpcy5fY2h1bmtDYWNoZS5jbGVhcigpO1xuICAgIHRoaXMuX2hhc01vcmVEYXRhLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5fZXhwZWN0ZWRDaHVua1Rva2VuID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlbG9hZEludGVybmFsKCk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICAvLyBTaW5jZSBjb250aW51YWJsZSBkYXRhLWNvbnRleHRzIGFyZSBhcHBlbmRpbmcgZGF0YSxcbiAgICAvLyB3ZSBuZWVkIHRvIGNsZWFyIGl0IGZvciBhIHJlbG9hZC5cbiAgICB0aGlzLmNsZWFyQWxsKHRydWUpO1xuXG4gICAgcmV0dXJuIHRoaXMuZmV0Y2hOZXh0Q2h1bmsodW5kZWZpbmVkKTtcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hOZXh0Q2h1bmsobmV4dFRva2VuPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxDb250aW51YWJsZUxpc3Rpbmc8VD4+IHtcblxuXG4gICAgY29uc3Qgc3ViamVjdCA9IG5ldyBTdWJqZWN0PENvbnRpbnVhYmxlTGlzdGluZzxUPj4oKTtcblxuICAgIG5leHRUb2tlbiA9IG5leHRUb2tlbiA/IG5leHRUb2tlbiA6IHVuZGVmaW5lZDtcblxuICAgIGlmICh0aGlzLl9jaHVua0NhY2hlLmhhcyhuZXh0VG9rZW4pKSB7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnU2tpcHBpbmcgZmV0Y2hpbmcgY2h1bmsgZm9yIHRva2VuIFwiJyArIG5leHRUb2tlbiArICdcIiBzaW5jZSBpdHMgYWxyZWFkeSBpbiBvYnNlcnZhYmxlIGNhY2hlLicpO1xuICAgICAgc3ViamVjdC5jb21wbGV0ZSgpO1xuICAgIH0gZWxzZSB7XG5cbiAgICAgIHRoaXMub25Mb2FkaW5nKCk7XG5cbiAgICAgIHRoaXMuX2NodW5rQ2FjaGUuYWRkKG5leHRUb2tlbik7XG5cbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5maW5kQWxsQ29udGludWFibGUobmV3IFRva2VuQ2h1bmtSZXF1ZXN0KG5leHRUb2tlbiwgdGhpcy5maWx0ZXIuZmlsdGVyc1NuYXBzaG90LCB0aGlzLnNvcnQuc29ydHNTbmFwc2hvdCkpXG4gICAgICAgIC5waXBlKGZpcnN0KCkpXG4gICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgY2h1bmsgPT4ge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ0dvdCBuZXh0IGNodW5rIGRhdGE6JywgY2h1bmspO1xuICAgICAgICAgICAgdGhpcy5faGFzTW9yZURhdGEubmV4dChjaHVuay5oYXNNb3JlKTtcbiAgICAgICAgICAgIHRoaXMuY2h1bmtTaXplID0gY2h1bmsuY2h1bmtTaXplO1xuICAgICAgICAgICAgdGhpcy5wb3B1bGF0ZUNodW5rRGF0YShjaHVuayk7XG4gICAgICAgICAgICBzdWJqZWN0Lm5leHQoY2h1bmspO1xuICAgICAgICAgICAgdGhpcy5vbklkbGUoKTtcbiAgICAgICAgICB9LCBlcnIgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbkVycm9yKGVycik7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcignRmFpbGVkIHRvIHF1ZXJ5IGRhdGEnLCBlcnIpO1xuICAgICAgICAgICAgdGhpcy5zZXREYXRhKFtdKTtcbiAgICAgICAgICAgIHRoaXMuc2V0VG90YWwoMCk7XG4gICAgICAgICAgICBzdWJqZWN0LmVycm9yKGVycik7XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gc3ViamVjdC5waXBlKHRha2UoMSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWQgdGhlIGRhdGEgZnJvbSB0aGUgZ2l2ZW4gcGFnZSBpbnRvIHRoZSBjdXJyZW50IGRhdGEgY29udGV4dFxuICAgKi9cbiAgcHJpdmF0ZSBwb3B1bGF0ZUNodW5rRGF0YShjaHVuazogQ29udGludWFibGVMaXN0aW5nPFQ+KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYXJlVG9rZW5FcXVhbChjaHVuay5jb250aW51YXRpb25Ub2tlbiwgdGhpcy5fZXhwZWN0ZWRDaHVua1Rva2VuKSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy5zZXRUb3RhbChjaHVuay50b3RhbCk7XG5cbiAgICAgICAgaWYgKGNodW5rLmNvbnRpbnVhdGlvblRva2VuKSB7XG4gICAgICAgICAgLy8gV2UgaGFkIHByZXZpb3VzIGNodW5rcyBzbyBhcHBlbmQgdG8gY3VycmVudCBkYXRhLlxuICAgICAgICAgIHRoaXMuYXBwZW5kRGF0YShjaHVuay5jb250ZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnNldERhdGEoY2h1bmsuY29udGVudCk7XG4gICAgICAgIH1cblxuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHRoaXMub25FcnJvcihlcnIpO1xuICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcignRmFpbGVkIHRvIHBvcHVsYXRlIGRhdGEgd2l0aCBjaHVuaycsIGNodW5rLCBlcnIpO1xuICAgICAgfVxuICAgICAgdGhpcy5fZXhwZWN0ZWRDaHVua1Rva2VuID0gY2h1bmsubmV4dENvbnRpbnVhdGlvblRva2VuO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvZ2dlci53YXJuKCdEaXNjYXJkaW5nIGNvbnRpbnVhYmxlIGNodW5rIChpdGVtczogJyArIGNodW5rLmNvbnRlbnQubGVuZ3RoICsgJywgdG9rZW46ICcgKyBjaHVuay5jb250aW51YXRpb25Ub2tlbiArICcgKScgK1xuICAgICAgICAnIGFzIGl0IGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBjb250aXVuYXRpb24tdG9rZW46ICcgKyB0aGlzLl9leHBlY3RlZENodW5rVG9rZW4pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXJlVG9rZW5FcXVhbCh0b2tlbjE/OiBzdHJpbmcsIHRva2VuMj86IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmICghdG9rZW4xICYmICF0b2tlbjIpIHsgcmV0dXJuIHRydWU7IH1cbiAgICByZXR1cm4gdG9rZW4xID09PSB0b2tlbjI7XG4gIH1cblxuXG59XG4iXX0=
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250ZXh0LWNvbnRpbnVhYmxlLXRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dC1jb250aW51YWJsZS10b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFM0QsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDM0UsT0FBTyxFQUFDLGVBQWUsRUFBRSxLQUFLLEVBQWMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxLQUFLLEVBQUUsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFJekQsTUFBTSxPQUFPLDJCQUErQixTQUFRLDBCQUE2QjtJQWdCL0UsNENBQTRDO0lBRTVDOzs7O2dGQUk0RTtJQUU1RSxZQUNFLFVBQXFDLEVBQ3JDLFNBQWlCLEVBQ2pCLE9BQTJCLEVBQzNCLFVBQWdDLEVBQ2hDLFNBQThDO1FBRTlDLEtBQUssQ0FBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUM7UUE1Qi9EOzs7O29GQUk0RTtRQUUzRCxXQUFNLEdBQVcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWhFLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDbkQsZ0JBQVcsR0FBMEIsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQW9CaEUsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RSxJQUFXLFVBQVU7UUFDbkIs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LE1BQU0sQ0FBQyxJQUFJLENBQUMsdUNBQXVDLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsV0FBVyxHQUFHLEtBQUssQ0FBQyxpQkFBaUIsR0FBRyxJQUFJO2dCQUM1SCx5REFBeUQsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztTQUN6RjtJQUNILENBQUM7SUFFTyxhQUFhLENBQUMsTUFBZSxFQUFFLE1BQWU7UUFDcEQsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUFFLE9BQU8sSUFBSSxDQUFDO1NBQUU7UUFDeEMsT0FBTyxNQUFNLEtBQUssTUFBTSxDQUFDO0lBQzNCLENBQUM7Q0FHRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TG9nZ2VyLCBMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge0NvbnRpbnVhYmxlTGlzdGluZ30gZnJvbSAnLi4vY29udGludWFibGUtbGlzdGluZyc7XG5pbXBvcnQge0RhdGFDb250ZXh0Q29udGludWFibGVCYXNlfSBmcm9tICcuL2RhdGEtY29udGV4dC1jb250aW51YWJsZS1iYXNlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBFTVBUWSwgT2JzZXJ2YWJsZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpcnN0LCB0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1Rva2VuQ2h1bmtSZXF1ZXN0fSBmcm9tICcuLi90b2tlbi1jaHVuay1yZXF1ZXN0JztcbmltcG9ydCB7U29ydH0gZnJvbSAnLi4vc29ydCc7XG5pbXBvcnQge0lDb250aW51YWJsZURhdGFTb3VyY2V9IGZyb20gJy4uL2RhdGFzb3VyY2UvZGF0YS1zb3VyY2UnO1xuXG5leHBvcnQgY2xhc3MgRGF0YUNvbnRleHRDb250aW51YWJsZVRva2VuPFQ+IGV4dGVuZHMgRGF0YUNvbnRleHRDb250aW51YWJsZUJhc2U8VD4ge1xuXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IExvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfaGFzTW9yZURhdGEgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY2h1bmtDYWNoZTogU2V0PHN0cmluZ3x1bmRlZmluZWQ+ID0gbmV3IFNldCgpO1xuXG4gIHByaXZhdGUgX2V4cGVjdGVkQ2h1bmtUb2tlbj86IHN0cmluZztcblxuICAvLyBwcm90ZWN0ZWQgbmV4dENvbnRpbnVhdGlvblRva2VuPzogc3RyaW5nO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGRhdGFTb3VyY2U6IElDb250aW51YWJsZURhdGFTb3VyY2U8VD4sXG4gICAgY2h1bmtTaXplOiBudW1iZXIsXG4gICAgaW5kZXhGbjogKChpdGVtOiBUKSA9PiBhbnkpLFxuICAgIGxvY2FsQXBwbHk6ICgoZGF0YTogVFtdKSA9PiBUW10pLFxuICAgIGxvY2FsU29ydDogKChkYXRhOiBUW10sIHNvcnRzOiBTb3J0W10pID0+IFRbXSlcbiAgKSB7XG4gICAgc3VwZXIoZGF0YVNvdXJjZSwgY2h1bmtTaXplLCBpbmRleEZuLCBsb2NhbEFwcGx5LCBsb2NhbFNvcnQpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldCBkYXRhU291cmNlKCk6IElDb250aW51YWJsZURhdGFTb3VyY2U8VD4ge1xuICAgIHJldHVybiA8SUNvbnRpbnVhYmxlRGF0YVNvdXJjZTxUPj5zdXBlci5kYXRhU291cmNlO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldCBoYXNNb3JlRGF0YVNuYXBzaG90KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9oYXNNb3JlRGF0YS5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBoYXNNb3JlRGF0YSgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5faGFzTW9yZURhdGEuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgbG9hZE1vcmUoKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgIGlmICh0aGlzLmxvYWRpbmdTbmFwc2hvdCkge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ1NraXBwaW5nIGxvYWQtbW9yZSBzaW5jZSBhbHJlYWR5IGxvYWRpbmcgYSBjaHVuayEnKTtcbiAgICAgIHJldHVybiBFTVBUWTtcbiAgICB9XG5cbiAgICBjb25zdCB0b2tlbiA9IHRoaXMuX2V4cGVjdGVkQ2h1bmtUb2tlbjtcblxuICAgIGlmICh0b2tlbiAmJiB0b2tlbi5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gdGhpcy5mZXRjaE5leHRDaHVuayh0b2tlbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdDYW5ub3QgbG9hZCBtb3JlIGRhdGEsIHNpbmNlIG5vIG1vcmUgZGF0YSBhdmFpbGFibGUuJyk7XG4gICAgICByZXR1cm4gRU1QVFk7XG4gICAgfVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3RlY3QgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJvdGVjdGVkIGNsZWFyQWxsKHNpbGVudCA9IGZhbHNlKTogdm9pZCB7XG4gICAgc3VwZXIuY2xlYXJBbGwoc2lsZW50KTtcbiAgICB0aGlzLl9jaHVua0NhY2hlLmNsZWFyKCk7XG4gICAgdGhpcy5faGFzTW9yZURhdGEubmV4dCh0cnVlKTtcbiAgICB0aGlzLl9leHBlY3RlZENodW5rVG9rZW4gPSB1bmRlZmluZWQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVsb2FkSW50ZXJuYWwoKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgIC8vIFNpbmNlIGNvbnRpbnVhYmxlIGRhdGEtY29udGV4dHMgYXJlIGFwcGVuZGluZyBkYXRhLFxuICAgIC8vIHdlIG5lZWQgdG8gY2xlYXIgaXQgZm9yIGEgcmVsb2FkLlxuICAgIHRoaXMuY2xlYXJBbGwodHJ1ZSk7XG5cbiAgICByZXR1cm4gdGhpcy5mZXRjaE5leHRDaHVuayh1bmRlZmluZWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBmZXRjaE5leHRDaHVuayhuZXh0VG9rZW4/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPENvbnRpbnVhYmxlTGlzdGluZzxUPj4ge1xuXG4gICAgY29uc3Qgc3ViamVjdCA9IG5ldyBTdWJqZWN0PENvbnRpbnVhYmxlTGlzdGluZzxUPj4oKTtcblxuICAgIG5leHRUb2tlbiA9IG5leHRUb2tlbiA/IG5leHRUb2tlbiA6IHVuZGVmaW5lZDtcblxuICAgIGlmICh0aGlzLl9jaHVua0NhY2hlLmhhcyhuZXh0VG9rZW4pKSB7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnU2tpcHBpbmcgZmV0Y2hpbmcgY2h1bmsgZm9yIHRva2VuIFwiJyArIG5leHRUb2tlbiArICdcIiBzaW5jZSBpdHMgYWxyZWFkeSBpbiBvYnNlcnZhYmxlIGNhY2hlLicpO1xuICAgICAgc3ViamVjdC5jb21wbGV0ZSgpO1xuICAgIH0gZWxzZSB7XG5cbiAgICAgIHRoaXMub25Mb2FkaW5nKCk7XG5cbiAgICAgIHRoaXMuX2NodW5rQ2FjaGUuYWRkKG5leHRUb2tlbik7XG5cbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5maW5kQWxsQ29udGludWFibGUobmV3IFRva2VuQ2h1bmtSZXF1ZXN0KG5leHRUb2tlbiwgdGhpcy5maWx0ZXIuZmlsdGVyc1NuYXBzaG90LCB0aGlzLnNvcnQuc29ydHNTbmFwc2hvdCkpXG4gICAgICAgIC5waXBlKGZpcnN0KCkpXG4gICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgY2h1bmsgPT4ge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ0dvdCBuZXh0IGNodW5rIGRhdGE6JywgY2h1bmspO1xuICAgICAgICAgICAgdGhpcy5faGFzTW9yZURhdGEubmV4dChjaHVuay5oYXNNb3JlKTtcbiAgICAgICAgICAgIHRoaXMuY2h1bmtTaXplID0gY2h1bmsuY2h1bmtTaXplO1xuICAgICAgICAgICAgdGhpcy5wb3B1bGF0ZUNodW5rRGF0YShjaHVuayk7XG4gICAgICAgICAgICBzdWJqZWN0Lm5leHQoY2h1bmspO1xuICAgICAgICAgICAgdGhpcy5vbklkbGUoKTtcbiAgICAgICAgICB9LCBlcnIgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbkVycm9yKGVycik7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcignRmFpbGVkIHRvIHF1ZXJ5IGRhdGEnLCBlcnIpO1xuICAgICAgICAgICAgdGhpcy5jbGVhckRhdGEoKTtcbiAgICAgICAgICAgIHRoaXMuc2V0VG90YWwoMCk7XG4gICAgICAgICAgICBzdWJqZWN0LmVycm9yKGVycik7XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gc3ViamVjdC5waXBlKHRha2UoMSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWQgdGhlIGRhdGEgZnJvbSB0aGUgZ2l2ZW4gcGFnZSBpbnRvIHRoZSBjdXJyZW50IGRhdGEgY29udGV4dFxuICAgKi9cbiAgcHJpdmF0ZSBwb3B1bGF0ZUNodW5rRGF0YShjaHVuazogQ29udGludWFibGVMaXN0aW5nPFQ+KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYXJlVG9rZW5FcXVhbChjaHVuay5jb250aW51YXRpb25Ub2tlbiwgdGhpcy5fZXhwZWN0ZWRDaHVua1Rva2VuKSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy5zZXRUb3RhbChjaHVuay50b3RhbCk7XG5cbiAgICAgICAgaWYgKGNodW5rLmNvbnRpbnVhdGlvblRva2VuKSB7XG4gICAgICAgICAgLy8gV2UgaGFkIHByZXZpb3VzIGNodW5rcyBzbyBhcHBlbmQgdG8gY3VycmVudCBkYXRhLlxuICAgICAgICAgIHRoaXMuYXBwZW5kRGF0YShjaHVuay5jb250ZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnNldERhdGEoY2h1bmsuY29udGVudCk7XG4gICAgICAgIH1cblxuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHRoaXMub25FcnJvcihlcnIpO1xuICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcignRmFpbGVkIHRvIHBvcHVsYXRlIGRhdGEgd2l0aCBjaHVuaycsIGNodW5rLCBlcnIpO1xuICAgICAgfVxuICAgICAgdGhpcy5fZXhwZWN0ZWRDaHVua1Rva2VuID0gY2h1bmsubmV4dENvbnRpbnVhdGlvblRva2VuO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvZ2dlci53YXJuKCdEaXNjYXJkaW5nIGNvbnRpbnVhYmxlIGNodW5rIChpdGVtczogJyArIGNodW5rLmNvbnRlbnQubGVuZ3RoICsgJywgdG9rZW46ICcgKyBjaHVuay5jb250aW51YXRpb25Ub2tlbiArICcgKScgK1xuICAgICAgICAnIGFzIGl0IGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBjb250aXVuYXRpb24tdG9rZW46ICcgKyB0aGlzLl9leHBlY3RlZENodW5rVG9rZW4pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXJlVG9rZW5FcXVhbCh0b2tlbjE/OiBzdHJpbmcsIHRva2VuMj86IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmICghdG9rZW4xICYmICF0b2tlbjIpIHsgcmV0dXJuIHRydWU7IH1cbiAgICByZXR1cm4gdG9rZW4xID09PSB0b2tlbjI7XG4gIH1cblxuXG59XG4iXX0=
@@ -13,7 +13,9 @@ export class DataContextLifeCycleBinding {
13
13
  if (_dataContext == null) {
14
14
  throw new Error('dataContext must not be null!');
15
15
  }
16
- this._dataContext.data.subscribe(changed => { }, err => { }, () => this.unsubscribe());
16
+ this._dataContext.data.subscribe({
17
+ complete: () => this.unsubscribe()
18
+ });
17
19
  }
18
20
  /***************************************************************************
19
21
  * *
@@ -27,4 +29,4 @@ export class DataContextLifeCycleBinding {
27
29
  }
28
30
  }
29
31
  }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250ZXh0LWxpZmUtY3ljbGUtYmluZGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9kYXRhL2RhdGEtY29udGV4dC9kYXRhLWNvbnRleHQtbGlmZS1jeWNsZS1iaW5kaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBOzs7R0FHRztBQUNILE1BQU0sT0FBZ0IsMkJBQTJCO0lBVS9DOzs7O2dGQUk0RTtJQUU1RSxZQUNxQixZQUErQjtRQUEvQixpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFFbEQsSUFBSSxZQUFZLElBQUksSUFBSSxFQUFFO1lBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQztTQUNsRDtRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FDOUIsT0FBTyxDQUFDLEVBQUUsR0FBRSxDQUFDLEVBQ2IsR0FBRyxDQUFDLEVBQUUsR0FBRSxDQUFDLEVBQ1QsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUN6QixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxXQUFXO1FBQ2hCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztDQVVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTdWJzY3JpcHRpb24sIFVuc3Vic2NyaWJhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7SURhdGFDb250ZXh0fSBmcm9tICcuL2RhdGEtY29udGV4dCc7XG5cbi8qKlxuICogQWxsb3dzIG1ha2luZyBhbnkga2luZCBvZiBzdWJzY3JpcHRpb24gd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHVuc3Vic2NyaWJlZFxuICogdXBvbiBkYXRhIGNvbnRleHQgY2xvc2luZy9jbGVhbnVwLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGF0YUNvbnRleHRMaWZlQ3ljbGVCaW5kaW5nIGltcGxlbWVudHMgVW5zdWJzY3JpYmFibGUge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByb3RlY3RlZCBfc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCByZWFkb25seSBfZGF0YUNvbnRleHQ6IElEYXRhQ29udGV4dDxhbnk+XG4gICkge1xuICAgIGlmIChfZGF0YUNvbnRleHQgPT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdkYXRhQ29udGV4dCBtdXN0IG5vdCBiZSBudWxsIScpO1xuICAgIH1cblxuICAgIHRoaXMuX2RhdGFDb250ZXh0LmRhdGEuc3Vic2NyaWJlKFxuICAgICAgY2hhbmdlZCA9PiB7fSxcbiAgICAgIGVyciA9PiB7fSxcbiAgICAgICgpID0+IHRoaXMudW5zdWJzY3JpYmUoKVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgdW5zdWJzY3JpYmUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLl9zdWJzY3JpcHRpb24gPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm90ZWN0ZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBzdWJzY3JpYmUoKTogdm9pZDtcblxufVxuIl19
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250ZXh0LWxpZmUtY3ljbGUtYmluZGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9kYXRhL2RhdGEtY29udGV4dC9kYXRhLWNvbnRleHQtbGlmZS1jeWNsZS1iaW5kaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBOzs7R0FHRztBQUNILE1BQU0sT0FBZ0IsMkJBQTJCO0lBVS9DOzs7O2dGQUk0RTtJQUU1RSxZQUNxQixZQUErQjtRQUEvQixpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFFbEQsSUFBSSxZQUFZLElBQUksSUFBSSxFQUFFO1lBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQztTQUNsRDtRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FDOUI7WUFDRSxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtTQUNuQyxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXJFLFdBQVc7UUFDaEIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7U0FDM0I7SUFDSCxDQUFDO0NBVUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1N1YnNjcmlwdGlvbiwgVW5zdWJzY3JpYmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtJRGF0YUNvbnRleHR9IGZyb20gJy4vZGF0YS1jb250ZXh0JztcblxuLyoqXG4gKiBBbGxvd3MgbWFraW5nIGFueSBraW5kIG9mIHN1YnNjcmlwdGlvbiB3aGljaCB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgdW5zdWJzY3JpYmVkXG4gKiB1cG9uIGRhdGEgY29udGV4dCBjbG9zaW5nL2NsZWFudXAuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEYXRhQ29udGV4dExpZmVDeWNsZUJpbmRpbmcgaW1wbGVtZW50cyBVbnN1YnNjcmliYWJsZSB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJvdGVjdGVkIF9zdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IF9kYXRhQ29udGV4dDogSURhdGFDb250ZXh0PGFueT5cbiAgKSB7XG4gICAgaWYgKF9kYXRhQ29udGV4dCA9PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2RhdGFDb250ZXh0IG11c3Qgbm90IGJlIG51bGwhJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fZGF0YUNvbnRleHQuZGF0YS5zdWJzY3JpYmUoXG4gICAgICB7XG4gICAgICAgIGNvbXBsZXRlOiAoKSA9PiB0aGlzLnVuc3Vic2NyaWJlKClcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHVuc3Vic2NyaWJlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvdGVjdGVkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgc3Vic2NyaWJlKCk6IHZvaWQ7XG5cbn1cbiJdfQ==
@@ -0,0 +1,46 @@
1
+ import { DataContextLifeCycleBinding } from './data-context-life-cycle-binding';
2
+ export class DataContextSourceEventBinding extends DataContextLifeCycleBinding {
3
+ /***************************************************************************
4
+ * *
5
+ * Fields *
6
+ * *
7
+ **************************************************************************/
8
+ /***************************************************************************
9
+ * *
10
+ * Constructor *
11
+ * *
12
+ **************************************************************************/
13
+ constructor(dataContext, dataApi, reloadOnChanges) {
14
+ super(dataContext);
15
+ this.dataApi = dataApi;
16
+ this.reloadOnChanges = reloadOnChanges;
17
+ this.subscribe();
18
+ }
19
+ /***************************************************************************
20
+ * *
21
+ * Internal Impl *
22
+ * *
23
+ **************************************************************************/
24
+ subscribe() {
25
+ this._subscription = this.dataApi.dataChanged.subscribe(event => this.handleDataChangeEvent(event));
26
+ }
27
+ /***************************************************************************
28
+ * *
29
+ * Private methods *
30
+ * *
31
+ **************************************************************************/
32
+ handleDataChangeEvent(event) {
33
+ if (this.reloadOnChanges && this.isReloadDesirable(event)) {
34
+ this._dataContext.reload();
35
+ return;
36
+ }
37
+ // We might also be able to perform deletions locally, and avoid reload data
38
+ if (event.modified) {
39
+ this._dataContext.update(event.modified);
40
+ }
41
+ }
42
+ isReloadDesirable(event) {
43
+ return event.unknownChanges || event.created || event.deletedIds;
44
+ }
45
+ }
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250ZXh0LXNvdXJjZS1ldmVudC1iaW5kaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dC1zb3VyY2UtZXZlbnQtYmluZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUc5RSxNQUFNLE9BQU8sNkJBQXVDLFNBQVEsMkJBQTJCO0lBRXJGOzs7O2dGQUk0RTtJQUU1RTs7OztnRkFJNEU7SUFFNUUsWUFDRSxXQUE0QixFQUNYLE9BQXVCLEVBQ3ZCLGVBQXdCO1FBRXpDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUhGLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLG9CQUFlLEdBQWYsZUFBZSxDQUFTO1FBR3pDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRWxFLFNBQVM7UUFDakIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQ3JELEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUMzQyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVwRSxxQkFBcUIsQ0FBQyxLQUErQjtRQUUzRCxJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3pELElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0IsT0FBTztTQUNSO1FBRUQsNEVBQTRFO1FBRTVFLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDMUM7SUFDSCxDQUFDO0lBRU8saUJBQWlCLENBQUMsS0FBK0I7UUFDdkQsT0FBTyxLQUFLLENBQUMsY0FBYyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQztJQUNuRSxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0lEYXRhQ29udGV4dH0gZnJvbSAnLi9kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHtJRGF0YVNvdXJjZX0gZnJvbSAnLi4vZGF0YXNvdXJjZS9kYXRhLXNvdXJjZSc7XG5pbXBvcnQge0RhdGFDb250ZXh0TGlmZUN5Y2xlQmluZGluZ30gZnJvbSAnLi9kYXRhLWNvbnRleHQtbGlmZS1jeWNsZS1iaW5kaW5nJztcbmltcG9ydCB7RGF0YVNvdXJjZUNoYW5nZUV2ZW50fSBmcm9tICcuLi9kYXRhc291cmNlL2RhdGEtc291cmNlLWNoYW5nZS1ldmVudCc7XG5cbmV4cG9ydCBjbGFzcyBEYXRhQ29udGV4dFNvdXJjZUV2ZW50QmluZGluZzxUID0gYW55PiBleHRlbmRzIERhdGFDb250ZXh0TGlmZUN5Y2xlQmluZGluZyB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgZGF0YUNvbnRleHQ6IElEYXRhQ29udGV4dDxUPixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRhdGFBcGk6IElEYXRhU291cmNlPFQ+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVsb2FkT25DaGFuZ2VzOiBib29sZWFuXG4gICkge1xuICAgIHN1cGVyKGRhdGFDb250ZXh0KTtcbiAgICB0aGlzLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEludGVybmFsIEltcGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJvdGVjdGVkIHN1YnNjcmliZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24gPSB0aGlzLmRhdGFBcGkuZGF0YUNoYW5nZWQuc3Vic2NyaWJlKFxuICAgICAgZXZlbnQgPT4gdGhpcy5oYW5kbGVEYXRhQ2hhbmdlRXZlbnQoZXZlbnQpXG4gICAgKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgaGFuZGxlRGF0YUNoYW5nZUV2ZW50KGV2ZW50OiBEYXRhU291cmNlQ2hhbmdlRXZlbnQ8VD4pOiB2b2lkIHtcblxuICAgIGlmICh0aGlzLnJlbG9hZE9uQ2hhbmdlcyAmJiB0aGlzLmlzUmVsb2FkRGVzaXJhYmxlKGV2ZW50KSkge1xuICAgICAgdGhpcy5fZGF0YUNvbnRleHQucmVsb2FkKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gV2UgbWlnaHQgYWxzbyBiZSBhYmxlIHRvIHBlcmZvcm0gZGVsZXRpb25zIGxvY2FsbHksIGFuZCBhdm9pZCByZWxvYWQgZGF0YVxuXG4gICAgaWYgKGV2ZW50Lm1vZGlmaWVkKSB7XG4gICAgICB0aGlzLl9kYXRhQ29udGV4dC51cGRhdGUoZXZlbnQubW9kaWZpZWQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNSZWxvYWREZXNpcmFibGUoZXZlbnQ6IERhdGFTb3VyY2VDaGFuZ2VFdmVudDxUPikge1xuICAgIHJldHVybiBldmVudC51bmtub3duQ2hhbmdlcyB8fCBldmVudC5jcmVhdGVkIHx8IGV2ZW50LmRlbGV0ZWRJZHM7XG4gIH1cblxufVxuIl19
@@ -27,4 +27,4 @@ export function isContinuableDataContext(object) {
27
27
  export function isActivePagedDataContext(object) {
28
28
  return object.setActivePage !== undefined;
29
29
  }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQ2tCLElBQVMsRUFDVCxPQUFnQixFQUNoQixTQUFrQixFQUNsQixLQUF5QixFQUN6QixNQUF5QjtRQUp6QixTQUFJLEdBQUosSUFBSSxDQUFLO1FBQ1QsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixjQUFTLEdBQVQsU0FBUyxDQUFTO1FBQ2xCLFVBQUssR0FBTCxLQUFLLENBQW9CO1FBQ3pCLFdBQU0sR0FBTixNQUFNLENBQW1CO0lBQ3ZDLENBQUM7Q0FDTjtBQW1LRDs7Ozs0RUFJNEU7QUFFNUUsTUFBTSxVQUFVLGFBQWEsQ0FBQyxNQUFXO0lBRXZDLElBQUksQ0FBQyxNQUFNLEVBQUU7UUFBRSxPQUFPLEtBQUssQ0FBQztLQUFFO0lBRTlCLE9BQVEsTUFBNEIsQ0FBQyxJQUFJLEtBQUssU0FBUztXQUNqRCxNQUE0QixDQUFDLEtBQUssS0FBSyxTQUFTO1dBQ2hELE1BQTRCLENBQUMsTUFBTSxLQUFLLFNBQVM7V0FDakQsTUFBNEIsQ0FBQyxPQUFPLEtBQUssU0FBUyxDQUFDO0FBQzNELENBQUM7QUFFRCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsTUFBeUI7SUFDaEUsT0FBUSxNQUF1QyxDQUFDLFFBQVEsS0FBSyxTQUFTLENBQUM7QUFDekUsQ0FBQztBQUVELE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxNQUF5QjtJQUNoRSxPQUFRLE1BQXNDLENBQUMsYUFBYSxLQUFLLFNBQVMsQ0FBQztBQUM3RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEYXRhQ29udGV4dFN0YXR1c30gZnJvbSAnLi9kYXRhLWNvbnRleHQtc3RhdHVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1NvcnR9IGZyb20gJy4uL3NvcnQnO1xuaW1wb3J0IHtGaWx0ZXJ9IGZyb20gJy4uL2ZpbHRlcnMvZmlsdGVyJztcbmltcG9ydCB7RmlsdGVyQ29udGV4dH0gZnJvbSAnLi4vZmlsdGVycy9maWx0ZXItY29udGV4dCc7XG5pbXBvcnQge1BhZ2VSZXF1ZXN0fSBmcm9tICcuLi9wYWdlJztcbmltcG9ydCB7U29ydENvbnRleHR9IGZyb20gJy4uL3NvcnQtY29udGV4dCc7XG5pbXBvcnQge0lEYXRhU291cmNlfSBmcm9tICcuLi9kYXRhc291cmNlL2RhdGEtc291cmNlJztcblxuXG5leHBvcnQgY2xhc3MgRGF0YUNvbnRleHRTbmFwc2hvdDxUPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBkYXRhOiBUW10sXG4gICAgcHVibGljIHJlYWRvbmx5IGlzRW1wdHk6IGJvb2xlYW4sXG4gICAgcHVibGljIHJlYWRvbmx5IGlzTG9hZGluZzogYm9vbGVhbixcbiAgICBwdWJsaWMgcmVhZG9ubHkgdG90YWw6IG51bWJlciB8IHVuZGVmaW5lZCxcbiAgICBwdWJsaWMgcmVhZG9ubHkgc3RhdHVzOiBEYXRhQ29udGV4dFN0YXR1c1xuICApIHsgfVxufVxuXG4vKipcbiAqIE1hbmFnZXMgYSBzZXQgb2YgZGF0YSAocm93cykgd2hpY2ggYXJlIHRvIGJlIGRpc3BsYXllZCBpbiBhIFVJIENvbXBvbmVudC5cbiAqXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGFDb250ZXh0PFQ+IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogR2V0cyB0aGUgdW5kZXJseWluZyBEYXRhU291cmNlIG9mIHRoaXMgRGF0YUNvbnRleHQuXG4gICAqL1xuICByZWFkb25seSBkYXRhU291cmNlOiBJRGF0YVNvdXJjZTxUPjtcblxuICAvKipcbiAgICogR2V0cyBhIHNuYXBzaG90IG9mIHRoZSBjdXJyZW50IHN0YXRlIGluIHRoaXMgZGF0YS1jb250ZXh0XG4gICAqL1xuICByZWFkb25seSBzbmFwc2hvdDogRGF0YUNvbnRleHRTbmFwc2hvdDxUPjtcblxuICAvKipcbiAgICogT2JzZXJ2YWJsZSB3aGljaCBlbWl0cyB0aGUgY3VycmVudCBkYXRhIG92ZXIgdGltZS5cbiAgICovXG4gIHJlYWRvbmx5IGRhdGE6IE9ic2VydmFibGU8VFtdPjtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBjb250ZXh0IGN1cnJlbnRseSBob2xkcyBubyBkYXRhXG4gICAqL1xuICByZWFkb25seSBpc0VtcHR5OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGNvbnRleHQgaGFzIGJlZW4gc3RhcnRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGlzU3RhcnRlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBjb250ZXh0IGhhcyBiZWVuIHN0YXJ0ZWQuXG4gICAqL1xuICByZWFkb25seSBpc1N0YXJ0ZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGNvbnRleHQgaGFzIGJlZW4gY2xvc2VkLlxuICAgKiBEZXBlbmRpbmcgb24gdGhlIGltcGxlbWVudGF0aW9uLCByZXN0YXJ0aW5nIG1pZ2h0IG5vdCBiZSBwb3NzaWJsZS5cbiAgICovXG4gIHJlYWRvbmx5IGlzQ2xvc2VkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgZGF0YSBpcyBsb2FkaW5nIG92ZXIgdGltZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9hZGluZzogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICAvKipcbiAgICogVGhlIHRvdGFsIGNvdW50IG9mIGFsbCBlbGVtZW50cyBvdmVyIHRpbWVcbiAgICogKEkuZS4gdGhlIGV4cGVjdGVkIGNvdW50IHdoZW4gdGhlIGRhdGEgY29udGV4IGlzIGNvbXBsZXRlZClcbiAgICovXG4gIHJlYWRvbmx5IHRvdGFsOiBPYnNlcnZhYmxlPG51bWJlciB8IHVuZGVmaW5lZD47XG5cbiAgLyoqXG4gICAqIE9ic2VydmFibGUgd2hpY2ggZW1pdHMgd2hlbiB0aGUgc3RhdHVzIGNoYW5nZXMgKGkuZS4gZXJyb3IpXG4gICAqL1xuICByZWFkb25seSBzdGF0dXM6IE9ic2VydmFibGU8RGF0YUNvbnRleHRTdGF0dXM+O1xuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBzb3J0IGNvbnRleHQuIENoYW5nZXMgaW4gdGhpcyBjb250ZXh0IGFyZSByZWZsZWN0ZWQgYnkgdGhlIGRhdGEtY29udGV4dC5cbiAgICovXG4gIHJlYWRvbmx5IHNvcnQ6IFNvcnRDb250ZXh0O1xuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBmaWx0ZXIgY29udGV4dC4gQ2hhbmdlcyBpbiB0aGlzIGNvbnRleHQgYXJlIHJlZmxlY3RlZCBieSB0aGUgZGF0YS1jb250ZXh0LlxuICAgKi9cbiAgcmVhZG9ubHkgZmlsdGVyOiBGaWx0ZXJDb250ZXh0O1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBTdGFydHMgcG9wdWxhdGluZyBkYXRhIGNvbnRleHQgYnkgbG9hZGluZyBmaXJzdFxuICAgKiBiYXRjaCBvZiBkYXRhLlxuICAgKi9cbiAgc3RhcnQoc29ydHM/OiBTb3J0W10sIGZpbHRlcnM/OiBGaWx0ZXJbXSk6IE9ic2VydmFibGU8YW55PjtcblxuICAvKipcbiAgICogUmVxdWVzdHMgYSByZWxvYWQgb2YgdGhlIGN1cnJlbnQgZGF0YSAvIGNodW5rLlxuICAgKiBBdHRlbXB0cyB0byBrZWVwIHRoZSBjdXJyZW50IHBvc2l0aW9uLlxuICAgKi9cbiAgcmVsb2FkKCk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFJlZnJlc2ggdGhlIGRhdGEgdmlldyBmcm9tIHRoZSBsb2NhbCBkYXRhIG1vZGVsLiAoRG9lcyBub3QgcmVxdWVzdCBuZXcgZGF0YSBmcm9tIHRoZSBzZXJ2ZXIpXG4gICAqIFVzZWZ1bCBpZiB0aGUgZGF0YSBtb2RlbCBoYXMgY2hhbmdlcyB0aGF0IG5lZWQgdG8gYmUgcmVmbGVjdGVkIGluIHRoZSBVSS5cbiAgICovXG4gIHJlZnJlc2goKTogdm9pZDtcblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBkYXRhLWNvbnRleHQgYW5kIGNsZWFucyB1cCByZXNvdXJjZXNcbiAgICovXG4gIGNsb3NlKCk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGl0ZW0gYnkgdGhlIGdpdmVuIGluZGV4IGtleS5cbiAgICogUmVxdWlyZXMgdGhhdCBpbmRleCBmdW5jdGlvbmFsaXR5IGlzIGVuYWJsZWQuXG4gICAqIEBwYXJhbSBrZXlcbiAgICovXG4gIGZpbmRCeUluZGV4KGtleTogYW55KTogVCB8IHVuZGVmaW5lZDtcblxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBkYXRhLWNvbnRleHQgd2hpY2ggYmFja3MgYSBpbmZpbml0ZSBsaWtlIGRhdGEgc3RyZWFtXG4gKiB3aGVyZSBtb3JlIGRhdGEgd2lsbCBiZSBsb2FkZWQgYW5kIGFkZGVkIHRvIHRoZSBiYWNraW5nIHJvd3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGFDb250ZXh0Q29udGludWFibGU8VD4gZXh0ZW5kcyBJRGF0YUNvbnRleHQ8VD4ge1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgdGhpcyBkYXRhLWNvbnRleHQgY2FuIGxvYWQgbW9yZSBkYXRhXG4gICAqL1xuICByZWFkb25seSBoYXNNb3JlRGF0YVNuYXBzaG90OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgdGhpcyBkYXRhLWNvbnRleHQgY2FuIGxvYWQgbW9yZSBkYXRhIG92ZXIgdGltZVxuICAgKi9cbiAgcmVhZG9ubHkgaGFzTW9yZURhdGE6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgLyoqXG4gICAqIExvYWRzIG1vcmUgZGF0YSBpZiBhbnkgYXZhaWxhYmxlLlxuICAgKiBFLmcuIG5leHQgcGFnZS5cbiAgICpcbiAgICovXG4gIGxvYWRNb3JlKCk6IE9ic2VydmFibGU8YW55PjtcblxuICAvKipcbiAgICogTG9hZHMgYWxsIGF2YWlsYWJsZSBkYXRhLiBJbiBjYXNlIG9mXG4gICAqIHBhZ2VkIGNvbnRleHQgbG9hZHMgcGFnZSBieSBwYWdlIHVudGlsIGZpbmlzaGVkLlxuICAgKi9cbiAgbG9hZEFsbChzb3J0cz86IFNvcnRbXSwgZmlsdGVycz86IEZpbHRlcltdKTogdm9pZDtcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRhQ29udGV4dEFjdGl2ZVBhZ2U8VD4gZXh0ZW5kcyBJRGF0YUNvbnRleHQ8VD4ge1xuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBhY3RpdmUgcGFnZSBvdmVyIHRpbWVcbiAgICovXG4gIHJlYWRvbmx5IHBhZ2U6IE9ic2VydmFibGU8UGFnZVJlcXVlc3Q+O1xuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjdXJyZW50IGFjdGl2ZSBwYWdlXG4gICAqL1xuICByZWFkb25seSBwYWdlU25hcHNob3Q6IFBhZ2VSZXF1ZXN0O1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBhY3RpdmUgcGFnZVxuICAgKi9cbiAgc2V0QWN0aXZlUGFnZShwYWdlOiBQYWdlUmVxdWVzdCk6IHZvaWQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqIFR5cGUgUHJlZGljYXRlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGF0YUNvbnRleHQob2JqZWN0OiBhbnkpOiBvYmplY3QgaXMgSURhdGFDb250ZXh0PGFueT4ge1xuXG4gIGlmICghb2JqZWN0KSB7IHJldHVybiBmYWxzZTsgfVxuXG4gIHJldHVybiAob2JqZWN0IGFzIElEYXRhQ29udGV4dDxhbnk+KS5kYXRhICE9PSB1bmRlZmluZWRcbiAgICAmJiAob2JqZWN0IGFzIElEYXRhQ29udGV4dDxhbnk+KS5zdGFydCAhPT0gdW5kZWZpbmVkXG4gICAgJiYgKG9iamVjdCBhcyBJRGF0YUNvbnRleHQ8YW55PikucmVsb2FkICE9PSB1bmRlZmluZWRcbiAgICAmJiAob2JqZWN0IGFzIElEYXRhQ29udGV4dDxhbnk+KS5yZWZyZXNoICE9PSB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0NvbnRpbnVhYmxlRGF0YUNvbnRleHQob2JqZWN0OiBJRGF0YUNvbnRleHQ8YW55Pik6IG9iamVjdCBpcyBJRGF0YUNvbnRleHRDb250aW51YWJsZTxhbnk+IHtcbiAgcmV0dXJuIChvYmplY3QgYXMgSURhdGFDb250ZXh0Q29udGludWFibGU8YW55PikubG9hZE1vcmUgIT09IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQWN0aXZlUGFnZWREYXRhQ29udGV4dChvYmplY3Q6IElEYXRhQ29udGV4dDxhbnk+KTogb2JqZWN0IGlzIElEYXRhQ29udGV4dEFjdGl2ZVBhZ2U8YW55PiB7XG4gIHJldHVybiAob2JqZWN0IGFzIElEYXRhQ29udGV4dEFjdGl2ZVBhZ2U8YW55Pikuc2V0QWN0aXZlUGFnZSAhPT0gdW5kZWZpbmVkO1xufVxuIl19
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQ2tCLElBQVMsRUFDVCxPQUFnQixFQUNoQixTQUFrQixFQUNsQixLQUF5QixFQUN6QixNQUF5QjtRQUp6QixTQUFJLEdBQUosSUFBSSxDQUFLO1FBQ1QsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixjQUFTLEdBQVQsU0FBUyxDQUFTO1FBQ2xCLFVBQUssR0FBTCxLQUFLLENBQW9CO1FBQ3pCLFdBQU0sR0FBTixNQUFNLENBQW1CO0lBQ3ZDLENBQUM7Q0FDTjtBQWlMRDs7Ozs0RUFJNEU7QUFFNUUsTUFBTSxVQUFVLGFBQWEsQ0FBQyxNQUFXO0lBRXZDLElBQUksQ0FBQyxNQUFNLEVBQUU7UUFBRSxPQUFPLEtBQUssQ0FBQztLQUFFO0lBRTlCLE9BQVEsTUFBNEIsQ0FBQyxJQUFJLEtBQUssU0FBUztXQUNqRCxNQUE0QixDQUFDLEtBQUssS0FBSyxTQUFTO1dBQ2hELE1BQTRCLENBQUMsTUFBTSxLQUFLLFNBQVM7V0FDakQsTUFBNEIsQ0FBQyxPQUFPLEtBQUssU0FBUyxDQUFDO0FBQzNELENBQUM7QUFFRCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsTUFBeUI7SUFDaEUsT0FBUSxNQUF1QyxDQUFDLFFBQVEsS0FBSyxTQUFTLENBQUM7QUFDekUsQ0FBQztBQUVELE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxNQUF5QjtJQUNoRSxPQUFRLE1BQXNDLENBQUMsYUFBYSxLQUFLLFNBQVMsQ0FBQztBQUM3RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEYXRhQ29udGV4dFN0YXR1c30gZnJvbSAnLi9kYXRhLWNvbnRleHQtc3RhdHVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1NvcnR9IGZyb20gJy4uL3NvcnQnO1xuaW1wb3J0IHtGaWx0ZXJ9IGZyb20gJy4uL2ZpbHRlcnMvZmlsdGVyJztcbmltcG9ydCB7RmlsdGVyQ29udGV4dH0gZnJvbSAnLi4vZmlsdGVycy9maWx0ZXItY29udGV4dCc7XG5pbXBvcnQge1BhZ2VSZXF1ZXN0fSBmcm9tICcuLi9wYWdlJztcbmltcG9ydCB7U29ydENvbnRleHR9IGZyb20gJy4uL3NvcnQtY29udGV4dCc7XG5pbXBvcnQge0lEYXRhU291cmNlfSBmcm9tICcuLi9kYXRhc291cmNlL2RhdGEtc291cmNlJztcblxuXG5leHBvcnQgY2xhc3MgRGF0YUNvbnRleHRTbmFwc2hvdDxUPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBkYXRhOiBUW10sXG4gICAgcHVibGljIHJlYWRvbmx5IGlzRW1wdHk6IGJvb2xlYW4sXG4gICAgcHVibGljIHJlYWRvbmx5IGlzTG9hZGluZzogYm9vbGVhbixcbiAgICBwdWJsaWMgcmVhZG9ubHkgdG90YWw6IG51bWJlciB8IHVuZGVmaW5lZCxcbiAgICBwdWJsaWMgcmVhZG9ubHkgc3RhdHVzOiBEYXRhQ29udGV4dFN0YXR1c1xuICApIHsgfVxufVxuXG4vKipcbiAqIE1hbmFnZXMgYSBzZXQgb2YgZGF0YSAocm93cykgd2hpY2ggYXJlIHRvIGJlIGRpc3BsYXllZCBpbiBhIFVJIENvbXBvbmVudC5cbiAqXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGFDb250ZXh0PFQ+IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogR2V0cyB0aGUgdW5kZXJseWluZyBEYXRhU291cmNlIG9mIHRoaXMgRGF0YUNvbnRleHQuXG4gICAqL1xuICByZWFkb25seSBkYXRhU291cmNlOiBJRGF0YVNvdXJjZTxUPjtcblxuICAvKipcbiAgICogR2V0cyBhIHNuYXBzaG90IG9mIHRoZSBjdXJyZW50IHN0YXRlIGluIHRoaXMgZGF0YS1jb250ZXh0XG4gICAqL1xuICByZWFkb25seSBzbmFwc2hvdDogRGF0YUNvbnRleHRTbmFwc2hvdDxUPjtcblxuICAvKipcbiAgICogT2JzZXJ2YWJsZSB3aGljaCBlbWl0cyB0aGUgY3VycmVudCBkYXRhIG92ZXIgdGltZS5cbiAgICovXG4gIHJlYWRvbmx5IGRhdGE6IE9ic2VydmFibGU8VFtdPjtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBjb250ZXh0IGN1cnJlbnRseSBob2xkcyBubyBkYXRhXG4gICAqL1xuICByZWFkb25seSBpc0VtcHR5OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGNvbnRleHQgaGFzIGJlZW4gc3RhcnRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGlzU3RhcnRlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBjb250ZXh0IGhhcyBiZWVuIHN0YXJ0ZWQuXG4gICAqL1xuICByZWFkb25seSBpc1N0YXJ0ZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGNvbnRleHQgaGFzIGJlZW4gY2xvc2VkLlxuICAgKiBEZXBlbmRpbmcgb24gdGhlIGltcGxlbWVudGF0aW9uLCByZXN0YXJ0aW5nIG1pZ2h0IG5vdCBiZSBwb3NzaWJsZS5cbiAgICovXG4gIHJlYWRvbmx5IGlzQ2xvc2VkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgZGF0YSBpcyBsb2FkaW5nIG92ZXIgdGltZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9hZGluZzogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICAvKipcbiAgICogVGhlIHRvdGFsIGNvdW50IG9mIGFsbCBlbGVtZW50cyBvdmVyIHRpbWVcbiAgICogKEkuZS4gdGhlIGV4cGVjdGVkIGNvdW50IHdoZW4gdGhlIGRhdGEgY29udGV4IGlzIGNvbXBsZXRlZClcbiAgICovXG4gIHJlYWRvbmx5IHRvdGFsOiBPYnNlcnZhYmxlPG51bWJlciB8IHVuZGVmaW5lZD47XG5cbiAgLyoqXG4gICAqIE9ic2VydmFibGUgd2hpY2ggZW1pdHMgd2hlbiB0aGUgc3RhdHVzIGNoYW5nZXMgKGkuZS4gZXJyb3IpXG4gICAqL1xuICByZWFkb25seSBzdGF0dXM6IE9ic2VydmFibGU8RGF0YUNvbnRleHRTdGF0dXM+O1xuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBzb3J0IGNvbnRleHQuIENoYW5nZXMgaW4gdGhpcyBjb250ZXh0IGFyZSByZWZsZWN0ZWQgYnkgdGhlIGRhdGEtY29udGV4dC5cbiAgICovXG4gIHJlYWRvbmx5IHNvcnQ6IFNvcnRDb250ZXh0O1xuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBmaWx0ZXIgY29udGV4dC4gQ2hhbmdlcyBpbiB0aGlzIGNvbnRleHQgYXJlIHJlZmxlY3RlZCBieSB0aGUgZGF0YS1jb250ZXh0LlxuICAgKi9cbiAgcmVhZG9ubHkgZmlsdGVyOiBGaWx0ZXJDb250ZXh0O1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBTdGFydHMgcG9wdWxhdGluZyBkYXRhIGNvbnRleHQgYnkgbG9hZGluZyBmaXJzdFxuICAgKiBiYXRjaCBvZiBkYXRhLlxuICAgKi9cbiAgc3RhcnQoc29ydHM/OiBTb3J0W10sIGZpbHRlcnM/OiBGaWx0ZXJbXSk6IE9ic2VydmFibGU8YW55PjtcblxuICAvKipcbiAgICogUmVxdWVzdHMgYSByZWxvYWQgb2YgdGhlIGN1cnJlbnQgZGF0YSAvIGNodW5rLlxuICAgKiBBdHRlbXB0cyB0byBrZWVwIHRoZSBjdXJyZW50IHBvc2l0aW9uLlxuICAgKi9cbiAgcmVsb2FkKCk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFJlZnJlc2ggdGhlIGRhdGEgdmlldyBmcm9tIHRoZSBsb2NhbCBkYXRhIG1vZGVsLiAoRG9lcyBub3QgcmVxdWVzdCBuZXcgZGF0YSBmcm9tIHRoZSBzZXJ2ZXIpXG4gICAqIFVzZWZ1bCBpZiB0aGUgZGF0YSBtb2RlbCBoYXMgY2hhbmdlcyB0aGF0IG5lZWQgdG8gYmUgcmVmbGVjdGVkIGluIHRoZSBVSS5cbiAgICovXG4gIHJlZnJlc2goKTogdm9pZDtcblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBkYXRhLWNvbnRleHQgYW5kIGNsZWFucyB1cCByZXNvdXJjZXNcbiAgICovXG4gIGNsb3NlKCk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGl0ZW0gYnkgYSBjdXN0b20gaW5kZXgga2V5LlxuICAgKiBSZXF1aXJlcyB0aGF0IGN1c3RvbSBpbmRleCBmdW5jdGlvbmFsaXR5IGlzIGVuYWJsZWQuXG4gICAqXG4gICAqIEZvciBpZCBiYXNlZCBsb29rdXAsIHJlZmVyIHRvIGZpbmRCeUlkKCkuXG4gICAqXG4gICAqIEBwYXJhbSBrZXlcbiAgICovXG4gIGZpbmRCeUluZGV4KGtleTogYW55KTogVCB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogTG9va3VwIGFuIGVudGl0eSBieSBpdHMgaWQuIFRoaXMgbWV0aG9kIGlzIGd1YXJhbnRlZWQgdG8gYmUgYmFja2VkIGJ5IGEgZmFzdCBpbmRleC5cbiAgICogQHBhcmFtIGlkIFRoZSBFbnRpdHkgSWQuXG4gICAqL1xuICBmaW5kQnlJZChpZDogYW55KTogVCB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVXBkYXRlIHRoZSBnaXZlbiBlbnRpdGllcyBpbiB0aGlzIGRhdGEtY29udGV4dFxuICAgKi9cbiAgdXBkYXRlKGVudGl0aWVzOiBUW10pOiB2b2lkO1xuXG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGRhdGEtY29udGV4dCB3aGljaCBiYWNrcyBhIGluZmluaXRlIGxpa2UgZGF0YSBzdHJlYW1cbiAqIHdoZXJlIG1vcmUgZGF0YSB3aWxsIGJlIGxvYWRlZCBhbmQgYWRkZWQgdG8gdGhlIGJhY2tpbmcgcm93cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRGF0YUNvbnRleHRDb250aW51YWJsZTxUPiBleHRlbmRzIElEYXRhQ29udGV4dDxUPiB7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiB0aGlzIGRhdGEtY29udGV4dCBjYW4gbG9hZCBtb3JlIGRhdGFcbiAgICovXG4gIHJlYWRvbmx5IGhhc01vcmVEYXRhU25hcHNob3Q6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiB0aGlzIGRhdGEtY29udGV4dCBjYW4gbG9hZCBtb3JlIGRhdGEgb3ZlciB0aW1lXG4gICAqL1xuICByZWFkb25seSBoYXNNb3JlRGF0YTogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICAvKipcbiAgICogTG9hZHMgbW9yZSBkYXRhIGlmIGFueSBhdmFpbGFibGUuXG4gICAqIEUuZy4gbmV4dCBwYWdlLlxuICAgKlxuICAgKi9cbiAgbG9hZE1vcmUoKTogT2JzZXJ2YWJsZTxhbnk+O1xuXG4gIC8qKlxuICAgKiBMb2FkcyBhbGwgYXZhaWxhYmxlIGRhdGEuIEluIGNhc2Ugb2ZcbiAgICogcGFnZWQgY29udGV4dCBsb2FkcyBwYWdlIGJ5IHBhZ2UgdW50aWwgZmluaXNoZWQuXG4gICAqL1xuICBsb2FkQWxsKHNvcnRzPzogU29ydFtdLCBmaWx0ZXJzPzogRmlsdGVyW10pOiB2b2lkO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGFDb250ZXh0QWN0aXZlUGFnZTxUPiBleHRlbmRzIElEYXRhQ29udGV4dDxUPiB7XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGFjdGl2ZSBwYWdlIG92ZXIgdGltZVxuICAgKi9cbiAgcmVhZG9ubHkgcGFnZTogT2JzZXJ2YWJsZTxQYWdlUmVxdWVzdD47XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGN1cnJlbnQgYWN0aXZlIHBhZ2VcbiAgICovXG4gIHJlYWRvbmx5IHBhZ2VTbmFwc2hvdDogUGFnZVJlcXVlc3Q7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGFjdGl2ZSBwYWdlXG4gICAqL1xuICBzZXRBY3RpdmVQYWdlKHBhZ2U6IFBhZ2VSZXF1ZXN0KTogdm9pZDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICogVHlwZSBQcmVkaWNhdGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5leHBvcnQgZnVuY3Rpb24gaXNEYXRhQ29udGV4dChvYmplY3Q6IGFueSk6IG9iamVjdCBpcyBJRGF0YUNvbnRleHQ8YW55PiB7XG5cbiAgaWYgKCFvYmplY3QpIHsgcmV0dXJuIGZhbHNlOyB9XG5cbiAgcmV0dXJuIChvYmplY3QgYXMgSURhdGFDb250ZXh0PGFueT4pLmRhdGEgIT09IHVuZGVmaW5lZFxuICAgICYmIChvYmplY3QgYXMgSURhdGFDb250ZXh0PGFueT4pLnN0YXJ0ICE9PSB1bmRlZmluZWRcbiAgICAmJiAob2JqZWN0IGFzIElEYXRhQ29udGV4dDxhbnk+KS5yZWxvYWQgIT09IHVuZGVmaW5lZFxuICAgICYmIChvYmplY3QgYXMgSURhdGFDb250ZXh0PGFueT4pLnJlZnJlc2ggIT09IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ29udGludWFibGVEYXRhQ29udGV4dChvYmplY3Q6IElEYXRhQ29udGV4dDxhbnk+KTogb2JqZWN0IGlzIElEYXRhQ29udGV4dENvbnRpbnVhYmxlPGFueT4ge1xuICByZXR1cm4gKG9iamVjdCBhcyBJRGF0YUNvbnRleHRDb250aW51YWJsZTxhbnk+KS5sb2FkTW9yZSAhPT0gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNBY3RpdmVQYWdlZERhdGFDb250ZXh0KG9iamVjdDogSURhdGFDb250ZXh0PGFueT4pOiBvYmplY3QgaXMgSURhdGFDb250ZXh0QWN0aXZlUGFnZTxhbnk+IHtcbiAgcmV0dXJuIChvYmplY3QgYXMgSURhdGFDb250ZXh0QWN0aXZlUGFnZTxhbnk+KS5zZXRBY3RpdmVQYWdlICE9PSB1bmRlZmluZWQ7XG59XG4iXX0=
@@ -0,0 +1,143 @@
1
+ import { BehaviorSubject } from 'rxjs';
2
+ import { SortContext } from '../sort-context';
3
+ import { LoggerFactory } from '@elderbyte/ts-logger';
4
+ export class IndexedEntities {
5
+ /***************************************************************************
6
+ * *
7
+ * Constructor *
8
+ * *
9
+ **************************************************************************/
10
+ constructor(idFn, localSortFn, sortContext = new SortContext()) {
11
+ this.idFn = idFn;
12
+ this.localSortFn = localSortFn;
13
+ this.sortContext = sortContext;
14
+ /***************************************************************************
15
+ * *
16
+ * Fields *
17
+ * *
18
+ **************************************************************************/
19
+ this.log = LoggerFactory.getLogger('IndexedEntities');
20
+ this._entities$ = new BehaviorSubject([]);
21
+ this._idToArrayIndex = new Map();
22
+ }
23
+ /***************************************************************************
24
+ * *
25
+ * Properties *
26
+ * *
27
+ **************************************************************************/
28
+ get entities$() {
29
+ return this._entities$.asObservable();
30
+ }
31
+ get entitiesSnapshot() {
32
+ return this._entities$.getValue();
33
+ }
34
+ /***************************************************************************
35
+ * *
36
+ * Public API *
37
+ * *
38
+ **************************************************************************/
39
+ /**
40
+ * Replaces all existing entities with the new ones.
41
+ * The index is rebuilt. O(n)
42
+ */
43
+ replaceAll(newEntities = []) {
44
+ if (this.localSortFn) {
45
+ newEntities = this.localSortFn(newEntities, this.sortContext.sortsSnapshot);
46
+ }
47
+ this.rebuildIndex(newEntities);
48
+ this.setEntities(newEntities);
49
+ }
50
+ /**
51
+ * Keeps all existing entities, but replaces those which are updated with the new data.
52
+ * Provided updated entities which are currently not in this index are ignored.
53
+ * @param updated
54
+ */
55
+ updateSome(updated) {
56
+ const newData = [...this.entitiesSnapshot];
57
+ updated.forEach(update => {
58
+ const id = this.getItemId(update);
59
+ const index = this.indexById(id);
60
+ if (index != -1) {
61
+ newData[index] = update;
62
+ }
63
+ });
64
+ this.setEntities(newData);
65
+ }
66
+ append(append) {
67
+ this.insert(append, this.entitiesSnapshot.length);
68
+ }
69
+ /**
70
+ * Appends the given entities to this index.
71
+ * The new appended entities are included in the index.
72
+ * O(n) where n = number of appended entities
73
+ * @param inserted
74
+ * @param offset
75
+ */
76
+ insert(inserted, offset) {
77
+ if (inserted && inserted.length > 0) {
78
+ const entities = this.entitiesSnapshot;
79
+ const newData = [...entities];
80
+ for (let i = 0; i < inserted.length; i++) {
81
+ newData[i + offset] = inserted[i];
82
+ }
83
+ if (this.localSortFn) {
84
+ // local sort can re-order all items
85
+ this.replaceAll(newData);
86
+ }
87
+ else {
88
+ // Without a sort, we can optimize indexing
89
+ this.reIndexFrom(newData, offset);
90
+ this.setEntities(newData);
91
+ }
92
+ }
93
+ }
94
+ /**
95
+ * Lookup an entity by its id.
96
+ * This will use an index O(1)
97
+ * @param id
98
+ */
99
+ getById(id) {
100
+ const entities = this.entitiesSnapshot;
101
+ const index = this.indexById(id);
102
+ if (index != -1) {
103
+ return entities[index];
104
+ }
105
+ }
106
+ notify() {
107
+ this._entities$.next(this._entities$.getValue());
108
+ }
109
+ destroy() {
110
+ this._entities$.complete();
111
+ this._idToArrayIndex.clear();
112
+ }
113
+ /***************************************************************************
114
+ * *
115
+ * Private methods *
116
+ * *
117
+ **************************************************************************/
118
+ rebuildIndex(entities) {
119
+ this._idToArrayIndex.clear();
120
+ this.reIndexFrom(entities, 0);
121
+ }
122
+ reIndexFrom(entities, startIndex) {
123
+ for (let i = startIndex; i < entities.length; i++) {
124
+ const entity = entities[i];
125
+ if (entity) {
126
+ this._idToArrayIndex.set(this.getItemId(entity), i);
127
+ }
128
+ }
129
+ }
130
+ indexById(id) {
131
+ return this._idToArrayIndex.get(id) ?? -1;
132
+ }
133
+ getItemId(item) {
134
+ return this.idFn(item);
135
+ }
136
+ setEntities(entities) {
137
+ if (!(this.entitiesSnapshot.length === 0 && entities.length === 0)) {
138
+ this.log.debug('Entities changed: ' + entities.length, entities);
139
+ this._entities$.next(entities);
140
+ }
141
+ }
142
+ }
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXhlZC1lbnRpdGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9kYXRhL2RhdGEtY29udGV4dC9pbmRleGVkLWVudGl0aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFFakQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxNQUFNLE9BQU8sZUFBZTtJQWExQjs7OztnRkFJNEU7SUFFNUUsWUFDbUIsSUFBbUIsRUFDbkIsV0FBNEQsRUFDNUQsY0FBYyxJQUFJLFdBQVcsRUFBRTtRQUYvQixTQUFJLEdBQUosSUFBSSxDQUFlO1FBQ25CLGdCQUFXLEdBQVgsV0FBVyxDQUFpRDtRQUM1RCxnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFwQmxEOzs7O29GQUk0RTtRQUUzRCxRQUFHLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRWpELGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBTSxFQUFFLENBQUMsQ0FBQztRQUMxQyxvQkFBZSxHQUFHLElBQUksR0FBRyxFQUFlLENBQUM7SUFZdEQsQ0FBQztJQUVMOzs7O2dGQUk0RTtJQUU1RSxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RTs7O09BR0c7SUFDSSxVQUFVLENBQUMsY0FBbUIsRUFBRTtRQUNyQyxJQUFJLElBQUks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LENBQUM7SUFDaEMsQ0FBQztJQUVPLFdBQVcsQ0FBQyxRQUFhLEVBQUUsVUFBa0I7UUFDbkQsS0FBSyxJQUFJLENBQUMsR0FBRyxVQUFVLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDakQsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNCLElBQUksTUFBTSxFQUFFO2dCQUNWLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDckQ7U0FDRjtJQUNILENBQUM7SUFFTyxTQUFTLENBQUMsRUFBTztRQUN2QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTyxTQUFTLENBQUMsSUFBTztRQUN2QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVPLFdBQVcsQ0FBQyxRQUFhO1FBQy9CLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDbEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsb0JBQW9CLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNqRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNoQztJQUNILENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7U29ydH0gZnJvbSAnLi4vc29ydCc7XG5pbXBvcnQge1NvcnRDb250ZXh0fSBmcm9tICcuLi9zb3J0LWNvbnRleHQnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5cbmV4cG9ydCBjbGFzcyBJbmRleGVkRW50aXRpZXM8VCwgVElkPWFueT4ge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIoJ0luZGV4ZWRFbnRpdGllcycpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2VudGl0aWVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VFtdPihbXSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2lkVG9BcnJheUluZGV4ID0gbmV3IE1hcDxUSWQsIG51bWJlcj4oKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlkRm46IChlOiBUKSA9PiBUSWQsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2NhbFNvcnRGbjogKChkYXRhOiBUW10sIHNvcnRzOiBTb3J0W10pID0+IFRbXSkgfCB1bmRlZmluZWQsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzb3J0Q29udGV4dCA9IG5ldyBTb3J0Q29udGV4dCgpXG4gICkgeyB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldCBlbnRpdGllcyQoKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICByZXR1cm4gdGhpcy5fZW50aXRpZXMkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBlbnRpdGllc1NuYXBzaG90KCk6IFRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2VudGl0aWVzJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIFJlcGxhY2VzIGFsbCBleGlzdGluZyBlbnRpdGllcyB3aXRoIHRoZSBuZXcgb25lcy5cbiAgICogVGhlIGluZGV4IGlzIHJlYnVpbHQuIE8obilcbiAgICovXG4gIHB1YmxpYyByZXBsYWNlQWxsKG5ld0VudGl0aWVzOiBUW10gPSBbXSkge1xuICAgIGlmICh0aGlzLmxvY2FsU29ydEZuKSB7XG4gICAgICBuZXdFbnRpdGllcyA9IHRoaXMubG9jYWxTb3J0Rm4obmV3RW50aXRpZXMsIHRoaXMuc29ydENvbnRleHQuc29ydHNTbmFwc2hvdCk7XG4gICAgfVxuICAgIHRoaXMucmVidWlsZEluZGV4KG5ld0VudGl0aWVzKTtcbiAgICB0aGlzLnNldEVudGl0aWVzKG5ld0VudGl0aWVzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBLZWVwcyBhbGwgZXhpc3RpbmcgZW50aXRpZXMsIGJ1dCByZXBsYWNlcyB0aG9zZSB3aGljaCBhcmUgdXBkYXRlZCB3aXRoIHRoZSBuZXcgZGF0YS5cbiAgICogUHJvdmlkZWQgdXBkYXRlZCBlbnRpdGllcyB3aGljaCBhcmUgY3VycmVudGx5IG5vdCBpbiB0aGlzIGluZGV4IGFyZSBpZ25vcmVkLlxuICAgKiBAcGFyYW0gdXBkYXRlZFxuICAgKi9cbiAgcHVibGljIHVwZGF0ZVNvbWUodXBkYXRlZDogVFtdKSB7XG4gICAgY29uc3QgbmV3RGF0YSA9IFsuLi50aGlzLmVudGl0aWVzU25hcHNob3RdO1xuICAgIHVwZGF0ZWQuZm9yRWFjaChcbiAgICAgIHVwZGF0ZSA9PiB7XG4gICAgICAgIGNvbnN0IGlkID0gdGhpcy5nZXRJdGVtSWQodXBkYXRlKTtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmluZGV4QnlJZChpZCk7XG4gICAgICAgIGlmIChpbmRleCAhPSAtMSkge1xuICAgICAgICAgIG5ld0RhdGFbaW5kZXhdID0gdXBkYXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcbiAgICB0aGlzLnNldEVudGl0aWVzKG5ld0RhdGEpO1xuICB9XG5cblxuICBwdWJsaWMgYXBwZW5kKGFwcGVuZDogVFtdKTogdm9pZCB7XG4gICAgdGhpcy5pbnNlcnQoYXBwZW5kLCB0aGlzLmVudGl0aWVzU25hcHNob3QubGVuZ3RoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBlbmRzIHRoZSBnaXZlbiBlbnRpdGllcyB0byB0aGlzIGluZGV4LlxuICAgKiBUaGUgbmV3IGFwcGVuZGVkIGVudGl0aWVzIGFyZSBpbmNsdWRlZCBpbiB0aGUgaW5kZXguXG4gICAqIE8obikgd2hlcmUgbiA9IG51bWJlciBvZiBhcHBlbmRlZCBlbnRpdGllc1xuICAgKiBAcGFyYW0gaW5zZXJ0ZWRcbiAgICogQHBhcmFtIG9mZnNldFxuICAgKi9cbiAgcHVibGljIGluc2VydChpbnNlcnRlZDogVFtdLCBvZmZzZXQ6IG51bWJlcik6IHZvaWQge1xuICAgIGlmIChpbnNlcnRlZCAmJiBpbnNlcnRlZC5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBlbnRpdGllcyA9IHRoaXMuZW50aXRpZXNTbmFwc2hvdDtcbiAgICAgIGNvbnN0IG5ld0RhdGEgPSBbLi4uZW50aXRpZXNdO1xuXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGluc2VydGVkLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIG5ld0RhdGFbaSArIG9mZnNldF0gPSBpbnNlcnRlZFtpXTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMubG9jYWxTb3J0Rm4pIHtcbiAgICAgICAgLy8gbG9jYWwgc29ydCBjYW4gcmUtb3JkZXIgYWxsIGl0ZW1zXG4gICAgICAgIHRoaXMucmVwbGFjZUFsbChuZXdEYXRhKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFdpdGhvdXQgYSBzb3J0LCB3ZSBjYW4gb3B0aW1pemUgaW5kZXhpbmdcbiAgICAgICAgdGhpcy5yZUluZGV4RnJvbShuZXdEYXRhLCBvZmZzZXQpO1xuICAgICAgICB0aGlzLnNldEVudGl0aWVzKG5ld0RhdGEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBMb29rdXAgYW4gZW50aXR5IGJ5IGl0cyBpZC5cbiAgICogVGhpcyB3aWxsIHVzZSBhbiBpbmRleCBPKDEpXG4gICAqIEBwYXJhbSBpZFxuICAgKi9cbiAgcHVibGljIGdldEJ5SWQoaWQ6IFRJZCk6IFQgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGVudGl0aWVzID0gdGhpcy5lbnRpdGllc1NuYXBzaG90O1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5pbmRleEJ5SWQoaWQpO1xuICAgIGlmIChpbmRleCAhPSAtMSkge1xuICAgICAgcmV0dXJuIGVudGl0aWVzW2luZGV4XTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbm90aWZ5KCk6IHZvaWQge1xuICAgIHRoaXMuX2VudGl0aWVzJC5uZXh0KFxuICAgICAgdGhpcy5fZW50aXRpZXMkLmdldFZhbHVlKClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGRlc3Ryb3koKSB7XG4gICAgdGhpcy5fZW50aXRpZXMkLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5faWRUb0FycmF5SW5kZXguY2xlYXIoKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVidWlsZEluZGV4KGVudGl0aWVzOiBUW10pOiB2b2lkIHtcbiAgICB0aGlzLl9pZFRvQXJyYXlJbmRleC5jbGVhcigpO1xuICAgIHRoaXMucmVJbmRleEZyb20oZW50aXRpZXMsIDApO1xuICB9XG5cbiAgcHJpdmF0ZSByZUluZGV4RnJvbShlbnRpdGllczogVFtdLCBzdGFydEluZGV4OiBudW1iZXIpIHtcbiAgICBmb3IgKGxldCBpID0gc3RhcnRJbmRleDsgaSA8IGVudGl0aWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBlbnRpdHkgPSBlbnRpdGllc1tpXTtcbiAgICAgIGlmIChlbnRpdHkpIHtcbiAgICAgICAgdGhpcy5faWRUb0FycmF5SW5kZXguc2V0KHRoaXMuZ2V0SXRlbUlkKGVudGl0eSksIGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5kZXhCeUlkKGlkOiBUSWQpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9pZFRvQXJyYXlJbmRleC5nZXQoaWQpID8/IC0xO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRJdGVtSWQoaXRlbTogVCk6IFRJZCB7XG4gICAgcmV0dXJuIHRoaXMuaWRGbihpdGVtKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0RW50aXRpZXMoZW50aXRpZXM6IFRbXSk6IHZvaWQge1xuICAgIGlmICghKHRoaXMuZW50aXRpZXNTbmFwc2hvdC5sZW5ndGggPT09IDAgJiYgZW50aXRpZXMubGVuZ3RoID09PSAwKSkge1xuICAgICAgdGhpcy5sb2cuZGVidWcoJ0VudGl0aWVzIGNoYW5nZWQ6ICcgKyBlbnRpdGllcy5sZW5ndGgsIGVudGl0aWVzKTtcbiAgICAgIHRoaXMuX2VudGl0aWVzJC5uZXh0KGVudGl0aWVzKTtcbiAgICB9XG4gIH1cblxufVxuIl19
@@ -1,3 +1,4 @@
1
+ export * from './indexed-entities';
1
2
  export * from './data-context-status';
2
3
  export * from './data-context';
3
4
  export * from './data-context-base';
@@ -9,6 +10,6 @@ export * from './data-context-active-page';
9
10
  export * from './mat-table-data-context-binding';
10
11
  export * from './data-context-life-cycle-binding';
11
12
  export * from './data-context-auto-starter';
12
- export * from './data-context-source-auto-reloader';
13
+ export * from './data-context-source-event-binding';
13
14
  export * from './data-context-builder';
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9kYXRhL2RhdGEtY29udGV4dC9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw0QkFBNEIsQ0FBQztBQUUzQyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHFDQUFxQyxDQUFDO0FBRXBELGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1jb250ZXh0LXN0YXR1cyc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGEtY29udGV4dCc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGEtY29udGV4dC1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1jb250ZXh0LXNpbXBsZSc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGEtY29udGV4dC1jb250aW51YWJsZS1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1jb250ZXh0LWNvbnRpbnVhYmxlLXBhZ2VkJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1jb250ZXh0LWNvbnRpbnVhYmxlLXRva2VuJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1jb250ZXh0LWFjdGl2ZS1wYWdlJztcblxuZXhwb3J0ICogZnJvbSAnLi9tYXQtdGFibGUtZGF0YS1jb250ZXh0LWJpbmRpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhLWNvbnRleHQtbGlmZS1jeWNsZS1iaW5kaW5nJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1jb250ZXh0LWF1dG8tc3RhcnRlcic7XG5leHBvcnQgKiBmcm9tICcuL2RhdGEtY29udGV4dC1zb3VyY2UtYXV0by1yZWxvYWRlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1jb250ZXh0LWJ1aWxkZXInO1xuXG5cblxuIl19
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9kYXRhL2RhdGEtY29udGV4dC9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMscUNBQXFDLENBQUM7QUFFcEQsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaW5kZXhlZC1lbnRpdGllcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1jb250ZXh0LXN0YXR1cyc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGEtY29udGV4dCc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGEtY29udGV4dC1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1jb250ZXh0LXNpbXBsZSc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGEtY29udGV4dC1jb250aW51YWJsZS1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1jb250ZXh0LWNvbnRpbnVhYmxlLXBhZ2VkJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1jb250ZXh0LWNvbnRpbnVhYmxlLXRva2VuJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1jb250ZXh0LWFjdGl2ZS1wYWdlJztcblxuZXhwb3J0ICogZnJvbSAnLi9tYXQtdGFibGUtZGF0YS1jb250ZXh0LWJpbmRpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhLWNvbnRleHQtbGlmZS1jeWNsZS1iaW5kaW5nJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1jb250ZXh0LWF1dG8tc3RhcnRlcic7XG5leHBvcnQgKiBmcm9tICcuL2RhdGEtY29udGV4dC1zb3VyY2UtZXZlbnQtYmluZGluZyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1jb250ZXh0LWJ1aWxkZXInO1xuXG5cblxuIl19
@@ -0,0 +1,38 @@
1
+ import { Subject } from 'rxjs';
2
+ import { EntityIdUtil } from './entity-id-util';
3
+ export class DataSourceBase {
4
+ /***************************************************************************
5
+ * *
6
+ * Constructor *
7
+ * *
8
+ **************************************************************************/
9
+ constructor(idProperty) {
10
+ this.idProperty = idProperty;
11
+ /***************************************************************************
12
+ * *
13
+ * Fields *
14
+ * *
15
+ **************************************************************************/
16
+ this.dataChangeEvents$ = new Subject();
17
+ }
18
+ /***************************************************************************
19
+ * *
20
+ * Properties *
21
+ * *
22
+ **************************************************************************/
23
+ get dataChanged() {
24
+ return this.dataChangeEvents$.asObservable();
25
+ }
26
+ /***************************************************************************
27
+ * *
28
+ * Public API *
29
+ * *
30
+ **************************************************************************/
31
+ publishChangeEvent(e) {
32
+ this.dataChangeEvents$.next(e);
33
+ }
34
+ getId(entity) {
35
+ return EntityIdUtil.getId(entity, this.idProperty);
36
+ }
37
+ }
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9kYXRhL2RhdGFzb3VyY2UvZGF0YS1zb3VyY2UtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQWEsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUU5QyxNQUFNLE9BQWdCLGNBQWM7SUFVbEM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ3FCLFVBQXlCO1FBQXpCLGVBQVUsR0FBVixVQUFVLENBQWU7UUFmOUM7Ozs7b0ZBSTRFO1FBRTNELHNCQUFpQixHQUFHLElBQUksT0FBTyxFQUE0QixDQUFDO0lBVzdFLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsa0JBQWtCLENBQUMsQ0FBMkI7UUFDbkQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU0sS0FBSyxDQUFDLE1BQVM7UUFDcEIsT0FBTyxZQUFZLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDckQsQ0FBQztDQVlGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJRGF0YVNvdXJjZX0gZnJvbSAnLi9kYXRhLXNvdXJjZSc7XG5pbXBvcnQge0RhdGFTb3VyY2VDaGFuZ2VFdmVudH0gZnJvbSAnLi9kYXRhLXNvdXJjZS1jaGFuZ2UtZXZlbnQnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7RW50aXR5SWRVdGlsfSBmcm9tICcuL2VudGl0eS1pZC11dGlsJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERhdGFTb3VyY2VCYXNlPFQ+IGltcGxlbWVudHMgSURhdGFTb3VyY2U8VD4ge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGF0YUNoYW5nZUV2ZW50cyQgPSBuZXcgU3ViamVjdDxEYXRhU291cmNlQ2hhbmdlRXZlbnQ8VD4+KCk7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlkUHJvcGVydHk6IHN0cmluZyB8IG51bGxcbiAgKSB7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZ2V0IGRhdGFDaGFuZ2VkKCk6IE9ic2VydmFibGU8RGF0YVNvdXJjZUNoYW5nZUV2ZW50PFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YUNoYW5nZUV2ZW50cyQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgcHVibGlzaENoYW5nZUV2ZW50KGU6IERhdGFTb3VyY2VDaGFuZ2VFdmVudDxUPik6IHZvaWQge1xuICAgIHRoaXMuZGF0YUNoYW5nZUV2ZW50cyQubmV4dChlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRJZChlbnRpdHk6IFQpOiBhbnkge1xuICAgIHJldHVybiBFbnRpdHlJZFV0aWwuZ2V0SWQoZW50aXR5LCB0aGlzLmlkUHJvcGVydHkpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEFic3RyYWN0IG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgYWJzdHJhY3QgZmluZEJ5SWQoaWQ6IGFueSk6IE9ic2VydmFibGU8VD47XG5cbiAgYWJzdHJhY3QgZmluZEJ5SWRzKGlkczogYW55W10pOiBPYnNlcnZhYmxlPFRbXT47XG5cbn1cbiJdfQ==
@@ -0,0 +1,24 @@
1
+ export var DataSourceChangeType;
2
+ (function (DataSourceChangeType) {
3
+ })(DataSourceChangeType || (DataSourceChangeType = {}));
4
+ export class DataSourceChangeEvent {
5
+ constructor(deletedIds, modified, created) {
6
+ this.deletedIds = deletedIds;
7
+ this.modified = modified;
8
+ this.created = created;
9
+ this.unknownChanges = !deletedIds && !modified && !created;
10
+ }
11
+ static unknownChanges() {
12
+ return new DataSourceChangeEvent(null, null, null);
13
+ }
14
+ static deleted(ids) {
15
+ return new DataSourceChangeEvent(ids, null, null);
16
+ }
17
+ static modified(modified) {
18
+ return new DataSourceChangeEvent(null, modified, null);
19
+ }
20
+ static created(created) {
21
+ return new DataSourceChangeEvent(null, null, created);
22
+ }
23
+ }
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UtY2hhbmdlLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2RhdGEvZGF0YXNvdXJjZS9kYXRhLXNvdXJjZS1jaGFuZ2UtZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxDQUFOLElBQVksb0JBRVg7QUFGRCxXQUFZLG9CQUFvQjtBQUVoQyxDQUFDLEVBRlcsb0JBQW9CLEtBQXBCLG9CQUFvQixRQUUvQjtBQUdELE1BQU0sT0FBTyxxQkFBcUI7SUE0QmhDLFlBQ2tCLFVBQWlCLEVBQ2pCLFFBQWEsRUFDYixPQUFZO1FBRlosZUFBVSxHQUFWLFVBQVUsQ0FBTztRQUNqQixhQUFRLEdBQVIsUUFBUSxDQUFLO1FBQ2IsWUFBTyxHQUFQLE9BQU8sQ0FBSztRQUU1QixJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsVUFBVSxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzdELENBQUM7SUFoQ00sTUFBTSxDQUFFLGNBQWM7UUFDM0IsT0FBTyxJQUFJLHFCQUFxQixDQUFJLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVNLE1BQU0sQ0FBRSxPQUFPLENBQU0sR0FBVTtRQUNwQyxPQUFPLElBQUkscUJBQXFCLENBQVcsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU0sTUFBTSxDQUFFLFFBQVEsQ0FBSSxRQUFhO1FBQ3RDLE9BQU8sSUFBSSxxQkFBcUIsQ0FBSSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFTSxNQUFNLENBQUUsT0FBTyxDQUFJLE9BQVk7UUFDcEMsT0FBTyxJQUFJLHFCQUFxQixDQUFJLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDM0QsQ0FBQztDQXNCRiIsInNvdXJjZXNDb250ZW50IjpbIlxuZXhwb3J0IGVudW0gRGF0YVNvdXJjZUNoYW5nZVR5cGUge1xuXG59XG5cblxuZXhwb3J0IGNsYXNzIERhdGFTb3VyY2VDaGFuZ2VFdmVudDxULCBUSWQgPSBhbnk+IHtcblxuICBwdWJsaWMgc3RhdGljICB1bmtub3duQ2hhbmdlczxUPigpOiBEYXRhU291cmNlQ2hhbmdlRXZlbnQ8VD4ge1xuICAgIHJldHVybiBuZXcgRGF0YVNvdXJjZUNoYW5nZUV2ZW50PFQ+KG51bGwsIG51bGwsIG51bGwpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyAgZGVsZXRlZDxUSWQ+KGlkczogVElkW10pOiBEYXRhU291cmNlQ2hhbmdlRXZlbnQ8YW55LCBUSWQ+IHtcbiAgICByZXR1cm4gbmV3IERhdGFTb3VyY2VDaGFuZ2VFdmVudDxhbnksIFRJZD4oaWRzLCBudWxsLCBudWxsKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgIG1vZGlmaWVkPFQ+KG1vZGlmaWVkOiBUW10pOiBEYXRhU291cmNlQ2hhbmdlRXZlbnQ8VD4ge1xuICAgIHJldHVybiBuZXcgRGF0YVNvdXJjZUNoYW5nZUV2ZW50PFQ+KG51bGwsIG1vZGlmaWVkLCBudWxsKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgIGNyZWF0ZWQ8VD4oY3JlYXRlZDogVFtdKTogRGF0YVNvdXJjZUNoYW5nZUV2ZW50PFQ+IHtcbiAgICByZXR1cm4gbmV3IERhdGFTb3VyY2VDaGFuZ2VFdmVudDxUPihudWxsLCBudWxsLCBjcmVhdGVkKTtcbiAgfVxuXG4gIC8vIGVudGl0aWVzIC0+IGRhdGEgbXVzdCBiZSB1cGRhdGVkIHdpdGggbmV3IHZlcnNpb25zXG4gIC8vIGVudGl0eS1pZHMgLT4gbXVzdCBiZSBkb3dubG9hZGVkIGZpbmRCeUlkcygpIGFuZCBkYXRhIHVwZGF0ZWRcbiAgLy8gZW50aXR5LXBhdGNoZXMgLT4gZW50aXR5IG11c3QgYmUgbG9va2VkIHVwICYgYXBwbGllZCBsb2NhbGx5ICYgcmVwbGFjZWRcblxuICAvLyBjb25zdCBlbnRpdHkgPSBkYy5maW5kQnlJZChlbnRpdHktaWQpO1xuICAvLyBkYy5yZXBsYWNlKGVudGl0eSk7XG4gIC8vIGRjLnJlcGxhY2VBbGwoZW50aXRpZXMpO1xuXG4gIHB1YmxpYyByZWFkb25seSB1bmtub3duQ2hhbmdlczogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgZGVsZXRlZElkczogVElkW10sXG4gICAgcHVibGljIHJlYWRvbmx5IG1vZGlmaWVkOiBUW10sXG4gICAgcHVibGljIHJlYWRvbmx5IGNyZWF0ZWQ6IFRbXVxuICApIHtcbiAgICB0aGlzLnVua25vd25DaGFuZ2VzID0gIWRlbGV0ZWRJZHMgJiYgIW1vZGlmaWVkICYmICFjcmVhdGVkO1xuICB9XG5cblxuXG59XG4iXX0=