bx-rest 1.5.0 → 1.5.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 (45) hide show
  1. package/CHANGELOG.md +83 -0
  2. package/README.en.md +3 -3
  3. package/README.md +3 -3
  4. package/esm2022/functions/mapResult.mjs +4 -2
  5. package/esm2022/map/disk.mjs +13 -0
  6. package/esm2022/map/im/recent.mjs +1 -9
  7. package/esm2022/map/task.mjs +11 -5
  8. package/esm2022/map/tasks/task.mjs +3 -3
  9. package/esm2022/map/tasks.mjs +4 -3
  10. package/esm2022/map/user.mjs +5 -4
  11. package/esm2022/public-api.mjs +1 -1
  12. package/esm2022/request-navvy/bizproc.mjs +2 -2
  13. package/esm2022/request-navvy/pull/config.mjs +1 -3
  14. package/esm2022/request-navvy/task/operation/elapseditem.mjs +8 -65
  15. package/esm2022/rest/map.mjs +3 -3
  16. package/esm2022/services/base.mjs +7 -4
  17. package/esm2022/services/http/HttpBX.mjs +8 -3
  18. package/esm2022/services/navvy/extends/navvy-pag-base.mjs +63 -9
  19. package/esm2022/services/navvy/navvy-alternative-pagination-navigation.mjs +21 -71
  20. package/esm2022/services/navvy/navvy-pag-nav-result-key-object.mjs +10 -49
  21. package/esm2022/services/navvy/navvy-pag-nav-result-key.mjs +14 -73
  22. package/esm2022/services/navvy/navvy-pag-nav-tasks.mjs +4 -76
  23. package/esm2022/services/navvy/navvy-pag-nav-with-useless-key.mjs +10 -76
  24. package/esm2022/services/navvy/navvy-pag.mjs +7 -65
  25. package/esm2022/typification/rest/settings.mjs +1 -1
  26. package/esm2022/typification/rest/user/user.mjs +1 -1
  27. package/fesm2022/bx-rest.mjs +491 -1656
  28. package/fesm2022/bx-rest.mjs.map +1 -1
  29. package/map/disk.d.ts +10 -0
  30. package/map/task.d.ts +3 -3
  31. package/map/tasks/task.d.ts +1 -1
  32. package/map/tasks.d.ts +1 -1
  33. package/package.json +5 -2
  34. package/public-api.d.ts +5 -2
  35. package/request-navvy/pull/config.d.ts +0 -2
  36. package/rest/map.d.ts +2 -2
  37. package/services/navvy/extends/navvy-pag-base.d.ts +16 -2
  38. package/services/navvy/navvy-alternative-pagination-navigation.d.ts +5 -2
  39. package/services/navvy/navvy-pag-nav-result-key-object.d.ts +0 -2
  40. package/services/navvy/navvy-pag-nav-result-key.d.ts +1 -4
  41. package/services/navvy/navvy-pag-nav-tasks.d.ts +2 -9
  42. package/services/navvy/navvy-pag-nav-with-useless-key.d.ts +0 -2
  43. package/services/navvy/navvy-pag.d.ts +0 -2
  44. package/typification/rest/settings.d.ts +1 -0
  45. package/typification/rest/user/user.d.ts +3 -3
@@ -1,80 +1,21 @@
1
- import { concatMap, from, last, mergeMap, shareReplay, throwError, toArray } from 'rxjs';
2
- import { catchError, map } from 'rxjs/operators';
3
- import clone from 'just-clone';
4
- import { instanceOfiBXRestAnswerSuccess } from '../../functions/mapResult';
5
- import { NavvyPagBase } from './extends/navvy-pag-base';
6
- import { serializeBitrixParams } from '../../functions/serializeBitrixParams';
7
- import { BXRest } from '../../rest/base';
1
+ import { mergeMap, shareReplay } from 'rxjs';
2
+ import { map } from 'rxjs/operators';
3
+ import { NavvyPagBase, offsetPageParams } from './extends/navvy-pag-base';
8
4
  export class NavvyPagNavResultKey extends NavvyPagBase {
9
- constructor(url, param, key, map) {
5
+ constructor(url, param, key, map, restApi) {
10
6
  // Без своего map результат — массив по ключу, как и обещают типы `.res()` и `.resAll()`.
11
- // Иначе `.res()` отдал бы весь объект `{ items: [...] }`, а `.resAll()` упал бы на нём
12
- // при 50 записях и меньше: первая страница разворачивается через `save.push(...v)`.
13
- super(url, param, map ?? (result => (result?.[key] ?? [])));
7
+ // Иначе `.res()` отдал бы весь объект `{ items: [...] }`.
8
+ super(url, param, map ?? (result => (result?.[key] ?? [])), restApi);
14
9
  this.key = key;
15
- this.save = [];
16
10
  }
17
11
  resAll() {
18
- let save = [];
19
- return this.resultAllEnd()
20
- .pipe(map(v => {
21
- if (v) {
22
- save.push(...v);
23
- }
24
- return save;
25
- }), last(), shareReplay(1));
26
- }
27
- resultAllEnd() {
28
- let BXRestClass = new BXRest();
29
- return this.resFirstPage().pipe(mergeMap(items => {
30
- if (items && instanceOfiBXRestAnswerSuccess(items)) {
31
- this.save = [];
32
- if (items.total && items.total > 50) {
33
- const mathFloor = Math.floor(items.total / this.pageSize);
34
- const count = (mathFloor === items.total / this.pageSize)
35
- ? [...Array(mathFloor - 1).keys()]
36
- : [...Array(mathFloor).keys()];
37
- const chunks = [];
38
- for (let i = 0; i < count.length; i += this.pageSize) {
39
- chunks.push(count.slice(i, i + this.pageSize));
40
- }
41
- const batchRequests = chunks.map(chunk => {
42
- return BXRestClass.batch({
43
- halt: 1,
44
- cmd: chunk.map(i => {
45
- const param = clone(this.param);
46
- param.start = (i + 1) * this.pageSize;
47
- return this.http.getNameMethod(this.url)
48
- + '?' + serializeBitrixParams(param);
49
- })
50
- }, this.requestHeaders);
51
- });
52
- return from(batchRequests).pipe(concatMap(request => request), toArray(), map(results => {
53
- const firstPage = items.result?.[this.key];
54
- if (firstPage) {
55
- const res = firstPage;
56
- for (let result of results) {
57
- if (result && instanceOfiBXRestAnswerSuccess(result) && result.result && result.result.result) {
58
- res.push(...result.result.result.filter(i => i).map(i => i[this.key]).flat());
59
- }
60
- }
61
- return (this.map) ?
62
- this.map({ [this.key]: res })
63
- : res;
64
- }
65
- throw new Error('wrong batch');
66
- }));
67
- }
68
- return this.mapResForGetAll(items);
69
- }
70
- return this.mapResForGetAll(items);
71
- }), catchError(err => {
72
- console.error(err);
73
- return throwError(() => err);
74
- }));
75
- }
76
- mapResForGetAll(items) {
77
- return (instanceOfiBXRestAnswerSuccess(items)) ? from([items.result]).pipe(map(v => (v && this.map) ? this.map(v) : v)) : from([]);
12
+ return this.resFirstPage().pipe(mergeMap(first => this.resPages(offsetPageParams(this.param, first.total, this.pageSize)).pipe(map(pages => {
13
+ const items = [first.result, ...pages].flatMap(page => page?.[this.key] ?? []);
14
+ const joined = { ...first.result, [this.key]: items };
15
+ return (this.map?.(joined) ?? []);
16
+ }))),
17
+ // refCount: без подписчиков оставшиеся страницы запрашивать незачем
18
+ shareReplay({ bufferSize: 1, refCount: true }));
78
19
  }
79
20
  }
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2dnktcGFnLW5hdi1yZXN1bHQta2V5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvc2VydmljZXMvbmF2dnkvbmF2dnktcGFnLW5hdi1yZXN1bHQta2V5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDeEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNoRCxPQUFPLEtBQUssTUFBTSxZQUFZLENBQUE7QUFJOUIsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQ3ZELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFBO0FBQzdFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUl4QyxNQUFNLE9BQU8sb0JBQ1gsU0FBUSxZQUF1QztJQUkvQyxZQUNFLEdBQWEsRUFDYixLQUFRLEVBQ1MsR0FBTSxFQUN2QixHQUErRDtRQUUvRCx5RkFBeUY7UUFDekYsdUZBQXVGO1FBQ3ZGLG9GQUFvRjtRQUNwRixLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFtQixDQUFDLENBQUMsQ0FBQTtRQU41RCxRQUFHLEdBQUgsR0FBRyxDQUFHO1FBTHpCLFNBQUksR0FBNEIsRUFBRSxDQUFBO0lBWWxDLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxJQUFJLEdBQTRCLEVBQUUsQ0FBQTtR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Q0FBQztJQUVPLGVBQWUsQ0FBQyxLQUFtRDtRQUN6RSxPQUFPLENBQUMsOEJBQThCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN4RSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUM1QyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDZCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25jYXRNYXAsIGZyb20sIGxhc3QsIG1lcmdlTWFwLCBzaGFyZVJlcGxheSwgdGhyb3dFcnJvciwgdG9BcnJheSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCBjbG9uZSBmcm9tICdqdXN0LWNsb25lJ1xuaW1wb3J0IHsgaUJYUmVzdFBhZ2luYXRpb24gfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC9iYXNlL2FwaS1wYWdpbmF0aW9uLWJ4J1xuaW1wb3J0IHsgUmV0dXJuVHlwZU5hdnZ5IH0gZnJvbSAnLi9uYXZ2eS1zdXBwb3J0J1xuaW1wb3J0IHsgaUJYUmVzdEFuc3dlciB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L2Jhc2UvYW5zd2VyJ1xuaW1wb3J0IHsgaW5zdGFuY2VPZmlCWFJlc3RBbnN3ZXJTdWNjZXNzIH0gZnJvbSAnLi4vLi4vZnVuY3Rpb25zL21hcFJlc3VsdCdcbmltcG9ydCB7IE5hdnZ5UGFnQmFzZSB9IGZyb20gJy4vZXh0ZW5kcy9uYXZ2eS1wYWctYmFzZSdcbmltcG9ydCB7IHNlcmlhbGl6ZUJpdHJpeFBhcmFtcyB9IGZyb20gJy4uLy4uL2Z1bmN0aW9ucy9zZXJpYWxpemVCaXRyaXhQYXJhbXMnXG5pbXBvcnQgeyBCWFJlc3QgfSBmcm9tICcuLi8uLi9yZXN0L2Jhc2UnXG5cbnR5cGUgS2V5ZWRSZXN1bHQ8SyBleHRlbmRzIHN0cmluZywgVD4gPSBSZWNvcmQ8SywgVFtdIHwgdW5kZWZpbmVkPlxuXG5leHBvcnQgY2xhc3MgTmF2dnlQYWdOYXZSZXN1bHRLZXk8VCwgUiwgUCBleHRlbmRzIGlCWFJlc3RQYWdpbmF0aW9uLCBLIGV4dGVuZHMgc3RyaW5nPlxuICBleHRlbmRzIE5hdnZ5UGFnQmFzZTxLZXllZFJlc3VsdDxLLCBUPiwgUltdLCBQPiB7XG5cbiAgc2F2ZTogUmV0dXJuVHlwZU5hdnZ5PFQsIFI+W10gPSBbXVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHVybDogc3RyaW5nW10sXG4gICAgcGFyYW06IFAsXG4gICAgcHJpdmF0ZSByZWFkb25seSBrZXk6IEssXG4gICAgbWFwPzogKHBhcmFtOiBLZXllZFJlc3VsdDxLLCBUPiB8IHVuZGVmaW5lZCkgPT4gUltdIHwgdW5kZWZpbmVkXG4gICkge1xuICAgIC8vINCR0LXQtyDRgdCy0L7QtdCz0L4gbWFwINGA0LXQt9GD0LvRjNGC0LDRgiDigJQg0LzQsNGB0YHQuNCyINC/0L4g0LrQu9GO0YfRgywg0LrQsNC6INC4INC+0LHQtdGJ0LDRjtGCINGC0LjQv9GLIGAucmVzKClgINC4IGAucmVzQWxsKClgLlxuICAgIC8vINCY0L3QsNGH0LUgYC5yZXMoKWAg0L7RgtC00LDQuyDQsdGLINCy0LXRgdGMINC+0LHRitC10LrRgiBgeyBpdGVtczogWy4uLl0gfWAsINCwIGAucmVzQWxsKClgINGD0L/QsNC7INCx0Ysg0L3QsCDQvdGR0LxcbiAgICAvLyDQv9GA0LggNTAg0LfQsNC/0LjRgdGP0YUg0Lgg0LzQtdC90YzRiNC1OiDQv9C10YDQstCw0Y8g0YHRgtGA0LDQvdC40YbQsCDRgNCw0LfQstC+0YDQsNGH0LjQstCw0LXRgtGB0Y8g0YfQtdGA0LXQtyBgc2F2ZS5wdXNoKC4uLnYpYC5cbiAgICBzdXBlcih1cmwsIHBhcmFtLCBtYXAgPz8gKHJlc3VsdCA9PiAocmVzdWx0Py5ba2V5XSA/PyBbXSkgYXMgdW5rbm93biBhcyBSW10pKVxuICB9XG5cbiAgcmVzQWxsKCkge1xuICAgIGxldCBzYXZlOiBSZXR1cm5UeXBlTmF2dnk8VCwgUj5bXSA9IFtdXG4gICAgcmV0dXJuIHRoaXMucmVzdWx0QWxsRW5kKClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAodiA9PiB7XG4gICAgICAgICAgICBpZiAodikge1xuICAgICAgICAgICAgICBzYXZlLnB1c2goLi4udiBhcyBSZXR1cm5UeXBlTmF2dnk8VCwgUj5bXSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBzYXZlXG4gICAgICAgICAgfVxuICAgICAgICApLFxuICAgICAgICBsYXN0KCksXG4gICAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgICApXG4gIH1cblxuICBwcml2YXRlIHJlc3VsdEFsbEVuZCgpIHtcbiAgICBsZXQgQlhSZXN0Q2xhc3MgPSBuZXcgQlhSZXN0KClcbiAgICByZXR1cm4gdGhpcy5yZXNGaXJzdFBhZ2UoKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoXG4gICAgICAgIGl0ZW1zID0+IHtcbiAgICAgICAgICBpZiAoaXRlbXMgJiYgaW5zdGFuY2VPZmlCWFJlc3RBbnN3ZXJTdWNjZXNzKGl0ZW1zKSkge1xuICAgICAgICAgICAgdGhpcy5zYXZlID0gW11cbiAgICAgICAgICAgIGlmIChpdGVtcy50b3RhbCAmJiBpdGVtcy50b3RhbCA+IDUwKSB7XG4gICAgICAgICAgICAgIGNvbnN0IG1hdGhGbG9vciA9IE1hdGguZmxvb3IoaXRlbXMudG90YWwgLyB0aGlzLnBhZ2VTaXplKVxuICAgICAgICAgICAgICBjb25zdCBjb3VudCA9IChtYXRoRmxvb3IgPT09IGl0ZW1zLnRvdGFsIC8gdGhpcy5wYWdlU2l6ZSlcbiAgICAgICAgICAgICAgICA/IFsuLi5BcnJheShtYXRoRmxvb3IgLSAxKS5rZXlzKCldXG4gICAgICAgICAgICAgICAgOiBbLi4uQXJyYXkobWF0aEZsb29yKS5rZXlzKCldXG4gICAgICAgICAgICAgIGNvbnN0IGNodW5rcyA9IFtdXG5cbiAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb3VudC5sZW5ndGg7IGkgKz0gdGhpcy5wYWdlU2l6ZSkge1xuICAgICAgICAgICAgICAgIGNodW5rcy5wdXNoKGNvdW50LnNsaWNlKGksIGkgKyB0aGlzLnBhZ2VTaXplKSlcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGNvbnN0IGJhdGNoUmVxdWVzdHMgPSBjaHVua3MubWFwKGNodW5rID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gQlhSZXN0Q2xhc3MuYmF0Y2g8S2V5ZWRSZXN1bHQ8SywgVD5bXT4oe1xuICAgICAgICAgICAgICAgICAgaGFsdDogMSxcbiAgICAgICAgICAgICAgICAgIGNtZDogY2h1bmsubWFwKGkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJhbSA9IGNsb25lKHRoaXMucGFyYW0pXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtLnN0YXJ0ID0gKGkgKyAxKSAqIHRoaXMucGFnZVNpemVcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldE5hbWVNZXRob2QodGhpcy51cmwpXG4gICAgICAgICAgICAgICAgICAgICAgKyAnPycgKyBzZXJpYWxpemVCaXRyaXhQYXJhbXMocGFyYW0pXG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIH0sIHRoaXMucmVxdWVzdEhlYWRlcnMpXG4gICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgcmV0dXJuIGZyb20oYmF0Y2hSZXF1ZXN0cykucGlwZShcbiAgICAgICAgICAgICAgICBjb25jYXRNYXAocmVxdWVzdCA9PiByZXF1ZXN0KSxcbiAgICAgICAgICAgICAgICB0b0FycmF5KCksXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdHMgPT4ge1xuICAgICAgICAgICAgICAgICAgY29uc3QgZmlyc3RQYWdlID0gaXRlbXMucmVzdWx0Py5bdGhpcy5rZXldXG4gICAgICAgICAgICAgICAgICBpZiAoZmlyc3RQYWdlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlcyA9IGZpcnN0UGFnZSBhcyBUW11cblxuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCByZXN1bHQgb2YgcmVzdWx0cykge1xuICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgJiYgaW5zdGFuY2VPZmlCWFJlc3RBbnN3ZXJTdWNjZXNzKHJlc3VsdCkgJiYgcmVzdWx0LnJlc3VsdCAmJiByZXN1bHQucmVzdWx0LnJlc3VsdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzLnB1c2goLi4ucmVzdWx0LnJlc3VsdC5yZXN1bHQuZmlsdGVyKGkgPT4gaSkubWFwKGkgPT4gaVt0aGlzLmtleV0pLmZsYXQoKSBhcyBUW10pXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICh0aGlzLm1hcCkgP1xuICAgICAgICAgICAgICAgICAgICAgIHRoaXMubWFwKHsgW3RoaXMua2V5XTogcmVzIH0gYXMgS2V5ZWRSZXN1bHQ8SywgVD4pXG4gICAgICAgICAgICAgICAgICAgICAgOiByZXNcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd3cm9uZyBiYXRjaCcpXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5tYXBSZXNGb3JHZXRBbGwoaXRlbXMpXG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB0aGlzLm1hcFJlc0ZvckdldEFsbChpdGVtcylcbiAgICAgICAgfVxuICAgICAgKSxcbiAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnIpXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycilcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBtYXBSZXNGb3JHZXRBbGwoaXRlbXM6IGlCWFJlc3RBbnN3ZXI8S2V5ZWRSZXN1bHQ8SywgVD4+IHwgdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIChpbnN0YW5jZU9maUJYUmVzdEFuc3dlclN1Y2Nlc3MoaXRlbXMpKSA/IGZyb20oW2l0ZW1zLnJlc3VsdF0pLnBpcGUoXG4gICAgICBtYXAodiA9PiAodiAmJiB0aGlzLm1hcCkgPyB0aGlzLm1hcCh2KSA6IHYpXG4gICAgKSA6IGZyb20oW10pXG4gIH1cbn1cbiJdfQ==
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2dnktcGFnLW5hdi1yZXN1bHQta2V5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvc2VydmljZXMvbmF2dnkvbmF2dnktcGFnLW5hdi1yZXN1bHQta2V5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzVDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUdwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFJekUsTUFBTSxPQUFPLG9CQUNYLFNBQVEsWUFBdUM7SUFFL0MsWUFDRSxHQUFhLEVBQ2IsS0FBUSxFQUNTLEdBQU0sRUFDdkIsR0FBK0QsRUFDL0QsT0FBaUI7UUFFakIseUZBQXlGO1FBQ3pGLDBEQUEwRDtRQUMxRCxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFtQixDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFOckUsUUFBRyxHQUFILEdBQUcsQ0FBRztJQU96QixDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FDN0IsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBb0IsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDL0csR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ1YsTUFBTSxLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBUSxDQUFBO1lBQ3JGLE1BQU0sTUFBTSxHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBdUIsQ0FBQTtZQUMxRSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBNEIsQ0FBQTtRQUM5RCxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0Ysb0VBQW9FO1FBQ3BFLFdBQVcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQy9DLENBQUE7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtZXJnZU1hcCwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBpQlhSZXN0UGFnaW5hdGlvbiB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L2Jhc2UvYXBpLXBhZ2luYXRpb24tYngnXG5pbXBvcnQgeyBSZXR1cm5UeXBlTmF2dnkgfSBmcm9tICcuL25hdnZ5LXN1cHBvcnQnXG5pbXBvcnQgeyBOYXZ2eVBhZ0Jhc2UsIG9mZnNldFBhZ2VQYXJhbXMgfSBmcm9tICcuL2V4dGVuZHMvbmF2dnktcGFnLWJhc2UnXG5cbnR5cGUgS2V5ZWRSZXN1bHQ8SyBleHRlbmRzIHN0cmluZywgVD4gPSBSZWNvcmQ8SywgVFtdIHwgdW5kZWZpbmVkPlxuXG5leHBvcnQgY2xhc3MgTmF2dnlQYWdOYXZSZXN1bHRLZXk8VCwgUiwgUCBleHRlbmRzIGlCWFJlc3RQYWdpbmF0aW9uLCBLIGV4dGVuZHMgc3RyaW5nPlxuICBleHRlbmRzIE5hdnZ5UGFnQmFzZTxLZXllZFJlc3VsdDxLLCBUPiwgUltdLCBQPiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgdXJsOiBzdHJpbmdbXSxcbiAgICBwYXJhbTogUCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGtleTogSyxcbiAgICBtYXA/OiAocGFyYW06IEtleWVkUmVzdWx0PEssIFQ+IHwgdW5kZWZpbmVkKSA9PiBSW10gfCB1bmRlZmluZWQsXG4gICAgcmVzdEFwaT86IGJvb2xlYW5cbiAgKSB7XG4gICAgLy8g0JHQtdC3INGB0LLQvtC10LPQviBtYXAg0YDQtdC30YPQu9GM0YLQsNGCIOKAlCDQvNCw0YHRgdC40LIg0L/QviDQutC70Y7Rh9GDLCDQutCw0Log0Lgg0L7QsdC10YnQsNGO0YIg0YLQuNC/0YsgYC5yZXMoKWAg0LggYC5yZXNBbGwoKWAuXG4gICAgLy8g0JjQvdCw0YfQtSBgLnJlcygpYCDQvtGC0LTQsNC7INCx0Ysg0LLQtdGB0Ywg0L7QsdGK0LXQutGCIGB7IGl0ZW1zOiBbLi4uXSB9YC5cbiAgICBzdXBlcih1cmwsIHBhcmFtLCBtYXAgPz8gKHJlc3VsdCA9PiAocmVzdWx0Py5ba2V5XSA/PyBbXSkgYXMgdW5rbm93biBhcyBSW10pLCByZXN0QXBpKVxuICB9XG5cbiAgcmVzQWxsKCkge1xuICAgIHJldHVybiB0aGlzLnJlc0ZpcnN0UGFnZSgpLnBpcGUoXG4gICAgICBtZXJnZU1hcChmaXJzdCA9PiB0aGlzLnJlc1BhZ2VzPEtleWVkUmVzdWx0PEssIFQ+PihvZmZzZXRQYWdlUGFyYW1zKHRoaXMucGFyYW0sIGZpcnN0LnRvdGFsLCB0aGlzLnBhZ2VTaXplKSkucGlwZShcbiAgICAgICAgbWFwKHBhZ2VzID0+IHtcbiAgICAgICAgICBjb25zdCBpdGVtcyA9IFtmaXJzdC5yZXN1bHQsIC4uLnBhZ2VzXS5mbGF0TWFwKHBhZ2UgPT4gcGFnZT8uW3RoaXMua2V5XSA/PyBbXSkgYXMgVFtdXG4gICAgICAgICAgY29uc3Qgam9pbmVkID0geyAuLi5maXJzdC5yZXN1bHQsIFt0aGlzLmtleV06IGl0ZW1zIH0gYXMgS2V5ZWRSZXN1bHQ8SywgVD5cbiAgICAgICAgICByZXR1cm4gKHRoaXMubWFwPy4oam9pbmVkKSA/PyBbXSkgYXMgUmV0dXJuVHlwZU5hdnZ5PFQsIFI+W11cbiAgICAgICAgfSlcbiAgICAgICkpLFxuICAgICAgLy8gcmVmQ291bnQ6INCx0LXQtyDQv9C+0LTQv9C40YHRh9C40LrQvtCyINC+0YHRgtCw0LLRiNC40LXRgdGPINGB0YLRgNCw0L3QuNGG0Ysg0LfQsNC/0YDQsNGI0LjQstCw0YLRjCDQvdC10LfQsNGH0LXQvFxuICAgICAgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZSB9KVxuICAgIClcbiAgfVxufVxuIl19
@@ -1,79 +1,7 @@
1
- import { concatMap, from, last, mergeMap, shareReplay, throwError, toArray } from 'rxjs';
2
- import { catchError, map } from 'rxjs/operators';
3
- import clone from 'just-clone';
4
- import { instanceOfiBXRestAnswerSuccess } from '../../functions/mapResult';
5
- import { NavvyPagBase } from './extends/navvy-pag-base';
6
- import { serializeBitrixParams } from '../../functions/serializeBitrixParams';
7
- import { BXRest } from '../../rest/base';
8
- export class NavvyPagNavTasks extends NavvyPagBase {
1
+ import { NavvyPagNavResultKey } from './navvy-pag-nav-result-key';
2
+ export class NavvyPagNavTasks extends NavvyPagNavResultKey {
9
3
  constructor(url, param, map, restApi) {
10
- // Без своего map результат — массив задач, как и обещают типы `.res()` и `.resAll()`.
11
- super(url, param, map ?? (result => (result?.tasks ?? [])), restApi);
12
- this.save = [];
13
- }
14
- resAll() {
15
- let save = [];
16
- return this.resultAllEnd()
17
- .pipe(map(v => {
18
- if (v) {
19
- save.push(...v);
20
- }
21
- return save;
22
- }), last(), shareReplay(1));
23
- }
24
- resultAllEnd() {
25
- let BXRestClass = new BXRest();
26
- return this.resFirstPage().pipe(mergeMap(items => {
27
- if (items && instanceOfiBXRestAnswerSuccess(items)) {
28
- this.save = [];
29
- // TODO: проверить будет ли быстрее работать метод в случаях когда total < 100 (то есть можно обойтись двумя прямыми запросами)
30
- if (items.total && items.total > 50) {
31
- const count = [...Array(Math.floor(items.total / this.pageSize)).keys()];
32
- // Разделяем массив на блоки
33
- const chunks = [];
34
- for (let i = 0; i < count.length; i += this.pageSize) {
35
- chunks.push(count.slice(i, i + this.pageSize));
36
- }
37
- const batchRequests = chunks.map(chunk => {
38
- return BXRestClass.batch({
39
- halt: 1,
40
- cmd: chunk.map(i => {
41
- const param = clone(this.param);
42
- // Устанавливаем start в зависимости от индекса
43
- param.start = (i + 1) * this.pageSize;
44
- // Формируем строку запроса
45
- return this.http.getNameMethod(this.url)
46
- + '?' + serializeBitrixParams(param);
47
- })
48
- }, this.requestHeaders);
49
- });
50
- return from(batchRequests).pipe(concatMap(request => request), // Выполняет запросы по очереди
51
- toArray(), // Собирает все результаты в массив
52
- map(results => {
53
- if (items.result && items.result.tasks) {
54
- const res = items.result.tasks;
55
- for (let result of results) {
56
- if (result && instanceOfiBXRestAnswerSuccess(result) && result.result && result.result.result) {
57
- res.push(...result.result.result.filter(i => i).map(i => i.tasks).flat());
58
- }
59
- }
60
- return (this.map) ?
61
- this.map({ tasks: res })
62
- : res;
63
- }
64
- throw new Error('wrong batch');
65
- }));
66
- }
67
- return this.mapResForGetAll(items);
68
- }
69
- return this.mapResForGetAll(items);
70
- }), catchError(err => {
71
- console.error(err);
72
- return throwError(() => err);
73
- }));
74
- }
75
- mapResForGetAll(items) {
76
- return (instanceOfiBXRestAnswerSuccess(items)) ? from([items.result]).pipe(map(v => (v && this.map) ? this.map(v) : v)) : from([]);
4
+ super(url, param, 'tasks', map, restApi);
77
5
  }
78
6
  }
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2dnktcGFnLW5hdi10YXNrcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3NlcnZpY2VzL25hdnZ5L25hdnZ5LXBhZy1uYXYtdGFza3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUN4RixPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ2hELE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQTtBQUk5QixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUMxRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDdkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUE7QUFDN0UsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRXhDLE1BQU0sT0FBTyxnQkFBb0QsU0FBUSxZQUE4QztJQUlySCxZQUNFLEdBQWEsRUFDYixLQUFRLEVBQ1IsR0FBd0UsRUFDeEUsT0FBaUI7UUFFakIsc0ZBQXNGO1FBQ3RGLEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBbUIsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBVHhGLFNBQUksR0FBNEIsRUFBRSxDQUFBO0lBVWxDLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxJQUFJLEdBQTRCLEVBQUUsQ0FBQTtRQUN0QyxPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUU7YUFDdkIsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFD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QUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDNUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29uY2F0TWFwLCBmcm9tLCBsYXN0LCBtZXJnZU1hcCwgc2hhcmVSZXBsYXksIHRocm93RXJyb3IsIHRvQXJyYXkgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgY2xvbmUgZnJvbSAnanVzdC1jbG9uZSdcbmltcG9ydCB7IGlCWFJlc3RQYWdpbmF0aW9uIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvYmFzZS9hcGktcGFnaW5hdGlvbi1ieCdcbmltcG9ydCB7IFJldHVyblR5cGVOYXZ2eSB9IGZyb20gJy4vbmF2dnktc3VwcG9ydCdcbmltcG9ydCB7IGlCWFJlc3RBbnN3ZXIgfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC9iYXNlL2Fuc3dlcidcbmltcG9ydCB7IGluc3RhbmNlT2ZpQlhSZXN0QW5zd2VyU3VjY2VzcyB9IGZyb20gJy4uLy4uL2Z1bmN0aW9ucy9tYXBSZXN1bHQnXG5pbXBvcnQgeyBOYXZ2eVBhZ0Jhc2UgfSBmcm9tICcuL2V4dGVuZHMvbmF2dnktcGFnLWJhc2UnXG5pbXBvcnQgeyBzZXJpYWxpemVCaXRyaXhQYXJhbXMgfSBmcm9tICcuLi8uLi9mdW5jdGlvbnMvc2VyaWFsaXplQml0cml4UGFyYW1zJ1xuaW1wb3J0IHsgQlhSZXN0IH0gZnJvbSAnLi4vLi4vcmVzdC9iYXNlJ1xuXG5leHBvcnQgY2xhc3MgTmF2dnlQYWdOYXZUYXNrczxULCBSLCBQIGV4dGVuZHMgaUJYUmVzdFBhZ2luYXRpb24+IGV4dGVuZHMgTmF2dnlQYWdCYXNlPHt0YXNrczogVFtdIHwgdW5kZWZpbmVkfSwgUltdLCBQPiB7XG5cbiAgc2F2ZTogUmV0dXJuVHlwZU5hdnZ5PFQsIFI+W10gPSBbXVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHVybDogc3RyaW5nW10sXG4gICAgcGFyYW06IFAsXG4gICAgbWFwPzogKHBhcmFtOiB7IHRhc2tzOiBUW10gfCB1bmRlZmluZWQgfSB8IHVuZGVmaW5lZCkgPT4gUltdIHwgdW5kZWZpbmVkLFxuICAgIHJlc3RBcGk/OiBib29sZWFuXG4gICkge1xuICAgIC8vINCR0LXQtyDRgdCy0L7QtdCz0L4gbWFwINGA0LXQt9GD0LvRjNGC0LDRgiDigJQg0LzQsNGB0YHQuNCyINC30LDQtNCw0YcsINC60LDQuiDQuCDQvtCx0LXRidCw0Y7RgiDRgtC40L/RiyBgLnJlcygpYCDQuCBgLnJlc0FsbCgpYC5cbiAgICBzdXBlcih1cmwsIHBhcmFtLCBtYXAgPz8gKHJlc3VsdCA9PiAocmVzdWx0Py50YXNrcyA/PyBbXSkgYXMgdW5rbm93biBhcyBSW10pLCByZXN0QXBpKVxuICB9XG5cbiAgcmVzQWxsKCkge1xuICAgIGxldCBzYXZlOiBSZXR1cm5UeXBlTmF2dnk8VCwgUj5bXSA9IFtdXG4gICAgcmV0dXJuIHRoaXMucmVzdWx0QWxsRW5kKClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAodiA9PiB7XG4gICAgICAgICAgICBpZiAodikge1xuICAgICAgICAgICAgICBzYXZlLnB1c2goLi4udiBhcyBSZXR1cm5UeXBlTmF2dnk8VCwgUj5bXSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBzYXZlXG4gICAgICAgICAgfVxuICAgICAgICApLFxuICAgICAgICBsYXN0KCksXG4gICAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgICApXG4gIH1cblxuICBwcml2YXRlIHJlc3VsdEFsbEVuZCgpIHtcbiAgICBsZXQgQlhSZXN0Q2xhc3MgPSBuZXcgQlhSZXN0KClcbiAgICByZXR1cm4gdGhpcy5yZXNGaXJzdFBhZ2UoKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoXG4gICAgICAgIGl0ZW1zID0+IHtcbiAgICAgICAgICBpZiAoaXRlbXMgJiYgaW5zdGFuY2VPZmlCWFJlc3RBbnN3ZXJTdWNjZXNzKGl0ZW1zKSkge1xuICAgICAgICAgICAgdGhpcy5zYXZlID0gW11cbiAgICAgICAgICAgIC8vIFRPRE86INC/0YDQvtCy0LXRgNC40YLRjCDQsdGD0LTQtdGCINC70Lgg0LHRi9GB0YLRgNC10LUg0YDQsNCx0L7RgtCw0YLRjCDQvNC10YLQvtC0INCyINGB0LvRg9GH0LDRj9GFINC60L7Qs9C00LAgdG90YWwgPCAxMDAgKNGC0L4g0LXRgdGC0Ywg0LzQvtC20L3QviDQvtCx0L7QudGC0LjRgdGMINC00LLRg9C80Y8g0L/RgNGP0LzRi9C80Lgg0LfQsNC/0YDQvtGB0LDQvNC4KVxuICAgICAgICAgICAgaWYgKGl0ZW1zLnRvdGFsICYmIGl0ZW1zLnRvdGFsID4gNTApIHtcbiAgICAgICAgICAgICAgY29uc3QgY291bnQgPSBbLi4uQXJyYXkoTWF0aC5mbG9vcihpdGVtcy50b3RhbCAvIHRoaXMucGFnZVNpemUpKS5rZXlzKCldXG5cbiAgICAgICAgICAgICAgLy8g0KDQsNC30LTQtdC70Y/QtdC8INC80LDRgdGB0LjQsiDQvdCwINCx0LvQvtC60LhcbiAgICAgICAgICAgICAgY29uc3QgY2h1bmtzID0gW11cblxuICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvdW50Lmxlbmd0aDsgaSArPSB0aGlzLnBhZ2VTaXplKSB7XG4gICAgICAgICAgICAgICAgY2h1bmtzLnB1c2goY291bnQuc2xpY2UoaSwgaSArIHRoaXMucGFnZVNpemUpKVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgY29uc3QgYmF0Y2hSZXF1ZXN0cyA9IGNodW5rcy5tYXAoY2h1bmsgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBCWFJlc3RDbGFzcy5iYXRjaDx7dGFza3M6IFRbXSB8IHVuZGVmaW5lZH1bXT4oe1xuICAgICAgICAgICAgICAgICAgaGFsdDogMSxcbiAgICAgICAgICAgICAgICAgIGNtZDogY2h1bmsubWFwKGkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJhbSA9IGNsb25lKHRoaXMucGFyYW0pXG4gICAgICAgICAgICAgICAgICAgIC8vINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdC8IHN0YXJ0INCyINC30LDQstC40YHQuNC80L7RgdGC0Lgg0L7RgiDQuNC90LTQtdC60YHQsFxuICAgICAgICAgICAgICAgICAgICBwYXJhbS5zdGFydCA9IChpICsgMSkgKiB0aGlzLnBhZ2VTaXplXG5cbiAgICAgICAgICAgICAgICAgICAgLy8g0KTQvtGA0LzQuNGA0YPQtdC8INGB0YLRgNC+0LrRgyDQt9Cw0L/RgNC+0YHQsFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldE5hbWVNZXRob2QodGhpcy51cmwpXG4gICAgICAgICAgICAgICAgICAgICAgKyAnPycgKyBzZXJpYWxpemVCaXRyaXhQYXJhbXMocGFyYW0pXG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIH0sIHRoaXMucmVxdWVzdEhlYWRlcnMpXG4gICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgcmV0dXJuIGZyb20oYmF0Y2hSZXF1ZXN0cykucGlwZShcbiAgICAgICAgICAgICAgICBjb25jYXRNYXAocmVxdWVzdCA9PiByZXF1ZXN0KSwgLy8g0JLRi9C/0L7Qu9C90Y/QtdGCINC30LDQv9GA0L7RgdGLINC/0L4g0L7Rh9C10YDQtdC00LhcbiAgICAgICAgICAgICAgICB0b0FycmF5KCksIC8vINCh0L7QsdC40YDQsNC10YIg0LLRgdC1INGA0LXQt9GD0LvRjNGC0LDRgtGLINCyINC80LDRgdGB0LjQslxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHRzID0+IHtcbiAgICAgICAgICAgICAgICAgIGlmKGl0ZW1zLnJlc3VsdCAmJiBpdGVtcy5yZXN1bHQudGFza3MpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzID0gaXRlbXMucmVzdWx0LnRhc2tzIGFzIFRbXVxuXG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IHJlc3VsdCBvZiByZXN1bHRzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdCAmJiBpbnN0YW5jZU9maUJYUmVzdEFuc3dlclN1Y2Nlc3MocmVzdWx0KSAmJiByZXN1bHQucmVzdWx0ICYmIHJlc3VsdC5yZXN1bHQucmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXMucHVzaCguLi5yZXN1bHQucmVzdWx0LnJlc3VsdC5maWx0ZXIoaSA9PiBpKS5tYXAoaSA9PiBpLnRhc2tzKS5mbGF0KCkgYXMgVFtdKVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAodGhpcy5tYXApID9cbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1hcCh7dGFza3M6IHJlc30pXG4gICAgICAgICAgICAgICAgICAgICAgOiByZXNcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd3cm9uZyBiYXRjaCcpXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5tYXBSZXNGb3JHZXRBbGwoaXRlbXMpXG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB0aGlzLm1hcFJlc0ZvckdldEFsbChpdGVtcylcbiAgICAgICAgfVxuICAgICAgKSxcbiAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnIpXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycilcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBtYXBSZXNGb3JHZXRBbGwoaXRlbXM6IGlCWFJlc3RBbnN3ZXI8e3Rhc2tzOiBUW10gfCB1bmRlZmluZWR9PiB8IHVuZGVmaW5lZCl7XG4gICAgcmV0dXJuIChpbnN0YW5jZU9maUJYUmVzdEFuc3dlclN1Y2Nlc3MoaXRlbXMpKSA/IGZyb20oW2l0ZW1zLnJlc3VsdF0pLnBpcGUoXG4gICAgICBtYXAodiA9PiAodiAmJiB0aGlzLm1hcCkgPyB0aGlzLm1hcCh2KSA6IHYpXG4gICAgKSA6IGZyb20oW10pXG4gIH1cbn1cbiJdfQ==
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2dnktcGFnLW5hdi10YXNrcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3NlcnZpY2VzL25hdnZ5L25hdnZ5LXBhZy1uYXYtdGFza3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFFakUsTUFBTSxPQUFPLGdCQUFvRCxTQUFRLG9CQUFzQztJQUU3RyxZQUNFLEdBQWEsRUFDYixLQUFRLEVBQ1IsR0FBd0UsRUFDeEUsT0FBaUI7UUFFakIsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUMxQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpQlhSZXN0UGFnaW5hdGlvbiB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L2Jhc2UvYXBpLXBhZ2luYXRpb24tYngnXG5pbXBvcnQgeyBOYXZ2eVBhZ05hdlJlc3VsdEtleSB9IGZyb20gJy4vbmF2dnktcGFnLW5hdi1yZXN1bHQta2V5J1xuXG5leHBvcnQgY2xhc3MgTmF2dnlQYWdOYXZUYXNrczxULCBSLCBQIGV4dGVuZHMgaUJYUmVzdFBhZ2luYXRpb24+IGV4dGVuZHMgTmF2dnlQYWdOYXZSZXN1bHRLZXk8VCwgUiwgUCwgJ3Rhc2tzJz4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHVybDogc3RyaW5nW10sXG4gICAgcGFyYW06IFAsXG4gICAgbWFwPzogKHBhcmFtOiB7IHRhc2tzOiBUW10gfCB1bmRlZmluZWQgfSB8IHVuZGVmaW5lZCkgPT4gUltdIHwgdW5kZWZpbmVkLFxuICAgIHJlc3RBcGk/OiBib29sZWFuXG4gICkge1xuICAgIHN1cGVyKHVybCwgcGFyYW0sICd0YXNrcycsIG1hcCwgcmVzdEFwaSlcbiAgfVxufVxuIl19
@@ -1,81 +1,15 @@
1
- import { catchError, map } from 'rxjs/operators';
2
- import { concatMap, from, mergeMap, of, throwError, toArray } from 'rxjs';
3
- import clone from 'just-clone';
4
- import { instanceOfiBXRestAnswerSuccess } from '../../functions/mapResult';
5
- import { NavvyPagBase } from './extends/navvy-pag-base';
6
- import { serializeBitrixParams } from '../../functions/serializeBitrixParams';
7
- import { BXRest } from '../../rest/base';
1
+ import { map } from 'rxjs/operators';
2
+ import { mergeMap } from 'rxjs';
3
+ import { NavvyPagBase, offsetPageParams } from './extends/navvy-pag-base';
8
4
  export class NavvyPagNavWithUselessKey extends NavvyPagBase {
9
- constructor() {
10
- super(...arguments);
11
- this.save = [];
12
- }
13
5
  resAll() {
14
- let BXRestClass = new BXRest();
15
- return this.resFirstPage().pipe(mergeMap(items => {
16
- if (items && instanceOfiBXRestAnswerSuccess(items)) {
17
- if (items.total && items.next) {
18
- const count = [...Array(Math.floor(items.total / this.pageSize)).keys()];
19
- // Разделяем массив на блоки
20
- const chunks = [];
21
- for (let i = 0; i < count.length; i += this.pageSize) {
22
- chunks.push(count.slice(i, i + this.pageSize));
23
- }
24
- const batchRequests = chunks.map(chunk => {
25
- return BXRestClass.batch({
26
- halt: 1,
27
- cmd: chunk.map(i => {
28
- const param = clone(this.param);
29
- // Устанавливаем start в зависимости от индекса
30
- param.start = (i + 1) * this.pageSize;
31
- // Формируем строку запроса
32
- return this.http.getNameMethod(this.url)
33
- + '?' + serializeBitrixParams(param);
34
- })
35
- }, this.requestHeaders).pipe(map(v => {
36
- if (v && instanceOfiBXRestAnswerSuccess(v) && v.result && v.result.result && items.result) {
37
- return Object.assign({}, items.result, v.result.result);
38
- }
39
- throw new Error('wrong batch');
40
- }));
41
- });
42
- return from(batchRequests).pipe(concatMap(request => request), // Выполняет запросы по очереди
43
- toArray()); // Собирает все результаты в массив
44
- /*
45
- return this.getAllTaskElapsedItem(func, param).pipe(
46
- map(vEnd => {
47
- if (vEnd && vEnd.result && items.result) {
48
- return merge(clone(vEnd), {result: [...items.result, ...vEnd.result]})
49
- }
50
- return items
51
- })
52
- )
53
- */
54
- }
55
- else {
56
- return of([items.result]);
57
- }
58
- }
59
- return of(undefined);
60
- // return from([BXRestMapResult(items)])
61
- // as ReturnType<Observable<T | undefined>, Observable<R | undefined>>
62
- }), map(v => {
63
- if (v) {
64
- const mergedObject = v.reduce((acc, obj) => {
65
- return { ...acc, ...obj };
66
- }, {});
67
- if (this.map) {
68
- return this.map(mergedObject);
69
- }
70
- this.save.push(...v);
71
- return this.save;
72
- }
73
- return v;
74
- }), catchError(err => {
75
- // this.snackBar.error("Проблемы с поточным получение затреканого времени")
76
- console.error(err);
77
- return throwError(() => err);
6
+ return this.resFirstPage().pipe(mergeMap(first => {
7
+ const params = first.next ? offsetPageParams(this.param, first.total, this.pageSize) : [];
8
+ return this.resPages(params).pipe(map(pages => {
9
+ const merged = Object.assign({}, first.result, ...pages);
10
+ return (this.map ? this.map(merged) : [merged]);
11
+ }));
78
12
  }));
79
13
  }
80
14
  }
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2dnktcGFnLW5hdi13aXRoLXVzZWxlc3Mta2V5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvc2VydmljZXMvbmF2dnkvbmF2dnktcGFnLW5hdi13aXRoLXVzZWxlc3Mta2V5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ3pFLE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQTtBQUM5QixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUMxRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFFdkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUE7QUFDN0UsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRXhDLE1BQU0sT0FBTyx5QkFBNkQsU0FBUSxZQUF1QztJQUF6SDs7UUFFRSxTQUFJLEdBQTRDLEVBQUUsQ0FBQTtJQW9GcEQsQ0FBQztJQWxGQyxNQUFNO1FBQ0osSUFBSSxXQUFXLEdBQUcsSUFBSSxNQUFNLEVBQUUsQ0FBQTtRQUM5QixPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQzdCLFFBQVEsQ0FDTixLQUFLLENBQUMsRUFBRTtZQUNOLElBQUksS0FBSyxJQUFJLDhCQUE4QixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ25ELElBQUksS0FBSyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQzlCLE1BQU0sS0FBSyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUE7b0JBRXhFLDRCQUE0QjtvQkFDNUIsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFBO29CQUVqQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO3dCQUNyRCxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTtvQkFDaEQsQ0FBQztvQkFFRCxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO3dCQUN2QyxPQUFPLFdBQVcsQ0FBQyxLQUFLLENBQXNCOzRCQUM1QyxJQUFJLEVBQUUsQ0FBQzs0QkFDUCxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQ0FDakIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtnQ0FDL0IsK0NBQStDO2dDQUMvQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUE7Z0NBRXJDLDJCQUEyQjtnQ0FDM0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO3NDQUNwQyxHQUFHLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUE7NEJBQ3hDLENBQUMsQ0FBQzt5QkFDSCxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQzFCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTs0QkFDTixJQUFJLENBQUMsSUFBSSw4QkFBOEIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQ0FDMUYsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFzQixDQUFBOzRCQUM5RSxDQUFDOzRCQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUE7d0JBQ2hDLENBQUMsQ0FBQyxDQUNILENBQUE7b0JBQ0gsQ0FBQyxDQUFDLENBQUE7b0JBRUYsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUM3QixTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSwrQkFBK0I7b0JBQzlELE9BQU8sRUFBRSxDQUFDLENBQUEsQ0FBQyxtQ0FBbUM7b0JBQ2hEOzs7Ozs7Ozs7dUJBU0c7Z0JBQ0wsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQTJCLENBQUMsQ0FBQyxDQUFBO2dCQUNoRCxDQUFDO1lBQ0gsQ0FBQztZQUNELE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1lBQ3BCLHdDQUF3QztZQUN4QyxzRUFBc0U7UUFDeEUsQ0FBQyxDQUNGLEVBQ0QsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ04sSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDTixNQUFNLFlBQVksR0FBc0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtvQkFDNUQsT0FBTyxFQUFFLEdBQUcsR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUE7Z0JBQzNCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtnQkFFTixJQUFHLElBQUksQ0FBQyxHQUFHLEVBQUMsQ0FBQztvQkFDWCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUE7Z0JBQy9CLENBQUM7Z0JBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUE0QyxDQUFDLENBQUE7Z0JBQy9ELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQTtZQUNsQixDQUFDO1lBQ0QsT0FBTyxDQUFDLENBQUE7UUFDVixDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDZiwyRUFBMkU7WUFDM0UsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUNsQixPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUM5QixDQUFDLENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaUJYUmVzdFBhZ2luYXRpb24gfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC9iYXNlL2FwaS1wYWdpbmF0aW9uLWJ4J1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBjb25jYXRNYXAsIGZyb20sIG1lcmdlTWFwLCBvZiwgdGhyb3dFcnJvciwgdG9BcnJheSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgY2xvbmUgZnJvbSAnanVzdC1jbG9uZSdcbmltcG9ydCB7IGluc3RhbmNlT2ZpQlhSZXN0QW5zd2VyU3VjY2VzcyB9IGZyb20gJy4uLy4uL2Z1bmN0aW9ucy9tYXBSZXN1bHQnXG5pbXBvcnQgeyBOYXZ2eVBhZ0Jhc2UgfSBmcm9tICcuL2V4dGVuZHMvbmF2dnktcGFnLWJhc2UnXG5pbXBvcnQgeyBSZXR1cm5UeXBlTmF2dnkgfSBmcm9tICcuL25hdnZ5LXN1cHBvcnQnXG5pbXBvcnQgeyBzZXJpYWxpemVCaXRyaXhQYXJhbXMgfSBmcm9tICcuLi8uLi9mdW5jdGlvbnMvc2VyaWFsaXplQml0cml4UGFyYW1zJ1xuaW1wb3J0IHsgQlhSZXN0IH0gZnJvbSAnLi4vLi4vcmVzdC9iYXNlJ1xuXG5leHBvcnQgY2xhc3MgTmF2dnlQYWdOYXZXaXRoVXNlbGVzc0tleTxULCBSLCBQIGV4dGVuZHMgaUJYUmVzdFBhZ2luYXRpb24+IGV4dGVuZHMgTmF2dnlQYWdCYXNlPFJlY29yZDxzdHJpbmcsIFQ+LCBSW10sIFA+IHtcblxuICBzYXZlOiBSZXR1cm5UeXBlTmF2dnk8UmVjb3JkPHN0cmluZywgVD4sIFJbXT4gPSBbXVxuXG4gIHJlc0FsbCgpIHtcbiAgICBsZXQgQlhSZXN0Q2xhc3MgPSBuZXcgQlhSZXN0KClcbiAgICByZXR1cm4gdGhpcy5yZXNGaXJzdFBhZ2UoKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoXG4gICAgICAgIGl0ZW1zID0+IHtcbiAgICAgICAgICBpZiAoaXRlbXMgJiYgaW5zdGFuY2VPZmlCWFJlc3RBbnN3ZXJTdWNjZXNzKGl0ZW1zKSkge1xuICAgICAgICAgICAgaWYgKGl0ZW1zLnRvdGFsICYmIGl0ZW1zLm5leHQpIHtcbiAgICAgICAgICAgICAgY29uc3QgY291bnQgPSBbLi4uQXJyYXkoTWF0aC5mbG9vcihpdGVtcy50b3RhbCAvIHRoaXMucGFnZVNpemUpKS5rZXlzKCldXG5cbiAgICAgICAgICAgICAgLy8g0KDQsNC30LTQtdC70Y/QtdC8INC80LDRgdGB0LjQsiDQvdCwINCx0LvQvtC60LhcbiAgICAgICAgICAgICAgY29uc3QgY2h1bmtzID0gW11cblxuICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvdW50Lmxlbmd0aDsgaSArPSB0aGlzLnBhZ2VTaXplKSB7XG4gICAgICAgICAgICAgICAgY2h1bmtzLnB1c2goY291bnQuc2xpY2UoaSwgaSArIHRoaXMucGFnZVNpemUpKVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgY29uc3QgYmF0Y2hSZXF1ZXN0cyA9IGNodW5rcy5tYXAoY2h1bmsgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBCWFJlc3RDbGFzcy5iYXRjaDxSZWNvcmQ8c3RyaW5nLCBUPltdPih7XG4gICAgICAgICAgICAgICAgICBoYWx0OiAxLFxuICAgICAgICAgICAgICAgICAgY21kOiBjaHVuay5tYXAoaSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcmFtID0gY2xvbmUodGhpcy5wYXJhbSlcbiAgICAgICAgICAgICAgICAgICAgLy8g0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10Lwgc3RhcnQg0LIg0LfQsNCy0LjRgdC40LzQvtGB0YLQuCDQvtGCINC40L3QtNC10LrRgdCwXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtLnN0YXJ0ID0gKGkgKyAxKSAqIHRoaXMucGFnZVNpemVcblxuICAgICAgICAgICAgICAgICAgICAvLyDQpNC+0YDQvNC40YDRg9C10Lwg0YHRgtGA0L7QutGDINC30LDQv9GA0L7RgdCwXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0TmFtZU1ldGhvZCh0aGlzLnVybClcbiAgICAgICAgICAgICAgICAgICAgICArICc/JyArIHNlcmlhbGl6ZUJpdHJpeFBhcmFtcyhwYXJhbSlcbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfSwgdGhpcy5yZXF1ZXN0SGVhZGVycykucGlwZShcbiAgICAgICAgICAgICAgICAgIG1hcCh2ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHYgJiYgaW5zdGFuY2VPZmlCWFJlc3RBbnN3ZXJTdWNjZXNzKHYpICYmIHYucmVzdWx0ICYmIHYucmVzdWx0LnJlc3VsdCAmJiBpdGVtcy5yZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgaXRlbXMucmVzdWx0LCB2LnJlc3VsdC5yZXN1bHQpIGFzIFJlY29yZDxzdHJpbmcsIFQ+XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3dyb25nIGJhdGNoJylcbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgIHJldHVybiBmcm9tKGJhdGNoUmVxdWVzdHMpLnBpcGUoXG4gICAgICAgICAgICAgICAgY29uY2F0TWFwKHJlcXVlc3QgPT4gcmVxdWVzdCksIC8vINCS0YvQv9C+0LvQvdGP0LXRgiDQt9Cw0L/RgNC+0YHRiyDQv9C+INC+0YfQtdGA0LXQtNC4XG4gICAgICAgICAgICAgICAgdG9BcnJheSgpKSAvLyDQodC+0LHQuNGA0LDQtdGCINCy0YHQtSDRgNC10LfRg9C70YzRgtCw0YLRiyDQsiDQvNCw0YHRgdC40LJcbiAgICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QWxsVGFza0VsYXBzZWRJdGVtKGZ1bmMsIHBhcmFtKS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCh2RW5kID0+IHtcbiAgICAgICAgICAgICAgICAgIGlmICh2RW5kICYmIHZFbmQucmVzdWx0ICYmIGl0ZW1zLnJlc3VsdCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWVyZ2UoY2xvbmUodkVuZCksIHtyZXN1bHQ6IFsuLi5pdGVtcy5yZXN1bHQsIC4uLnZFbmQucmVzdWx0XX0pXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbXNcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG9mKFtpdGVtcy5yZXN1bHQgYXMgUmVjb3JkPHN0cmluZywgVD5dKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKVxuICAgICAgICAgIC8vIHJldHVybiBmcm9tKFtCWFJlc3RNYXBSZXN1bHQoaXRlbXMpXSlcbiAgICAgICAgICAvLyBhcyBSZXR1cm5UeXBlPE9ic2VydmFibGU8VCB8IHVuZGVmaW5lZD4sIE9ic2VydmFibGU8UiB8IHVuZGVmaW5lZD4+XG4gICAgICAgIH1cbiAgICAgICksXG4gICAgICBtYXAodiA9PiB7XG4gICAgICAgIGlmICh2KSB7XG4gICAgICAgICAgY29uc3QgbWVyZ2VkT2JqZWN0OiBSZWNvcmQ8c3RyaW5nLCBUPiA9IHYucmVkdWNlKChhY2MsIG9iaikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHsgLi4uYWNjLCAuLi5vYmogfVxuICAgICAgICAgIH0sIHt9KVxuXG4gICAgICAgICAgaWYodGhpcy5tYXApe1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubWFwKG1lcmdlZE9iamVjdClcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5zYXZlLnB1c2goLi4udiBhcyBSZXR1cm5UeXBlTmF2dnk8UmVjb3JkPHN0cmluZywgVD4sIFJbXT4pXG4gICAgICAgICAgcmV0dXJuIHRoaXMuc2F2ZVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2XG4gICAgICB9KSxcbiAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcbiAgICAgICAgLy8gdGhpcy5zbmFja0Jhci5lcnJvcihcItCf0YDQvtCx0LvQtdC80Ysg0YEg0L/QvtGC0L7Rh9C90YvQvCDQv9C+0LvRg9GH0LXQvdC40LUg0LfQsNGC0YDQtdC60LDQvdC+0LPQviDQstGA0LXQvNC10L3QuFwiKVxuICAgICAgICBjb25zb2xlLmVycm9yKGVycilcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyKVxuICAgICAgfSlcbiAgICApXG4gIH1cbn1cbiJdfQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2dnktcGFnLW5hdi13aXRoLXVzZWxlc3Mta2V5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvc2VydmljZXMvbmF2dnkvbmF2dnktcGFnLW5hdi13aXRoLXVzZWxlc3Mta2V5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNwQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUd6RSxNQUFNLE9BQU8seUJBQTZELFNBQVEsWUFBdUM7SUFFdkgsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FDN0IsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2YsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO1lBRXpGLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBb0IsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUNsRCxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ1YsTUFBTSxNQUFNLEdBQXNCLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQTtnQkFDM0UsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQXdELENBQUE7WUFDeEcsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtRQUNILENBQUMsQ0FBQyxDQUNILENBQUE7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpQlhSZXN0UGFnaW5hdGlvbiB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L2Jhc2UvYXBpLXBhZ2luYXRpb24tYngnXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IG1lcmdlTWFwIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IE5hdnZ5UGFnQmFzZSwgb2Zmc2V0UGFnZVBhcmFtcyB9IGZyb20gJy4vZXh0ZW5kcy9uYXZ2eS1wYWctYmFzZSdcbmltcG9ydCB7IFJldHVyblR5cGVOYXZ2eSB9IGZyb20gJy4vbmF2dnktc3VwcG9ydCdcblxuZXhwb3J0IGNsYXNzIE5hdnZ5UGFnTmF2V2l0aFVzZWxlc3NLZXk8VCwgUiwgUCBleHRlbmRzIGlCWFJlc3RQYWdpbmF0aW9uPiBleHRlbmRzIE5hdnZ5UGFnQmFzZTxSZWNvcmQ8c3RyaW5nLCBUPiwgUltdLCBQPiB7XG5cbiAgcmVzQWxsKCkge1xuICAgIHJldHVybiB0aGlzLnJlc0ZpcnN0UGFnZSgpLnBpcGUoXG4gICAgICBtZXJnZU1hcChmaXJzdCA9PiB7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IGZpcnN0Lm5leHQgPyBvZmZzZXRQYWdlUGFyYW1zKHRoaXMucGFyYW0sIGZpcnN0LnRvdGFsLCB0aGlzLnBhZ2VTaXplKSA6IFtdXG5cbiAgICAgICAgcmV0dXJuIHRoaXMucmVzUGFnZXM8UmVjb3JkPHN0cmluZywgVD4+KHBhcmFtcykucGlwZShcbiAgICAgICAgICBtYXAocGFnZXMgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWVyZ2VkOiBSZWNvcmQ8c3RyaW5nLCBUPiA9IE9iamVjdC5hc3NpZ24oe30sIGZpcnN0LnJlc3VsdCwgLi4ucGFnZXMpXG4gICAgICAgICAgICByZXR1cm4gKHRoaXMubWFwID8gdGhpcy5tYXAobWVyZ2VkKSA6IFttZXJnZWRdKSBhcyBSZXR1cm5UeXBlTmF2dnk8UmVjb3JkPHN0cmluZywgVD4sIFJbXT4gfCB1bmRlZmluZWRcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICB9KVxuICAgIClcbiAgfVxufVxuIl19
@@ -1,70 +1,12 @@
1
- import { concatMap, from, mergeMap, toArray } from 'rxjs';
1
+ import { mergeMap } from 'rxjs';
2
2
  import { map } from 'rxjs/operators';
3
- import clone from 'just-clone';
4
- import { instanceOfiBXRestAnswerSuccess } from '../../functions/mapResult';
5
- import { BXRest } from '../../rest/base';
6
- import { NavvyPagBase } from './extends/navvy-pag-base';
7
- import { serializeBitrixParams } from '../../functions/serializeBitrixParams';
3
+ import { NavvyPagBase, offsetPageParams } from './extends/navvy-pag-base';
8
4
  export class NavvyPag extends NavvyPagBase {
9
- constructor() {
10
- super(...arguments);
11
- this.save = [];
12
- }
13
5
  resAll() {
14
- let BXRestClass = new BXRest();
15
- return this.resFirstPage().pipe(mergeMap(items => {
16
- if (items && instanceOfiBXRestAnswerSuccess(items)) {
17
- this.save = [];
18
- // TODO: проверить будет ли быстрее работать метод в случаях когда total < 100 (то есть можно обойтись двумя прямыми запросами)
19
- if (items.total && items.total > this.pageSize) {
20
- const mathFloor = Math.floor(items.total / this.pageSize);
21
- const count = (mathFloor === items.total / this.pageSize) // если mathFloor равен обычному делению, значит один запрос будет лишним, так как результат первой страницы уже есть, а последняя в данном случаи будет пустая (или с мусорными аднными)
22
- ? [...Array(mathFloor - 1).keys()]
23
- : [...Array(mathFloor).keys()];
24
- // Разделяем массив на блоки
25
- const chunks = [];
26
- for (let i = 0; i < count.length; i += this.pageSize) {
27
- chunks.push(count.slice(i, i + this.pageSize));
28
- }
29
- const batchRequests = chunks.map(chunk => {
30
- return BXRestClass.batch({
31
- halt: 1,
32
- cmd: chunk.map(i => {
33
- const param = clone(this.param);
34
- // Устанавливаем start в зависимости от индекса
35
- param.start = (i + 1) * this.pageSize;
36
- // Формируем строку запроса
37
- return this.http.getNameMethod(this.url)
38
- + '?' + serializeBitrixParams(param);
39
- })
40
- }, this.requestHeaders).pipe();
41
- });
42
- return from(batchRequests).pipe(concatMap(request => request), // Выполняет запросы по очереди
43
- toArray(), // Собирает все результаты в массив
44
- map(results => {
45
- const res = items.result;
46
- for (let result of results) {
47
- if (result && instanceOfiBXRestAnswerSuccess(result) && result.result && result.result.result) {
48
- res.push(...result.result.result.map(i => i).flat());
49
- }
50
- }
51
- return (this.map) ?
52
- this.map(res)
53
- : res;
54
- }));
55
- }
56
- return this.mapResForGetAll(items);
57
- }
58
- return this.mapResForGetAll(items);
59
- }), map(v => {
60
- if (v) {
61
- this.save.push(...v);
62
- }
63
- return this.save;
64
- }));
65
- }
66
- mapResForGetAll(items) {
67
- return (instanceOfiBXRestAnswerSuccess(items)) ? from([items.result]).pipe(map(v => (v && this.map) ? this.map(v) : v)) : from([]);
6
+ return this.resFirstPage().pipe(mergeMap(first => this.resPages(offsetPageParams(this.param, first.total, this.pageSize)).pipe(map(pages => {
7
+ const items = [first.result ?? [], ...pages].flat();
8
+ return ((this.map ? this.map(items) : items) ?? []);
9
+ }))));
68
10
  }
69
11
  }
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2dnktcGFnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvc2VydmljZXMvbmF2dnkvbmF2dnktcGFnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUE7QUFDeEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3BDLE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQTtBQUk5QixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUMxRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQ3ZELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFBO0FBRTdFLE1BQU0sT0FBTyxRQUE0QyxTQUFRLFlBQXlCO0lBQTFGOztRQUVFLFNBQUksR0FBNEIsRUFBRSxDQUFBO0lBNkVwQyxDQUFDO0lBM0VDLE1BQU07UUFDSixJQUFJLFdBQVcsR0FBRyxJQUFJLE1BQU0sRUFBRSxDQUFBO1FBQzlCLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FDN0IsUUFBUSxDQUNOLEtBQUssQ0FBQyxFQUFFO1lBQ04sSUFBSSxLQUFLLElBQUksOEJBQThCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDbkQsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUE7Z0JBQ2QsK0hBQStIO2dCQUMvSCxJQUFJLEtBQUssQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQy9DLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxD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Q3BDLENBQUMsQ0FDRixFQUNELEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNOLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBSSxDQUE0QixDQUFDLENBQUE7WUFDbEQsQ0FBQztZQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQTtRQUNsQixDQUFDLENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQztJQUVPLGVBQWUsQ0FBQyxLQUFxQztRQUMzRCxPQUFPLENBQUMsOEJBQThCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN4RSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUM1QyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDZCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25jYXRNYXAsIGZyb20sIG1lcmdlTWFwLCB0b0FycmF5fSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgY2xvbmUgZnJvbSAnanVzdC1jbG9uZSdcbmltcG9ydCB7IGlCWFJlc3RQYWdpbmF0aW9uIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvYmFzZS9hcGktcGFnaW5hdGlvbi1ieCdcbmltcG9ydCB7IFJldHVyblR5cGVOYXZ2eSB9IGZyb20gJy4vbmF2dnktc3VwcG9ydCdcbmltcG9ydCB7IGlCWFJlc3RBbnN3ZXIgfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC9iYXNlL2Fuc3dlcidcbmltcG9ydCB7IGluc3RhbmNlT2ZpQlhSZXN0QW5zd2VyU3VjY2VzcyB9IGZyb20gJy4uLy4uL2Z1bmN0aW9ucy9tYXBSZXN1bHQnXG5pbXBvcnQgeyBCWFJlc3QgfSBmcm9tICcuLi8uLi9yZXN0L2Jhc2UnXG5pbXBvcnQgeyBOYXZ2eVBhZ0Jhc2UgfSBmcm9tICcuL2V4dGVuZHMvbmF2dnktcGFnLWJhc2UnXG5pbXBvcnQgeyBzZXJpYWxpemVCaXRyaXhQYXJhbXMgfSBmcm9tICcuLi8uLi9mdW5jdGlvbnMvc2VyaWFsaXplQml0cml4UGFyYW1zJ1xuXG5leHBvcnQgY2xhc3MgTmF2dnlQYWc8VCwgUiwgUCBleHRlbmRzIGlCWFJlc3RQYWdpbmF0aW9uPiBleHRlbmRzIE5hdnZ5UGFnQmFzZTxUW10sIFJbXSwgUD4ge1xuXG4gIHNhdmU6IFJldHVyblR5cGVOYXZ2eTxULCBSPltdID0gW11cblxuICByZXNBbGwoKSB7XG4gICAgbGV0IEJYUmVzdENsYXNzID0gbmV3IEJYUmVzdCgpXG4gICAgcmV0dXJuIHRoaXMucmVzRmlyc3RQYWdlKCkucGlwZShcbiAgICAgIG1lcmdlTWFwKFxuICAgICAgICBpdGVtcyA9PiB7XG4gICAgICAgICAgaWYgKGl0ZW1zICYmIGluc3RhbmNlT2ZpQlhSZXN0QW5zd2VyU3VjY2VzcyhpdGVtcykpIHtcbiAgICAgICAgICAgIHRoaXMuc2F2ZSA9IFtdXG4gICAgICAgICAgICAvLyBUT0RPOiDQv9GA0L7QstC10YDQuNGC0Ywg0LHRg9C00LXRgiDQu9C4INCx0YvRgdGC0YDQtdC1INGA0LDQsdC+0YLQsNGC0Ywg0LzQtdGC0L7QtCDQsiDRgdC70YPRh9Cw0Y/RhSDQutC+0LPQtNCwIHRvdGFsIDwgMTAwICjRgtC+INC10YHRgtGMINC80L7QttC90L4g0L7QsdC+0LnRgtC40YHRjCDQtNCy0YPQvNGPINC/0YDRj9C80YvQvNC4INC30LDQv9GA0L7RgdCw0LzQuClcbiAgICAgICAgICAgIGlmIChpdGVtcy50b3RhbCAmJiBpdGVtcy50b3RhbCA+IHRoaXMucGFnZVNpemUpIHtcbiAgICAgICAgICAgICAgY29uc3QgbWF0aEZsb29yID0gTWF0aC5mbG9vcihpdGVtcy50b3RhbCAvIHRoaXMucGFnZVNpemUpXG4gICAgICAgICAgICAgIGNvbnN0IGNvdW50ID0gKG1hdGhGbG9vciA9PT0gaXRlbXMudG90YWwgLyB0aGlzLnBhZ2VTaXplKSAvLyDQtdGB0LvQuCBtYXRoRmxvb3Ig0YDQsNCy0LXQvSDQvtCx0YvRh9C90L7QvNGDINC00LXQu9C10L3QuNGOLCDQt9C90LDRh9C40YIg0L7QtNC40L0g0LfQsNC/0YDQvtGBINCx0YPQtNC10YIg0LvQuNGI0L3QuNC8LCDRgtCw0Log0LrQsNC6INGA0LXQt9GD0LvRjNGC0LDRgiDQv9C10YDQstC+0Lkg0YHRgtGA0LDQvdC40YbRiyDRg9C20LUg0LXRgdGC0YwsINCwINC/0L7RgdC70LXQtNC90Y/RjyDQsiDQtNCw0L3QvdC+0Lwg0YHQu9GD0YfQsNC4INCx0YPQtNC10YIg0L/Rg9GB0YLQsNGPICjQuNC70Lgg0YEg0LzRg9GB0L7RgNC90YvQvNC4INCw0LTQvdC90YvQvNC4KVxuICAgICAgICAgICAgICAgID8gWy4uLkFycmF5KG1hdGhGbG9vciAtIDEpLmtleXMoKV1cbiAgICAgICAgICAgICAgICA6IFsuLi5BcnJheShtYXRoRmxvb3IpLmtleXMoKV1cblxuICAgICAgICAgICAgICAvLyDQoNCw0LfQtNC10LvRj9C10Lwg0LzQsNGB0YHQuNCyINC90LAg0LHQu9C+0LrQuFxuICAgICAgICAgICAgICBjb25zdCBjaHVua3MgPSBbXVxuXG4gICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY291bnQubGVuZ3RoOyBpICs9IHRoaXMucGFnZVNpemUpIHtcbiAgICAgICAgICAgICAgICBjaHVua3MucHVzaChjb3VudC5zbGljZShpLCBpICsgdGhpcy5wYWdlU2l6ZSkpXG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBjb25zdCBiYXRjaFJlcXVlc3RzID0gY2h1bmtzLm1hcChjaHVuayA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIEJYUmVzdENsYXNzLmJhdGNoPFRbXVtdPih7XG4gICAgICAgICAgICAgICAgICBoYWx0OiAxLFxuICAgICAgICAgICAgICAgICAgY21kOiBjaHVuay5tYXAoaSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcmFtID0gY2xvbmUodGhpcy5wYXJhbSlcbiAgICAgICAgICAgICAgICAgICAgLy8g0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10Lwgc3RhcnQg0LIg0LfQsNCy0LjRgdC40LzQvtGB0YLQuCDQvtGCINC40L3QtNC10LrRgdCwXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtLnN0YXJ0ID0gKGkgKyAxKSAqIHRoaXMucGFnZVNpemVcblxuICAgICAgICAgICAgICAgICAgICAvLyDQpNC+0YDQvNC40YDRg9C10Lwg0YHRgtGA0L7QutGDINC30LDQv9GA0L7RgdCwXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0TmFtZU1ldGhvZCh0aGlzLnVybClcbiAgICAgICAgICAgICAgICAgICAgICArICc/JyArIHNlcmlhbGl6ZUJpdHJpeFBhcmFtcyhwYXJhbSlcbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfSwgdGhpcy5yZXF1ZXN0SGVhZGVycykucGlwZShcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgcmV0dXJuIGZyb20oYmF0Y2hSZXF1ZXN0cykucGlwZShcbiAgICAgICAgICAgICAgICBjb25jYXRNYXAocmVxdWVzdCA9PiByZXF1ZXN0KSwgLy8g0JLRi9C/0L7Qu9C90Y/QtdGCINC30LDQv9GA0L7RgdGLINC/0L4g0L7Rh9C10YDQtdC00LhcbiAgICAgICAgICAgICAgICB0b0FycmF5KCksIC8vINCh0L7QsdC40YDQsNC10YIg0LLRgdC1INGA0LXQt9GD0LvRjNGC0LDRgtGLINCyINC80LDRgdGB0LjQslxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHRzID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHJlcyA9IGl0ZW1zLnJlc3VsdCBhcyBUW11cbiAgICAgICAgICAgICAgICAgIGZvcihsZXQgcmVzdWx0IG9mIHJlc3VsdHMpe1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0ICYmIGluc3RhbmNlT2ZpQlhSZXN0QW5zd2VyU3VjY2VzcyhyZXN1bHQpICYmIHJlc3VsdC5yZXN1bHQgJiYgcmVzdWx0LnJlc3VsdC5yZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICByZXMucHVzaCguLi5yZXN1bHQucmVzdWx0LnJlc3VsdC5tYXAoaSA9PiBpKS5mbGF0KCkpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgcmV0dXJuICh0aGlzLm1hcCkgP1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1hcChyZXMpXG4gICAgICAgICAgICAgICAgICAgIDogcmVzXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubWFwUmVzRm9yR2V0QWxsKGl0ZW1zKVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdGhpcy5tYXBSZXNGb3JHZXRBbGwoaXRlbXMpXG4gICAgICAgIH1cbiAgICAgICksXG4gICAgICBtYXAodiA9PiB7XG4gICAgICAgIGlmICh2KSB7XG4gICAgICAgICAgdGhpcy5zYXZlLnB1c2goLi4uIHYgYXMgUmV0dXJuVHlwZU5hdnZ5PFQsIFI+W10pXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5zYXZlXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgbWFwUmVzRm9yR2V0QWxsKGl0ZW1zOiBpQlhSZXN0QW5zd2VyPFRbXT4gfCB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gKGluc3RhbmNlT2ZpQlhSZXN0QW5zd2VyU3VjY2VzcyhpdGVtcykpID8gZnJvbShbaXRlbXMucmVzdWx0XSkucGlwZShcbiAgICAgIG1hcCh2ID0+ICh2ICYmIHRoaXMubWFwKSA/IHRoaXMubWFwKHYpIDogdilcbiAgICApIDogZnJvbShbXSlcbiAgfVxufVxuIl19
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2dnktcGFnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvc2VydmljZXMvbmF2dnkvbmF2dnktcGFnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDL0IsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBR3BDLE9BQU8sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUV6RSxNQUFNLE9BQU8sUUFBNEMsU0FBUSxZQUF5QjtJQUV4RixNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUM3QixRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFNLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ2pHLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNWLE1BQU0sS0FBSyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxFQUFFLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQVMsQ0FBQTtZQUMxRCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQTRCLENBQUE7UUFDaEYsQ0FBQyxDQUFDLENBQ0gsQ0FBQyxDQUNILENBQUE7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtZXJnZU1hcCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IGlCWFJlc3RQYWdpbmF0aW9uIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvYmFzZS9hcGktcGFnaW5hdGlvbi1ieCdcbmltcG9ydCB7IFJldHVyblR5cGVOYXZ2eSB9IGZyb20gJy4vbmF2dnktc3VwcG9ydCdcbmltcG9ydCB7IE5hdnZ5UGFnQmFzZSwgb2Zmc2V0UGFnZVBhcmFtcyB9IGZyb20gJy4vZXh0ZW5kcy9uYXZ2eS1wYWctYmFzZSdcblxuZXhwb3J0IGNsYXNzIE5hdnZ5UGFnPFQsIFIsIFAgZXh0ZW5kcyBpQlhSZXN0UGFnaW5hdGlvbj4gZXh0ZW5kcyBOYXZ2eVBhZ0Jhc2U8VFtdLCBSW10sIFA+IHtcblxuICByZXNBbGwoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVzRmlyc3RQYWdlKCkucGlwZShcbiAgICAgIG1lcmdlTWFwKGZpcnN0ID0+IHRoaXMucmVzUGFnZXM8VFtdPihvZmZzZXRQYWdlUGFyYW1zKHRoaXMucGFyYW0sIGZpcnN0LnRvdGFsLCB0aGlzLnBhZ2VTaXplKSkucGlwZShcbiAgICAgICAgbWFwKHBhZ2VzID0+IHtcbiAgICAgICAgICBjb25zdCBpdGVtcyA9IFtmaXJzdC5yZXN1bHQgPz8gW10sIC4uLnBhZ2VzXS5mbGF0KCkgYXMgVFtdXG4gICAgICAgICAgcmV0dXJuICgodGhpcy5tYXAgPyB0aGlzLm1hcChpdGVtcykgOiBpdGVtcykgPz8gW10pIGFzIFJldHVyblR5cGVOYXZ2eTxULCBSPltdXG4gICAgICAgIH0pXG4gICAgICApKVxuICAgIClcbiAgfVxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy90eXBpZmljYXRpb24vcmVzdC9zZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBpSHR0cFBhcmFtU2V0dGluZ3Mge1xyXG4gICAgdGltZVpvbmU6IHtcclxuICAgICAgICBjYWxjOiBib29sZWFuXHJcbiAgICAgICAgbGV2ZWxPdXQ6IGJvb2xlYW5cclxuICAgIH1cclxufVxyXG5cclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy90eXBpZmljYXRpb24vcmVzdC9zZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgeyBpQlhSZXN0U2V0dGluZ3MgfSBmcm9tICcuLi9zZXR0aW5ncydcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgaUh0dHBQYXJhbVNldHRpbmdzIHtcclxuICAgIHRpbWVab25lOiB7XHJcbiAgICAgICAgY2FsYzogYm9vbGVhblxyXG4gICAgICAgIGxldmVsT3V0OiBib29sZWFuXHJcbiAgICB9XHJcbn1cclxuXHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3R5cGlmaWNhdGlvbi9yZXN0L3VzZXIvdXNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaUJYUmVzdFllc05vIH0gZnJvbSAnLi4vYmFzZS95ZXMtbm8nXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RVc2VyIGV4dGVuZHMgaUJYUmVzdFVzZXJCYXNlIHtcclxuICAgIElEOiBudW1iZXIsXHJcbiAgICBJU19PTkxJTkU6IGJvb2xlYW4sXHJcbiAgICBEQVRFX1JFR0lTVEVSOiBEYXRlLFxyXG4gICAgUEVSU09OQUxfQklSVEhEQVk6IERhdGUsXHJcbiAgICBMQVNUX0xPR0lOPzogRGF0ZVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RVc2VySHR0cCBleHRlbmRzIGlCWFJlc3RVc2VyQmFzZSB7XHJcbiAgICBJRDogc3RyaW5nLFxyXG4gICAgSVNfT05MSU5FOiBpQlhSZXN0WWVzTm8sXHJcbiAgICBEQVRFX1JFR0lTVEVSOiBzdHJpbmcsXHJcbiAgICBQRVJTT05BTF9CSVJUSERBWTogc3RyaW5nLFxyXG4gICAgTEFTVF9MT0dJTj86IHN0cmluZ1xyXG59XHJcblxyXG5pbnRlcmZhY2UgaUJYUmVzdFVzZXJCYXNlIHtcclxuICAgIEFDVElWRTogYm9vbGVhbixcclxuICAgIEVNQUlMOiBzdHJpbmcsXHJcbiAgICBOQU1FOiBzdHJpbmcsXHJcbiAgICBMQVNUX05BTUU6IHN0cmluZyB8IG51bGwsXHJcbiAgICBTRUNPTkRfTkFNRTogc3RyaW5nIHwgbnVsbCxcclxuICAgIFBFUlNPTkFMX0dFTkRFUj86IGlBbGxCWEdlbmRlcixcclxuICAgIFBFUlNPTkFMX1BST0ZFU1NJT04/OiBzdHJpbmcsXHJcbiAgICBQRVJTT05BTF9XV1c/OiBzdHJpbmcsXHJcbiAgICBQRVJTT05BTF9CSVJUSERBWTogc3RyaW5nIHwgRGF0ZSxcclxuICAgIFBFUlNPTkFMX1BIT1RPOiBzdHJpbmcgfCBudWxsLFxyXG4gICAgUEVSU09OQUxfSUNROiBzdHJpbmcgfCBudWxsLFxyXG4gICAgUEVSU09OQUxfUEhPTkU6IHN0cmluZyB8IG51bGwsXHJcbiAgICBQRVJTT05BTF9GQVg6IHN0cmluZyB8IG51bGwsXHJcbiAgICBQRVJTT05BTF9NT0JJTEU6IHN0cmluZyB8IG51bGwsXHJcbiAgICBQRVJTT05BTF9QQUdFUjogc3RyaW5nIHwgbnVsbCxcclxuICAgIFBFUlNPTkFMX1NUUkVFVDogc3RyaW5nIHwgbnVsbCxcclxuICAgIFBFUlNPTkFMX0NJVFk6IHN0cmluZyB8IG51bGwsXHJcbiAgICBQRVJTT05BTF9TVEFURTogc3RyaW5nfCBudWxsLFxyXG4gICAgUEVSU09OQUxfWklQOiBzdHJpbmcgfCBudWxsLFxyXG4gICAgUEVSU09OQUxfQ09VTlRSWTogc3RyaW5nIHwgbnVsbCxcclxuICAgIFRJTUVfWk9ORT86IHN0cmluZyxcclxuICAgIFRJTUVfWk9ORV9PRkZTRVQ/OiBzdHJpbmcsXHJcbiAgICBXT1JLX0NPTVBBTlk/OiBzdHJpbmcsXHJcbiAgICBXT1JLX1BPU0lUSU9OOiBzdHJpbmcgfCBudWxsLFxyXG4gICAgV09SS19QSE9ORT86IHN0cmluZyxcclxuICAgIFVGX0RFUEFSVE1FTlQ6IG51bWJlcltdIHwgbnVsbCxcclxuICAgIFVGX0lOVEVSRVNUUz86IHN0cmluZyB8IG51bGwsXHJcbiAgICBVRl9TS0lMTFM/OiBzdHJpbmcgfCBudWxsLFxyXG4gICAgVUZfV0VCX1NJVEVTPzogc3RyaW5nIHwgbnVsbCxcclxuICAgIFVGX1hJTkc/OiBzdHJpbmcgfCBudWxsLFxyXG4gICAgVUZfTElOS0VESU4/OiBzdHJpbmcgfCBudWxsLFxyXG4gICAgVUZfRkFDRUJPT0s/OiBzdHJpbmcgfCBudWxsLFxyXG4gICAgVUZfVFdJVFRFUj86IHN0cmluZyB8IG51bGwsXHJcbiAgICBVRl9TS1lQRT86IHN0cmluZyB8IG51bGwsXHJcbiAgICBVRl9ESVNUUklDVD86IHN0cmluZyB8IG51bGwsXHJcbiAgICBVRl9QSE9ORV9JTk5FUj86IHN0cmluZyB8IG51bGwsXHJcbiAgICBba2V5czogc3RyaW5nXTogYW55IC8vINCf0L7Qu9GPINC60LBj0YLQvtC80L3Ri9C1INC/0L7Qu9GPINC00LvRjyDQv9GA0LjQu9C+0LbQtdC90LjQuVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBpQWxsQlhHZW5kZXIgPSAnTScgfCAnRicgfCAnJyAvLyB3dGYgQlg/IFdoZXJlIGlzIG90aGVycyA0OCBnZW5kZXI/XHJcblxyXG5leHBvcnQgdHlwZSBpQlhSZXN0VXNlcktleSA9IGtleW9mIGlCWFJlc3RVc2VyXHJcblxyXG5leHBvcnQgdHlwZSBNYXBLZXlCeDxUeXBlPiA9IHtcclxuICAgIFtQcm9wZXJ0eSBpbiBrZXlvZiBUeXBlXTogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdFVzZXJIdHRwRmllbGQgZXh0ZW5kcyBNYXBLZXlCeDxpQlhSZXN0VXNlckJhc2U+e1xyXG59XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3R5cGlmaWNhdGlvbi9yZXN0L3VzZXIvdXNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaUJYUmVzdFllc05vIH0gZnJvbSAnLi4vYmFzZS95ZXMtbm8nXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RVc2VyIGV4dGVuZHMgaUJYUmVzdFVzZXJCYXNlIHtcclxuICAgIElEOiBudW1iZXIsXHJcbiAgICBJU19PTkxJTkU6IGJvb2xlYW4sXHJcbiAgICBEQVRFX1JFR0lTVEVSPzogRGF0ZSxcclxuICAgIFBFUlNPTkFMX0JJUlRIREFZPzogRGF0ZSxcclxuICAgIExBU1RfTE9HSU4/OiBEYXRlXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdFVzZXJIdHRwIGV4dGVuZHMgaUJYUmVzdFVzZXJCYXNlIHtcclxuICAgIElEOiBzdHJpbmcsXHJcbiAgICBJU19PTkxJTkU6IGlCWFJlc3RZZXNObyxcclxuICAgIERBVEVfUkVHSVNURVI6IHN0cmluZyxcclxuICAgIFBFUlNPTkFMX0JJUlRIREFZOiBzdHJpbmcsXHJcbiAgICBMQVNUX0xPR0lOPzogc3RyaW5nXHJcbn1cclxuXHJcbmludGVyZmFjZSBpQlhSZXN0VXNlckJhc2Uge1xyXG4gICAgQUNUSVZFOiBib29sZWFuLFxyXG4gICAgRU1BSUw6IHN0cmluZyxcclxuICAgIE5BTUU6IHN0cmluZyxcclxuICAgIExBU1RfTkFNRTogc3RyaW5nIHwgbnVsbCxcclxuICAgIFNFQ09ORF9OQU1FOiBzdHJpbmcgfCBudWxsLFxyXG4gICAgUEVSU09OQUxfR0VOREVSPzogaUFsbEJYR2VuZGVyLFxyXG4gICAgUEVSU09OQUxfUFJPRkVTU0lPTj86IHN0cmluZyxcclxuICAgIFBFUlNPTkFMX1dXVz86IHN0cmluZyxcclxuICAgIFBFUlNPTkFMX0JJUlRIREFZPzogc3RyaW5nIHwgRGF0ZSxcclxuICAgIFBFUlNPTkFMX1BIT1RPOiBzdHJpbmcgfCBudWxsLFxyXG4gICAgUEVSU09OQUxfSUNROiBzdHJpbmcgfCBudWxsLFxyXG4gICAgUEVSU09OQUxfUEhPTkU6IHN0cmluZyB8IG51bGwsXHJcbiAgICBQRVJTT05BTF9GQVg6IHN0cmluZyB8IG51bGwsXHJcbiAgICBQRVJTT05BTF9NT0JJTEU6IHN0cmluZyB8IG51bGwsXHJcbiAgICBQRVJTT05BTF9QQUdFUjogc3RyaW5nIHwgbnVsbCxcclxuICAgIFBFUlNPTkFMX1NUUkVFVDogc3RyaW5nIHwgbnVsbCxcclxuICAgIFBFUlNPTkFMX0NJVFk6IHN0cmluZyB8IG51bGwsXHJcbiAgICBQRVJTT05BTF9TVEFURTogc3RyaW5nfCBudWxsLFxyXG4gICAgUEVSU09OQUxfWklQOiBzdHJpbmcgfCBudWxsLFxyXG4gICAgUEVSU09OQUxfQ09VTlRSWTogc3RyaW5nIHwgbnVsbCxcclxuICAgIFRJTUVfWk9ORT86IHN0cmluZyxcclxuICAgIFRJTUVfWk9ORV9PRkZTRVQ/OiBzdHJpbmcsXHJcbiAgICBXT1JLX0NPTVBBTlk/OiBzdHJpbmcsXHJcbiAgICBXT1JLX1BPU0lUSU9OOiBzdHJpbmcgfCBudWxsLFxyXG4gICAgV09SS19QSE9ORT86IHN0cmluZyxcclxuICAgIFVGX0RFUEFSVE1FTlQ6IG51bWJlcltdIHwgbnVsbCxcclxuICAgIFVGX0lOVEVSRVNUUz86IHN0cmluZyB8IG51bGwsXHJcbiAgICBVRl9TS0lMTFM/OiBzdHJpbmcgfCBudWxsLFxyXG4gICAgVUZfV0VCX1NJVEVTPzogc3RyaW5nIHwgbnVsbCxcclxuICAgIFVGX1hJTkc/OiBzdHJpbmcgfCBudWxsLFxyXG4gICAgVUZfTElOS0VESU4/OiBzdHJpbmcgfCBudWxsLFxyXG4gICAgVUZfRkFDRUJPT0s/OiBzdHJpbmcgfCBudWxsLFxyXG4gICAgVUZfVFdJVFRFUj86IHN0cmluZyB8IG51bGwsXHJcbiAgICBVRl9TS1lQRT86IHN0cmluZyB8IG51bGwsXHJcbiAgICBVRl9ESVNUUklDVD86IHN0cmluZyB8IG51bGwsXHJcbiAgICBVRl9QSE9ORV9JTk5FUj86IHN0cmluZyB8IG51bGwsXHJcbiAgICBba2V5czogc3RyaW5nXTogYW55IC8vINCf0L7Qu9GPINC60LBj0YLQvtC80L3Ri9C1INC/0L7Qu9GPINC00LvRjyDQv9GA0LjQu9C+0LbQtdC90LjQuVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBpQWxsQlhHZW5kZXIgPSAnTScgfCAnRicgfCAnJyAvLyB3dGYgQlg/IFdoZXJlIGlzIG90aGVycyA0OCBnZW5kZXI/XHJcblxyXG5leHBvcnQgdHlwZSBpQlhSZXN0VXNlcktleSA9IGtleW9mIGlCWFJlc3RVc2VyXHJcblxyXG5leHBvcnQgdHlwZSBNYXBLZXlCeDxUeXBlPiA9IHtcclxuICAgIFtQcm9wZXJ0eSBpbiBrZXlvZiBUeXBlXTogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdFVzZXJIdHRwRmllbGQgZXh0ZW5kcyBNYXBLZXlCeDxpQlhSZXN0VXNlckJhc2U+e1xyXG59XHJcbiJdfQ==