@ethlete/query 2.9.2 → 3.0.1

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 (53) hide show
  1. package/esm2020/index.mjs +2 -1
  2. package/esm2020/lib/auth/auth-provider.types.mjs +1 -1
  3. package/esm2020/lib/auth/auth-provider.utils.mjs +1 -1
  4. package/esm2020/lib/auth/bearer-auth-provider.mjs +2 -2
  5. package/esm2020/lib/directives/infinity-query-trigger.directive.mjs +4 -4
  6. package/esm2020/lib/directives/infinity-query.directive.mjs +18 -24
  7. package/esm2020/lib/directives/query.directive.mjs +9 -11
  8. package/esm2020/lib/entity/entity-store.mjs +73 -119
  9. package/esm2020/lib/entity/entity.types.mjs +1 -1
  10. package/esm2020/lib/entity/entity.utils.mjs +5 -0
  11. package/esm2020/lib/entity/index.mjs +2 -1
  12. package/esm2020/lib/infinite-query/infinity-query.mjs +47 -71
  13. package/esm2020/lib/infinite-query/infinity-query.types.mjs +1 -1
  14. package/esm2020/lib/infinite-query/infinity-query.utils.mjs +1 -1
  15. package/esm2020/lib/query/query.mjs +118 -211
  16. package/esm2020/lib/query/query.types.mjs +1 -1
  17. package/esm2020/lib/query/query.utils.mjs +1 -1
  18. package/esm2020/lib/query-client/query-client.mjs +3 -31
  19. package/esm2020/lib/query-client/query-client.types.mjs +1 -1
  20. package/esm2020/lib/query-creator/index.mjs +3 -0
  21. package/esm2020/lib/query-creator/query-creator.mjs +35 -0
  22. package/esm2020/lib/query-creator/query-creator.types.mjs +2 -0
  23. package/esm2020/lib/request/request.types.mjs +1 -1
  24. package/esm2020/lib/request/request.util.mjs +1 -7
  25. package/fesm2015/ethlete-query.mjs +314 -473
  26. package/fesm2015/ethlete-query.mjs.map +1 -1
  27. package/fesm2020/ethlete-query.mjs +308 -476
  28. package/fesm2020/ethlete-query.mjs.map +1 -1
  29. package/index.d.ts +1 -0
  30. package/lib/auth/auth-provider.types.d.ts +3 -4
  31. package/lib/auth/auth-provider.utils.d.ts +2 -2
  32. package/lib/auth/bearer-auth-provider.d.ts +1 -1
  33. package/lib/directives/infinity-query-trigger.directive.d.ts +1 -1
  34. package/lib/directives/infinity-query.directive.d.ts +6 -11
  35. package/lib/directives/query.directive.d.ts +7 -7
  36. package/lib/entity/entity-store.d.ts +13 -27
  37. package/lib/entity/entity.types.d.ts +0 -5
  38. package/lib/entity/entity.utils.d.ts +2 -0
  39. package/lib/entity/index.d.ts +1 -0
  40. package/lib/infinite-query/infinity-query.d.ts +10 -19
  41. package/lib/infinite-query/infinity-query.types.d.ts +4 -4
  42. package/lib/infinite-query/infinity-query.utils.d.ts +2 -3
  43. package/lib/query/query.d.ts +19 -12
  44. package/lib/query/query.types.d.ts +86 -51
  45. package/lib/query/query.utils.d.ts +16 -14
  46. package/lib/query-client/query-client.d.ts +12 -10
  47. package/lib/query-client/query-client.types.d.ts +2 -22
  48. package/lib/query-creator/index.d.ts +2 -0
  49. package/lib/query-creator/query-creator.d.ts +14 -0
  50. package/lib/query-creator/query-creator.types.d.ts +13 -0
  51. package/lib/request/request.types.d.ts +1 -1
  52. package/lib/request/request.util.d.ts +0 -1
  53. package/package.json +1 -1
@@ -1,141 +1,95 @@
1
- import { debounceTime, map, startWith, Subject } from 'rxjs';
2
- export class EntityStore {
3
- get events$() {
4
- return this._events$.asObservable();
5
- }
6
- get keys() {
7
- return [...this._keys];
8
- }
9
- get values() {
10
- return [...this._dictionary.values()];
11
- }
12
- get size() {
13
- return this._keys.size;
14
- }
15
- get isEmpty() {
16
- return this.size === 0;
17
- }
18
- get config() {
19
- return this._config;
20
- }
21
- get idKey() {
22
- return this._config.idKey || 'id';
1
+ import { Subject, filter, map, startWith } from 'rxjs';
2
+ class EntityStoreError extends Error {
3
+ constructor(message, detail) {
4
+ super(message);
5
+ this.detail = detail;
6
+ this.name = 'EntityStoreError';
23
7
  }
8
+ }
9
+ export class EntityStore {
24
10
  constructor(_config) {
25
11
  this._config = _config;
26
12
  this._dictionary = new Map();
27
- this._keys = new Set();
28
- this._events$ = new Subject();
29
- this.entities$ = this.events$.pipe(startWith(null), debounceTime(0), map(() => ({
30
- keys: this.keys,
31
- values: this.values,
32
- })));
13
+ this._change$ = new Subject();
33
14
  }
34
- getOne(key) {
35
- const value = this._dictionary.get(key);
36
- if (!value) {
37
- console.error(`EntityStore: ${this._config.name || 'unknown'}: missing key "${key}" for get`);
38
- return null;
15
+ select(keyOrKeys) {
16
+ if (Array.isArray(keyOrKeys)) {
17
+ return this._selectMany(keyOrKeys);
39
18
  }
40
- if (this._config.logActions) {
41
- console.log(`EntityStore: ${this._config.name || 'unknown'}: get "${key}"`);
19
+ return this._select(keyOrKeys);
20
+ }
21
+ set(keyOrKeys, valueOrValues) {
22
+ if (Array.isArray(keyOrKeys)) {
23
+ if (!Array.isArray(valueOrValues)) {
24
+ throw new EntityStoreError('When setting multiple keys, values must be an array', {
25
+ keyOrValues: keyOrKeys,
26
+ valueOrValues,
27
+ });
28
+ }
29
+ for (let i = 0; i < keyOrKeys.length; i++) {
30
+ this._set(keyOrKeys[i], valueOrValues[i]);
31
+ }
42
32
  }
43
- return value;
44
- }
45
- getMany(keys) {
46
- return keys.map((key) => this.getOne(key));
47
- }
48
- addOne(value) {
49
- const key = this.getKey(value);
50
- if (this._dictionary.has(key)) {
51
- console.error(`EntityStore: ${this._config.name || 'unknown'}: duplicate key "${key}" for add`);
52
- return null;
53
- }
54
- this._dictionary.set(key, value);
55
- this._keys.add(key);
56
- const event = { type: 'add', key };
57
- this._events$.next(event);
58
- if (this._config.logActions) {
59
- console.log(`EntityStore: ${this._config.name || 'unknown'}: add "${key}"`);
33
+ else {
34
+ this._set(keyOrKeys, valueOrValues);
60
35
  }
61
- return event;
36
+ this._change$.next(keyOrKeys);
62
37
  }
63
- addMany(values) {
64
- const events = values.map((value) => this.addOne(value));
65
- return events;
66
- }
67
- updateOne(value) {
68
- const key = this.getKey(value);
69
- const existing = this._dictionary.get(key);
70
- if (!existing) {
71
- console.error(`EntityStore: ${this._config.name || 'unknown'}: missing key "${key}" for update`);
72
- return null;
38
+ remove(keyOrKeys) {
39
+ if (Array.isArray(keyOrKeys)) {
40
+ for (const key of keyOrKeys) {
41
+ this._remove(key);
42
+ }
73
43
  }
74
- this._dictionary.set(key, value);
75
- const event = { type: 'update', key };
76
- this._events$.next(event);
77
- if (this._config.logActions) {
78
- console.log(`EntityStore: ${this._config.name || 'unknown'}: update "${key}"`);
44
+ else {
45
+ this._remove(keyOrKeys);
79
46
  }
80
- return event;
47
+ this._change$.next(keyOrKeys);
81
48
  }
82
- updateMany(values) {
83
- const events = values.map((value) => this.updateOne(value));
84
- return events;
49
+ logState() {
50
+ console.log('EntityStore:', this._config.name, {
51
+ dictionary: this._dictionary,
52
+ });
85
53
  }
86
- setOne(value) {
87
- const key = this.getKey(value);
88
- this._dictionary.set(key, value);
89
- this._keys.add(key);
90
- const event = { type: 'set', key };
91
- this._events$.next(event);
54
+ _select(key) {
92
55
  if (this._config.logActions) {
93
- console.log(`EntityStore: ${this._config.name || 'unknown'}: set "${key}"`);
56
+ console.log('EntityStore: select', this._config.name, key);
94
57
  }
95
- return event;
96
- }
97
- setMany(values) {
98
- const events = values.map((value) => this.setOne(value));
99
- return events;
100
- }
101
- removeOne(key) {
102
- if (!this._dictionary.has(key)) {
103
- console.error(`EntityStore: ${this._config.name || 'unknown'}: missing key "${key}" for remove`);
104
- return null;
58
+ return this._change$.pipe(startWith(null), filter((v) => {
59
+ if (v === null) {
60
+ return true;
61
+ }
62
+ if (Array.isArray(v)) {
63
+ return v.includes(key);
64
+ }
65
+ return v === key;
66
+ }), map(() => this._dictionary.get(key) ?? null));
67
+ }
68
+ _selectMany(keys) {
69
+ if (this._config.logActions) {
70
+ console.log('EntityStore: selectMany', this._config.name, keys);
105
71
  }
106
- this._dictionary.delete(key);
107
- this._keys.delete(key);
108
- const event = { type: 'remove', key };
109
- this._events$.next(event);
72
+ return this._change$.pipe(startWith(null), filter((v) => {
73
+ if (v === null) {
74
+ return true;
75
+ }
76
+ if (Array.isArray(v)) {
77
+ return keys.some((key) => v.includes(key));
78
+ }
79
+ return keys.includes(v);
80
+ }), map(() => keys.map((key) => this._dictionary.get(key)).filter((value) => value !== undefined)));
81
+ }
82
+ _set(key, value) {
110
83
  if (this._config.logActions) {
111
- console.log(`EntityStore: ${this._config.name || 'unknown'}: remove "${key}"`);
84
+ console.log('EntityStore: set', this._config.name, key, value);
112
85
  }
113
- return event;
114
- }
115
- removeMany(keys) {
116
- const events = keys.map((key) => this.removeOne(key));
117
- return events;
118
- }
119
- has(key) {
120
- return this._dictionary.has(key);
121
- }
122
- clear() {
123
- this._dictionary.clear();
124
- this._keys.clear();
86
+ this._dictionary.set(key, value);
125
87
  }
126
- getKey(value) {
127
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
128
- const key = value[this._config.idKey || 'id'];
129
- if (key === undefined) {
130
- throw new Error(`EntityStore: ${this._config.name || 'unknown'}: missing key`);
88
+ _remove(key) {
89
+ if (this._config.logActions) {
90
+ console.log('EntityStore: remove', this._config.name, key);
131
91
  }
132
- return key;
133
- }
134
- logState() {
135
- console.log('EntityStore:', this._config.name, {
136
- dictionary: this._dictionary,
137
- keys: this._keys,
138
- });
92
+ this._dictionary.delete(key);
139
93
  }
140
94
  }
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL2VudGl0eS9lbnRpdHktc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUc3RCxNQUFNLE9BQU8sV0FBVztJQU10QixJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDO0lBQ3BDLENBQUM7SUFXRCxZQUE2QixPQUEwQjtRQUExQixZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQTFDdEMsZ0JBQVcsR0FBRyxJQUFJLEdBQUcsRUFBZ0IsQ0FBQztRQUN0QyxVQUFLLEdBQUcsSUFBSSxHQUFHLEVBQWEsQ0FBQztRQUU3QixhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQTJCLENBQUM7UUE4QjFELGNB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Q0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUV0RCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQVE7UUFDYiw4REFBOEQ7UUFDOUQsTUFBTSxHQUFHLEdBQUksS0FBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBZ0MsQ0FBQztRQUV0RixJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUU7WUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksU0FBUyxlQUFlLENBQUMsQ0FBQztTQUNoRjtRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRTtZQUM3QyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDNUIsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLO1NBQ2pCLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlYm91bmNlVGltZSwgbWFwLCBzdGFydFdpdGgsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVudGl0eUtleSwgRW50aXR5U3RvcmVBY3Rpb25SZXN1bHQsIEVudGl0eVN0b3JlQ29uZmlnIH0gZnJvbSAnLi9lbnRpdHkudHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgRW50aXR5U3RvcmU8VD4ge1xuICBwcml2YXRlIHJlYWRvbmx5IF9kaWN0aW9uYXJ5ID0gbmV3IE1hcDxFbnRpdHlLZXksIFQ+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2tleXMgPSBuZXcgU2V0PEVudGl0eUtleT4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9ldmVudHMkID0gbmV3IFN1YmplY3Q8RW50aXR5U3RvcmVBY3Rpb25SZXN1bHQ+KCk7XG5cbiAgZ2V0IGV2ZW50cyQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2V2ZW50cyQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQga2V5cygpIHtcbiAgICByZXR1cm4gWy4uLnRoaXMuX2tleXNdO1xuICB9XG5cbiAgZ2V0IHZhbHVlcygpIHtcbiAgICByZXR1cm4gWy4uLnRoaXMuX2RpY3Rpb25hcnkudmFsdWVzKCldO1xuICB9XG5cbiAgZ2V0IHNpemUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2tleXMuc2l6ZTtcbiAgfVxuXG4gIGdldCBpc0VtcHR5KCkge1xuICAgIHJldHVybiB0aGlzLnNpemUgPT09IDA7XG4gIH1cblxuICBnZXQgY29uZmlnKCkge1xuICAgIHJldHVybiB0aGlzLl9jb25maWc7XG4gIH1cblxuICBnZXQgaWRLZXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5pZEtleSB8fCAnaWQnO1xuICB9XG5cbiAgcmVhZG9ubHkgZW50aXRpZXMkID0gdGhpcy5ldmVudHMkLnBpcGUoXG4gICAgc3RhcnRXaXRoKG51bGwpLFxuICAgIGRlYm91bmNlVGltZSgwKSxcbiAgICBtYXAoKCkgPT4gKHtcbiAgICAgIGtleXM6IHRoaXMua2V5cyxcbiAgICAgIHZhbHVlczogdGhpcy52YWx1ZXMsXG4gICAgfSkpLFxuICApO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgX2NvbmZpZzogRW50aXR5U3RvcmVDb25maWcpIHt9XG5cbiAgZ2V0T25lKGtleTogRW50aXR5S2V5KSB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLl9kaWN0aW9uYXJ5LmdldChrZXkpO1xuXG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgY29uc29sZS5lcnJvcihgRW50aXR5U3RvcmU6ICR7dGhpcy5fY29uZmlnLm5hbWUgfHwgJ3Vua25vd24nfTogbWlzc2luZyBrZXkgXCIke2tleX1cIiBmb3IgZ2V0YCk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fY29uZmlnLmxvZ0FjdGlvbnMpIHtcbiAgICAgIGNvbnNvbGUubG9nKGBFbnRpdHlTdG9yZTogJHt0aGlzLl9jb25maWcubmFtZSB8fCAndW5rbm93bid9OiBnZXQgXCIke2tleX1cImApO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIGdldE1hbnkoa2V5czogRW50aXR5S2V5W10pIHtcbiAgICByZXR1cm4ga2V5cy5tYXAoKGtleSkgPT4gdGhpcy5nZXRPbmUoa2V5KSk7XG4gIH1cblxuICBhZGRPbmUodmFsdWU6IFQpIHtcbiAgICBjb25zdCBrZXkgPSB0aGlzLmdldEtleSh2YWx1ZSk7XG5cbiAgICBpZiAodGhpcy5fZGljdGlvbmFyeS5oYXMoa2V5KSkge1xuICAgICAgY29uc29sZS5lcnJvcihgRW50aXR5U3RvcmU6ICR7dGhpcy5fY29uZmlnLm5hbWUgfHwgJ3Vua25vd24nfTogZHVwbGljYXRlIGtleSBcIiR7a2V5fVwiIGZvciBhZGRgKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHRoaXMuX2RpY3Rpb25hcnkuc2V0KGtleSwgdmFsdWUpO1xuICAgIHRoaXMuX2tleXMuYWRkKGtleSk7XG5cbiAgICBjb25zdCBldmVudDogRW50aXR5U3RvcmVBY3Rpb25SZXN1bHQgPSB7IHR5cGU6ICdhZGQnLCBrZXkgfTtcblxuICAgIHRoaXMuX2V2ZW50cyQubmV4dChldmVudCk7XG5cbiAgICBpZiAodGhpcy5fY29uZmlnLmxvZ0FjdGlvbnMpIHtcbiAgICAgIGNvbnNvbGUubG9nKGBFbnRpdHlTdG9yZTogJHt0aGlzLl9jb25maWcubmFtZSB8fCAndW5rbm93bid9OiBhZGQgXCIke2tleX1cImApO1xuICAgIH1cblxuICAgIHJldHVybiBldmVudDtcbiAgfVxuXG4gIGFkZE1hbnkodmFsdWVzOiBUW10pIHtcbiAgICBjb25zdCBldmVudHMgPSB2YWx1ZXMubWFwKCh2YWx1ZSkgPT4gdGhpcy5hZGRPbmUodmFsdWUpKTtcblxuICAgIHJldHVybiBldmVudHM7XG4gIH1cblxuICB1cGRhdGVPbmUodmFsdWU6IFQpIHtcbiAgICBjb25zdCBrZXkgPSB0aGlzLmdldEtleSh2YWx1ZSk7XG4gICAgY29uc3QgZXhpc3RpbmcgPSB0aGlzLl9kaWN0aW9uYXJ5LmdldChrZXkpO1xuXG4gICAgaWYgKCFleGlzdGluZykge1xuICAgICAgY29uc29sZS5lcnJvcihgRW50aXR5U3RvcmU6ICR7dGhpcy5fY29uZmlnLm5hbWUgfHwgJ3Vua25vd24nfTogbWlzc2luZyBrZXkgXCIke2tleX1cIiBmb3IgdXBkYXRlYCk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICB0aGlzLl9kaWN0aW9uYXJ5LnNldChrZXksIHZhbHVlKTtcblxuICAgIGNvbnN0IGV2ZW50OiBFbnRpdHlTdG9yZUFjdGlvblJlc3VsdCA9IHsgdHlwZTogJ3VwZGF0ZScsIGtleSB9O1xuXG4gICAgdGhpcy5fZXZlbnRzJC5uZXh0KGV2ZW50KTtcblxuICAgIGlmICh0aGlzLl9jb25maWcubG9nQWN0aW9ucykge1xuICAgICAgY29uc29sZS5sb2coYEVudGl0eVN0b3JlOiAke3RoaXMuX2NvbmZpZy5uYW1lIHx8ICd1bmtub3duJ306IHVwZGF0ZSBcIiR7a2V5fVwiYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGV2ZW50O1xuICB9XG5cbiAgdXBkYXRlTWFueSh2YWx1ZXM6IFRbXSkge1xuICAgIGNvbnN0IGV2ZW50cyA9IHZhbHVlcy5tYXAoKHZhbHVlKSA9PiB0aGlzLnVwZGF0ZU9uZSh2YWx1ZSkpO1xuXG4gICAgcmV0dXJuIGV2ZW50cztcbiAgfVxuXG4gIHNldE9uZSh2YWx1ZTogVCkge1xuICAgIGNvbnN0IGtleSA9IHRoaXMuZ2V0S2V5KHZhbHVlKTtcbiAgICB0aGlzLl9kaWN0aW9uYXJ5LnNldChrZXksIHZhbHVlKTtcbiAgICB0aGlzLl9rZXlzLmFkZChrZXkpO1xuXG4gICAgY29uc3QgZXZlbnQ6IEVudGl0eVN0b3JlQWN0aW9uUmVzdWx0ID0geyB0eXBlOiAnc2V0Jywga2V5IH07XG5cbiAgICB0aGlzLl9ldmVudHMkLm5leHQoZXZlbnQpO1xuXG4gICAgaWYgKHRoaXMuX2NvbmZpZy5sb2dBY3Rpb25zKSB7XG4gICAgICBjb25zb2xlLmxvZyhgRW50aXR5U3RvcmU6ICR7dGhpcy5fY29uZmlnLm5hbWUgfHwgJ3Vua25vd24nfTogc2V0IFwiJHtrZXl9XCJgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZXZlbnQ7XG4gIH1cblxuICBzZXRNYW55KHZhbHVlczogVFtdKSB7XG4gICAgY29uc3QgZXZlbnRzID0gdmFsdWVzLm1hcCgodmFsdWUpID0+IHRoaXMuc2V0T25lKHZhbHVlKSk7XG5cbiAgICByZXR1cm4gZXZlbnRzO1xuICB9XG5cbiAgcmVtb3ZlT25lKGtleTogRW50aXR5S2V5KSB7XG4gICAgaWYgKCF0aGlzLl9kaWN0aW9uYXJ5LmhhcyhrZXkpKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBFbnRpdHlTdG9yZTogJHt0aGlzLl9jb25maWcubmFtZSB8fCAndW5rbm93bid9OiBtaXNzaW5nIGtleSBcIiR7a2V5fVwiIGZvciByZW1vdmVgKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHRoaXMuX2RpY3Rpb25hcnkuZGVsZXRlKGtleSk7XG4gICAgdGhpcy5fa2V5cy5kZWxldGUoa2V5KTtcblxuICAgIGNvbnN0IGV2ZW50OiBFbnRpdHlTdG9yZUFjdGlvblJlc3VsdCA9IHsgdHlwZTogJ3JlbW92ZScsIGtleSB9O1xuXG4gICAgdGhpcy5fZXZlbnRzJC5uZXh0KGV2ZW50KTtcblxuICAgIGlmICh0aGlzLl9jb25maWcubG9nQWN0aW9ucykge1xuICAgICAgY29uc29sZS5sb2coYEVudGl0eVN0b3JlOiAke3RoaXMuX2NvbmZpZy5uYW1lIHx8ICd1bmtub3duJ306IHJlbW92ZSBcIiR7a2V5fVwiYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGV2ZW50O1xuICB9XG5cbiAgcmVtb3ZlTWFueShrZXlzOiBFbnRpdHlLZXlbXSkge1xuICAgIGNvbnN0IGV2ZW50cyA9IGtleXMubWFwKChrZXkpID0+IHRoaXMucmVtb3ZlT25lKGtleSkpO1xuXG4gICAgcmV0dXJuIGV2ZW50cztcbiAgfVxuXG4gIGhhcyhrZXk6IEVudGl0eUtleSkge1xuICAgIHJldHVybiB0aGlzLl9kaWN0aW9uYXJ5LmhhcyhrZXkpO1xuICB9XG5cbiAgY2xlYXIoKSB7XG4gICAgdGhpcy5fZGljdGlvbmFyeS5jbGVhcigpO1xuICAgIHRoaXMuX2tleXMuY2xlYXIoKTtcbiAgfVxuXG4gIGdldEtleSh2YWx1ZTogVCkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgY29uc3Qga2V5ID0gKHZhbHVlIGFzIGFueSlbdGhpcy5fY29uZmlnLmlkS2V5IHx8ICdpZCddIGFzIHN0cmluZyB8IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICAgIGlmIChrZXkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBFbnRpdHlTdG9yZTogJHt0aGlzLl9jb25maWcubmFtZSB8fCAndW5rbm93bid9OiBtaXNzaW5nIGtleWApO1xuICAgIH1cblxuICAgIHJldHVybiBrZXk7XG4gIH1cblxuICBsb2dTdGF0ZSgpIHtcbiAgICBjb25zb2xlLmxvZygnRW50aXR5U3RvcmU6JywgdGhpcy5fY29uZmlnLm5hbWUsIHtcbiAgICAgIGRpY3Rpb25hcnk6IHRoaXMuX2RpY3Rpb25hcnksXG4gICAgICBrZXlzOiB0aGlzLl9rZXlzLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL2VudGl0eS9lbnRpdHktc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUduRSxNQUFNLGdCQUFpQixTQUFRLEtBQUs7SUFDbEMsWUFBWSxPQUFlLEVBQVMsTUFBZ0I7UUFDbEQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRG1CLFdBQU0sR0FBTixNQUFNLENBQVU7UUFFbEQsSUFBSSxDQUFDLElBQUksR0FBRyxrQkFBa0IsQ0FBQztJQUNqQyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sV0FBVztJQUt0QixZQUE2QixPQUEwQjtRQUExQixZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUp0QyxnQkFBVyxHQUFHLElBQUksR0FBRyxFQUFnQixDQUFDO1FBRXRDLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBMkIsQ0FBQztJQUVULENBQUM7SUFJM0QsTUFBTSxDQUFDLFNBQWtDO1FBQ3ZDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUM1QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDcEM7UUFFRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUlELEdBQUcsQ0FBQyxTQUFrQyxFQUFFLGFBQXNCO1FBQzVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRTtnQkFDakMsTUFBTSxJQUFJLGdCQUFnQixDQUFDLHFEQUFxRCxFQUFFO29CQUNoRixXQUFXLEVBQUUs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Q0YsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFjLEVBQUUsQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FDM0csQ0FBQztJQUNKLENBQUM7SUFFTyxJQUFJLENBQUMsR0FBYyxFQUFFLEtBQVE7UUFDbkMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRTtZQUMzQixPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUNoRTtRQUVELElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU8sT0FBTyxDQUFDLEdBQWM7UUFDNUIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRTtZQUMzQixPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQzVEO1FBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgZmlsdGVyLCBtYXAsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRW50aXR5S2V5LCBFbnRpdHlTdG9yZUNvbmZpZyB9IGZyb20gJy4vZW50aXR5LnR5cGVzJztcblxuY2xhc3MgRW50aXR5U3RvcmVFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCBwdWJsaWMgZGV0YWlsPzogdW5rbm93bikge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgIHRoaXMubmFtZSA9ICdFbnRpdHlTdG9yZUVycm9yJztcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRW50aXR5U3RvcmU8VD4ge1xuICBwcml2YXRlIHJlYWRvbmx5IF9kaWN0aW9uYXJ5ID0gbmV3IE1hcDxFbnRpdHlLZXksIFQ+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfY2hhbmdlJCA9IG5ldyBTdWJqZWN0PEVudGl0eUtleSB8IEVudGl0eUtleVtdPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgX2NvbmZpZzogRW50aXR5U3RvcmVDb25maWcpIHt9XG5cbiAgc2VsZWN0KGtleTogRW50aXR5S2V5KTogT2JzZXJ2YWJsZTxUIHwgbnVsbD47XG4gIHNlbGVjdChrZXlzOiBFbnRpdHlLZXlbXSk6IE9ic2VydmFibGU8VFtdPjtcbiAgc2VsZWN0KGtleU9yS2V5czogRW50aXR5S2V5IHwgRW50aXR5S2V5W10pOiBPYnNlcnZhYmxlPFQgfCBudWxsPiB8IE9ic2VydmFibGU8VFtdPiB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoa2V5T3JLZXlzKSkge1xuICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdE1hbnkoa2V5T3JLZXlzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0KGtleU9yS2V5cyk7XG4gIH1cblxuICBzZXQoa2V5OiBFbnRpdHlLZXksIHZhbHVlOiBUKTogdm9pZDtcbiAgc2V0KGtleXM6IEVudGl0eUtleVtdLCB2YWx1ZXM6IFRbXSk6IHZvaWQ7XG4gIHNldChrZXlPcktleXM6IEVudGl0eUtleSB8IEVudGl0eUtleVtdLCB2YWx1ZU9yVmFsdWVzOiBUIHwgVFtdKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoa2V5T3JLZXlzKSkge1xuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlT3JWYWx1ZXMpKSB7XG4gICAgICAgIHRocm93IG5ldyBFbnRpdHlTdG9yZUVycm9yKCdXaGVuIHNldHRpbmcgbXVsdGlwbGUga2V5cywgdmFsdWVzIG11c3QgYmUgYW4gYXJyYXknLCB7XG4gICAgICAgICAga2V5T3JWYWx1ZXM6IGtleU9yS2V5cyxcbiAgICAgICAgICB2YWx1ZU9yVmFsdWVzLFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBrZXlPcktleXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdGhpcy5fc2V0KGtleU9yS2V5c1tpXSwgdmFsdWVPclZhbHVlc1tpXSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3NldChrZXlPcktleXMsIHZhbHVlT3JWYWx1ZXMgYXMgVCk7XG4gICAgfVxuXG4gICAgdGhpcy5fY2hhbmdlJC5uZXh0KGtleU9yS2V5cyk7XG4gIH1cblxuICByZW1vdmUoa2V5OiBFbnRpdHlLZXkpOiB2b2lkO1xuICByZW1vdmUoa2V5czogRW50aXR5S2V5W10pOiB2b2lkO1xuICByZW1vdmUoa2V5T3JLZXlzOiBFbnRpdHlLZXkgfCBFbnRpdHlLZXlbXSkge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGtleU9yS2V5cykpIHtcbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIGtleU9yS2V5cykge1xuICAgICAgICB0aGlzLl9yZW1vdmUoa2V5KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fcmVtb3ZlKGtleU9yS2V5cyk7XG4gICAgfVxuXG4gICAgdGhpcy5fY2hhbmdlJC5uZXh0KGtleU9yS2V5cyk7XG4gIH1cblxuICBsb2dTdGF0ZSgpIHtcbiAgICBjb25zb2xlLmxvZygnRW50aXR5U3RvcmU6JywgdGhpcy5fY29uZmlnLm5hbWUsIHtcbiAgICAgIGRpY3Rpb25hcnk6IHRoaXMuX2RpY3Rpb25hcnksXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9zZWxlY3Qoa2V5OiBFbnRpdHlLZXkpOiBPYnNlcnZhYmxlPFQgfCBudWxsPiB7XG4gICAgaWYgKHRoaXMuX2NvbmZpZy5sb2dBY3Rpb25zKSB7XG4gICAgICBjb25zb2xlLmxvZygnRW50aXR5U3RvcmU6IHNlbGVjdCcsIHRoaXMuX2NvbmZpZy5uYW1lLCBrZXkpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9jaGFuZ2UkLnBpcGUoXG4gICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICBmaWx0ZXIoKHYpID0+IHtcbiAgICAgICAgaWYgKHYgPT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHYpKSB7XG4gICAgICAgICAgcmV0dXJuIHYuaW5jbHVkZXMoa2V5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2ID09PSBrZXk7XG4gICAgICB9KSxcbiAgICAgIG1hcCgoKSA9PiB0aGlzLl9kaWN0aW9uYXJ5LmdldChrZXkpID8/IG51bGwpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9zZWxlY3RNYW55KGtleXM6IEVudGl0eUtleVtdKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICBpZiAodGhpcy5fY29uZmlnLmxvZ0FjdGlvbnMpIHtcbiAgICAgIGNvbnNvbGUubG9nKCdFbnRpdHlTdG9yZTogc2VsZWN0TWFueScsIHRoaXMuX2NvbmZpZy5uYW1lLCBrZXlzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fY2hhbmdlJC5waXBlKFxuICAgICAgc3RhcnRXaXRoKG51bGwpLFxuICAgICAgZmlsdGVyKCh2KSA9PiB7XG4gICAgICAgIGlmICh2ID09PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2KSkge1xuICAgICAgICAgIHJldHVybiBrZXlzLnNvbWUoKGtleSkgPT4gdi5pbmNsdWRlcyhrZXkpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBrZXlzLmluY2x1ZGVzKHYpO1xuICAgICAgfSksXG4gICAgICBtYXAoKCkgPT4ga2V5cy5tYXAoKGtleSkgPT4gdGhpcy5fZGljdGlvbmFyeS5nZXQoa2V5KSkuZmlsdGVyKCh2YWx1ZSk6IHZhbHVlIGlzIFQgPT4gdmFsdWUgIT09IHVuZGVmaW5lZCkpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9zZXQoa2V5OiBFbnRpdHlLZXksIHZhbHVlOiBUKSB7XG4gICAgaWYgKHRoaXMuX2NvbmZpZy5sb2dBY3Rpb25zKSB7XG4gICAgICBjb25zb2xlLmxvZygnRW50aXR5U3RvcmU6IHNldCcsIHRoaXMuX2NvbmZpZy5uYW1lLCBrZXksIHZhbHVlKTtcbiAgICB9XG5cbiAgICB0aGlzLl9kaWN0aW9uYXJ5LnNldChrZXksIHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbW92ZShrZXk6IEVudGl0eUtleSkge1xuICAgIGlmICh0aGlzLl9jb25maWcubG9nQWN0aW9ucykge1xuICAgICAgY29uc29sZS5sb2coJ0VudGl0eVN0b3JlOiByZW1vdmUnLCB0aGlzLl9jb25maWcubmFtZSwga2V5KTtcbiAgICB9XG5cbiAgICB0aGlzLl9kaWN0aW9uYXJ5LmRlbGV0ZShrZXkpO1xuICB9XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL2VudGl0eS9lbnRpdHkudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEVudGl0eUtleSA9IHN0cmluZyB8IG51bWJlcjtcblxuZXhwb3J0IHR5cGUgRW50aXR5U3RvcmVBY3Rpb25SZXN1bHQgPSB7XG4gIHR5cGU6ICdhZGQnIHwgJ3VwZGF0ZScgfCAnc2V0JyB8ICdyZW1vdmUnO1xuICBrZXk6IEVudGl0eUtleTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5U3RvcmVDb25maWcge1xuICBuYW1lOiBzdHJpbmc7XG4gIGlkS2V5Pzogc3RyaW5nO1xuICBsb2dBY3Rpb25zPzogYm9vbGVhbjtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL2VudGl0eS9lbnRpdHkudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEVudGl0eUtleSA9IHN0cmluZyB8IG51bWJlcjtcblxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlTdG9yZUNvbmZpZyB7XG4gIG5hbWU6IHN0cmluZztcbiAgbG9nQWN0aW9ucz86IGJvb2xlYW47XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ import { map } from 'rxjs';
2
+ export function mapToPaginated(response) {
3
+ return map((items) => ({ ...response, items }));
4
+ }
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL2VudGl0eS9lbnRpdHkudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQixNQUFNLFVBQVUsY0FBYyxDQUFJLFFBQXNCO0lBQ3RELE9BQU8sR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxRQUFRLEVBQUUsS0FBSyxFQUFtQixDQUFBLENBQUMsQ0FBQztBQUNsRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGFnaW5hdGVkIH0gZnJvbSAnQGV0aGxldGUvdHlwZXMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXBUb1BhZ2luYXRlZDxUPihyZXNwb25zZTogUGFnaW5hdGVkPFQ+KSB7XG4gIHJldHVybiBtYXAoKGl0ZW1zKSA9PiAoeyAuLi5yZXNwb25zZSwgaXRlbXMgfSBhcyBQYWdpbmF0ZWQ8VD4pKTtcbn1cbiJdfQ==
@@ -1,3 +1,4 @@
1
1
  export * from './entity-store';
2
2
  export * from './entity.types';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvZW50aXR5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZW50aXR5LXN0b3JlJztcbmV4cG9ydCAqIGZyb20gJy4vZW50aXR5LnR5cGVzJztcbiJdfQ==
3
+ export * from './entity.utils';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvZW50aXR5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lbnRpdHktc3RvcmUnO1xuZXhwb3J0ICogZnJvbSAnLi9lbnRpdHkudHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9lbnRpdHkudXRpbHMnO1xuIl19
@@ -1,6 +1,5 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { BehaviorSubject, map } from 'rxjs';
3
- import { filterSuccess, takeUntilResponse } from '../query';
1
+ import { BehaviorSubject, combineLatest, map, of, shareReplay, switchMap, tap } from 'rxjs';
2
+ import { isQueryStateSuccess } from '../query';
4
3
  export class InfinityQuery {
5
4
  get currentPage$() {
6
5
  return this._currentPage$.asObservable();
@@ -26,28 +25,57 @@ export class InfinityQuery {
26
25
  get itemsPerPage() {
27
26
  return this._itemsPerPage$.getValue();
28
27
  }
29
- get currentQuery$() {
30
- return this._currentQuery$.asObservable();
31
- }
32
- get currentQuery() {
33
- return this._currentQuery$.getValue();
34
- }
35
28
  get data$() {
36
- return this._data$.asObservable();
29
+ return this._data$;
37
30
  }
38
- get data() {
39
- return this._data$.getValue();
31
+ get currentQuery$() {
32
+ return this._lastQuery$;
40
33
  }
41
34
  constructor(_config) {
42
35
  this._config = _config;
36
+ this._queries$ = new BehaviorSubject([]);
43
37
  this._currentPage$ = new BehaviorSubject(null);
44
38
  this._currentCalculatedPage$ = new BehaviorSubject(null);
45
39
  this._totalPages$ = new BehaviorSubject(null);
46
40
  this._itemsPerPage$ = new BehaviorSubject(this._config.limitParam?.value ?? 10);
47
- this._currentQuery$ = new BehaviorSubject(null);
48
- this._data$ = new BehaviorSubject([]);
49
- this._subscriptions = [];
50
- this._responsiveDataSubscription = null;
41
+ this._data$ = this._queries$.pipe(switchMap((queries) => {
42
+ if (!queries.length) {
43
+ return of([]);
44
+ }
45
+ return combineLatest(queries.map((query) => query.state$));
46
+ }), tap((states) => {
47
+ const lastState = states[states.length - 1];
48
+ if (!isQueryStateSuccess(lastState)) {
49
+ return;
50
+ }
51
+ const totalPages = this._config.response.totalPagesExtractor?.({
52
+ response: lastState.response,
53
+ itemsPerPage: this.itemsPerPage,
54
+ }) ??
55
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
56
+ lastState.response?.totalPages ??
57
+ null;
58
+ this._totalPages$.next(totalPages);
59
+ }), map((states) => {
60
+ const fullData = states.reduce((acc, state) => {
61
+ if (isQueryStateSuccess(state)) {
62
+ let data = this._config?.response.valueExtractor(state.response);
63
+ if (this._config.response.reverse) {
64
+ data = [...data].reverse();
65
+ }
66
+ if (this._config.response.appendItemsTo === 'start') {
67
+ acc.unshift(...data);
68
+ }
69
+ else {
70
+ acc.push(...data);
71
+ }
72
+ }
73
+ return acc;
74
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
75
+ }, []);
76
+ return fullData;
77
+ }), shareReplay({ bufferSize: 1, refCount: true }));
78
+ this._lastQuery$ = this._queries$.pipe(map((queries) => queries[queries.length - 1] ?? null), shareReplay({ bufferSize: 1, refCount: true }));
51
79
  }
52
80
  nextPage() {
53
81
  const newPage = (this._currentPage$.value ?? 0) + 1;
@@ -60,73 +88,21 @@ export class InfinityQuery {
60
88
  console.error('Cannot load more pages, already at the end. Make sure to not render the infinity query trigger using *ngIf canLoadMore');
61
89
  return;
62
90
  }
63
- this._clearSubscriptions();
64
91
  const args = this._prepareArgs(this._config, calculatedPage);
65
92
  const query = this._config.queryCreator.prepare(args).execute();
66
- this._handleNewQuery(query);
93
+ this._queries$.next([...this._queries$.value, query]);
67
94
  this._currentPage$.next(newPage);
68
95
  this._currentCalculatedPage$.next(calculatedPage);
69
- this._currentQuery$.next(query);
70
96
  }
71
97
  reset(newConfig) {
72
- this._clearSubscriptions();
73
98
  this._config = { ...this._config, ...(newConfig ?? {}) };
74
99
  this._currentPage$.next(null);
75
100
  this._currentCalculatedPage$.next(null);
76
101
  this._totalPages$.next(null);
77
102
  this._itemsPerPage$.next(this._config.limitParam?.value ?? 10);
78
- this._currentQuery$.next(null);
79
- this._data$.next([]);
103
+ this._queries$.next([]);
80
104
  this.nextPage();
81
105
  }
82
- /**
83
- * @internal
84
- */
85
- _clearSubscriptions() {
86
- this._subscriptions.forEach((sub) => sub.unsubscribe());
87
- this._subscriptions = [];
88
- this._responsiveDataSubscription?.unsubscribe();
89
- }
90
- _handleNewQuery(query) {
91
- const stateChangesSub = query.state$.pipe(takeUntilResponse(), filterSuccess()).subscribe({
92
- next: (state) => {
93
- let newData = this._config?.response.valueExtractor(state.response);
94
- if (this._config.response.reverse) {
95
- newData = [...newData].reverse();
96
- }
97
- if (this._config.response.appendItemsTo === 'start') {
98
- newData = [...newData, ...this.data];
99
- }
100
- else {
101
- newData = [...this.data, ...newData];
102
- }
103
- if (query.store) {
104
- this._responsiveDataSubscription?.unsubscribe();
105
- const key = query.store.idKey;
106
- const responsiveData = query.store.entities$.pipe(map((entities) => newData.map((item) => {
107
- // TODO(TRB): This is kind of unsafe. The entity array keys might not be the same as the response keys
108
- const index = entities.values.findIndex((entity) => entity[key] === item[key]);
109
- return index > -1 ? entities.values[index] : item;
110
- })));
111
- this._responsiveDataSubscription = responsiveData.subscribe((data) => this._data$.next(data));
112
- }
113
- else {
114
- this._data$.next(newData);
115
- }
116
- const totalPages = this._config.response.totalPagesExtractor?.({
117
- response: state.response,
118
- itemsPerPage: this.itemsPerPage,
119
- }) ??
120
- state.response?.totalPages ??
121
- null;
122
- this._totalPages$.next(totalPages);
123
- },
124
- complete: () => {
125
- this._subscriptions = this._subscriptions.filter((sub) => sub !== stateChangesSub);
126
- },
127
- });
128
- this._subscriptions.push(stateChangesSub);
129
- }
130
106
  _prepareArgs(config, page) {
131
107
  const pageParamLocation = this._getPageParamLocation(config?.pageParam?.location);
132
108
  const pageArgs = {
@@ -181,4 +157,4 @@ export class InfinityQuery {
181
157
  }
182
158
  }
183
159
  }
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5maW5pdHktcXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvaW5maW5pdGUtcXVlcnkvaW5maW5pdHktcXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUE0QixNQUFNLE1BQU0sQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBSTVELE1BQU0sT0FBTyxhQUFhO0lBaUJ4QixJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBSSxzQkFBc0I7UUFDeEIsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckQsQ0FBQztJQUVELElBQUkscUJBQXFCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQUksYUFBYTtRQUNm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LFVBQVU7Z0JBQ2IsT0FBTyxXQUFXLENBQUM7WUFDckI7Z0JBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsR0FBRyxFQUFFLENBQUMsQ0FBQztTQUN4RDtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgbWFwLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlclN1Y2Nlc3MsIHRha2VVbnRpbFJlc3BvbnNlIH0gZnJvbSAnLi4vcXVlcnknO1xuaW1wb3J0IHsgQW55UXVlcnlDcmVhdG9yLCBRdWVyeUNyZWF0b3JBcmdzLCBRdWVyeUNyZWF0b3JSZXNwb25zZSwgUXVlcnlDcmVhdG9yUmV0dXJuVHlwZSB9IGZyb20gJy4uL3F1ZXJ5LWNsaWVudCc7XG5pbXBvcnQgeyBJbmZpbml0eVF1ZXJ5Q29uZmlnLCBJbmZpbml0eVF1ZXJ5UGFyYW1Mb2NhdGlvbiB9IGZyb20gJy4vaW5maW5pdHktcXVlcnkudHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgSW5maW5pdHlRdWVyeTxcbiAgUXVlcnlDcmVhdG9yIGV4dGVuZHMgQW55UXVlcnlDcmVhdG9yLFxuICBRdWVyeSBleHRlbmRzIFF1ZXJ5Q3JlYXRvclJldHVyblR5cGU8UXVlcnlDcmVhdG9yPixcbiAgQXJncyBleHRlbmRzIFF1ZXJ5Q3JlYXRvckFyZ3M8UXVlcnlDcmVhdG9yPixcbiAgUXVlcnlSZXNwb25zZSBleHRlbmRzIFF1ZXJ5Q3JlYXRvclJlc3BvbnNlPFF1ZXJ5Q3JlYXRvcj4sXG4gIEluZmluaXR5UmVzcG9uc2UgZXh0ZW5kcyB1bmtub3duW10sXG4+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfY3VycmVudFBhZ2UkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXIgfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY3VycmVudENhbGN1bGF0ZWRQYWdlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3RvdGFsUGFnZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXIgfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaXRlbXNQZXJQYWdlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPih0aGlzLl9jb25maWcubGltaXRQYXJhbT8udmFsdWUgPz8gMTApO1xuICBwcml2YXRlIHJlYWRvbmx5IF9jdXJyZW50UXVlcnkkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxRdWVyeSB8IG51bGw+KG51bGwpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kYXRhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SW5maW5pdHlSZXNwb25zZT4oW10gYXMgYW55IGFzIEluZmluaXR5UmVzcG9uc2UpO1xuXG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG4gIHByaXZhdGUgX3Jlc3BvbnNpdmVEYXRhU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcblxuICBnZXQgY3VycmVudFBhZ2UkKCkge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50UGFnZSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgY3VycmVudFBhZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRQYWdlJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRDYWxjdWxhdGVkUGFnZSQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRDYWxjdWxhdGVkUGFnZSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgY3VycmVudENhbGN1bGF0ZWRQYWdlKCkge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50Q2FsY3VsYXRlZFBhZ2UkLmdldFZhbHVlKCk7XG4gIH1cblxuICBnZXQgdG90YWxQYWdlcyQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3RvdGFsUGFnZXMkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHRvdGFsUGFnZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3RvdGFsUGFnZXMkLmdldFZhbHVlKCk7XG4gIH1cblxuICBnZXQgaXRlbXNQZXJQYWdlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5faXRlbXNQZXJQYWdlJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBpdGVtc1BlclBhZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1zUGVyUGFnZSQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIGdldCBjdXJyZW50UXVlcnkkKCkge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50UXVlcnkkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRRdWVyeSgpIHtcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudFF1ZXJ5JC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgZ2V0IGRhdGEkKCkge1xuICAgIHJldHVybiB0aGlzLl9kYXRhJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBkYXRhKCkge1xuICAgIHJldHVybiB0aGlzLl9kYXRhJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfY29uZmlnOiBJbmZpbml0eVF1ZXJ5Q29uZmlnPFF1ZXJ5Q3JlYXRvciwgQXJncywgUXVlcnlSZXNwb25zZSwgSW5maW5pdHlSZXNwb25zZT4pIHt9XG5cbiAgbmV4dFBhZ2UoKSB7XG4gICAgY29uc3QgbmV3UGFnZSA9ICh0aGlzLl9jdXJyZW50UGFnZSQudmFsdWUgPz8gMCkgKyAxO1xuICAgIGNvbnN0IGNhbGN1bGF0ZWRQYWdlID1cbiAgICAgIHRoaXMuX2NvbmZpZz8ucGFnZVBhcmFtPy52YWx1ZUNhbGN1bGF0b3I/Lih7XG4gICAgICAgIHBhZ2U6IG5ld1BhZ2UsXG4gICAgICAgIHRvdGFsUGFnZXM6IHRoaXMudG90YWxQYWdlcyxcbiAgICAgICAgaXRlbXNQZXJQYWdlOiB0aGlzLml0ZW1zUGVyUGFnZSxcbiAgICAgIH0pID8/IG5ld1BhZ2U7XG5cbiAgICBpZiAodGhpcy50b3RhbFBhZ2VzICE9PSBudWxsICYmIGNhbGN1bGF0ZWRQYWdlID4gdGhpcy50b3RhbFBhZ2VzKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAnQ2Fubm90IGxvYWQgbW9yZSBwYWdlcywgYWxyZWFkeSBhdCB0aGUgZW5kLiBNYWtlIHN1cmUgdG8gbm90IHJlbmRlciB0aGUgaW5maW5pdHkgcXVlcnkgdHJpZ2dlciB1c2luZyAqbmdJZiBjYW5Mb2FkTW9yZScsXG4gICAgICApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2NsZWFyU3Vic2NyaXB0aW9ucygpO1xuXG4gICAgY29uc3QgYXJncyA9IHRoaXMuX3ByZXBhcmVBcmdzKHRoaXMuX2NvbmZpZywgY2FsY3VsYXRlZFBhZ2UpO1xuXG4gICAgY29uc3QgcXVlcnkgPSB0aGlzLl9jb25maWcucXVlcnlDcmVhdG9yLnByZXBhcmUoYXJncykuZXhlY3V0ZSgpIGFzIFF1ZXJ5O1xuICAgIHRoaXMuX2hhbmRsZU5ld1F1ZXJ5KHF1ZXJ5KTtcblxuICAgIHRoaXMuX2N1cnJlbnRQYWdlJC5uZXh0KG5ld1BhZ2UpO1xuICAgIHRoaXMuX2N1cnJlbnRDYWxjdWxhdGVkUGFnZSQubmV4dChjYWxjdWxhdGVkUGFnZSk7XG4gICAgdGhpcy5fY3VycmVudFF1ZXJ5JC5uZXh0KHF1ZXJ5KTtcbiAgfVxuXG4gIHJlc2V0KFxuICAgIG5ld0NvbmZpZz86IE9taXQ8XG4gICAgICBJbmZpbml0eVF1ZXJ5Q29uZmlnPFF1ZXJ5Q3JlYXRvciwgQXJncywgUXVlcnlSZXNwb25zZSwgSW5maW5pdHlSZXNwb25zZT4sXG4gICAgICAncXVlcnlDcmVhdG9yJyB8ICdyZXNwb25zZSdcbiAgICA+LFxuICApIHtcbiAgICB0aGlzLl9jbGVhclN1YnNjcmlwdGlvbnMoKTtcblxuICAgIHRoaXMuX2NvbmZpZyA9IHsgLi4udGhpcy5fY29uZmlnLCAuLi4obmV3Q29uZmlnID8/IHt9KSB9O1xuXG4gICAgdGhpcy5fY3VycmVudFBhZ2UkLm5leHQobnVsbCk7XG4gICAgdGhpcy5fY3VycmVudENhbGN1bGF0ZWRQYWdlJC5uZXh0KG51bGwpO1xuICAgIHRoaXMuX3RvdGFsUGFnZXMkLm5leHQobnVsbCk7XG4gICAgdGhpcy5faXRlbXNQZXJQYWdlJC5uZXh0KHRoaXMuX2NvbmZpZy5saW1pdFBhcmFtPy52YWx1ZSA/PyAxMCk7XG4gICAgdGhpcy5fY3VycmVudFF1ZXJ5JC5uZXh0KG51bGwpO1xuXG4gICAgdGhpcy5fZGF0YSQubmV4dChbXSBhcyBhbnkgYXMgSW5maW5pdHlSZXNwb25zZSk7XG5cbiAgICB0aGlzLm5leHRQYWdlKCk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBfY2xlYXJTdWJzY3JpcHRpb25zKCkge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuZm9yRWFjaCgoc3ViKSA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucyA9IFtdO1xuICAgIHRoaXMuX3Jlc3BvbnNpdmVEYXRhU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlTmV3UXVlcnkocXVlcnk6IFF1ZXJ5KSB7XG4gICAgY29uc3Qgc3RhdGVDaGFuZ2VzU3ViID0gcXVlcnkuc3RhdGUkLnBpcGUodGFrZVVudGlsUmVzcG9uc2UoKSwgZmlsdGVyU3VjY2VzcygpKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHN0YXRlKSA9PiB7XG4gICAgICAgIGxldCBuZXdEYXRhID0gdGhpcy5fY29uZmlnPy5yZXNwb25zZS52YWx1ZUV4dHJhY3RvcihzdGF0ZS5yZXNwb25zZSk7XG5cbiAgICAgICAgaWYgKHRoaXMuX2NvbmZpZy5yZXNwb25zZS5yZXZlcnNlKSB7XG4gICAgICAgICAgbmV3RGF0YSA9IFsuLi5uZXdEYXRhXS5yZXZlcnNlKCkgYXMgSW5maW5pdHlSZXNwb25zZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLl9jb25maWcucmVzcG9uc2UuYXBwZW5kSXRlbXNUbyA9PT0gJ3N0YXJ0Jykge1xuICAgICAgICAgIG5ld0RhdGEgPSBbLi4ubmV3RGF0YSwgLi4udGhpcy5kYXRhXSBhcyBJbmZpbml0eVJlc3BvbnNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5ld0RhdGEgPSBbLi4udGhpcy5kYXRhLCAuLi5uZXdEYXRhXSBhcyBJbmZpbml0eVJlc3BvbnNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHF1ZXJ5LnN0b3JlKSB7XG4gICAgICAgICAgdGhpcy5fcmVzcG9uc2l2ZURhdGFTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG5cbiAgICAgICAgICBjb25zdCBrZXkgPSBxdWVyeS5zdG9yZS5pZEtleTtcblxuICAgICAgICAgIGNvbnN0IHJlc3BvbnNpdmVEYXRhID0gcXVlcnkuc3RvcmUuZW50aXRpZXMkLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGVudGl0aWVzKSA9PlxuICAgICAgICAgICAgICBuZXdEYXRhLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIFRPRE8oVFJCKTogVGhpcyBpcyBraW5kIG9mIHVuc2FmZS4gVGhlIGVudGl0eSBhcnJheSBrZXlzIG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgcmVzcG9uc2Uga2V5c1xuICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gZW50aXRpZXMudmFsdWVzLmZpbmRJbmRleCgoZW50aXR5KSA9PiBlbnRpdHlba2V5XSA9PT0gKGl0ZW0gYXMgYW55KVtrZXldKTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBpbmRleCA+IC0xID8gZW50aXRpZXMudmFsdWVzW2luZGV4XSA6IGl0ZW07XG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICApIGFzIE9ic2VydmFibGU8SW5maW5pdHlSZXNwb25zZT47XG5cbiAgICAgICAgICB0aGlzLl9yZXNwb25zaXZlRGF0YVN1YnNjcmlwdGlvbiA9IHJlc3BvbnNpdmVEYXRhLnN1YnNjcmliZSgoZGF0YSkgPT4gdGhpcy5fZGF0YSQubmV4dChkYXRhKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fZGF0YSQubmV4dChuZXdEYXRhKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRvdGFsUGFnZXMgPVxuICAgICAgICAgIHRoaXMuX2NvbmZpZy5yZXNwb25zZS50b3RhbFBhZ2VzRXh0cmFjdG9yPy4oe1xuICAgICAgICAgICAgcmVzcG9uc2U6IHN0YXRlLnJlc3BvbnNlLFxuICAgICAgICAgICAgaXRlbXNQZXJQYWdlOiB0aGlzLml0ZW1zUGVyUGFnZSxcbiAgICAgICAgICB9KSA/P1xuICAgICAgICAgIHN0YXRlLnJlc3BvbnNlPy50b3RhbFBhZ2VzID8/XG4gICAgICAgICAgbnVsbDtcblxuICAgICAgICB0aGlzLl90b3RhbFBhZ2VzJC5uZXh0KHRvdGFsUGFnZXMpO1xuICAgICAgfSxcbiAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMgPSB0aGlzLl9zdWJzY3JpcHRpb25zLmZpbHRlcigoc3ViKSA9PiBzdWIgIT09IHN0YXRlQ2hhbmdlc1N1Yik7XG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5wdXNoKHN0YXRlQ2hhbmdlc1N1Yik7XG4gIH1cblxuICBwcml2YXRlIF9wcmVwYXJlQXJncyhjb25maWc6IEluZmluaXR5UXVlcnlDb25maWc8UXVlcnlDcmVhdG9yLCBBcmdzLCBRdWVyeVJlc3BvbnNlLCBJbmZpbml0eVJlc3BvbnNlPiwgcGFnZTogbnVtYmVyKSB7XG4gICAgY29uc3QgcGFnZVBhcmFtTG9jYXRpb24gPSB0aGlzLl9nZXRQYWdlUGFyYW1Mb2NhdGlvbihjb25maWc/LnBhZ2VQYXJhbT8ubG9jYXRpb24pO1xuXG4gICAgY29uc3QgcGFnZUFyZ3MgPSB7XG4gICAgICBbcGFnZVBhcmFtTG9jYXRpb25dOiB7XG4gICAgICAgIFtjb25maWc/LnBhZ2VQYXJhbT8ua2V5ID8/ICdwYWdlJ106IHBhZ2UsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICBjb25zdCBsaW1pdFBhcmFtTG9jYXRpb24gPSB0aGlzLl9nZXRQYWdlUGFyYW1Mb2NhdGlvbihjb25maWc/LmxpbWl0UGFyYW0/LmxvY2F0aW9uKTtcblxuICAgIGNvbnN0IGxpbWl0QXJncyA9IHtcbiAgICAgIFtsaW1pdFBhcmFtTG9jYXRpb25dOiB7XG4gICAgICAgIFtjb25maWc/LmxpbWl0UGFyYW0/LmtleSA/PyAnbGltaXQnXTogY29uZmlnPy5saW1pdFBhcmFtPy52YWx1ZSA/PyAxMCxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIGNvbnN0IGRlZmF1bHRDb25maWcgPSBjb25maWc/LmRlZmF1bHRBcmdzID8/IHt9O1xuXG4gICAgY29uc3QgbWVyZ2VkQXJncyA9XG4gICAgICBwYWdlUGFyYW1Mb2NhdGlvbiA9PT0gbGltaXRQYXJhbUxvY2F0aW9uXG4gICAgICAgID8ge1xuICAgICAgICAgICAgLi4uZGVmYXVsdENvbmZpZyxcbiAgICAgICAgICAgIFtwYWdlUGFyYW1Mb2NhdGlvbl06IHtcbiAgICAgICAgICAgICAgLi4uKGNvbmZpZz8uZGVmYXVsdEFyZ3M/LltwYWdlUGFyYW1Mb2NhdGlvbl0gPz8ge30pLFxuICAgICAgICAgICAgICAuLi5wYWdlQXJnc1tsaW1pdFBhcmFtTG9jYXRpb25dLFxuICAgICAgICAgICAgICAuLi5saW1pdEFyZ3NbbGltaXRQYXJhbUxvY2F0aW9uXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfVxuICAgICAgICA6IHtcbiAgICAgICAgICAgIC4uLmRlZmF1bHRDb25maWcsXG4gICAgICAgICAgICBbcGFnZVBhcmFtTG9jYXRpb25dOiB7XG4gICAgICAgICAgICAgIC4uLihjb25maWc/LmRlZmF1bHRBcmdzPy5bcGFnZVBhcmFtTG9jYXRpb25dID8/IHt9KSxcbiAgICAgICAgICAgICAgLi4ucGFnZUFyZ3NbcGFnZVBhcmFtTG9jYXRpb25dLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFtsaW1pdFBhcmFtTG9jYXRpb25dOiB7XG4gICAgICAgICAgICAgIC4uLihjb25maWc/LmRlZmF1bHRBcmdzPy5bbGltaXRQYXJhbUxvY2F0aW9uXSA/PyB7fSksXG4gICAgICAgICAgICAgIC4uLmxpbWl0QXJnc1tsaW1pdFBhcmFtTG9jYXRpb25dLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIG1lcmdlZEFyZ3M7XG4gIH1cblxuICBwcml2YXRlIF9nZXRQYWdlUGFyYW1Mb2NhdGlvbihsb2NhdGlvbjogSW5maW5pdHlRdWVyeVBhcmFtTG9jYXRpb24gfCB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBsb2MgPSBsb2NhdGlvbiA/PyAncXVlcnknO1xuXG4gICAgc3dpdGNoIChsb2MpIHtcbiAgICAgIGNhc2UgJ3BhdGgnOlxuICAgICAgICByZXR1cm4gJ3BhdGhQYXJhbXMnO1xuICAgICAgY2FzZSAncXVlcnknOlxuICAgICAgICByZXR1cm4gJ3F1ZXJ5UGFyYW1zJztcbiAgICAgIGNhc2UgJ2JvZHknOlxuICAgICAgICByZXR1cm4gJ2JvZHknO1xuICAgICAgY2FzZSAnaGVhZGVyJzpcbiAgICAgICAgcmV0dXJuICdoZWFkZXJzJztcbiAgICAgIGNhc2UgJ3ZhcmlhYmxlJzpcbiAgICAgICAgcmV0dXJuICd2YXJpYWJsZXMnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHBhZ2VQYXJhbUxvY2F0aW9uOiAke2xvY31gKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5maW5pdHktcXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvaW5maW5pdGUtcXVlcnkvaW5maW5pdHktcXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFJL0MsTUFBTSxPQUFPLGFBQWE7SUFvRXhCLElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLHNCQUFzQjtRQUN4QixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRUQsSUFBSSxxQkFBcUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN4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QUcsRUFBRTtZQUNYLEtBQUssTUFBTTtnQkFDVCxPQUFPLFlBQVksQ0FBQztZQUN0QixLQUFLLE9BQU87Z0JBQ1YsT0FBTyxhQUFhLENBQUM7WUFDdkIsS0FBSyxNQUFNO2dCQUNULE9BQU8sTUFBTSxDQUFDO1lBQ2hCLEtBQUssUUFBUTtnQkFDWCxPQUFPLFNBQVMsQ0FBQztZQUNuQixLQUFLLFVBQVU7Z0JBQ2IsT0FBTyxXQUFXLENBQUM7WUFDckI7Z0JBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsR0FBRyxFQUFFLENBQUMsQ0FBQztTQUN4RDtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwLCBvZiwgc2hhcmVSZXBsYXksIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpc1F1ZXJ5U3RhdGVTdWNjZXNzIH0gZnJvbSAnLi4vcXVlcnknO1xuaW1wb3J0IHsgQW55UXVlcnlDcmVhdG9yLCBDb25zdHJ1Y3RRdWVyeSwgUXVlcnlBcmdzT2YsIFF1ZXJ5UmVzcG9uc2VPZiB9IGZyb20gJy4uL3F1ZXJ5LWNyZWF0b3InO1xuaW1wb3J0IHsgSW5maW5pdHlRdWVyeUNvbmZpZywgSW5maW5pdHlRdWVyeVBhcmFtTG9jYXRpb24gfSBmcm9tICcuL2luZmluaXR5LXF1ZXJ5LnR5cGVzJztcblxuZXhwb3J0IGNsYXNzIEluZmluaXR5UXVlcnk8XG4gIFF1ZXJ5Q3JlYXRvciBleHRlbmRzIEFueVF1ZXJ5Q3JlYXRvcixcbiAgUXVlcnkgZXh0ZW5kcyBDb25zdHJ1Y3RRdWVyeTxRdWVyeUNyZWF0b3I+LFxuICBBcmdzIGV4dGVuZHMgUXVlcnlBcmdzT2Y8UXVlcnlDcmVhdG9yPixcbiAgUXVlcnlSZXNwb25zZSBleHRlbmRzIFF1ZXJ5UmVzcG9uc2VPZjxRdWVyeUNyZWF0b3I+LFxuICBJbmZpbml0eVJlc3BvbnNlIGV4dGVuZHMgdW5rbm93bltdLFxuPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3F1ZXJpZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxRdWVyeVtdPihbXSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2N1cnJlbnRQYWdlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2N1cnJlbnRDYWxjdWxhdGVkUGFnZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlciB8IG51bGw+KG51bGwpO1xuICBwcml2YXRlIHJlYWRvbmx5IF90b3RhbFBhZ2VzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2l0ZW1zUGVyUGFnZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4odGhpcy5fY29uZmlnLmxpbWl0UGFyYW0/LnZhbHVlID8/IDEwKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kYXRhJCA9IHRoaXMuX3F1ZXJpZXMkLnBpcGUoXG4gICAgc3dpdGNoTWFwKChxdWVyaWVzKSA9PiB7XG4gICAgICBpZiAoIXF1ZXJpZXMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBvZihbXSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KHF1ZXJpZXMubWFwKChxdWVyeSkgPT4gcXVlcnkuc3RhdGUkKSk7XG4gICAgfSksXG4gICAgdGFwKChzdGF0ZXMpID0+IHtcbiAgICAgIGNvbnN0IGxhc3RTdGF0ZSA9IHN0YXRlc1tzdGF0ZXMubGVuZ3RoIC0gMV07XG5cbiAgICAgIGlmICghaXNRdWVyeVN0YXRlU3VjY2VzcyhsYXN0U3RhdGUpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgdG90YWxQYWdlcyA9XG4gICAgICAgIHRoaXMuX2NvbmZpZy5yZXNwb25zZS50b3RhbFBhZ2VzRXh0cmFjdG9yPy4oe1xuICAgICAgICAgIHJlc3BvbnNlOiBsYXN0U3RhdGUucmVzcG9uc2UgYXMgUXVlcnlSZXNwb25zZSxcbiAgICAgICAgICBpdGVtc1BlclBhZ2U6IHRoaXMuaXRlbXNQZXJQYWdlLFxuICAgICAgICB9KSA/P1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICAobGFzdFN0YXRlLnJlc3BvbnNlIGFzIGFueSk/LnRvdGFsUGFnZXMgPz9cbiAgICAgICAgbnVsbDtcblxuICAgICAgdGhpcy5fdG90YWxQYWdlcyQubmV4dCh0b3RhbFBhZ2VzKTtcbiAgICB9KSxcbiAgICBtYXAoKHN0YXRlcykgPT4ge1xuICAgICAgY29uc3QgZnVsbERhdGEgPSBzdGF0ZXMucmVkdWNlKChhY2MsIHN0YXRlKSA9PiB7XG4gICAgICAgIGlmIChpc1F1ZXJ5U3RhdGVTdWNjZXNzKHN0YXRlKSkge1xuICAgICAgICAgIGxldCBkYXRhID0gdGhpcy5fY29uZmlnPy5yZXNwb25zZS52YWx1ZUV4dHJhY3RvcihzdGF0ZS5yZXNwb25zZSBhcyBRdWVyeVJlc3BvbnNlKTtcblxuICAgICAgICAgIGlmICh0aGlzLl9jb25maWcucmVzcG9uc2UucmV2ZXJzZSkge1xuICAgICAgICAgICAgZGF0YSA9IFsuLi5kYXRhXS5yZXZlcnNlKCkgYXMgSW5maW5pdHlSZXNwb25zZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodGhpcy5fY29uZmlnLnJlc3BvbnNlLmFwcGVuZEl0ZW1zVG8gPT09ICdzdGFydCcpIHtcbiAgICAgICAgICAgIGFjYy51bnNoaWZ0KC4uLmRhdGEpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhY2MucHVzaCguLi5kYXRhKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgIH0sIFtdIGFzIGFueSBhcyBJbmZpbml0eVJlc3BvbnNlKTtcblxuICAgICAgcmV0dXJuIGZ1bGxEYXRhO1xuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWUgfSksXG4gICk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbGFzdFF1ZXJ5JCA9IHRoaXMuX3F1ZXJpZXMkLnBpcGUoXG4gICAgbWFwKChxdWVyaWVzKSA9PiBxdWVyaWVzW3F1ZXJpZXMubGVuZ3RoIC0gMV0gPz8gbnVsbCksXG4gICAgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZSB9KSxcbiAgKTtcblxuICBnZXQgY3VycmVudFBhZ2UkKCkge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50UGFnZSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgY3VycmVudFBhZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRQYWdlJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRDYWxjdWxhdGVkUGFnZSQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRDYWxjdWxhdGVkUGFnZSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgY3VycmVudENhbGN1bGF0ZWRQYWdlKCkge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50Q2FsY3VsYXRlZFBhZ2UkLmdldFZhbHVlKCk7XG4gIH1cblxuICBnZXQgdG90YWxQYWdlcyQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3RvdGFsUGFnZXMkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHRvdGFsUGFnZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3RvdGFsUGFnZXMkLmdldFZhbHVlKCk7XG4gIH1cblxuICBnZXQgaXRlbXNQZXJQYWdlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5faXRlbXNQZXJQYWdlJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBpdGVtc1BlclBhZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1zUGVyUGFnZSQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIGdldCBkYXRhJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YSQ7XG4gIH1cblxuICBnZXQgY3VycmVudFF1ZXJ5JCgpIHtcbiAgICByZXR1cm4gdGhpcy5fbGFzdFF1ZXJ5JDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NvbmZpZzogSW5maW5pdHlRdWVyeUNvbmZpZzxRdWVyeUNyZWF0b3IsIEFyZ3MsIFF1ZXJ5UmVzcG9uc2UsIEluZmluaXR5UmVzcG9uc2U+KSB7fVxuXG4gIG5leHRQYWdlKCkge1xuICAgIGNvbnN0IG5ld1BhZ2UgPSAodGhpcy5fY3VycmVudFBhZ2UkLnZhbHVlID8/IDApICsgMTtcbiAgICBjb25zdCBjYWxjdWxhdGVkUGFnZSA9XG4gICAgICB0aGlzLl9jb25maWc/LnBhZ2VQYXJhbT8udmFsdWVDYWxjdWxhdG9yPy4oe1xuICAgICAgICBwYWdlOiBuZXdQYWdlLFxuICAgICAgICB0b3RhbFBhZ2VzOiB0aGlzLnRvdGFsUGFnZXMsXG4gICAgICAgIGl0ZW1zUGVyUGFnZTogdGhpcy5pdGVtc1BlclBhZ2UsXG4gICAgICB9KSA/PyBuZXdQYWdlO1xuXG4gICAgaWYgKHRoaXMudG90YWxQYWdlcyAhPT0gbnVsbCAmJiBjYWxjdWxhdGVkUGFnZSA+IHRoaXMudG90YWxQYWdlcykge1xuICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgJ0Nhbm5vdCBsb2FkIG1vcmUgcGFnZXMsIGFscmVhZHkgYXQgdGhlIGVuZC4gTWFrZSBzdXJlIHRvIG5vdCByZW5kZXIgdGhlIGluZmluaXR5IHF1ZXJ5IHRyaWdnZXIgdXNpbmcgKm5nSWYgY2FuTG9hZE1vcmUnLFxuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBhcmdzID0gdGhpcy5fcHJlcGFyZUFyZ3ModGhpcy5fY29uZmlnLCBjYWxjdWxhdGVkUGFnZSk7XG5cbiAgICBjb25zdCBxdWVyeSA9IHRoaXMuX2NvbmZpZy5xdWVyeUNyZWF0b3IucHJlcGFyZShhcmdzKS5leGVjdXRlKCkgYXMgUXVlcnk7XG5cbiAgICB0aGlzLl9xdWVyaWVzJC5uZXh0KFsuLi50aGlzLl9xdWVyaWVzJC52YWx1ZSwgcXVlcnldKTtcblxuICAgIHRoaXMuX2N1cnJlbnRQYWdlJC5uZXh0KG5ld1BhZ2UpO1xuICAgIHRoaXMuX2N1cnJlbnRDYWxjdWxhdGVkUGFnZSQubmV4dChjYWxjdWxhdGVkUGFnZSk7XG4gIH1cblxuICByZXNldChcbiAgICBuZXdDb25maWc/OiBPbWl0PFxuICAgICAgSW5maW5pdHlRdWVyeUNvbmZpZzxRdWVyeUNyZWF0b3IsIEFyZ3MsIFF1ZXJ5UmVzcG9uc2UsIEluZmluaXR5UmVzcG9uc2U+LFxuICAgICAgJ3F1ZXJ5Q3JlYXRvcicgfCAncmVzcG9uc2UnXG4gICAgPixcbiAgKSB7XG4gICAgdGhpcy5fY29uZmlnID0geyAuLi50aGlzLl9jb25maWcsIC4uLihuZXdDb25maWcgPz8ge30pIH07XG5cbiAgICB0aGlzLl9jdXJyZW50UGFnZSQubmV4dChudWxsKTtcbiAgICB0aGlzLl9jdXJyZW50Q2FsY3VsYXRlZFBhZ2UkLm5leHQobnVsbCk7XG4gICAgdGhpcy5fdG90YWxQYWdlcyQubmV4dChudWxsKTtcbiAgICB0aGlzLl9pdGVtc1BlclBhZ2UkLm5leHQodGhpcy5fY29uZmlnLmxpbWl0UGFyYW0/LnZhbHVlID8/IDEwKTtcbiAgICB0aGlzLl9xdWVyaWVzJC5uZXh0KFtdKTtcblxuICAgIHRoaXMubmV4dFBhZ2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3ByZXBhcmVBcmdzKGNvbmZpZzogSW5maW5pdHlRdWVyeUNvbmZpZzxRdWVyeUNyZWF0b3IsIEFyZ3MsIFF1ZXJ5UmVzcG9uc2UsIEluZmluaXR5UmVzcG9uc2U+LCBwYWdlOiBudW1iZXIpIHtcbiAgICBjb25zdCBwYWdlUGFyYW1Mb2NhdGlvbiA9IHRoaXMuX2dldFBhZ2VQYXJhbUxvY2F0aW9uKGNvbmZpZz8ucGFnZVBhcmFtPy5sb2NhdGlvbik7XG5cbiAgICBjb25zdCBwYWdlQXJncyA9IHtcbiAgICAgIFtwYWdlUGFyYW1Mb2NhdGlvbl06IHtcbiAgICAgICAgW2NvbmZpZz8ucGFnZVBhcmFtPy5rZXkgPz8gJ3BhZ2UnXTogcGFnZSxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIGNvbnN0IGxpbWl0UGFyYW1Mb2NhdGlvbiA9IHRoaXMuX2dldFBhZ2VQYXJhbUxvY2F0aW9uKGNvbmZpZz8ubGltaXRQYXJhbT8ubG9jYXRpb24pO1xuXG4gICAgY29uc3QgbGltaXRBcmdzID0ge1xuICAgICAgW2xpbWl0UGFyYW1Mb2NhdGlvbl06IHtcbiAgICAgICAgW2NvbmZpZz8ubGltaXRQYXJhbT8ua2V5ID8/ICdsaW1pdCddOiBjb25maWc/LmxpbWl0UGFyYW0/LnZhbHVlID8/IDEwLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgY29uc3QgZGVmYXVsdENvbmZpZyA9IGNvbmZpZz8uZGVmYXVsdEFyZ3MgPz8ge307XG5cbiAgICBjb25zdCBtZXJnZWRBcmdzID1cbiAgICAgIHBhZ2VQYXJhbUxvY2F0aW9uID09PSBsaW1pdFBhcmFtTG9jYXRpb25cbiAgICAgICAgPyB7XG4gICAgICAgICAgICAuLi5kZWZhdWx0Q29uZmlnLFxuICAgICAgICAgICAgW3BhZ2VQYXJhbUxvY2F0aW9uXToge1xuICAgICAgICAgICAgICAuLi4oY29uZmlnPy5kZWZhdWx0QXJncz8uW3BhZ2VQYXJhbUxvY2F0aW9uXSA/PyB7fSksXG4gICAgICAgICAgICAgIC4uLnBhZ2VBcmdzW2xpbWl0UGFyYW1Mb2NhdGlvbl0sXG4gICAgICAgICAgICAgIC4uLmxpbWl0QXJnc1tsaW1pdFBhcmFtTG9jYXRpb25dLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9XG4gICAgICAgIDoge1xuICAgICAgICAgICAgLi4uZGVmYXVsdENvbmZpZyxcbiAgICAgICAgICAgIFtwYWdlUGFyYW1Mb2NhdGlvbl06IHtcbiAgICAgICAgICAgICAgLi4uKGNvbmZpZz8uZGVmYXVsdEFyZ3M/LltwYWdlUGFyYW1Mb2NhdGlvbl0gPz8ge30pLFxuICAgICAgICAgICAgICAuLi5wYWdlQXJnc1twYWdlUGFyYW1Mb2NhdGlvbl0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgW2xpbWl0UGFyYW1Mb2NhdGlvbl06IHtcbiAgICAgICAgICAgICAgLi4uKGNvbmZpZz8uZGVmYXVsdEFyZ3M/LltsaW1pdFBhcmFtTG9jYXRpb25dID8/IHt9KSxcbiAgICAgICAgICAgICAgLi4ubGltaXRBcmdzW2xpbWl0UGFyYW1Mb2NhdGlvbl0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4gbWVyZ2VkQXJncztcbiAgfVxuXG4gIHByaXZhdGUgX2dldFBhZ2VQYXJhbUxvY2F0aW9uKGxvY2F0aW9uOiBJbmZpbml0eVF1ZXJ5UGFyYW1Mb2NhdGlvbiB8IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IGxvYyA9IGxvY2F0aW9uID8/ICdxdWVyeSc7XG5cbiAgICBzd2l0Y2ggKGxvYykge1xuICAgICAgY2FzZSAncGF0aCc6XG4gICAgICAgIHJldHVybiAncGF0aFBhcmFtcyc7XG4gICAgICBjYXNlICdxdWVyeSc6XG4gICAgICAgIHJldHVybiAncXVlcnlQYXJhbXMnO1xuICAgICAgY2FzZSAnYm9keSc6XG4gICAgICAgIHJldHVybiAnYm9keSc7XG4gICAgICBjYXNlICdoZWFkZXInOlxuICAgICAgICByZXR1cm4gJ2hlYWRlcnMnO1xuICAgICAgY2FzZSAndmFyaWFibGUnOlxuICAgICAgICByZXR1cm4gJ3ZhcmlhYmxlcyc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcGFnZVBhcmFtTG9jYXRpb246ICR7bG9jfWApO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5maW5pdHktcXVlcnkudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvaW5maW5pdGUtcXVlcnkvaW5maW5pdHktcXVlcnkudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VBcmd1bWVudHMsIFF1ZXJ5U3RhdGVEYXRhIH0gZnJvbSAnLi4vcXVlcnknO1xuaW1wb3J0IHsgQW55UXVlcnlDcmVhdG9yLCBRdWVyeUNyZWF0b3JBcmdzLCBRdWVyeUNyZWF0b3JSZXNwb25zZSwgUXVlcnlDcmVhdG9yUmV0dXJuVHlwZSB9IGZyb20gJy4uL3F1ZXJ5LWNsaWVudCc7XG5pbXBvcnQgeyBJbmZpbml0eVF1ZXJ5IH0gZnJvbSAnLi9pbmZpbml0eS1xdWVyeSc7XG5cbmV4cG9ydCB0eXBlIEluZmluaXR5UXVlcnlQYXJhbUxvY2F0aW9uID0gJ3BhdGgnIHwgJ3F1ZXJ5JyB8ICdib2R5JyB8ICdoZWFkZXInIHwgJ3ZhcmlhYmxlJztcblxuZXhwb3J0IHR5cGUgQXBwZW5kSXRlbXNMb2NhdGlvbiA9ICdzdGFydCcgfCAnZW5kJztcblxuZXhwb3J0IGludGVyZmFjZSBQYWdlUGFyYW1DYWxjdWxhdG9yT3B0aW9ucyB7XG4gIHBhZ2U6IG51bWJlcjtcbiAgdG90YWxQYWdlczogbnVtYmVyIHwgbnVsbDtcbiAgaXRlbXNQZXJQYWdlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG90YWxQYWdlc0V4dHJhY3Rvck9wdGlvbnM8UXVlcnlSZXNwb25zZT4ge1xuICByZXNwb25zZTogUXVlcnlSZXNwb25zZTtcbiAgaXRlbXNQZXJQYWdlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5maW5pdHlRdWVyeUNvbmZpZzxcbiAgUXVlcnlDcmVhdG9yIGV4dGVuZHMgQW55UXVlcnlDcmVhdG9yLFxuICBBcmd1bWVudHMgZXh0ZW5kcyBCYXNlQXJndW1lbnRzIHwgdW5kZWZpbmVkLFxuICBRdWVyeVJlc3BvbnNlLFxuICBJbmZpbml0eVJlc3BvbnNlIGV4dGVuZHMgdW5rbm93bltdLFxuPiB7XG4gIC8qKlxuICAgKiBUaGUgcXVlcnkgY3JlYXRvciB0byB1c2UgZm9yIGZldGNoaW5nIHBhZ2VzLlxuICAgKi9cbiAgcXVlcnlDcmVhdG9yOiBRdWVyeUNyZWF0b3I7XG5cbiAgLyoqXG4gICAqIFRoZSBhcmdzIHRoYXQgd2lsbCBiZSBtZXJnZWQgd2l0aCB0aGUgcGFnZSBhcmcuXG4gICAqL1xuICBkZWZhdWx0QXJncz86IEFyZ3VtZW50cztcblxuICBwYWdlUGFyYW0/OiB7XG4gICAgLyoqXG4gICAgICogVGhlIGxvY2F0aW9uIHdoZXJlIHRoZSBwYWdlIHBhcmFtIGlzIGluIHJlcXVlc3QuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBcInF1ZXJ5XCJcbiAgICAgKi9cbiAgICBsb2NhdGlvbj86IEluZmluaXR5UXVlcnlQYXJhbUxvY2F0aW9uO1xuXG4gICAgLyoqXG4gICAgICogVXNlZCBhcyBwYWdlIHBhcmFtIG5hbWUuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBcInBhZ2VcIlxuICAgICAqL1xuICAgIGtleT86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEEgZnVuY3Rpb24gdGhhdCBjYWxjdWxhdGVzIHRoZSBwYWdlIHZhbHVlIGZvciB0aGUgbmV4dCByZXF1ZXN0LlxuICAgICAqIEUuZy4gaWYgdGhlIHBhZ2luYXRpb24gaXMgZG9uZSB3aXRoIGEgYHNraXBgIHBhcmFtLCB0aGUgYHBhZ2VQYXJhbU5hbWVgIHNob3VsZCBiZSBgc2tpcGAgYW5kIHRoaXMgZnVuY3Rpb24gc2hvdWxkIHJldHVybiB0aGUgY29ycmVjdCB2YWx1ZS5cbiAgICAgKi9cbiAgICB2YWx1ZUNhbGN1bGF0b3I/OiAoZGF0YTogUGFnZVBhcmFtQ2FsY3VsYXRvck9wdGlvbnMpID0+IG51bWJlcjtcbiAgfTtcblxuICBsaW1pdFBhcmFtPzoge1xuICAgIC8qKlxuICAgICAqIFRoZSBsb2NhdGlvbiB3aGVyZSB0aGUgbGltaXQgcGFyYW0gaXMgaW4gcmVxdWVzdC5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IFwicXVlcnlcIlxuICAgICAqL1xuICAgIGxvY2F0aW9uPzogSW5maW5pdHlRdWVyeVBhcmFtTG9jYXRpb247XG5cbiAgICAvKipcbiAgICAgKiBVc2VkIGFzIGxpbWl0IHBhcmFtIG5hbWUuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBcImxpbWl0XCJcbiAgICAgKi9cbiAgICBrZXk/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdmFsdWUgb2YgdGhlIGxpbWl0IHBhcmFtLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgMTBcbiAgICAgKi9cbiAgICB2YWx1ZT86IG51bWJlcjtcbiAgfTtcblxuICByZXNwb25zZToge1xuICAgIC8qKlxuICAgICAqIERldGVybWluZXMgaWYgdGhlIHJlc3BvbnNlIHNob3VsZCBnZXQgcmV2ZXJzZWQgYmVmb3JlIGFwcGVuZGluZyB0byB0aGUgZGF0YSBhcnJheS5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgcmV2ZXJzZT86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmVzIHdoZXJlIHRvIHB1dCB0aGUgbmV3IGl0ZW1zIGluIHRoZSBkYXRhIGFycmF5LlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgXCJlbmRcIlxuICAgICAqL1xuICAgIGFwcGVuZEl0ZW1zVG8/OiBBcHBlbmRJdGVtc0xvY2F0aW9uO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHR5cGUgb2YgdGhlIGFycmF5IHRoYXQgd2lsbCBiZSBjcmVhdGVkIGJ5IHRoZSBpbmZpbml0ZSBxdWVyeS5cbiAgICAgKi9cbiAgICBhcnJheVR5cGU6IEluZmluaXR5UmVzcG9uc2U7XG5cbiAgICAvKipcbiAgICAgKiBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUgZGF0YSBhcnJheSBmcm9tIHRoZSByZXNwb25zZS5cbiAgICAgKiBUaGlzIGZ1bmN0aW9uIHNob3VsZCByZXR1cm4gdGhlIHR5cGUgcHJvdmlkZWQgaW4gYHJlc3BvbnNlQXJyYXlUeXBlYC5cbiAgICAgKi9cbiAgICB2YWx1ZUV4dHJhY3RvcjogKHJlc3BvbnNlOiBRdWVyeVJlc3BvbnNlKSA9PiBJbmZpbml0eVJlc3BvbnNlO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHByb3BlcnR5IGluIHRoZSByZXNwb25zZSB0aGF0IGNvbnRhaW5zIHRoZSB0b3RhbCBwYWdlIGNvdW50LlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgXCJ0b3RhbFBhZ2VzXCJcbiAgICAgKi9cbiAgICB0b3RhbFBhZ2VzRXh0cmFjdG9yPzogKGRhdGE6IFRvdGFsUGFnZXNFeHRyYWN0b3JPcHRpb25zPFF1ZXJ5UmVzcG9uc2U+KSA9PiBudW1iZXI7XG4gIH07XG59XG5cbnR5cGUgT21pdFVuZGVmaW5lZDxUPiA9IFQgZXh0ZW5kcyB1bmRlZmluZWQgPyBuZXZlciA6IFQ7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5leHBvcnQgdHlwZSBBbnlJbmZpbml0eVF1ZXJ5Q29uZmlnID0gSW5maW5pdHlRdWVyeUNvbmZpZzxhbnksIGFueSwgYW55LCBhbnk+O1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuZXhwb3J0IHR5cGUgQW55SW5maW5pdHlRdWVyeSA9IEluZmluaXR5UXVlcnk8YW55LCBhbnksIGFueSwgYW55LCBhbnk+O1xuXG5leHBvcnQgdHlwZSBJbmZpbml0eVF1ZXJ5Q29uZmlnVHlwZTxcbiAgUXVlcnlDcmVhdG9yIGV4dGVuZHMgQW55UXVlcnlDcmVhdG9yLFxuICBJbmZpbml0eVJlc3BvbnNlIGV4dGVuZHMgdW5rbm93bltdLFxuPiA9IEluZmluaXR5UXVlcnlDb25maWc8XG4gIFF1ZXJ5Q3JlYXRvcixcbiAgT21pdFVuZGVmaW5lZDxRdWVyeUNyZWF0b3JBcmdzPFF1ZXJ5Q3JlYXRvcj4+LFxuICBRdWVyeVN0YXRlRGF0YTxRdWVyeUNyZWF0b3JSZXR1cm5UeXBlPFF1ZXJ5Q3JlYXRvcj5bJ3N0YXRlJ10+LFxuICBJbmZpbml0eVJlc3BvbnNlXG4+O1xuXG5leHBvcnQgdHlwZSBJbmZpbml0eVF1ZXJ5T2Y8Q2ZnIGV4dGVuZHMgQW55SW5maW5pdHlRdWVyeUNvbmZpZz4gPSBJbmZpbml0eVF1ZXJ5PFxuICBDZmdbJ3F1ZXJ5Q3JlYXRvciddLFxuICBRdWVyeUNyZWF0b3JSZXR1cm5UeXBlPENmZ1sncXVlcnlDcmVhdG9yJ10+LFxuICBRdWVyeUNyZWF0b3JBcmdzPENmZ1sncXVlcnlDcmVhdG9yJ10+LFxuICBRdWVyeUNyZWF0b3JSZXNwb25zZTxDZmdbJ3F1ZXJ5Q3JlYXRvciddPixcbiAgQ2ZnWydyZXNwb25zZSddWydhcnJheVR5cGUnXVxuPjtcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5maW5pdHktcXVlcnkudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvaW5maW5pdGUtcXVlcnkvaW5maW5pdHktcXVlcnkudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VBcmd1bWVudHMgfSBmcm9tICcuLi9xdWVyeSc7XG5pbXBvcnQgeyBBbnlRdWVyeUNyZWF0b3IsIENvbnN0cnVjdFF1ZXJ5LCBRdWVyeUFyZ3NPZiwgUXVlcnlSZXNwb25zZU9mIH0gZnJvbSAnLi4vcXVlcnktY3JlYXRvcic7XG5pbXBvcnQgeyBJbmZpbml0eVF1ZXJ5IH0gZnJvbSAnLi9pbmZpbml0eS1xdWVyeSc7XG5cbmV4cG9ydCB0eXBlIEluZmluaXR5UXVlcnlQYXJhbUxvY2F0aW9uID0gJ3BhdGgnIHwgJ3F1ZXJ5JyB8ICdib2R5JyB8ICdoZWFkZXInIHwgJ3ZhcmlhYmxlJztcblxuZXhwb3J0IHR5cGUgQXBwZW5kSXRlbXNMb2NhdGlvbiA9ICdzdGFydCcgfCAnZW5kJztcblxuZXhwb3J0IGludGVyZmFjZSBQYWdlUGFyYW1DYWxjdWxhdG9yT3B0aW9ucyB7XG4gIHBhZ2U6IG51bWJlcjtcbiAgdG90YWxQYWdlczogbnVtYmVyIHwgbnVsbDtcbiAgaXRlbXNQZXJQYWdlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG90YWxQYWdlc0V4dHJhY3Rvck9wdGlvbnM8UXVlcnlSZXNwb25zZT4ge1xuICByZXNwb25zZTogUXVlcnlSZXNwb25zZTtcbiAgaXRlbXNQZXJQYWdlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5maW5pdHlRdWVyeUNvbmZpZzxcbiAgUXVlcnlDcmVhdG9yIGV4dGVuZHMgQW55UXVlcnlDcmVhdG9yLFxuICBBcmd1bWVudHMgZXh0ZW5kcyBCYXNlQXJndW1lbnRzIHwgdW5kZWZpbmVkLFxuICBRdWVyeVJlc3BvbnNlLFxuICBJbmZpbml0eVJlc3BvbnNlIGV4dGVuZHMgdW5rbm93bltdLFxuPiB7XG4gIC8qKlxuICAgKiBUaGUgcXVlcnkgY3JlYXRvciB0byB1c2UgZm9yIGZldGNoaW5nIHBhZ2VzLlxuICAgKi9cbiAgcXVlcnlDcmVhdG9yOiBRdWVyeUNyZWF0b3I7XG5cbiAgLyoqXG4gICAqIFRoZSBhcmdzIHRoYXQgd2lsbCBiZSBtZXJnZWQgd2l0aCB0aGUgcGFnZSBhcmcuXG4gICAqL1xuICBkZWZhdWx0QXJncz86IEFyZ3VtZW50cztcblxuICBwYWdlUGFyYW0/OiB7XG4gICAgLyoqXG4gICAgICogVGhlIGxvY2F0aW9uIHdoZXJlIHRoZSBwYWdlIHBhcmFtIGlzIGluIHJlcXVlc3QuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBcInF1ZXJ5XCJcbiAgICAgKi9cbiAgICBsb2NhdGlvbj86IEluZmluaXR5UXVlcnlQYXJhbUxvY2F0aW9uO1xuXG4gICAgLyoqXG4gICAgICogVXNlZCBhcyBwYWdlIHBhcmFtIG5hbWUuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBcInBhZ2VcIlxuICAgICAqL1xuICAgIGtleT86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEEgZnVuY3Rpb24gdGhhdCBjYWxjdWxhdGVzIHRoZSBwYWdlIHZhbHVlIGZvciB0aGUgbmV4dCByZXF1ZXN0LlxuICAgICAqIEUuZy4gaWYgdGhlIHBhZ2luYXRpb24gaXMgZG9uZSB3aXRoIGEgYHNraXBgIHBhcmFtLCB0aGUgYHBhZ2VQYXJhbU5hbWVgIHNob3VsZCBiZSBgc2tpcGAgYW5kIHRoaXMgZnVuY3Rpb24gc2hvdWxkIHJldHVybiB0aGUgY29ycmVjdCB2YWx1ZS5cbiAgICAgKi9cbiAgICB2YWx1ZUNhbGN1bGF0b3I/OiAoZGF0YTogUGFnZVBhcmFtQ2FsY3VsYXRvck9wdGlvbnMpID0+IG51bWJlcjtcbiAgfTtcblxuICBsaW1pdFBhcmFtPzoge1xuICAgIC8qKlxuICAgICAqIFRoZSBsb2NhdGlvbiB3aGVyZSB0aGUgbGltaXQgcGFyYW0gaXMgaW4gcmVxdWVzdC5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IFwicXVlcnlcIlxuICAgICAqL1xuICAgIGxvY2F0aW9uPzogSW5maW5pdHlRdWVyeVBhcmFtTG9jYXRpb247XG5cbiAgICAvKipcbiAgICAgKiBVc2VkIGFzIGxpbWl0IHBhcmFtIG5hbWUuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBcImxpbWl0XCJcbiAgICAgKi9cbiAgICBrZXk/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdmFsdWUgb2YgdGhlIGxpbWl0IHBhcmFtLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgMTBcbiAgICAgKi9cbiAgICB2YWx1ZT86IG51bWJlcjtcbiAgfTtcblxuICByZXNwb25zZToge1xuICAgIC8qKlxuICAgICAqIERldGVybWluZXMgaWYgdGhlIHJlc3BvbnNlIHNob3VsZCBnZXQgcmV2ZXJzZWQgYmVmb3JlIGFwcGVuZGluZyB0byB0aGUgZGF0YSBhcnJheS5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgcmV2ZXJzZT86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmVzIHdoZXJlIHRvIHB1dCB0aGUgbmV3IGl0ZW1zIGluIHRoZSBkYXRhIGFycmF5LlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgXCJlbmRcIlxuICAgICAqL1xuICAgIGFwcGVuZEl0ZW1zVG8/OiBBcHBlbmRJdGVtc0xvY2F0aW9uO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHR5cGUgb2YgdGhlIGFycmF5IHRoYXQgd2lsbCBiZSBjcmVhdGVkIGJ5IHRoZSBpbmZpbml0ZSBxdWVyeS5cbiAgICAgKi9cbiAgICBhcnJheVR5cGU6IEluZmluaXR5UmVzcG9uc2U7XG5cbiAgICAvKipcbiAgICAgKiBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUgZGF0YSBhcnJheSBmcm9tIHRoZSByZXNwb25zZS5cbiAgICAgKiBUaGlzIGZ1bmN0aW9uIHNob3VsZCByZXR1cm4gdGhlIHR5cGUgcHJvdmlkZWQgaW4gYHJlc3BvbnNlQXJyYXlUeXBlYC5cbiAgICAgKi9cbiAgICB2YWx1ZUV4dHJhY3RvcjogKHJlc3BvbnNlOiBRdWVyeVJlc3BvbnNlKSA9PiBJbmZpbml0eVJlc3BvbnNlO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHByb3BlcnR5IGluIHRoZSByZXNwb25zZSB0aGF0IGNvbnRhaW5zIHRoZSB0b3RhbCBwYWdlIGNvdW50LlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgXCJ0b3RhbFBhZ2VzXCJcbiAgICAgKi9cbiAgICB0b3RhbFBhZ2VzRXh0cmFjdG9yPzogKGRhdGE6IFRvdGFsUGFnZXNFeHRyYWN0b3JPcHRpb25zPFF1ZXJ5UmVzcG9uc2U+KSA9PiBudW1iZXI7XG4gIH07XG59XG5cbnR5cGUgT21pdFVuZGVmaW5lZDxUPiA9IFQgZXh0ZW5kcyB1bmRlZmluZWQgPyBuZXZlciA6IFQ7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5leHBvcnQgdHlwZSBBbnlJbmZpbml0eVF1ZXJ5Q29uZmlnID0gSW5maW5pdHlRdWVyeUNvbmZpZzxhbnksIGFueSwgYW55LCBhbnk+O1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuZXhwb3J0IHR5cGUgQW55SW5maW5pdHlRdWVyeSA9IEluZmluaXR5UXVlcnk8YW55LCBhbnksIGFueSwgYW55LCBhbnk+O1xuXG5leHBvcnQgdHlwZSBJbmZpbml0eVF1ZXJ5Q29uZmlnVHlwZTxcbiAgUXVlcnlDcmVhdG9yIGV4dGVuZHMgQW55UXVlcnlDcmVhdG9yLFxuICBJbmZpbml0eVJlc3BvbnNlIGV4dGVuZHMgdW5rbm93bltdLFxuPiA9IEluZmluaXR5UXVlcnlDb25maWc8XG4gIFF1ZXJ5Q3JlYXRvcixcbiAgT21pdFVuZGVmaW5lZDxRdWVyeUFyZ3NPZjxRdWVyeUNyZWF0b3I+PixcbiAgUXVlcnlSZXNwb25zZU9mPFF1ZXJ5Q3JlYXRvcj4sXG4gIEluZmluaXR5UmVzcG9uc2Vcbj47XG5cbmV4cG9ydCB0eXBlIEluZmluaXR5UXVlcnlPZjxDZmcgZXh0ZW5kcyBBbnlJbmZpbml0eVF1ZXJ5Q29uZmlnPiA9IEluZmluaXR5UXVlcnk8XG4gIENmZ1sncXVlcnlDcmVhdG9yJ10sXG4gIENvbnN0cnVjdFF1ZXJ5PENmZ1sncXVlcnlDcmVhdG9yJ10+LFxuICBRdWVyeUFyZ3NPZjxDZmdbJ3F1ZXJ5Q3JlYXRvciddPixcbiAgUXVlcnlSZXNwb25zZU9mPENmZ1sncXVlcnlDcmVhdG9yJ10+LFxuICBDZmdbJ3Jlc3BvbnNlJ11bJ2FycmF5VHlwZSddXG4+O1xuIl19
@@ -1,3 +1,3 @@
1
1
  export const createInfinityQueryConfig = (config) => config;
2
2
  export const skipPaginationPageParamCalculator = ({ page, itemsPerPage }) => itemsPerPage * (page - 1);
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5maW5pdHktcXVlcnkudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvaW5maW5pdGUtcXVlcnkvaW5maW5pdHktcXVlcnkudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsQ0FPdkMsTUFBZ0YsRUFDaEYsRUFBRSxDQUFDLE1BQU0sQ0FBQztBQUVaLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUE4QixFQUFFLEVBQUUsQ0FDdEcsWUFBWSxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUXVlcnlTdGF0ZURhdGEgfSBmcm9tICcuLi9xdWVyeSc7XG5pbXBvcnQgeyBBbnlRdWVyeUNyZWF0b3IsIFF1ZXJ5Q3JlYXRvckFyZ3MsIFF1ZXJ5Q3JlYXRvclJldHVyblR5cGUgfSBmcm9tICcuLi9xdWVyeS1jbGllbnQnO1xuaW1wb3J0IHsgSW5maW5pdHlRdWVyeUNvbmZpZywgUGFnZVBhcmFtQ2FsY3VsYXRvck9wdGlvbnMgfSBmcm9tICcuL2luZmluaXR5LXF1ZXJ5LnR5cGVzJztcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUluZmluaXR5UXVlcnlDb25maWcgPSA8XG4gIFF1ZXJ5Q3JlYXRvciBleHRlbmRzIEFueVF1ZXJ5Q3JlYXRvcixcbiAgUXVlcnkgZXh0ZW5kcyBRdWVyeUNyZWF0b3JSZXR1cm5UeXBlPFF1ZXJ5Q3JlYXRvcj4sXG4gIEFyZ3MgZXh0ZW5kcyBRdWVyeUNyZWF0b3JBcmdzPFF1ZXJ5Q3JlYXRvcj4sXG4gIFF1ZXJ5UmVzcG9uc2UgZXh0ZW5kcyBRdWVyeVN0YXRlRGF0YTxRdWVyeVsnc3RhdGUnXT4sXG4gIEluZmluaXR5UmVzcG9uc2UgZXh0ZW5kcyB1bmtub3duW10sXG4+KFxuICBjb25maWc6IEluZmluaXR5UXVlcnlDb25maWc8UXVlcnlDcmVhdG9yLCBBcmdzLCBRdWVyeVJlc3BvbnNlLCBJbmZpbml0eVJlc3BvbnNlPixcbikgPT4gY29uZmlnO1xuXG5leHBvcnQgY29uc3Qgc2tpcFBhZ2luYXRpb25QYWdlUGFyYW1DYWxjdWxhdG9yID0gKHsgcGFnZSwgaXRlbXNQZXJQYWdlIH06IFBhZ2VQYXJhbUNhbGN1bGF0b3JPcHRpb25zKSA9PlxuICBpdGVtc1BlclBhZ2UgKiAocGFnZSAtIDEpO1xuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5maW5pdHktcXVlcnkudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvaW5maW5pdGUtcXVlcnkvaW5maW5pdHktcXVlcnkudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsQ0FNdkMsTUFBZ0YsRUFDaEYsRUFBRSxDQUFDLE1BQU0sQ0FBQztBQUVaLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUE4QixFQUFFLEVBQUUsQ0FDdEcsWUFBWSxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW55UXVlcnlDcmVhdG9yLCBRdWVyeUFyZ3NPZiwgUXVlcnlSZXNwb25zZU9mIH0gZnJvbSAnLi4vcXVlcnktY3JlYXRvcic7XG5pbXBvcnQgeyBJbmZpbml0eVF1ZXJ5Q29uZmlnLCBQYWdlUGFyYW1DYWxjdWxhdG9yT3B0aW9ucyB9IGZyb20gJy4vaW5maW5pdHktcXVlcnkudHlwZXMnO1xuXG5leHBvcnQgY29uc3QgY3JlYXRlSW5maW5pdHlRdWVyeUNvbmZpZyA9IDxcbiAgUXVlcnlDcmVhdG9yIGV4dGVuZHMgQW55UXVlcnlDcmVhdG9yLFxuICBBcmdzIGV4dGVuZHMgUXVlcnlBcmdzT2Y8UXVlcnlDcmVhdG9yPixcbiAgUXVlcnlSZXNwb25zZSBleHRlbmRzIFF1ZXJ5UmVzcG9uc2VPZjxRdWVyeUNyZWF0b3I+LFxuICBJbmZpbml0eVJlc3BvbnNlIGV4dGVuZHMgdW5rbm93bltdLFxuPihcbiAgY29uZmlnOiBJbmZpbml0eVF1ZXJ5Q29uZmlnPFF1ZXJ5Q3JlYXRvciwgQXJncywgUXVlcnlSZXNwb25zZSwgSW5maW5pdHlSZXNwb25zZT4sXG4pID0+IGNvbmZpZztcblxuZXhwb3J0IGNvbnN0IHNraXBQYWdpbmF0aW9uUGFnZVBhcmFtQ2FsY3VsYXRvciA9ICh7IHBhZ2UsIGl0ZW1zUGVyUGFnZSB9OiBQYWdlUGFyYW1DYWxjdWxhdG9yT3B0aW9ucykgPT5cbiAgaXRlbXNQZXJQYWdlICogKHBhZ2UgLSAxKTtcbiJdfQ==