active-connect-ng2 0.2.41 → 0.2.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/esm2020/active-connect-ng2.mjs +5 -0
  2. package/esm2020/lib/active-connect-ng2.module.mjs +42 -0
  3. package/esm2020/lib/websocket/client.mjs +353 -0
  4. package/esm2020/lib/websocket/decorators/function.mjs +40 -0
  5. package/esm2020/lib/websocket/decorators/websocket/handle.mjs +9 -0
  6. package/esm2020/lib/websocket/decorators/websocket/on-reconnect.mjs +6 -0
  7. package/esm2020/lib/websocket/decorators/websocket/on-success.mjs +8 -0
  8. package/esm2020/lib/websocket/decorators/websocket/outbound.mjs +213 -0
  9. package/esm2020/lib/websocket/decorators/websocket/route.mjs +31 -0
  10. package/esm2020/lib/websocket/decorators/websocket/shared.mjs +10 -0
  11. package/esm2020/lib/websocket/decorators/websocket/websocket-route-service.mjs +2 -0
  12. package/esm2020/lib/websocket/index.mjs +11 -0
  13. package/esm2020/lib/websocket/json/json-parser.mjs +23 -0
  14. package/esm2020/lib/websocket/lifecycle/loading-status.mjs +31 -0
  15. package/esm2020/lib/websocket/objects/outbound-object.mjs +398 -0
  16. package/esm2020/public-api.mjs +7 -0
  17. package/fesm2015/active-connect-ng2.mjs +1184 -0
  18. package/fesm2015/active-connect-ng2.mjs.map +1 -0
  19. package/fesm2020/active-connect-ng2.mjs +1166 -0
  20. package/fesm2020/active-connect-ng2.mjs.map +1 -0
  21. package/index.d.ts +5 -0
  22. package/lib/active-connect-ng2.module.d.ts +7 -0
  23. package/lib/websocket/client.d.ts +60 -0
  24. package/lib/websocket/decorators/function.d.ts +30 -0
  25. package/lib/websocket/decorators/websocket/handle.d.ts +1 -0
  26. package/lib/websocket/decorators/websocket/on-reconnect.d.ts +1 -0
  27. package/lib/websocket/decorators/websocket/on-success.d.ts +1 -0
  28. package/lib/websocket/decorators/websocket/outbound.d.ts +1 -0
  29. package/lib/websocket/decorators/websocket/route.d.ts +1 -0
  30. package/lib/websocket/decorators/websocket/shared.d.ts +4 -0
  31. package/{src/lib/websocket/decorators/websocket/websocket-route-service.ts → lib/websocket/decorators/websocket/websocket-route-service.d.ts} +2 -3
  32. package/lib/websocket/json/json-parser.d.ts +5 -0
  33. package/lib/websocket/lifecycle/loading-status.d.ts +9 -0
  34. package/lib/websocket/objects/outbound-object.d.ts +48 -0
  35. package/package.json +32 -13
  36. package/{src/public-api.ts → public-api.d.ts} +0 -4
  37. package/ng-package.json +0 -7
  38. package/src/lib/active-connect-ng2.module.ts +0 -34
  39. package/src/lib/websocket/client.ts +0 -438
  40. package/src/lib/websocket/decorators/function.ts +0 -44
  41. package/src/lib/websocket/decorators/websocket/handle.ts +0 -12
  42. package/src/lib/websocket/decorators/websocket/on-reconnect.ts +0 -6
  43. package/src/lib/websocket/decorators/websocket/on-success.ts +0 -11
  44. package/src/lib/websocket/decorators/websocket/outbound.ts +0 -212
  45. package/src/lib/websocket/decorators/websocket/route.ts +0 -32
  46. package/src/lib/websocket/decorators/websocket/shared.ts +0 -11
  47. package/src/lib/websocket/json/json-parser.ts +0 -26
  48. package/src/lib/websocket/lifecycle/loading-status.ts +0 -32
  49. package/src/lib/websocket/objects/outbound-object.ts +0 -430
  50. package/tsconfig.lib.json +0 -14
  51. package/tsconfig.lib.prod.json +0 -10
  52. package/tsconfig.spec.json +0 -14
  53. /package/{src/lib/websocket/index.ts → lib/websocket/index.d.ts} +0 -0
@@ -0,0 +1,213 @@
1
+ import { WebsocketClient } from '../../client';
2
+ export function Outbound(method, requestingRequired, cached, sortBy) {
3
+ return function _Outbound(target, propertyKey) {
4
+ target.loading = new Map();
5
+ // property annotation
6
+ WebsocketClient.expectOutbound(method, function setOutbound(data, specificHash, inserted, updated, deleted, length, _this) {
7
+ if (!target.___received)
8
+ target.___received = {};
9
+ if (!target.___data)
10
+ target.___data = {};
11
+ if (!target.___received)
12
+ target.___received = {};
13
+ if (!target.___requested)
14
+ target.___requested = {};
15
+ if (!cached) {
16
+ if (_this.dbService) {
17
+ try {
18
+ _this.dbService
19
+ .deleteByKey('outbound', method)
20
+ .subscribe(() => { });
21
+ }
22
+ catch (e) {
23
+ console.error('ActiveConnect: could not delete indexdb cache entry');
24
+ }
25
+ }
26
+ }
27
+ if (data == 'cache_restore') {
28
+ if (_this.dbService) {
29
+ try {
30
+ _this.dbService
31
+ .getByKey('outbound', method)
32
+ .subscribe((result) => {
33
+ target.___received[propertyKey] = true;
34
+ target.___data[propertyKey] = result.data;
35
+ target.loading.set(propertyKey, false);
36
+ });
37
+ }
38
+ catch (e) {
39
+ console.error('ActiveConnect: Unable to restore cached data.');
40
+ console.error(e);
41
+ }
42
+ }
43
+ else {
44
+ console.error('ActiveConnect: Caching / restore not possible as the indexedDB is not accessible');
45
+ }
46
+ }
47
+ else if (data == 'cache_delete') {
48
+ if (_this.dbService) {
49
+ try {
50
+ _this.dbService
51
+ .deleteByKey('outbound', method)
52
+ .subscribe(() => { });
53
+ }
54
+ catch (e) {
55
+ console.error('ActiveConnect: Unable to delete cached data');
56
+ console.error(e);
57
+ }
58
+ }
59
+ else {
60
+ console.error('ActiveConnect: Caching / restore not possible as the indexedDB is not accessible');
61
+ }
62
+ target.___received[propertyKey] = false;
63
+ target.___data[propertyKey] = undefined;
64
+ target.loading.set(propertyKey, false);
65
+ }
66
+ else if (data == 'data_delete') {
67
+ target.___data[propertyKey] = undefined;
68
+ target.loading.set(propertyKey, false);
69
+ target.___received[propertyKey] = false;
70
+ target.___requested[propertyKey] = false;
71
+ }
72
+ else if (data == 'data_diff') {
73
+ var data = target.___data[propertyKey] || [];
74
+ inserted?.forEach((e) => {
75
+ const matching = data.filter((d) => d.id == e.id);
76
+ if (matching.length > 0) {
77
+ data[data.indexOf(matching[0])] = e;
78
+ }
79
+ else {
80
+ data.push(e);
81
+ }
82
+ });
83
+ updated?.forEach((e) => {
84
+ const matching = data.filter((d) => d.id == e.id);
85
+ if (matching.length > 0) {
86
+ data[data.indexOf(matching[0])] = e;
87
+ }
88
+ else {
89
+ data.push(e);
90
+ }
91
+ });
92
+ deleted?.forEach((e) => {
93
+ data = data.filter((d) => d.id != e.id);
94
+ });
95
+ if (sortBy && data)
96
+ data = data.sort(sortBy);
97
+ target.___data[propertyKey] = data;
98
+ target.loading.set(propertyKey, false);
99
+ if (cached && specificHash) {
100
+ if (_this.dbService) {
101
+ if (data && data?.length > 0) {
102
+ try {
103
+ _this.dbService
104
+ .update('outbound', {
105
+ method,
106
+ data,
107
+ specificHash,
108
+ })
109
+ .subscribe(() => { });
110
+ }
111
+ catch (e) {
112
+ console.error('ActiveConnect: Unable to update cached data');
113
+ console.error(e);
114
+ }
115
+ }
116
+ else {
117
+ try {
118
+ _this.dbService
119
+ .deleteByKey('outbound', method)
120
+ .subscribe(() => { });
121
+ }
122
+ catch (e) {
123
+ console.error('ActiveConnect: Unable to delete cached data');
124
+ console.error(e);
125
+ }
126
+ }
127
+ }
128
+ else {
129
+ console.error('ActiveConnect: Caching not possible as the indexedDB has not been initialized');
130
+ }
131
+ }
132
+ }
133
+ else {
134
+ if (sortBy && data)
135
+ data = data.sort(sortBy);
136
+ target.___received[propertyKey] = true;
137
+ target.___data[propertyKey] = data;
138
+ target.loading.set(propertyKey, false);
139
+ if (cached && specificHash) {
140
+ if (_this.dbService) {
141
+ if (data && data?.length > 0) {
142
+ try {
143
+ _this.dbService
144
+ .update('outbound', {
145
+ method,
146
+ data,
147
+ specificHash,
148
+ })
149
+ .subscribe(() => { });
150
+ }
151
+ catch (e) {
152
+ console.error('ActiveConnect: Unable to update cached data');
153
+ console.error(e);
154
+ }
155
+ }
156
+ else {
157
+ try {
158
+ _this.dbService
159
+ .deleteByKey('outbound', method)
160
+ .subscribe(() => { });
161
+ }
162
+ catch (e) {
163
+ console.error('ActiveConnect: Unable to update cached data');
164
+ console.error(e);
165
+ }
166
+ }
167
+ }
168
+ else {
169
+ console.error('ActiveConnect: Caching not possible as the indexedDB has not been initialized');
170
+ }
171
+ }
172
+ }
173
+ });
174
+ if (requestingRequired) {
175
+ WebsocketClient.addResetRequestingStateCallback(function callback() {
176
+ if (target.___requested) {
177
+ target.___requested[propertyKey] = false;
178
+ }
179
+ });
180
+ }
181
+ const obj = {
182
+ configurable: true,
183
+ get() {
184
+ if (!target.___requested)
185
+ target.___requested = {};
186
+ if (requestingRequired && !target.___requested[propertyKey]) {
187
+ target.___requested[propertyKey] = true;
188
+ this.send('request.' + method, null).then();
189
+ }
190
+ if (!target.___data)
191
+ target.___data = {};
192
+ if (!target.___data[propertyKey]) {
193
+ target.loading.set(propertyKey, true);
194
+ }
195
+ else if (target.loading[propertyKey]) {
196
+ target.loading.set(propertyKey, false);
197
+ }
198
+ return target.___data[propertyKey];
199
+ },
200
+ set(val) {
201
+ if (!target.___data)
202
+ target.___data = {};
203
+ target.loading.set(propertyKey, false);
204
+ if (sortBy && val)
205
+ val = val.sort(sortBy);
206
+ return (target.___data[propertyKey] = val);
207
+ },
208
+ };
209
+ target[propertyKey] = obj;
210
+ return obj;
211
+ };
212
+ }
213
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0Ym91bmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY3RpdmUtY29ubmVjdC1uZzIvc3JjL2xpYi93ZWJzb2NrZXQvZGVjb3JhdG9ycy93ZWJzb2NrZXQvb3V0Ym91bmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUvQyxNQUFNLFVBQVUsUUFBUSxDQUN0QixNQUFjLEVBQ2Qsa0JBQTRCLEVBQzVCLE1BQWdCLEVBQ2hCLE1BQW1DO0lBRW5DLE9BQU8sU0FBUyxTQUFTLENBQUMsTUFBVyxFQUFFLFdBQW1CO1FBQ3hELE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBSSxHQUFHLEVBQW1CLENBQUM7UUFDNUMsc0JBQXNCO1FBQ3RCLGVBQWUsQ0FBQyxjQUFjLENBQzVCLE1BQU0sRUFDTixTQUFTLFdBQVcsQ0FDbEIsSUFBUyxFQUNULFlBQTJCLEVBQzNCLFFBQXNCLEVBQ3RCLE9BQXFCLEVBQ3JCLE9BQXFCLEVBQ3JCLE1BQXFCLEVBQ3JCLEtBQXNCO1lBRXRCLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVztnQkFBRSxNQUFNLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztZQUNqRCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU87Z0JBQUUsTUFBTSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXO2dCQUFFLE1BQU0sQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1lBQ2pELElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWTtnQkFBRSxNQUFNLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztZQUNuRCxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNYLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRTtvQkFDbkIsSUFBSTt3QkFDRixLQUFLLENBQUMsU0FBUzs2QkFDWixXQUFXLENBQUMs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QUFJLEdBQUc7b0JBQUUsR0FBRyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1lBQzdDLENBQUM7U0FDRixDQUFDO1FBQ0YsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUMxQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBXZWJzb2NrZXRDbGllbnQgfSBmcm9tICcuLi8uLi9jbGllbnQnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIE91dGJvdW5kKFxyXG4gIG1ldGhvZDogc3RyaW5nLFxyXG4gIHJlcXVlc3RpbmdSZXF1aXJlZD86IGJvb2xlYW4sXHJcbiAgY2FjaGVkPzogYm9vbGVhbixcclxuICBzb3J0Qnk/OiAoYTogYW55LCBiOiBhbnkpID0+IG51bWJlclxyXG4pIHtcclxuICByZXR1cm4gZnVuY3Rpb24gX091dGJvdW5kKHRhcmdldDogYW55LCBwcm9wZXJ0eUtleTogc3RyaW5nKTogYW55IHtcclxuICAgIHRhcmdldC5sb2FkaW5nID0gbmV3IE1hcDxzdHJpbmcsIGJvb2xlYW4+KCk7XHJcbiAgICAvLyBwcm9wZXJ0eSBhbm5vdGF0aW9uXHJcbiAgICBXZWJzb2NrZXRDbGllbnQuZXhwZWN0T3V0Ym91bmQoXHJcbiAgICAgIG1ldGhvZCxcclxuICAgICAgZnVuY3Rpb24gc2V0T3V0Ym91bmQoXHJcbiAgICAgICAgZGF0YTogYW55LFxyXG4gICAgICAgIHNwZWNpZmljSGFzaDogbnVtYmVyIHwgbnVsbCxcclxuICAgICAgICBpbnNlcnRlZDogYW55W10gfCBudWxsLFxyXG4gICAgICAgIHVwZGF0ZWQ6IGFueVtdIHwgbnVsbCxcclxuICAgICAgICBkZWxldGVkOiBhbnlbXSB8IG51bGwsXHJcbiAgICAgICAgbGVuZ3RoOiBudW1iZXIgfCBudWxsLFxyXG4gICAgICAgIF90aGlzOiBXZWJzb2NrZXRDbGllbnRcclxuICAgICAgKSB7XHJcbiAgICAgICAgaWYgKCF0YXJnZXQuX19fcmVjZWl2ZWQpIHRhcmdldC5fX19yZWNlaXZlZCA9IHt9O1xyXG4gICAgICAgIGlmICghdGFyZ2V0Ll9fX2RhdGEpIHRhcmdldC5fX19kYXRhID0ge307XHJcbiAgICAgICAgaWYgKCF0YXJnZXQuX19fcmVjZWl2ZWQpIHRhcmdldC5fX19yZWNlaXZlZCA9IHt9O1xyXG4gICAgICAgIGlmICghdGFyZ2V0Ll9fX3JlcXVlc3RlZCkgdGFyZ2V0Ll9fX3JlcXVlc3RlZCA9IHt9O1xyXG4gICAgICAgIGlmICghY2FjaGVkKSB7XHJcbiAgICAgICAgICBpZiAoX3RoaXMuZGJTZXJ2aWNlKSB7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgX3RoaXMuZGJTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICAuZGVsZXRlQnlLZXkoJ291dGJvdW5kJywgbWV0aG9kKVxyXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7fSk7XHJcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFxyXG4gICAgICAgICAgICAgICAgJ0FjdGl2ZUNvbm5lY3Q6IGNvdWxkIG5vdCBkZWxldGUgaW5kZXhkYiBjYWNoZSBlbnRyeSdcclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoZGF0YSA9PSAnY2FjaGVfcmVzdG9yZScpIHtcclxuICAgICAgICAgIGlmIChfdGhpcy5kYlNlcnZpY2UpIHtcclxuICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICBfdGhpcy5kYlNlcnZpY2VcclxuICAgICAgICAgICAgICAgIC5nZXRCeUtleSgnb3V0Ym91bmQnLCBtZXRob2QpXHJcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICB0YXJnZXQuX19fcmVjZWl2ZWRbcHJvcGVydHlLZXldID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgdGFyZ2V0Ll9fX2RhdGFbcHJvcGVydHlLZXldID0gcmVzdWx0LmRhdGE7XHJcbiAgICAgICAgICAgICAgICAgIHRhcmdldC5sb2FkaW5nLnNldChwcm9wZXJ0eUtleSwgZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdBY3RpdmVDb25uZWN0OiBVbmFibGUgdG8gcmVzdG9yZSBjYWNoZWQgZGF0YS4nKTtcclxuICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFxyXG4gICAgICAgICAgICAgICdBY3RpdmVDb25uZWN0OiBDYWNoaW5nIC8gcmVzdG9yZSBub3QgcG9zc2libGUgYXMgdGhlIGluZGV4ZWREQiBpcyBub3QgYWNjZXNzaWJsZSdcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2UgaWYgKGRhdGEgPT0gJ2NhY2hlX2RlbGV0ZScpIHtcclxuICAgICAgICAgIGlmIChfdGhpcy5kYlNlcnZpY2UpIHtcclxuICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICBfdGhpcy5kYlNlcnZpY2VcclxuICAgICAgICAgICAgICAgIC5kZWxldGVCeUtleSgnb3V0Ym91bmQnLCBtZXRob2QpXHJcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHt9KTtcclxuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0FjdGl2ZUNvbm5lY3Q6IFVuYWJsZSB0byBkZWxldGUgY2FjaGVkIGRhdGEnKTtcclxuICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFxyXG4gICAgICAgICAgICAgICdBY3RpdmVDb25uZWN0OiBDYWNoaW5nIC8gcmVzdG9yZSBub3QgcG9zc2libGUgYXMgdGhlIGluZGV4ZWREQiBpcyBub3QgYWNjZXNzaWJsZSdcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRhcmdldC5fX19yZWNlaXZlZFtwcm9wZXJ0eUtleV0gPSBmYWxzZTtcclxuICAgICAgICAgIHRhcmdldC5fX19kYXRhW3Byb3BlcnR5S2V5XSA9IHVuZGVmaW5lZDtcclxuICAgICAgICAgIHRhcmdldC5sb2FkaW5nLnNldChwcm9wZXJ0eUtleSwgZmFsc2UpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZGF0YSA9PSAnZGF0YV9kZWxldGUnKSB7XHJcbiAgICAgICAgICB0YXJnZXQuX19fZGF0YVtwcm9wZXJ0eUtleV0gPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgICB0YXJnZXQubG9hZGluZy5zZXQocHJvcGVydHlLZXksIGZhbHNlKTtcclxuICAgICAgICAgIHRhcmdldC5fX19yZWNlaXZlZFtwcm9wZXJ0eUtleV0gPSBmYWxzZTtcclxuICAgICAgICAgIHRhcmdldC5fX19yZXF1ZXN0ZWRbcHJvcGVydHlLZXldID0gZmFsc2U7XHJcbiAgICAgICAgfSBlbHNlIGlmIChkYXRhID09ICdkYXRhX2RpZmYnKSB7XHJcbiAgICAgICAgICB2YXIgZGF0YSA9IHRhcmdldC5fX19kYXRhW3Byb3BlcnR5S2V5XSB8fCBbXTtcclxuICAgICAgICAgIGluc2VydGVkPy5mb3JFYWNoKChlKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoaW5nID0gZGF0YS5maWx0ZXIoKGQ6IGFueSkgPT4gZC5pZCA9PSBlLmlkKTtcclxuICAgICAgICAgICAgaWYgKG1hdGNoaW5nLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICBkYXRhW2RhdGEuaW5kZXhPZihtYXRjaGluZ1swXSldID0gZTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBkYXRhLnB1c2goZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgdXBkYXRlZD8uZm9yRWFjaCgoZSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBtYXRjaGluZyA9IGRhdGEuZmlsdGVyKChkOiBhbnkpID0+IGQuaWQgPT0gZS5pZCk7XHJcbiAgICAgICAgICAgIGlmIChtYXRjaGluZy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgZGF0YVtkYXRhLmluZGV4T2YobWF0Y2hpbmdbMF0pXSA9IGU7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgZGF0YS5wdXNoKGUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGRlbGV0ZWQ/LmZvckVhY2goKGUpID0+IHtcclxuICAgICAgICAgICAgZGF0YSA9IGRhdGEuZmlsdGVyKChkOiBhbnkpID0+IGQuaWQgIT0gZS5pZCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGlmIChzb3J0QnkgJiYgZGF0YSkgZGF0YSA9IGRhdGEuc29ydChzb3J0QnkpO1xyXG4gICAgICAgICAgdGFyZ2V0Ll9fX2RhdGFbcHJvcGVydHlLZXldID0gZGF0YTtcclxuICAgICAgICAgIHRhcmdldC5sb2FkaW5nLnNldChwcm9wZXJ0eUtleSwgZmFsc2UpO1xyXG5cclxuICAgICAgICAgIGlmIChjYWNoZWQgJiYgc3BlY2lmaWNIYXNoKSB7XHJcbiAgICAgICAgICAgIGlmIChfdGhpcy5kYlNlcnZpY2UpIHtcclxuICAgICAgICAgICAgICBpZiAoZGF0YSAmJiBkYXRhPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICBfdGhpcy5kYlNlcnZpY2VcclxuICAgICAgICAgICAgICAgICAgICAudXBkYXRlKCdvdXRib3VuZCcsIHtcclxuICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZCxcclxuICAgICAgICAgICAgICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZpY0hhc2gsXHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHt9KTtcclxuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignQWN0aXZlQ29ubmVjdDogVW5hYmxlIHRvIHVwZGF0ZSBjYWNoZWQgZGF0YScpO1xyXG4gICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICBfdGhpcy5kYlNlcnZpY2VcclxuICAgICAgICAgICAgICAgICAgICAuZGVsZXRlQnlLZXkoJ291dGJvdW5kJywgbWV0aG9kKVxyXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge30pO1xyXG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdBY3RpdmVDb25uZWN0OiBVbmFibGUgdG8gZGVsZXRlIGNhY2hlZCBkYXRhJyk7XHJcbiAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXHJcbiAgICAgICAgICAgICAgICAnQWN0aXZlQ29ubmVjdDogQ2FjaGluZyBub3QgcG9zc2libGUgYXMgdGhlIGluZGV4ZWREQiBoYXMgbm90IGJlZW4gaW5pdGlhbGl6ZWQnXHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpZiAoc29ydEJ5ICYmIGRhdGEpIGRhdGEgPSBkYXRhLnNvcnQoc29ydEJ5KTtcclxuICAgICAgICAgIHRhcmdldC5fX19yZWNlaXZlZFtwcm9wZXJ0eUtleV0gPSB0cnVlO1xyXG4gICAgICAgICAgdGFyZ2V0Ll9fX2RhdGFbcHJvcGVydHlLZXldID0gZGF0YTtcclxuICAgICAgICAgIHRhcmdldC5sb2FkaW5nLnNldChwcm9wZXJ0eUtleSwgZmFsc2UpO1xyXG4gICAgICAgICAgaWYgKGNhY2hlZCAmJiBzcGVjaWZpY0hhc2gpIHtcclxuICAgICAgICAgICAgaWYgKF90aGlzLmRiU2VydmljZSkge1xyXG4gICAgICAgICAgICAgIGlmIChkYXRhICYmIGRhdGE/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICAgIF90aGlzLmRiU2VydmljZVxyXG4gICAgICAgICAgICAgICAgICAgIC51cGRhdGUoJ291dGJvdW5kJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgbWV0aG9kLFxyXG4gICAgICAgICAgICAgICAgICAgICAgZGF0YSxcclxuICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZmljSGFzaCxcclxuICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge30pO1xyXG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdBY3RpdmVDb25uZWN0OiBVbmFibGUgdG8gdXBkYXRlIGNhY2hlZCBkYXRhJyk7XHJcbiAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICAgIF90aGlzLmRiU2VydmljZVxyXG4gICAgICAgICAgICAgICAgICAgIC5kZWxldGVCeUtleSgnb3V0Ym91bmQnLCBtZXRob2QpXHJcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7fSk7XHJcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0FjdGl2ZUNvbm5lY3Q6IFVuYWJsZSB0byB1cGRhdGUgY2FjaGVkIGRhdGEnKTtcclxuICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcclxuICAgICAgICAgICAgICAgICdBY3RpdmVDb25uZWN0OiBDYWNoaW5nIG5vdCBwb3NzaWJsZSBhcyB0aGUgaW5kZXhlZERCIGhhcyBub3QgYmVlbiBpbml0aWFsaXplZCdcclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gICAgaWYgKHJlcXVlc3RpbmdSZXF1aXJlZCkge1xyXG4gICAgICBXZWJzb2NrZXRDbGllbnQuYWRkUmVzZXRSZXF1ZXN0aW5nU3RhdGVDYWxsYmFjayhmdW5jdGlvbiBjYWxsYmFjaygpIHtcclxuICAgICAgICBpZiAodGFyZ2V0Ll9fX3JlcXVlc3RlZCkge1xyXG4gICAgICAgICAgdGFyZ2V0Ll9fX3JlcXVlc3RlZFtwcm9wZXJ0eUtleV0gPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG9iaiA9IHtcclxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxyXG4gICAgICBnZXQoKSB7XHJcbiAgICAgICAgaWYgKCF0YXJnZXQuX19fcmVxdWVzdGVkKSB0YXJnZXQuX19fcmVxdWVzdGVkID0ge307XHJcbiAgICAgICAgaWYgKHJlcXVlc3RpbmdSZXF1aXJlZCAmJiAhdGFyZ2V0Ll9fX3JlcXVlc3RlZFtwcm9wZXJ0eUtleV0pIHtcclxuICAgICAgICAgIHRhcmdldC5fX19yZXF1ZXN0ZWRbcHJvcGVydHlLZXldID0gdHJ1ZTtcclxuICAgICAgICAgICh0aGlzIGFzIGFueSkuc2VuZCgncmVxdWVzdC4nICsgbWV0aG9kLCBudWxsKS50aGVuKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghdGFyZ2V0Ll9fX2RhdGEpIHRhcmdldC5fX19kYXRhID0ge307XHJcbiAgICAgICAgaWYgKCF0YXJnZXQuX19fZGF0YVtwcm9wZXJ0eUtleV0pIHtcclxuICAgICAgICAgIHRhcmdldC5sb2FkaW5nLnNldChwcm9wZXJ0eUtleSwgdHJ1ZSk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0YXJnZXQubG9hZGluZ1twcm9wZXJ0eUtleV0pIHtcclxuICAgICAgICAgIHRhcmdldC5sb2FkaW5nLnNldChwcm9wZXJ0eUtleSwgZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGFyZ2V0Ll9fX2RhdGFbcHJvcGVydHlLZXldO1xyXG4gICAgICB9LFxyXG4gICAgICBzZXQodmFsOiBhbnkpIHtcclxuICAgICAgICBpZiAoIXRhcmdldC5fX19kYXRhKSB0YXJnZXQuX19fZGF0YSA9IHt9O1xyXG4gICAgICAgIHRhcmdldC5sb2FkaW5nLnNldChwcm9wZXJ0eUtleSwgZmFsc2UpO1xyXG4gICAgICAgIGlmIChzb3J0QnkgJiYgdmFsKSB2YWwgPSB2YWwuc29ydChzb3J0QnkpO1xyXG4gICAgICAgIHJldHVybiAodGFyZ2V0Ll9fX2RhdGFbcHJvcGVydHlLZXldID0gdmFsKTtcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICB0YXJnZXRbcHJvcGVydHlLZXldID0gb2JqO1xyXG4gICAgcmV0dXJuIG9iajtcclxuICB9O1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,31 @@
1
+ export function Route(method, loadingKey, dontEnsureTransmission) {
2
+ return function _Route(target, propertyKey) {
3
+ // method annotation
4
+ const original = target[propertyKey];
5
+ target[propertyKey] = async function execRoute(...data) {
6
+ if (loadingKey) {
7
+ if (!this.loadingElements[loadingKey]) {
8
+ this.loadingElements[loadingKey] = 0;
9
+ }
10
+ this.loadingElements[loadingKey]++;
11
+ }
12
+ const promise = original.bind(this)(...data);
13
+ let res = null;
14
+ if (this.client) {
15
+ res = await this.client
16
+ .send(method, data[0], dontEnsureTransmission)
17
+ ?.catch((err) => {
18
+ if (loadingKey)
19
+ this.loadingElements[loadingKey]--;
20
+ throw err;
21
+ });
22
+ }
23
+ await promise;
24
+ if (loadingKey)
25
+ this.loadingElements[loadingKey]--;
26
+ return res;
27
+ };
28
+ return target;
29
+ };
30
+ }
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY3RpdmUtY29ubmVjdC1uZzIvc3JjL2xpYi93ZWJzb2NrZXQvZGVjb3JhdG9ycy93ZWJzb2NrZXQvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLEtBQUssQ0FDbkIsTUFBYyxFQUNkLFVBQW1CLEVBQ25CLHNCQUFnQztJQUVoQyxPQUFPLFNBQVMsTUFBTSxDQUFDLE1BQVcsRUFBRSxXQUFtQjtRQUNyRCxvQkFBb0I7UUFDcEIsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxLQUFLLFVBQVUsU0FBUyxDQUFDLEdBQUcsSUFBUztZQUN6RCxJQUFJLFVBQVUsRUFBRTtnQkFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsRUFBRTtvQkFDckMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ3RDO2dCQUNELElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQzthQUNwQztZQUNELE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztZQUM3QyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUM7WUFDZixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ2YsR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU07cUJBQ3BCLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLHNCQUFzQixDQUFDO29CQUM5QyxFQUFFLEtBQUssQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO29CQUNuQixJQUFJLFVBQVU7d0JBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO29CQUNuRCxNQUFNLEdBQUcsQ0FBQztnQkFDWixDQUFDLENBQUMsQ0FBQzthQUNOO1lBQ0QsTUFBTSxPQUFPLENBQUM7WUFDZCxJQUFJLFVBQVU7Z0JBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ25ELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxDQUFDO1FBQ0YsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBSb3V0ZShcclxuICBtZXRob2Q6IHN0cmluZyxcclxuICBsb2FkaW5nS2V5Pzogc3RyaW5nLFxyXG4gIGRvbnRFbnN1cmVUcmFuc21pc3Npb24/OiBib29sZWFuXHJcbikge1xyXG4gIHJldHVybiBmdW5jdGlvbiBfUm91dGUodGFyZ2V0OiBhbnksIHByb3BlcnR5S2V5OiBzdHJpbmcpOiBhbnkge1xyXG4gICAgLy8gbWV0aG9kIGFubm90YXRpb25cclxuICAgIGNvbnN0IG9yaWdpbmFsID0gdGFyZ2V0W3Byb3BlcnR5S2V5XTtcclxuICAgIHRhcmdldFtwcm9wZXJ0eUtleV0gPSBhc3luYyBmdW5jdGlvbiBleGVjUm91dGUoLi4uZGF0YTogYW55KTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgaWYgKGxvYWRpbmdLZXkpIHtcclxuICAgICAgICBpZiAoIXRoaXMubG9hZGluZ0VsZW1lbnRzW2xvYWRpbmdLZXldKSB7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmdFbGVtZW50c1tsb2FkaW5nS2V5XSA9IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubG9hZGluZ0VsZW1lbnRzW2xvYWRpbmdLZXldKys7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgcHJvbWlzZSA9IG9yaWdpbmFsLmJpbmQodGhpcykoLi4uZGF0YSk7XHJcbiAgICAgIGxldCByZXMgPSBudWxsO1xyXG4gICAgICBpZiAodGhpcy5jbGllbnQpIHtcclxuICAgICAgICByZXMgPSBhd2FpdCB0aGlzLmNsaWVudFxyXG4gICAgICAgICAgLnNlbmQobWV0aG9kLCBkYXRhWzBdLCBkb250RW5zdXJlVHJhbnNtaXNzaW9uKVxyXG4gICAgICAgICAgPy5jYXRjaCgoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgaWYgKGxvYWRpbmdLZXkpIHRoaXMubG9hZGluZ0VsZW1lbnRzW2xvYWRpbmdLZXldLS07XHJcbiAgICAgICAgICAgIHRocm93IGVycjtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGF3YWl0IHByb21pc2U7XHJcbiAgICAgIGlmIChsb2FkaW5nS2V5KSB0aGlzLmxvYWRpbmdFbGVtZW50c1tsb2FkaW5nS2V5XS0tO1xyXG4gICAgICByZXR1cm4gcmVzO1xyXG4gICAgfTtcclxuICAgIHJldHVybiB0YXJnZXQ7XHJcbiAgfTtcclxufVxyXG4iXX0=
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @deprecated
3
+ */
4
+ export function Shared(defaultValue) {
5
+ if (defaultValue) {
6
+ throw Error("Active-Connect/@Shared: defaultValue is no longer supported, please assign the value to the variable itself.");
7
+ }
8
+ return function _Shared(target, propertyKey) { };
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWN0aXZlLWNvbm5lY3QtbmcyL3NyYy9saWIvd2Vic29ja2V0L2RlY29yYXRvcnMvd2Vic29ja2V0L3NoYXJlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sVUFBVSxNQUFNLENBQUksWUFBZ0I7SUFDeEMsSUFBSSxZQUFZLEVBQUU7UUFDaEIsTUFBTSxLQUFLLENBQ1QsOEdBQThHLENBQy9HLENBQUM7S0FDSDtJQUNELE9BQU8sU0FBUyxPQUFPLENBQUMsTUFBVyxFQUFFLFdBQW1CLElBQUcsQ0FBQyxDQUFDO0FBQy9ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQGRlcHJlY2F0ZWRcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBTaGFyZWQ8VD4oZGVmYXVsdFZhbHVlPzogVCkge1xyXG4gIGlmIChkZWZhdWx0VmFsdWUpIHtcclxuICAgIHRocm93IEVycm9yKFxyXG4gICAgICBcIkFjdGl2ZS1Db25uZWN0L0BTaGFyZWQ6IGRlZmF1bHRWYWx1ZSBpcyBubyBsb25nZXIgc3VwcG9ydGVkLCBwbGVhc2UgYXNzaWduIHRoZSB2YWx1ZSB0byB0aGUgdmFyaWFibGUgaXRzZWxmLlwiXHJcbiAgICApO1xyXG4gIH1cclxuICByZXR1cm4gZnVuY3Rpb24gX1NoYXJlZCh0YXJnZXQ6IGFueSwgcHJvcGVydHlLZXk6IHN0cmluZykge307XHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LXJvdXRlLXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY3RpdmUtY29ubmVjdC1uZzIvc3JjL2xpYi93ZWJzb2NrZXQvZGVjb3JhdG9ycy93ZWJzb2NrZXQvd2Vic29ja2V0LXJvdXRlLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdlYnNvY2tldENsaWVudCB9IGZyb20gJy4uLy4uL2NsaWVudCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFdlYnNvY2tldFJvdXRlU2VydmljZSB7XHJcbiAgbG9hZGluZ0VsZW1lbnRzOiBhbnk7XHJcbiAgY2xpZW50OiBXZWJzb2NrZXRDbGllbnQ7XHJcbn1cclxuIl19
@@ -0,0 +1,11 @@
1
+ export * from './client';
2
+ export * from './decorators/websocket/handle';
3
+ export * from './decorators/websocket/on-success';
4
+ export * from './decorators/websocket/on-reconnect';
5
+ export * from './decorators/websocket/outbound';
6
+ export * from './decorators/websocket/route';
7
+ export * from './decorators/websocket/shared';
8
+ export * from './decorators/websocket/websocket-route-service';
9
+ export * from './lifecycle/loading-status';
10
+ export * from './objects/outbound-object';
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY3RpdmUtY29ubmVjdC1uZzIvc3JjL2xpYi93ZWJzb2NrZXQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NsaWVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9ycy93ZWJzb2NrZXQvaGFuZGxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9kZWNvcmF0b3JzL3dlYnNvY2tldC9vbi1zdWNjZXNzJztcclxuZXhwb3J0ICogZnJvbSAnLi9kZWNvcmF0b3JzL3dlYnNvY2tldC9vbi1yZWNvbm5lY3QnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMvd2Vic29ja2V0L291dGJvdW5kJztcclxuZXhwb3J0ICogZnJvbSAnLi9kZWNvcmF0b3JzL3dlYnNvY2tldC9yb3V0ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9ycy93ZWJzb2NrZXQvc2hhcmVkJztcclxuZXhwb3J0ICogZnJvbSAnLi9kZWNvcmF0b3JzL3dlYnNvY2tldC93ZWJzb2NrZXQtcm91dGUtc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGlmZWN5Y2xlL2xvYWRpbmctc3RhdHVzJztcclxuZXhwb3J0ICogZnJvbSAnLi9vYmplY3RzL291dGJvdW5kLW9iamVjdCc7XHJcbiJdfQ==
@@ -0,0 +1,23 @@
1
+ export class JsonParser {
2
+ static stringify(obj) {
3
+ return JSON.stringify(obj);
4
+ }
5
+ static parsingFunction(key, value) {
6
+ var a;
7
+ if (typeof value === "string") {
8
+ a =
9
+ /^[0-9]{4}\-[0-9]{2}\-[0-9]{2}T[0-9]{2}\:[0-9]{2}\:[0-9]{2}\.[0-9]{3}Z$/.exec(value);
10
+ if (a) {
11
+ return new Date(a);
12
+ }
13
+ }
14
+ return value;
15
+ }
16
+ static parse(str) {
17
+ if (str && str != "undefined") {
18
+ return JSON.parse(str, JsonParser.parsingFunction);
19
+ }
20
+ return str;
21
+ }
22
+ }
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1wYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY3RpdmUtY29ubmVjdC1uZzIvc3JjL2xpYi93ZWJzb2NrZXQvanNvbi9qc29uLXBhcnNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sVUFBVTtJQUNyQixNQUFNLENBQUMsU0FBUyxDQUFDLEdBQVE7UUFDdkIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQVEsRUFBRSxLQUFVO1FBQ3pDLElBQUksQ0FBQyxDQUFDO1FBQ04sSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDN0IsQ0FBQztnQkFDQyx3RUFBd0UsQ0FBQyxJQUFJLENBQzNFLEtBQUssQ0FDTixDQUFDO1lBQ0osSUFBSSxDQUFDLEVBQUU7Z0JBQ0wsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFRLENBQUMsQ0FBQzthQUMzQjtTQUNGO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFXO1FBQ3RCLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxXQUFXLEVBQUU7WUFDN0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDcEQ7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBKc29uUGFyc2VyIHtcclxuICBzdGF0aWMgc3RyaW5naWZ5KG9iajogYW55KSB7XHJcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBwYXJzaW5nRnVuY3Rpb24oa2V5OiBhbnksIHZhbHVlOiBhbnkpIHtcclxuICAgIHZhciBhO1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIikge1xyXG4gICAgICBhID1cclxuICAgICAgICAvXlswLTldezR9XFwtWzAtOV17Mn1cXC1bMC05XXsyfVRbMC05XXsyfVxcOlswLTldezJ9XFw6WzAtOV17Mn1cXC5bMC05XXszfVokLy5leGVjKFxyXG4gICAgICAgICAgdmFsdWVcclxuICAgICAgICApO1xyXG4gICAgICBpZiAoYSkge1xyXG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShhIGFzIGFueSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBwYXJzZShzdHI6IHN0cmluZykge1xyXG4gICAgaWYgKHN0ciAmJiBzdHIgIT0gXCJ1bmRlZmluZWRcIikge1xyXG4gICAgICByZXR1cm4gSlNPTi5wYXJzZShzdHIsIEpzb25QYXJzZXIucGFyc2luZ0Z1bmN0aW9uKTtcclxuICAgIH1cclxuICAgIHJldHVybiBzdHI7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,31 @@
1
+ import { WebsocketClient } from '../client';
2
+ export class LoadingStatus extends WebsocketClient {
3
+ get isLoading() {
4
+ // return general loading
5
+ let anyTrue = false;
6
+ this.__proto__.loading.forEach((e) => {
7
+ anyTrue || (anyTrue = e);
8
+ });
9
+ if (!anyTrue)
10
+ this.__proto__.loading.clear();
11
+ return this.__proto__.loading.size > 0;
12
+ }
13
+ getLoadingMap() {
14
+ return this.__proto__.loading;
15
+ }
16
+ get getCurrent() {
17
+ let count = 0;
18
+ this.__proto__.loading.forEach((e) => {
19
+ if (e)
20
+ count++;
21
+ });
22
+ if (count == 0) {
23
+ this.__proto__.loading.clear();
24
+ }
25
+ return count;
26
+ }
27
+ get getTotal() {
28
+ return this.__proto__.loading.size;
29
+ }
30
+ }
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1zdGF0dXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY3RpdmUtY29ubmVjdC1uZzIvc3JjL2xpYi93ZWJzb2NrZXQvbGlmZWN5Y2xlL2xvYWRpbmctc3RhdHVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFNUMsTUFBTSxPQUFPLGFBQWMsU0FBUSxlQUFlO0lBR2hELElBQUksU0FBUztRQUNYLHlCQUF5QjtRQUN6QixJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBVSxFQUFFLEVBQUU7WUFDNUMsT0FBTyxLQUFQLE9BQU8sR0FBSyxDQUFDLEVBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsT0FBTztZQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzdDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQVUsRUFBRSxFQUFFO1lBQzVDLElBQUksQ0FBQztnQkFBRSxLQUFLLEVBQUUsQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksS0FBSyxJQUFJLENBQUMsRUFBRTtZQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2hDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDckMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgV2Vic29ja2V0Q2xpZW50IH0gZnJvbSAnLi4vY2xpZW50JztcclxuXHJcbmV4cG9ydCBjbGFzcyBMb2FkaW5nU3RhdHVzIGV4dGVuZHMgV2Vic29ja2V0Q2xpZW50IHtcclxuICBwcml2YXRlIF9fcHJvdG9fXzogYW55O1xyXG4gIHN0YXRpYyBsb2FkaW5nOiBNYXA8c3RyaW5nLCBib29sZWFuPjtcclxuICBnZXQgaXNMb2FkaW5nKCk6IGJvb2xlYW4ge1xyXG4gICAgLy8gcmV0dXJuIGdlbmVyYWwgbG9hZGluZ1xyXG4gICAgbGV0IGFueVRydWUgPSBmYWxzZTtcclxuICAgIHRoaXMuX19wcm90b19fLmxvYWRpbmcuZm9yRWFjaCgoZTogYm9vbGVhbikgPT4ge1xyXG4gICAgICBhbnlUcnVlIHx8PSBlO1xyXG4gICAgfSk7XHJcbiAgICBpZiAoIWFueVRydWUpIHRoaXMuX19wcm90b19fLmxvYWRpbmcuY2xlYXIoKTtcclxuICAgIHJldHVybiB0aGlzLl9fcHJvdG9fXy5sb2FkaW5nLnNpemUgPiAwO1xyXG4gIH1cclxuICBnZXRMb2FkaW5nTWFwKCk6IE1hcDxzdHJpbmcsIGJvb2xlYW4+IHtcclxuICAgIHJldHVybiB0aGlzLl9fcHJvdG9fXy5sb2FkaW5nO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGdldEN1cnJlbnQoKTogbnVtYmVyIHtcclxuICAgIGxldCBjb3VudCA9IDA7XHJcbiAgICB0aGlzLl9fcHJvdG9fXy5sb2FkaW5nLmZvckVhY2goKGU6IGJvb2xlYW4pID0+IHtcclxuICAgICAgaWYgKGUpIGNvdW50Kys7XHJcbiAgICB9KTtcclxuICAgIGlmIChjb3VudCA9PSAwKSB7XHJcbiAgICAgIHRoaXMuX19wcm90b19fLmxvYWRpbmcuY2xlYXIoKTtcclxuICAgIH1cclxuICAgIHJldHVybiBjb3VudDtcclxuICB9XHJcbiAgZ2V0IGdldFRvdGFsKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fX3Byb3RvX18ubG9hZGluZy5zaXplO1xyXG4gIH1cclxufVxyXG4iXX0=