monkey-front-core 0.0.150 → 0.0.151

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXJlcXVlc3Qtc2NoZWR1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvaW50ZXJmYWNlcy9zY2hlZHVsZXMvbW9ua2V5ZWN4LXJlcXVlc3Qtc2NoZWR1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vbmtleUVjeFJlcXVlc3RRdWV1ZSB9IGZyb20gJy4uL3JlcXVlc3QtcXVldWUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1vbmtleUVjeFJlcXVlc3RTY2hlZHVsZSB7XG4gIGlkPzogc3RyaW5nO1xuICB1cmw6IHN0cmluZztcbiAgbWV0aG9kOiBzdHJpbmc7XG4gIHBhcmFtcz86IGFueTtcbiAgZGF0YT86IGFueTtcbiAgYWN0aW9uKGRhdGE6IGFueSwgc2NoOiBNb25rZXlFY3hSZXF1ZXN0U2NoZWR1bGUpOiB2b2lkO1xuICBxdWV1ZT86IE1vbmtleUVjeFJlcXVlc3RRdWV1ZTtcbiAgaW50ZXJ2YWw/OiBhbnk7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXJlcXVlc3Qtc2NoZWR1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvaW50ZXJmYWNlcy9zY2hlZHVsZXMvbW9ua2V5ZWN4LXJlcXVlc3Qtc2NoZWR1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgTW9ua2V5RWN4UmVxdWVzdFF1ZXVlIH0gZnJvbSAnLi4vcmVxdWVzdC1xdWV1ZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIHVybDogc3RyaW5nO1xuICBtZXRob2Q6IHN0cmluZztcbiAgcGFyYW1zPzogYW55O1xuICBkYXRhPzogYW55O1xuICBhY3Rpb24oZGF0YTogYW55LCBzY2g6IE1vbmtleUVjeFJlcXVlc3RTY2hlZHVsZSk6IHZvaWQ7XG4gIGVycm9yQWN0aW9uPyhkYXRhOiBhbnksIHNjaDogTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlLCBlcnI/OiBIdHRwRXJyb3JSZXNwb25zZSk6IHZvaWQ7XG4gIHF1ZXVlPzogTW9ua2V5RWN4UmVxdWVzdFF1ZXVlO1xuICBpbnRlcnZhbD86IGFueTtcbn1cbiJdfQ==
@@ -3,6 +3,7 @@ import * as i0 from "@angular/core";
3
3
  export class MonkeyEcxLoggedHandlingService {
4
4
  constructor() {
5
5
  this.schedules = [];
6
+ this.genericSchedules = [];
6
7
  // not to do
7
8
  }
8
9
  destroySchedule() {
@@ -11,11 +12,21 @@ export class MonkeyEcxLoggedHandlingService {
11
12
  });
12
13
  this.schedules = [];
13
14
  }
15
+ destroyGenericSchedule() {
16
+ this.genericSchedules.forEach((sch) => {
17
+ clearInterval(sch.interval);
18
+ });
19
+ this.genericSchedules = [];
20
+ }
14
21
  addSchedule(sch) {
15
22
  this.schedules = sch;
16
23
  }
24
+ addGenericSchedule(sch) {
25
+ this.genericSchedules = sch;
26
+ }
17
27
  destroy() {
18
28
  this.destroySchedule();
29
+ this.destroyGenericSchedule();
19
30
  }
20
31
  }
21
32
  MonkeyEcxLoggedHandlingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxLoggedHandlingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
@@ -26,4 +37,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
26
37
  providedIn: 'root'
27
38
  }]
28
39
  }], ctorParameters: function () { return []; } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWxvZ2dlZC1oYW5kbGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvcmUvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2xvZ2dlZC9tb25rZXllY3gtbG9nZ2VkLWhhbmRsaW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNM0MsTUFBTSxPQUFPLDhCQUE4QjtJQUd6QztRQUZRLGNBQVMsR0FBK0IsRUFBRSxDQUFDO1FBR2pELFlBQVk7SUFDZCxDQUFDO0lBRU8sZUFBZTtRQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQTZCLEVBQUUsRUFBRTtZQUN2RCxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVNLFdBQVcsQ0FBQyxHQUErQjtRQUNoRCxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztJQUN2QixDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDOzsySEFwQlUsOEJBQThCOytIQUE5Qiw4QkFBOEIsY0FGN0IsTUFBTTsyRkFFUCw4QkFBOEI7a0JBSDFDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1vbmtleUVjeExvZ2dlZEhhbmRsaW5nU2VydmljZSB7XG4gIHByaXZhdGUgc2NoZWR1bGVzOiBNb25rZXlFY3hSZXF1ZXN0U2NoZWR1bGVbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vIG5vdCB0byBkb1xuICB9XG5cbiAgcHJpdmF0ZSBkZXN0cm95U2NoZWR1bGUoKSB7XG4gICAgdGhpcy5zY2hlZHVsZXMuZm9yRWFjaCgoc2NoOiBNb25rZXlFY3hSZXF1ZXN0U2NoZWR1bGUpID0+IHtcbiAgICAgIGNsZWFySW50ZXJ2YWwoc2NoLmludGVydmFsKTtcbiAgICB9KTtcbiAgICB0aGlzLnNjaGVkdWxlcyA9IFtdO1xuICB9XG5cbiAgcHVibGljIGFkZFNjaGVkdWxlKHNjaDogTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlW10pIHtcbiAgICB0aGlzLnNjaGVkdWxlcyA9IHNjaDtcbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveVNjaGVkdWxlKCk7XG4gIH1cbn1cbiJdfQ==
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWxvZ2dlZC1oYW5kbGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvcmUvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2xvZ2dlZC9tb25rZXllY3gtbG9nZ2VkLWhhbmRsaW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNM0MsTUFBTSxPQUFPLDhCQUE4QjtJQUt6QztRQUpRLGNBQVMsR0FBK0IsRUFBRSxDQUFDO1FBRTNDLHFCQUFnQixHQUErQixFQUFFLENBQUM7UUFHeEQsWUFBWTtJQUNkLENBQUM7SUFFTyxlQUFlO1FBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBNkIsRUFBRSxFQUFFO1lBQ3ZELGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUE2QixFQUFFLEVBQUU7WUFDOUQsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVNLFdBQVcsQ0FBQyxHQUErQjtRQUNoRCxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztJQUN2QixDQUFDO0lBRU0sa0JBQWtCLENBQUMsR0FBK0I7UUFDdkQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEdBQUcsQ0FBQztJQUM5QixDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNoQyxDQUFDOzsySEFsQ1UsOEJBQThCOytIQUE5Qiw4QkFBOEIsY0FGN0IsTUFBTTsyRkFFUCw4QkFBOEI7a0JBSDFDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1vbmtleUVjeExvZ2dlZEhhbmRsaW5nU2VydmljZSB7XG4gIHByaXZhdGUgc2NoZWR1bGVzOiBNb25rZXlFY3hSZXF1ZXN0U2NoZWR1bGVbXSA9IFtdO1xuXG4gIHByaXZhdGUgZ2VuZXJpY1NjaGVkdWxlczogTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBub3QgdG8gZG9cbiAgfVxuXG4gIHByaXZhdGUgZGVzdHJveVNjaGVkdWxlKCkge1xuICAgIHRoaXMuc2NoZWR1bGVzLmZvckVhY2goKHNjaDogTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlKSA9PiB7XG4gICAgICBjbGVhckludGVydmFsKHNjaC5pbnRlcnZhbCk7XG4gICAgfSk7XG4gICAgdGhpcy5zY2hlZHVsZXMgPSBbXTtcbiAgfVxuXG4gIHByaXZhdGUgZGVzdHJveUdlbmVyaWNTY2hlZHVsZSgpIHtcbiAgICB0aGlzLmdlbmVyaWNTY2hlZHVsZXMuZm9yRWFjaCgoc2NoOiBNb25rZXlFY3hSZXF1ZXN0U2NoZWR1bGUpID0+IHtcbiAgICAgIGNsZWFySW50ZXJ2YWwoc2NoLmludGVydmFsKTtcbiAgICB9KTtcbiAgICB0aGlzLmdlbmVyaWNTY2hlZHVsZXMgPSBbXTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRTY2hlZHVsZShzY2g6IE1vbmtleUVjeFJlcXVlc3RTY2hlZHVsZVtdKSB7XG4gICAgdGhpcy5zY2hlZHVsZXMgPSBzY2g7XG4gIH1cblxuICBwdWJsaWMgYWRkR2VuZXJpY1NjaGVkdWxlKHNjaDogTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlW10pIHtcbiAgICB0aGlzLmdlbmVyaWNTY2hlZHVsZXMgPSBzY2g7XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3lTY2hlZHVsZSgpO1xuICAgIHRoaXMuZGVzdHJveUdlbmVyaWNTY2hlZHVsZSgpO1xuICB9XG59XG4iXX0=
@@ -6,15 +6,20 @@ import * as i0 from "@angular/core";
6
6
  import * as i1 from "../monkeyecx-service.service";
7
7
  import * as i2 from "../logged";
8
8
  export class MonkeyEcxRequestScheduleService {
9
- constructor(monkeyecxService, monkeyecxLoggedHandlingService) {
9
+ constructor(monkeyecxService, monkeyLoggedHandlingService) {
10
10
  this.monkeyecxService = monkeyecxService;
11
- this.monkeyecxLoggedHandlingService = monkeyecxLoggedHandlingService;
11
+ this.monkeyLoggedHandlingService = monkeyLoggedHandlingService;
12
12
  this.schedule = [];
13
+ this.genericSchedule = [];
13
14
  // not to do
14
15
  }
15
16
  addToSchedule(q) {
16
17
  this.schedule.push(q);
17
- this.monkeyecxLoggedHandlingService.addSchedule(this.schedule);
18
+ this.monkeyLoggedHandlingService.addSchedule(this.schedule);
19
+ }
20
+ addToGenericSchedule(q) {
21
+ this.genericSchedule.push(q);
22
+ this.monkeyLoggedHandlingService.addGenericSchedule(this.genericSchedule);
18
23
  }
19
24
  removeFromSchedule(q) {
20
25
  clearInterval(q.interval);
@@ -22,66 +27,121 @@ export class MonkeyEcxRequestScheduleService {
22
27
  this.schedule = [
23
28
  ...saved.map((sch) => {
24
29
  const savedLocal = {
25
- ...sch,
30
+ ...sch
31
+ };
32
+ if (sch.id === q.id) {
33
+ return null;
34
+ }
35
+ return savedLocal;
36
+ })
37
+ ].filter((_) => {
38
+ return _;
39
+ });
40
+ this.monkeyLoggedHandlingService.addSchedule(this.schedule);
41
+ }
42
+ removeFromGenericSchedule(q) {
43
+ clearInterval(q.interval);
44
+ const saved = [...this.genericSchedule];
45
+ this.genericSchedule = [
46
+ ...saved.map((sch) => {
47
+ const savedLocal = {
48
+ ...sch
26
49
  };
27
50
  if (sch.id === q.id) {
28
51
  return null;
29
52
  }
30
53
  return savedLocal;
31
- }),
54
+ })
32
55
  ].filter((_) => {
33
56
  return _;
34
57
  });
35
- this.monkeyecxLoggedHandlingService.addSchedule(this.schedule);
58
+ this.monkeyLoggedHandlingService.addGenericSchedule(this.genericSchedule);
36
59
  }
37
60
  removeFromScheduleById(id) {
38
61
  const q = this.getScheduleById(id);
39
- clearInterval(q.interval);
62
+ clearInterval(q?.interval);
40
63
  const saved = [...this.schedule];
41
64
  this.schedule = [
42
65
  ...saved.map((sch) => {
43
66
  const savedLocal = {
44
- ...sch,
67
+ ...sch
45
68
  };
46
- if (sch.id === q.id) {
69
+ if (sch.id === q?.id) {
47
70
  return null;
48
71
  }
49
72
  return savedLocal;
50
- }),
73
+ })
51
74
  ].filter((_) => {
52
75
  return _;
53
76
  });
54
- this.monkeyecxLoggedHandlingService.addSchedule(this.schedule);
77
+ this.monkeyLoggedHandlingService.addSchedule(this.schedule);
55
78
  }
56
79
  doCall(sch) {
57
- const { url, method, params, data, action } = sch;
80
+ const { url, method, params, data, action, errorAction } = sch;
81
+ const errAction = errorAction || ((...args) => { });
58
82
  this.monkeyecxService[method.toLowerCase()](`${url}`, params).subscribe((resp) => {
59
83
  action({
60
84
  ...data,
61
- ...resp,
85
+ ...resp
62
86
  }, sch);
63
- }, () => {
87
+ }, (err) => {
64
88
  this.removeFromSchedule(sch);
89
+ errAction({
90
+ ...data
91
+ }, sch, err);
92
+ });
93
+ }
94
+ doGenericCall(sch) {
95
+ const { url, method, params, data, action, errorAction } = sch;
96
+ const errAction = errorAction || ((...args) => { });
97
+ this.monkeyecxService[method.toLowerCase()](`${url}`, params).subscribe((resp) => {
98
+ action({
99
+ ...data,
100
+ ...resp
101
+ }, sch);
102
+ }, (err) => {
103
+ this.removeFromGenericSchedule(sch);
104
+ errAction({
105
+ ...data
106
+ }, sch, err);
65
107
  });
66
108
  }
67
109
  setSchedule(q, delay = 3000) {
68
110
  const interval = setInterval(() => {
69
111
  this.doCall({
70
112
  ...q,
71
- interval,
113
+ interval
72
114
  });
73
115
  }, delay);
74
116
  const sch = {
75
117
  ...q,
76
118
  id: `${MonkeyEcxUtils.getRandomString(40)}`,
77
- interval,
119
+ interval
78
120
  };
79
121
  this.addToSchedule(sch);
80
122
  return sch;
81
123
  }
124
+ setGenericSchedule(q, delay = 3000) {
125
+ const interval = setInterval(() => {
126
+ this.doGenericCall({
127
+ ...q,
128
+ interval
129
+ });
130
+ }, delay);
131
+ const sch = {
132
+ ...q,
133
+ id: `${MonkeyEcxUtils.getRandomString(40)}`,
134
+ interval
135
+ };
136
+ this.addToGenericSchedule(sch);
137
+ return sch;
138
+ }
82
139
  removeSchedule(q) {
83
140
  this.removeFromSchedule(q);
84
141
  }
142
+ removeGenericSchedule(q) {
143
+ this.removeFromGenericSchedule(q);
144
+ }
85
145
  removeScheduleById(id) {
86
146
  this.removeFromScheduleById(id);
87
147
  }
@@ -97,17 +157,28 @@ MonkeyEcxRequestScheduleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion
97
157
  __decorate([
98
158
  MonkeyEcxCoreService({
99
159
  httpResponse: {
100
- httpCodeIgnore: [400, 403, 404, 500, 503],
160
+ httpCodeIgnore: [400, 403, 404, 500, 503]
101
161
  },
102
162
  requestInProgress: {
103
- showProgress: false,
104
- },
163
+ showProgress: false
164
+ }
105
165
  })
106
166
  ], MonkeyEcxRequestScheduleService.prototype, "doCall", null);
167
+ __decorate([
168
+ MonkeyEcxCoreService({
169
+ httpResponse: {
170
+ httpCodeIgnore: [400, 401, 403, 404, 500, 503],
171
+ httpCodeIgnoreRedirect: [503]
172
+ },
173
+ requestInProgress: {
174
+ showProgress: false
175
+ }
176
+ })
177
+ ], MonkeyEcxRequestScheduleService.prototype, "doGenericCall", null);
107
178
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxRequestScheduleService, decorators: [{
108
179
  type: Injectable,
109
180
  args: [{
110
- providedIn: 'root',
181
+ providedIn: 'root'
111
182
  }]
112
- }], ctorParameters: function () { return [{ type: i1.MonkeyEcxService }, { type: i2.MonkeyEcxLoggedHandlingService }]; }, propDecorators: { doCall: [] } });
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXJlcXVlc3Qtc2NoZWR1bGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9zY2hlZHVsZXMvbW9ua2V5ZWN4LXJlcXVlc3Qtc2NoZWR1bGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUU3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFNbkQsTUFBTSxPQUFPLCtCQUErQjtJQUcxQyxZQUNTLGdCQUFrQyxFQUNqQyw4QkFBOEQ7UUFEL0QscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyxtQ0FBOEIsR0FBOUIsOEJBQThCLENBQWdDO1FBSmhFLGFBQVEsR0FBdUMsRUFBRSxDQUFDO1FBTXhELFlBQVk7SUFDZCxDQUFDO0lBRU8sYUFBYSxDQUFDLENBQTJCO1FBQy9DLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxDQUEyQjtRQUNwRCxhQUFhLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzFCLE1BQU0sS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNkLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQTZCLEVBQUUsRUFBRTtnQkFDN0MsTUFBTSxVQUFVLEdBQUc7b0JBQ2pC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Q0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBNkIsRUFBRSxFQUFFO1lBQzdELE9BQU8sR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7OzRIQWhIVSwrQkFBK0I7Z0lBQS9CLCtCQUErQixjQUY5QixNQUFNO0FBZ0VsQjtJQVJDLG9CQUFvQixDQUFDO1FBQ3BCLFlBQVksRUFBRTtZQUNaLGNBQWMsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7U0FDMUM7UUFDRCxpQkFBaUIsRUFBRTtZQUNqQixZQUFZLEVBQUUsS0FBSztTQUNwQjtLQUNGLENBQUM7NkRBa0JEOzJGQS9FVSwrQkFBK0I7a0JBSDNDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CO29KQStEUyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9ua2V5RWN4U2VydmljZSB9IGZyb20gJy4uL21vbmtleWVjeC1zZXJ2aWNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9ua2V5RWN4Q29yZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9kZWNvcmF0b3JzL21vbmtleWVjeC1kZWNvcmF0b3JzJztcbmltcG9ydCB7IE1vbmtleUVjeExvZ2dlZEhhbmRsaW5nU2VydmljZSB9IGZyb20gJy4uL2xvZ2dlZCc7XG5pbXBvcnQgeyBNb25rZXlFY3hVdGlscyB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWxzJztcbmltcG9ydCB7IE1vbmtleUVjeFJlcXVlc3RTY2hlZHVsZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlU2VydmljZSB7XG4gIHByaXZhdGUgc2NoZWR1bGU6IChNb25rZXlFY3hSZXF1ZXN0U2NoZWR1bGUgfCBhbnkpW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgbW9ua2V5ZWN4U2VydmljZTogTW9ua2V5RWN4U2VydmljZSxcbiAgICBwcml2YXRlIG1vbmtleWVjeExvZ2dlZEhhbmRsaW5nU2VydmljZTogTW9ua2V5RWN4TG9nZ2VkSGFuZGxpbmdTZXJ2aWNlXG4gICkge1xuICAgIC8vIG5vdCB0byBkb1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRUb1NjaGVkdWxlKHE6IE1vbmtleUVjeFJlcXVlc3RTY2hlZHVsZSkge1xuICAgIHRoaXMuc2NoZWR1bGUucHVzaChxKTtcbiAgICB0aGlzLm1vbmtleWVjeExvZ2dlZEhhbmRsaW5nU2VydmljZS5hZGRTY2hlZHVsZSh0aGlzLnNjaGVkdWxlKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlRnJvbVNjaGVkdWxlKHE6IE1vbmtleUVjeFJlcXVlc3RTY2hlZHVsZSkge1xuICAgIGNsZWFySW50ZXJ2YWwocS5pbnRlcnZhbCk7XG4gICAgY29uc3Qgc2F2ZWQgPSBbLi4udGhpcy5zY2hlZHVsZV07XG4gICAgdGhpcy5zY2hlZHVsZSA9IFtcbiAgICAgIC4uLnNhdmVkLm1hcCgoc2NoOiBNb25rZXlFY3hSZXF1ZXN0U2NoZWR1bGUpID0+IHtcbiAgICAgICAgY29uc3Qgc2F2ZWRMb2NhbCA9IHtcbiAgICAgICAgICAuLi5zY2gsXG4gICAgICAgIH07XG4gICAgICAgIGlmIChzY2guaWQgPT09IHEuaWQpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc2F2ZWRMb2NhbDtcbiAgICAgIH0pLFxuICAgIF0uZmlsdGVyKChfOiBhbnkpID0+IHtcbiAgICAgIHJldHVybiBfO1xuICAgIH0pO1xuICAgIHRoaXMubW9ua2V5ZWN4TG9nZ2VkSGFuZGxpbmdTZXJ2aWNlLmFkZFNjaGVkdWxlKHRoaXMuc2NoZWR1bGUpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVGcm9tU2NoZWR1bGVCeUlkKGlkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBxID0gdGhpcy5nZXRTY2hlZHVsZUJ5SWQoaWQpO1xuICAgIGNsZWFySW50ZXJ2YWwocS5pbnRlcnZhbCk7XG4gICAgY29uc3Qgc2F2ZWQgPSBbLi4udGhpcy5zY2hlZHVsZV07XG4gICAgdGhpcy5zY2hlZHVsZSA9IFtcbiAgICAgIC4uLnNhdmVkLm1hcCgoc2NoOiBNb25rZXlFY3hSZXF1ZXN0U2NoZWR1bGUpID0+IHtcbiAgICAgICAgY29uc3Qgc2F2ZWRMb2NhbCA9IHtcbiAgICAgICAgICAuLi5zY2gsXG4gICAgICAgIH07XG4gICAgICAgIGlmIChzY2guaWQgPT09IHEuaWQpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc2F2ZWRMb2NhbDtcbiAgICAgIH0pLFxuICAgIF0uZmlsdGVyKChfOiBhbnkpID0+IHtcbiAgICAgIHJldHVybiBfO1xuICAgIH0pO1xuICAgIHRoaXMubW9ua2V5ZWN4TG9nZ2VkSGFuZGxpbmdTZXJ2aWNlLmFkZFNjaGVkdWxlKHRoaXMuc2NoZWR1bGUpO1xuICB9XG5cbiAgQE1vbmtleUVjeENvcmVTZXJ2aWNlKHtcbiAgICBodHRwUmVzcG9uc2U6IHtcbiAgICAgIGh0dHBDb2RlSWdub3JlOiBbNDAwLCA0MDMsIDQwNCwgNTAwLCA1MDNdLFxuICAgIH0sXG4gICAgcmVxdWVzdEluUHJvZ3Jlc3M6IHtcbiAgICAgIHNob3dQcm9ncmVzczogZmFsc2UsXG4gICAgfSxcbiAgfSlcbiAgcHJpdmF0ZSBkb0NhbGwoc2NoOiBNb25rZXlFY3hSZXF1ZXN0U2NoZWR1bGUpIHtcbiAgICBjb25zdCB7IHVybCwgbWV0aG9kLCBwYXJhbXMsIGRhdGEsIGFjdGlvbiB9ID0gc2NoO1xuXG4gICAgdGhpcy5tb25rZXllY3hTZXJ2aWNlW21ldGhvZC50b0xvd2VyQ2FzZSgpXTxhbnk+KGAke3VybH1gLCBwYXJhbXMpLnN1YnNjcmliZShcbiAgICAgIChyZXNwOiBhbnkpID0+IHtcbiAgICAgICAgYWN0aW9uKFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIC4uLmRhdGEsXG4gICAgICAgICAgICAuLi5yZXNwLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgc2NoXG4gICAgICAgICk7XG4gICAgICB9LFxuICAgICAgKCkgPT4ge1xuICAgICAgICB0aGlzLnJlbW92ZUZyb21TY2hlZHVsZShzY2gpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2V0U2NoZWR1bGUocTogTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlLCBkZWxheTogbnVtYmVyID0gMzAwMCkge1xuICAgIGNvbnN0IGludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgdGhpcy5kb0NhbGwoe1xuICAgICAgICAuLi5xLFxuICAgICAgICBpbnRlcnZhbCxcbiAgICAgIH0pO1xuICAgIH0sIGRlbGF5KTtcblxuICAgIGNvbnN0IHNjaCA9IHtcbiAgICAgIC4uLnEsXG4gICAgICBpZDogYCR7TW9ua2V5RWN4VXRpbHMuZ2V0UmFuZG9tU3RyaW5nKDQwKX1gLFxuICAgICAgaW50ZXJ2YWwsXG4gICAgfTtcblxuICAgIHRoaXMuYWRkVG9TY2hlZHVsZShzY2gpO1xuICAgIHJldHVybiBzY2g7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlU2NoZWR1bGUocTogTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlKSB7XG4gICAgdGhpcy5yZW1vdmVGcm9tU2NoZWR1bGUocSk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlU2NoZWR1bGVCeUlkKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnJlbW92ZUZyb21TY2hlZHVsZUJ5SWQoaWQpO1xuICB9XG5cbiAgcHVibGljIGdldFNjaGVkdWxlQnlJZChpZDogc3RyaW5nKSB7XG4gICAgY29uc3QgcSA9IHRoaXMuc2NoZWR1bGUuZmluZCgoc2NoOiBNb25rZXlFY3hSZXF1ZXN0U2NoZWR1bGUpID0+IHtcbiAgICAgIHJldHVybiBzY2guaWQgPT09IGlkO1xuICAgIH0pO1xuICAgIHJldHVybiBxO1xuICB9XG59XG4iXX0=
183
+ }], ctorParameters: function () { return [{ type: i1.MonkeyEcxService }, { type: i2.MonkeyEcxLoggedHandlingService }]; }, propDecorators: { doCall: [], doGenericCall: [] } });
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXJlcXVlc3Qtc2NoZWR1bGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9zY2hlZHVsZXMvbW9ua2V5ZWN4LXJlcXVlc3Qtc2NoZWR1bGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFRbkQsTUFBTSxPQUFPLCtCQUErQjtJQUsxQyxZQUNTLGdCQUFrQyxFQUNqQywyQkFBMkQ7UUFENUQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyxnQ0FBMkIsR0FBM0IsMkJBQTJCLENBQWdDO1FBTjdELGFBQVEsR0FBdUMsRUFBRSxDQUFDO1FBRWxELG9CQUFlLEdBQXVDLEVBQUUsQ0FBQztRQU0vRCxZQUFZO0lBQ2QsQ0FBQztJQUVPLGFBQWEsQ0FBQyxDQUEyQjtRQUMvQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsMkJBQTJCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU8sb0JBQW9CLENBQUMsQ0FBMkI7UUFDdEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLDJCQUEyQixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRU8sa0JBQWtCLENBQUMsQ0FBMkI7UUFDcEQsYUFBYSxDQUFDLENBQUMsQ0FB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QUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVNLGVBQWUsQ0FBQyxFQUFVO1FBQy9CLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBNkIsRUFBRSxFQUFFO1lBQzdELE9BQU8sR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7OzRIQTlNVSwrQkFBK0I7Z0lBQS9CLCtCQUErQixjQUY5QixNQUFNO0FBMEZsQjtJQVJDLG9CQUFvQixDQUFDO1FBQ3BCLFlBQVksRUFBRTtZQUNaLGNBQWMsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7U0FDMUM7UUFDRCxpQkFBaUIsRUFBRTtZQUNqQixZQUFZLEVBQUUsS0FBSztTQUNwQjtLQUNGLENBQUM7NkRBMkJEO0FBV0Q7SUFUQyxvQkFBb0IsQ0FBQztRQUNwQixZQUFZLEVBQUU7WUFDWixjQUFjLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztZQUM5QyxzQkFBc0IsRUFBRSxDQUFDLEdBQUcsQ0FBQztTQUM5QjtRQUNELGlCQUFpQixFQUFFO1lBQ2pCLFlBQVksRUFBRSxLQUFLO1NBQ3BCO0tBQ0YsQ0FBQztvRUEyQkQ7MkZBdkpVLCtCQUErQjtrQkFIM0MsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7b0pBeUZTLE1BQU0sTUFxQ04sYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgTW9ua2V5RWN4Q29yZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9kZWNvcmF0b3JzL21vbmtleWVjeC1kZWNvcmF0b3JzJztcbmltcG9ydCB7IE1vbmtleUVjeFV0aWxzIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbHMnO1xuaW1wb3J0IHsgTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBNb25rZXlFY3hTZXJ2aWNlIH0gZnJvbSAnLi4vbW9ua2V5ZWN4LXNlcnZpY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBNb25rZXlFY3hMb2dnZWRIYW5kbGluZ1NlcnZpY2UgfSBmcm9tICcuLi9sb2dnZWQnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hSZXF1ZXN0U2NoZWR1bGVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBzY2hlZHVsZTogTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlW10gfCBhbnlbXSA9IFtdO1xuXG4gIHByaXZhdGUgZ2VuZXJpY1NjaGVkdWxlOiBNb25rZXlFY3hSZXF1ZXN0U2NoZWR1bGVbXSB8IGFueVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIG1vbmtleWVjeFNlcnZpY2U6IE1vbmtleUVjeFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtb25rZXlMb2dnZWRIYW5kbGluZ1NlcnZpY2U6IE1vbmtleUVjeExvZ2dlZEhhbmRsaW5nU2VydmljZVxuICApIHtcbiAgICAvLyBub3QgdG8gZG9cbiAgfVxuXG4gIHByaXZhdGUgYWRkVG9TY2hlZHVsZShxOiBNb25rZXlFY3hSZXF1ZXN0U2NoZWR1bGUpIHtcbiAgICB0aGlzLnNjaGVkdWxlLnB1c2gocSk7XG4gICAgdGhpcy5tb25rZXlMb2dnZWRIYW5kbGluZ1NlcnZpY2UuYWRkU2NoZWR1bGUodGhpcy5zY2hlZHVsZSk7XG4gIH1cblxuICBwcml2YXRlIGFkZFRvR2VuZXJpY1NjaGVkdWxlKHE6IE1vbmtleUVjeFJlcXVlc3RTY2hlZHVsZSkge1xuICAgIHRoaXMuZ2VuZXJpY1NjaGVkdWxlLnB1c2gocSk7XG4gICAgdGhpcy5tb25rZXlMb2dnZWRIYW5kbGluZ1NlcnZpY2UuYWRkR2VuZXJpY1NjaGVkdWxlKHRoaXMuZ2VuZXJpY1NjaGVkdWxlKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlRnJvbVNjaGVkdWxlKHE6IE1vbmtleUVjeFJlcXVlc3RTY2hlZHVsZSkge1xuICAgIGNsZWFySW50ZXJ2YWwocS5pbnRlcnZhbCk7XG4gICAgY29uc3Qgc2F2ZWQgPSBbLi4udGhpcy5zY2hlZHVsZV07XG4gICAgdGhpcy5zY2hlZHVsZSA9IFtcbiAgICAgIC4uLnNhdmVkLm1hcCgoc2NoOiBNb25rZXlFY3hSZXF1ZXN0U2NoZWR1bGUpID0+IHtcbiAgICAgICAgY29uc3Qgc2F2ZWRMb2NhbCA9IHtcbiAgICAgICAgICAuLi5zY2hcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHNjaC5pZCA9PT0gcS5pZCkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzYXZlZExvY2FsO1xuICAgICAgfSlcbiAgICBdLmZpbHRlcigoXzogYW55KSA9PiB7XG4gICAgICByZXR1cm4gXztcbiAgICB9KTtcbiAgICB0aGlzLm1vbmtleUxvZ2dlZEhhbmRsaW5nU2VydmljZS5hZGRTY2hlZHVsZSh0aGlzLnNjaGVkdWxlKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlRnJvbUdlbmVyaWNTY2hlZHVsZShxOiBNb25rZXlFY3hSZXF1ZXN0U2NoZWR1bGUpIHtcbiAgICBjbGVhckludGVydmFsKHEuaW50ZXJ2YWwpO1xuICAgIGNvbnN0IHNhdmVkID0gWy4uLnRoaXMuZ2VuZXJpY1NjaGVkdWxlXTtcbiAgICB0aGlzLmdlbmVyaWNTY2hlZHVsZSA9IFtcbiAgICAgIC4uLnNhdmVkLm1hcCgoc2NoOiBNb25rZXlFY3hSZXF1ZXN0U2NoZWR1bGUpID0+IHtcbiAgICAgICAgY29uc3Qgc2F2ZWRMb2NhbCA9IHtcbiAgICAgICAgICAuLi5zY2hcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHNjaC5pZCA9PT0gcS5pZCkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzYXZlZExvY2FsO1xuICAgICAgfSlcbiAgICBdLmZpbHRlcigoXzogYW55KSA9PiB7XG4gICAgICByZXR1cm4gXztcbiAgICB9KTtcbiAgICB0aGlzLm1vbmtleUxvZ2dlZEhhbmRsaW5nU2VydmljZS5hZGRHZW5lcmljU2NoZWR1bGUodGhpcy5nZW5lcmljU2NoZWR1bGUpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVGcm9tU2NoZWR1bGVCeUlkKGlkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBxID0gdGhpcy5nZXRTY2hlZHVsZUJ5SWQoaWQpO1xuICAgIGNsZWFySW50ZXJ2YWwocT8uaW50ZXJ2YWwpO1xuICAgIGNvbnN0IHNhdmVkID0gWy4uLnRoaXMuc2NoZWR1bGVdO1xuICAgIHRoaXMuc2NoZWR1bGUgPSBbXG4gICAgICAuLi5zYXZlZC5tYXAoKHNjaDogTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlKSA9PiB7XG4gICAgICAgIGNvbnN0IHNhdmVkTG9jYWwgPSB7XG4gICAgICAgICAgLi4uc2NoXG4gICAgICAgIH07XG4gICAgICAgIGlmIChzY2guaWQgPT09IHE/LmlkKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHNhdmVkTG9jYWw7XG4gICAgICB9KVxuICAgIF0uZmlsdGVyKChfOiBhbnkpID0+IHtcbiAgICAgIHJldHVybiBfO1xuICAgIH0pO1xuICAgIHRoaXMubW9ua2V5TG9nZ2VkSGFuZGxpbmdTZXJ2aWNlLmFkZFNjaGVkdWxlKHRoaXMuc2NoZWR1bGUpO1xuICB9XG5cbiAgQE1vbmtleUVjeENvcmVTZXJ2aWNlKHtcbiAgICBodHRwUmVzcG9uc2U6IHtcbiAgICAgIGh0dHBDb2RlSWdub3JlOiBbNDAwLCA0MDMsIDQwNCwgNTAwLCA1MDNdXG4gICAgfSxcbiAgICByZXF1ZXN0SW5Qcm9ncmVzczoge1xuICAgICAgc2hvd1Byb2dyZXNzOiBmYWxzZVxuICAgIH1cbiAgfSlcbiAgcHJpdmF0ZSBkb0NhbGwoc2NoOiBNb25rZXlFY3hSZXF1ZXN0U2NoZWR1bGUpIHtcbiAgICBjb25zdCB7IHVybCwgbWV0aG9kLCBwYXJhbXMsIGRhdGEsIGFjdGlvbiwgZXJyb3JBY3Rpb24gfSA9IHNjaDtcblxuICAgIGNvbnN0IGVyckFjdGlvbiA9IGVycm9yQWN0aW9uIHx8ICgoLi4uYXJncykgPT4ge30pO1xuXG4gICAgdGhpcy5tb25rZXllY3hTZXJ2aWNlW21ldGhvZC50b0xvd2VyQ2FzZSgpXTxhbnk+KGAke3VybH1gLCBwYXJhbXMpLnN1YnNjcmliZShcbiAgICAgIChyZXNwOiBhbnkpID0+IHtcbiAgICAgICAgYWN0aW9uKFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIC4uLmRhdGEsXG4gICAgICAgICAgICAuLi5yZXNwXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzY2hcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgICAoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICB0aGlzLnJlbW92ZUZyb21TY2hlZHVsZShzY2gpO1xuICAgICAgICBlcnJBY3Rpb24oXG4gICAgICAgICAge1xuICAgICAgICAgICAgLi4uZGF0YVxuICAgICAgICAgIH0sXG4gICAgICAgICAgc2NoLFxuICAgICAgICAgIGVyclxuICAgICAgICApO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBATW9ua2V5RWN4Q29yZVNlcnZpY2Uoe1xuICAgIGh0dHBSZXNwb25zZToge1xuICAgICAgaHR0cENvZGVJZ25vcmU6IFs0MDAsIDQwMSwgNDAzLCA0MDQsIDUwMCwgNTAzXSxcbiAgICAgIGh0dHBDb2RlSWdub3JlUmVkaXJlY3Q6IFs1MDNdXG4gICAgfSxcbiAgICByZXF1ZXN0SW5Qcm9ncmVzczoge1xuICAgICAgc2hvd1Byb2dyZXNzOiBmYWxzZVxuICAgIH1cbiAgfSlcbiAgcHJpdmF0ZSBkb0dlbmVyaWNDYWxsKHNjaDogTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlKSB7XG4gICAgY29uc3QgeyB1cmwsIG1ldGhvZCwgcGFyYW1zLCBkYXRhLCBhY3Rpb24sIGVycm9yQWN0aW9uIH0gPSBzY2g7XG5cbiAgICBjb25zdCBlcnJBY3Rpb24gPSBlcnJvckFjdGlvbiB8fCAoKC4uLmFyZ3MpID0+IHt9KTtcblxuICAgIHRoaXMubW9ua2V5ZWN4U2VydmljZVttZXRob2QudG9Mb3dlckNhc2UoKV08YW55PihgJHt1cmx9YCwgcGFyYW1zKS5zdWJzY3JpYmUoXG4gICAgICAocmVzcDogYW55KSA9PiB7XG4gICAgICAgIGFjdGlvbihcbiAgICAgICAgICB7XG4gICAgICAgICAgICAuLi5kYXRhLFxuICAgICAgICAgICAgLi4ucmVzcFxuICAgICAgICAgIH0sXG4gICAgICAgICAgc2NoXG4gICAgICAgICk7XG4gICAgICB9LFxuICAgICAgKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy5yZW1vdmVGcm9tR2VuZXJpY1NjaGVkdWxlKHNjaCk7XG4gICAgICAgIGVyckFjdGlvbihcbiAgICAgICAgICB7XG4gICAgICAgICAgICAuLi5kYXRhXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzY2gsXG4gICAgICAgICAgZXJyXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRTY2hlZHVsZShxOiBNb25rZXlFY3hSZXF1ZXN0U2NoZWR1bGUsIGRlbGF5OiBudW1iZXIgPSAzMDAwKSB7XG4gICAgY29uc3QgaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICB0aGlzLmRvQ2FsbCh7XG4gICAgICAgIC4uLnEsXG4gICAgICAgIGludGVydmFsXG4gICAgICB9KTtcbiAgICB9LCBkZWxheSk7XG5cbiAgICBjb25zdCBzY2ggPSB7XG4gICAgICAuLi5xLFxuICAgICAgaWQ6IGAke01vbmtleUVjeFV0aWxzLmdldFJhbmRvbVN0cmluZyg0MCl9YCxcbiAgICAgIGludGVydmFsXG4gICAgfTtcblxuICAgIHRoaXMuYWRkVG9TY2hlZHVsZShzY2gpO1xuICAgIHJldHVybiBzY2g7XG4gIH1cblxuICBwdWJsaWMgc2V0R2VuZXJpY1NjaGVkdWxlKHE6IE1vbmtleUVjeFJlcXVlc3RTY2hlZHVsZSwgZGVsYXk6IG51bWJlciA9IDMwMDApIHtcbiAgICBjb25zdCBpbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIHRoaXMuZG9HZW5lcmljQ2FsbCh7XG4gICAgICAgIC4uLnEsXG4gICAgICAgIGludGVydmFsXG4gICAgICB9KTtcbiAgICB9LCBkZWxheSk7XG5cbiAgICBjb25zdCBzY2ggPSB7XG4gICAgICAuLi5xLFxuICAgICAgaWQ6IGAke01vbmtleUVjeFV0aWxzLmdldFJhbmRvbVN0cmluZyg0MCl9YCxcbiAgICAgIGludGVydmFsXG4gICAgfTtcblxuICAgIHRoaXMuYWRkVG9HZW5lcmljU2NoZWR1bGUoc2NoKTtcbiAgICByZXR1cm4gc2NoO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZVNjaGVkdWxlKHE6IE1vbmtleUVjeFJlcXVlc3RTY2hlZHVsZSkge1xuICAgIHRoaXMucmVtb3ZlRnJvbVNjaGVkdWxlKHEpO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUdlbmVyaWNTY2hlZHVsZShxOiBNb25rZXlFY3hSZXF1ZXN0U2NoZWR1bGUpIHtcbiAgICB0aGlzLnJlbW92ZUZyb21HZW5lcmljU2NoZWR1bGUocSk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlU2NoZWR1bGVCeUlkKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnJlbW92ZUZyb21TY2hlZHVsZUJ5SWQoaWQpO1xuICB9XG5cbiAgcHVibGljIGdldFNjaGVkdWxlQnlJZChpZDogc3RyaW5nKSB7XG4gICAgY29uc3QgcSA9IHRoaXMuc2NoZWR1bGUuZmluZCgoc2NoOiBNb25rZXlFY3hSZXF1ZXN0U2NoZWR1bGUpID0+IHtcbiAgICAgIHJldHVybiBzY2guaWQgPT09IGlkO1xuICAgIH0pO1xuICAgIHJldHVybiBxO1xuICB9XG59XG4iXX0=
@@ -4208,6 +4208,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
4208
4208
  class MonkeyEcxLoggedHandlingService {
4209
4209
  constructor() {
4210
4210
  this.schedules = [];
4211
+ this.genericSchedules = [];
4211
4212
  // not to do
4212
4213
  }
4213
4214
  destroySchedule() {
@@ -4216,11 +4217,21 @@ class MonkeyEcxLoggedHandlingService {
4216
4217
  });
4217
4218
  this.schedules = [];
4218
4219
  }
4220
+ destroyGenericSchedule() {
4221
+ this.genericSchedules.forEach((sch) => {
4222
+ clearInterval(sch.interval);
4223
+ });
4224
+ this.genericSchedules = [];
4225
+ }
4219
4226
  addSchedule(sch) {
4220
4227
  this.schedules = sch;
4221
4228
  }
4229
+ addGenericSchedule(sch) {
4230
+ this.genericSchedules = sch;
4231
+ }
4222
4232
  destroy() {
4223
4233
  this.destroySchedule();
4234
+ this.destroyGenericSchedule();
4224
4235
  }
4225
4236
  }
4226
4237
  MonkeyEcxLoggedHandlingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxLoggedHandlingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
@@ -4410,15 +4421,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
4410
4421
  }], ctorParameters: function () { return [{ type: i1$3.Router }]; } });
4411
4422
 
4412
4423
  class MonkeyEcxRequestScheduleService {
4413
- constructor(monkeyecxService, monkeyecxLoggedHandlingService) {
4424
+ constructor(monkeyecxService, monkeyLoggedHandlingService) {
4414
4425
  this.monkeyecxService = monkeyecxService;
4415
- this.monkeyecxLoggedHandlingService = monkeyecxLoggedHandlingService;
4426
+ this.monkeyLoggedHandlingService = monkeyLoggedHandlingService;
4416
4427
  this.schedule = [];
4428
+ this.genericSchedule = [];
4417
4429
  // not to do
4418
4430
  }
4419
4431
  addToSchedule(q) {
4420
4432
  this.schedule.push(q);
4421
- this.monkeyecxLoggedHandlingService.addSchedule(this.schedule);
4433
+ this.monkeyLoggedHandlingService.addSchedule(this.schedule);
4434
+ }
4435
+ addToGenericSchedule(q) {
4436
+ this.genericSchedule.push(q);
4437
+ this.monkeyLoggedHandlingService.addGenericSchedule(this.genericSchedule);
4422
4438
  }
4423
4439
  removeFromSchedule(q) {
4424
4440
  clearInterval(q.interval);
@@ -4430,35 +4446,63 @@ class MonkeyEcxRequestScheduleService {
4430
4446
  return null;
4431
4447
  }
4432
4448
  return savedLocal;
4433
- }),
4449
+ })
4450
+ ].filter((_) => {
4451
+ return _;
4452
+ });
4453
+ this.monkeyLoggedHandlingService.addSchedule(this.schedule);
4454
+ }
4455
+ removeFromGenericSchedule(q) {
4456
+ clearInterval(q.interval);
4457
+ const saved = [...this.genericSchedule];
4458
+ this.genericSchedule = [
4459
+ ...saved.map((sch) => {
4460
+ const savedLocal = Object.assign({}, sch);
4461
+ if (sch.id === q.id) {
4462
+ return null;
4463
+ }
4464
+ return savedLocal;
4465
+ })
4434
4466
  ].filter((_) => {
4435
4467
  return _;
4436
4468
  });
4437
- this.monkeyecxLoggedHandlingService.addSchedule(this.schedule);
4469
+ this.monkeyLoggedHandlingService.addGenericSchedule(this.genericSchedule);
4438
4470
  }
4439
4471
  removeFromScheduleById(id) {
4440
4472
  const q = this.getScheduleById(id);
4441
- clearInterval(q.interval);
4473
+ clearInterval(q === null || q === void 0 ? void 0 : q.interval);
4442
4474
  const saved = [...this.schedule];
4443
4475
  this.schedule = [
4444
4476
  ...saved.map((sch) => {
4445
4477
  const savedLocal = Object.assign({}, sch);
4446
- if (sch.id === q.id) {
4478
+ if (sch.id === (q === null || q === void 0 ? void 0 : q.id)) {
4447
4479
  return null;
4448
4480
  }
4449
4481
  return savedLocal;
4450
- }),
4482
+ })
4451
4483
  ].filter((_) => {
4452
4484
  return _;
4453
4485
  });
4454
- this.monkeyecxLoggedHandlingService.addSchedule(this.schedule);
4486
+ this.monkeyLoggedHandlingService.addSchedule(this.schedule);
4455
4487
  }
4456
4488
  doCall(sch) {
4457
- const { url, method, params, data, action } = sch;
4489
+ const { url, method, params, data, action, errorAction } = sch;
4490
+ const errAction = errorAction || ((...args) => { });
4458
4491
  this.monkeyecxService[method.toLowerCase()](`${url}`, params).subscribe((resp) => {
4459
4492
  action(Object.assign(Object.assign({}, data), resp), sch);
4460
- }, () => {
4493
+ }, (err) => {
4461
4494
  this.removeFromSchedule(sch);
4495
+ errAction(Object.assign({}, data), sch, err);
4496
+ });
4497
+ }
4498
+ doGenericCall(sch) {
4499
+ const { url, method, params, data, action, errorAction } = sch;
4500
+ const errAction = errorAction || ((...args) => { });
4501
+ this.monkeyecxService[method.toLowerCase()](`${url}`, params).subscribe((resp) => {
4502
+ action(Object.assign(Object.assign({}, data), resp), sch);
4503
+ }, (err) => {
4504
+ this.removeFromGenericSchedule(sch);
4505
+ errAction(Object.assign({}, data), sch, err);
4462
4506
  });
4463
4507
  }
4464
4508
  setSchedule(q, delay = 3000) {
@@ -4469,9 +4513,20 @@ class MonkeyEcxRequestScheduleService {
4469
4513
  this.addToSchedule(sch);
4470
4514
  return sch;
4471
4515
  }
4516
+ setGenericSchedule(q, delay = 3000) {
4517
+ const interval = setInterval(() => {
4518
+ this.doGenericCall(Object.assign(Object.assign({}, q), { interval }));
4519
+ }, delay);
4520
+ const sch = Object.assign(Object.assign({}, q), { id: `${MonkeyEcxUtils.getRandomString(40)}`, interval });
4521
+ this.addToGenericSchedule(sch);
4522
+ return sch;
4523
+ }
4472
4524
  removeSchedule(q) {
4473
4525
  this.removeFromSchedule(q);
4474
4526
  }
4527
+ removeGenericSchedule(q) {
4528
+ this.removeFromGenericSchedule(q);
4529
+ }
4475
4530
  removeScheduleById(id) {
4476
4531
  this.removeFromScheduleById(id);
4477
4532
  }
@@ -4487,19 +4542,30 @@ MonkeyEcxRequestScheduleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion
4487
4542
  __decorate([
4488
4543
  MonkeyEcxCoreService({
4489
4544
  httpResponse: {
4490
- httpCodeIgnore: [400, 403, 404, 500, 503],
4545
+ httpCodeIgnore: [400, 403, 404, 500, 503]
4491
4546
  },
4492
4547
  requestInProgress: {
4493
- showProgress: false,
4494
- },
4548
+ showProgress: false
4549
+ }
4495
4550
  })
4496
4551
  ], MonkeyEcxRequestScheduleService.prototype, "doCall", null);
4552
+ __decorate([
4553
+ MonkeyEcxCoreService({
4554
+ httpResponse: {
4555
+ httpCodeIgnore: [400, 401, 403, 404, 500, 503],
4556
+ httpCodeIgnoreRedirect: [503]
4557
+ },
4558
+ requestInProgress: {
4559
+ showProgress: false
4560
+ }
4561
+ })
4562
+ ], MonkeyEcxRequestScheduleService.prototype, "doGenericCall", null);
4497
4563
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxRequestScheduleService, decorators: [{
4498
4564
  type: Injectable,
4499
4565
  args: [{
4500
- providedIn: 'root',
4566
+ providedIn: 'root'
4501
4567
  }]
4502
- }], ctorParameters: function () { return [{ type: MonkeyEcxService }, { type: MonkeyEcxLoggedHandlingService }]; }, propDecorators: { doCall: [] } });
4568
+ }], ctorParameters: function () { return [{ type: MonkeyEcxService }, { type: MonkeyEcxLoggedHandlingService }]; }, propDecorators: { doCall: [], doGenericCall: [] } });
4503
4569
 
4504
4570
  /* eslint-disable no-unused-vars */
4505
4571
  var OpSearch;