@actdim/msgmesh 1.2.5 → 1.2.7
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.
- package/README.md +826 -1
- package/dist/contracts.d.ts +16 -0
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contracts.es.js +51 -23
- package/dist/contracts.es.js.map +1 -1
- package/dist/core.d.ts.map +1 -1
- package/dist/core.es.js +196 -154
- package/dist/core.es.js.map +1 -1
- package/dist/util.es.js.map +1 -1
- package/package.json +1 -1
package/dist/core.es.js
CHANGED
|
@@ -1,222 +1,232 @@
|
|
|
1
|
-
import { TimeoutError as
|
|
2
|
-
import { v4 as
|
|
3
|
-
import { asyncScheduler as
|
|
4
|
-
import { filter as
|
|
5
|
-
import { pipeFromArray as
|
|
6
|
-
import { delayError as
|
|
7
|
-
const
|
|
8
|
-
if (
|
|
9
|
-
return (
|
|
10
|
-
if (
|
|
11
|
-
|
|
12
|
-
const
|
|
13
|
-
return (
|
|
1
|
+
import { TimeoutError as C, OperationCanceledError as U, $CG_IN as P, $SYSTEM_TOPIC as m, $CG_ERROR as K, $C_ERROR as N, $CG_OUT as A } from "./contracts.es.js";
|
|
2
|
+
import { v4 as I } from "uuid";
|
|
3
|
+
import { asyncScheduler as Y, ReplaySubject as H, Subject as J } from "rxjs";
|
|
4
|
+
import { filter as Q, delay as V, observeOn as X, take as Z, debounceTime as ee } from "rxjs/operators";
|
|
5
|
+
import { pipeFromArray as te, throttleOp as ne } from "./util.es.js";
|
|
6
|
+
import { delayError as M } from "@actdim/utico/utils";
|
|
7
|
+
const oe = (d) => {
|
|
8
|
+
if (d == null)
|
|
9
|
+
return (p) => p == d;
|
|
10
|
+
if (d.startsWith("/") && d.endsWith("/")) {
|
|
11
|
+
d = d.substring(1, d.length - 1);
|
|
12
|
+
const p = new RegExp(d);
|
|
13
|
+
return (b) => p.test(b);
|
|
14
14
|
} else
|
|
15
|
-
return (
|
|
16
|
-
},
|
|
17
|
-
function
|
|
15
|
+
return (p) => d === p;
|
|
16
|
+
}, _ = 1e3 * 60 * 2;
|
|
17
|
+
function ie() {
|
|
18
18
|
return Date.now();
|
|
19
19
|
}
|
|
20
|
-
const
|
|
21
|
-
function
|
|
22
|
-
const
|
|
23
|
-
function
|
|
20
|
+
const re = ":";
|
|
21
|
+
function be(d) {
|
|
22
|
+
const p = m, b = Y;
|
|
23
|
+
function x(e) {
|
|
24
24
|
return {
|
|
25
25
|
id: e.id,
|
|
26
26
|
address: e.address,
|
|
27
27
|
headers: e.headers
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
|
-
function
|
|
30
|
+
function w(e, n) {
|
|
31
31
|
const t = {
|
|
32
|
-
error:
|
|
33
|
-
source:
|
|
32
|
+
error: n,
|
|
33
|
+
source: x(e)
|
|
34
34
|
};
|
|
35
|
-
let
|
|
36
|
-
|
|
35
|
+
let o;
|
|
36
|
+
o = {
|
|
37
37
|
address: {
|
|
38
38
|
channel: e.address.channel,
|
|
39
|
-
group:
|
|
40
|
-
topic:
|
|
39
|
+
group: K,
|
|
40
|
+
topic: p
|
|
41
41
|
},
|
|
42
42
|
payload: t
|
|
43
|
-
},
|
|
43
|
+
}, v(o), o = {
|
|
44
44
|
address: {
|
|
45
|
-
channel:
|
|
46
|
-
group:
|
|
47
|
-
topic:
|
|
45
|
+
channel: N,
|
|
46
|
+
group: P,
|
|
47
|
+
topic: p
|
|
48
48
|
},
|
|
49
49
|
payload: t
|
|
50
|
-
},
|
|
50
|
+
}, v(o);
|
|
51
|
+
}
|
|
52
|
+
function R(e) {
|
|
53
|
+
return new U(void 0, e);
|
|
51
54
|
}
|
|
52
|
-
const
|
|
53
|
-
function
|
|
54
|
-
return `${e}${
|
|
55
|
+
const T = /* @__PURE__ */ new Map();
|
|
56
|
+
function B(e, n) {
|
|
57
|
+
return `${e}${re}${n}`;
|
|
55
58
|
}
|
|
56
|
-
function
|
|
57
|
-
const t =
|
|
58
|
-
if (!
|
|
59
|
-
let
|
|
60
|
-
const
|
|
61
|
-
|
|
59
|
+
function O(e, n) {
|
|
60
|
+
const t = B(e, n);
|
|
61
|
+
if (!T.has(t)) {
|
|
62
|
+
let o = null;
|
|
63
|
+
const i = d?.[e];
|
|
64
|
+
i && (i.replayBufferSize != null || i.replayWindowTime != null) && (o = new H(i.replayBufferSize == null ? 1 / 0 : i.replayBufferSize, i.replayWindowTime == null ? 1 / 0 : i.replayWindowTime)), o || (o = new J()), T.set(
|
|
62
65
|
t,
|
|
63
|
-
|
|
66
|
+
o
|
|
64
67
|
);
|
|
65
68
|
}
|
|
66
|
-
return
|
|
69
|
+
return T.get(t);
|
|
67
70
|
}
|
|
68
|
-
function
|
|
69
|
-
if (
|
|
70
|
-
let
|
|
71
|
-
typeof
|
|
71
|
+
function $(e, n, t) {
|
|
72
|
+
if (n != null) {
|
|
73
|
+
let o, i = { leading: !0, trailing: !0 };
|
|
74
|
+
typeof n == "number" ? o = n : (o = n.duration, i.leading = n.leading, i.trailing = n.trailing), e.push(ne(o, i, t));
|
|
72
75
|
}
|
|
73
76
|
}
|
|
74
|
-
function
|
|
75
|
-
|
|
77
|
+
function k(e, n, t) {
|
|
78
|
+
n != null && e.push(ee(n, t));
|
|
76
79
|
}
|
|
77
|
-
function
|
|
78
|
-
const
|
|
79
|
-
(
|
|
80
|
+
function y(e) {
|
|
81
|
+
const n = String(e.channel), t = e.group == null ? P : String(e.group), o = O(n, t), i = oe(e.topic), r = Q(
|
|
82
|
+
(h) => (
|
|
80
83
|
// msg.address.channel === channel &&
|
|
81
84
|
// msg.address.group === group &&
|
|
82
|
-
|
|
85
|
+
i(h.address.topic) && (!e.filter || e.filter(h))
|
|
83
86
|
)
|
|
84
87
|
);
|
|
85
88
|
let l;
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
const
|
|
89
|
-
|
|
90
|
-
const
|
|
91
|
-
next: (
|
|
89
|
+
const c = [];
|
|
90
|
+
c.push(r);
|
|
91
|
+
const s = d?.[n];
|
|
92
|
+
$(c, s?.throttle, b), $(c, e.options?.throttle, b), k(c, s?.debounce, b), k(c, e.options?.debounce, b), s?.delay && c.push(V(s.delay, b)), b && c.push(X(b)), e.options?.fetchCount && c.push(Z(e.options.fetchCount)), l = te(c)(o);
|
|
93
|
+
const u = l.subscribe({
|
|
94
|
+
next: (h) => {
|
|
92
95
|
try {
|
|
93
|
-
return e.callback(
|
|
94
|
-
} catch (
|
|
95
|
-
|
|
96
|
+
return e.callback(h);
|
|
97
|
+
} catch (E) {
|
|
98
|
+
w(h, E);
|
|
96
99
|
}
|
|
97
100
|
},
|
|
98
|
-
error: (
|
|
99
|
-
|
|
101
|
+
error: (h) => {
|
|
102
|
+
w(
|
|
100
103
|
{
|
|
101
104
|
address: {
|
|
102
|
-
channel:
|
|
105
|
+
channel: n,
|
|
103
106
|
group: t,
|
|
104
107
|
topic: e.topic
|
|
105
108
|
}
|
|
106
109
|
},
|
|
107
|
-
|
|
110
|
+
h
|
|
108
111
|
);
|
|
109
112
|
},
|
|
110
113
|
complete: () => {
|
|
111
114
|
}
|
|
112
|
-
}),
|
|
113
|
-
|
|
115
|
+
}), a = e.options?.abortSignal;
|
|
116
|
+
let f = null;
|
|
117
|
+
return a && (f = () => {
|
|
114
118
|
console.debug(
|
|
115
|
-
`Listening aborted for channel: ${
|
|
119
|
+
`Listening aborted for channel: ${n}, group: ${t}, topic: ${e.topic}. Reason: ${a.reason}`
|
|
116
120
|
// e.target
|
|
117
|
-
),
|
|
118
|
-
})
|
|
121
|
+
), u.unsubscribe();
|
|
122
|
+
}, a.addEventListener("abort", f)), u.add(() => {
|
|
123
|
+
f && a && (a.removeEventListener("abort", f), f = null);
|
|
124
|
+
}), () => {
|
|
125
|
+
f && a && (a.removeEventListener("abort", f), f = null), u.unsubscribe();
|
|
126
|
+
};
|
|
119
127
|
}
|
|
120
|
-
function
|
|
121
|
-
e.id == null && (e.id =
|
|
122
|
-
const
|
|
123
|
-
|
|
128
|
+
function v(e) {
|
|
129
|
+
e.id == null && (e.id = I()), e.headers == null && (e.headers = {});
|
|
130
|
+
const n = e.headers;
|
|
131
|
+
n.publishedAt = ie();
|
|
124
132
|
const t = String(e.address.channel);
|
|
125
|
-
e.address.group == null && (e.address.group =
|
|
126
|
-
const
|
|
127
|
-
return
|
|
133
|
+
e.address.group == null && (e.address.group = P);
|
|
134
|
+
const o = String(e.address.group);
|
|
135
|
+
return O(t, o).next(e), Promise.resolve(e);
|
|
128
136
|
}
|
|
129
|
-
function
|
|
130
|
-
|
|
137
|
+
function j(e) {
|
|
138
|
+
y(e);
|
|
131
139
|
}
|
|
132
|
-
function
|
|
133
|
-
const
|
|
140
|
+
function W(e) {
|
|
141
|
+
const n = e.options?.timeout == null ? _ : e.options?.timeout;
|
|
134
142
|
let t = !1;
|
|
135
|
-
return Promise.race([
|
|
143
|
+
return Promise.race([M(n, () => new C()), new Promise((o, i) => {
|
|
136
144
|
try {
|
|
137
|
-
const
|
|
138
|
-
let l = null
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
},
|
|
145
|
+
const r = e.options?.abortSignal;
|
|
146
|
+
let l = null, c = () => {
|
|
147
|
+
l?.(), l = null;
|
|
148
|
+
};
|
|
149
|
+
if (r) {
|
|
150
|
+
let u = null;
|
|
151
|
+
c = () => {
|
|
152
|
+
r.removeEventListener("abort", u), l?.(), l = null;
|
|
153
|
+
}, u = () => {
|
|
154
|
+
t || (t = !0, c(), i(R(r.reason)));
|
|
155
|
+
}, r.addEventListener("abort", u);
|
|
146
156
|
}
|
|
147
|
-
const
|
|
157
|
+
const s = {
|
|
148
158
|
...e,
|
|
149
159
|
options: {
|
|
150
160
|
...e.options,
|
|
151
161
|
fetchCount: 1
|
|
152
162
|
},
|
|
153
|
-
callback: (
|
|
163
|
+
callback: (u) => {
|
|
154
164
|
try {
|
|
155
165
|
if (t)
|
|
156
166
|
return;
|
|
157
|
-
t = !0,
|
|
158
|
-
} catch (
|
|
167
|
+
t = !0, c?.(), o(u);
|
|
168
|
+
} catch (a) {
|
|
159
169
|
if (t)
|
|
160
170
|
return;
|
|
161
|
-
t = !0,
|
|
171
|
+
t = !0, c?.(), i(a);
|
|
162
172
|
}
|
|
163
173
|
}
|
|
164
174
|
};
|
|
165
|
-
|
|
166
|
-
} catch (
|
|
167
|
-
r
|
|
175
|
+
l = y(s);
|
|
176
|
+
} catch (r) {
|
|
177
|
+
i(r);
|
|
168
178
|
}
|
|
169
179
|
})]);
|
|
170
180
|
}
|
|
171
|
-
function
|
|
172
|
-
const
|
|
181
|
+
function F(e) {
|
|
182
|
+
const n = {
|
|
173
183
|
...e,
|
|
174
184
|
callback: async (t) => {
|
|
175
185
|
try {
|
|
176
|
-
const
|
|
186
|
+
const o = {
|
|
177
187
|
...t.headers,
|
|
178
188
|
...e.headers,
|
|
179
189
|
requestId: t.id
|
|
180
|
-
},
|
|
190
|
+
}, i = await Promise.resolve(e.callback(t, o)), r = {
|
|
181
191
|
address: {
|
|
182
192
|
channel: t.address.channel,
|
|
183
|
-
group:
|
|
193
|
+
group: A,
|
|
184
194
|
topic: t.address.topic
|
|
185
195
|
},
|
|
186
|
-
headers:
|
|
187
|
-
payload:
|
|
196
|
+
headers: o,
|
|
197
|
+
payload: i
|
|
188
198
|
};
|
|
189
|
-
|
|
190
|
-
} catch (
|
|
191
|
-
|
|
199
|
+
v(r);
|
|
200
|
+
} catch (o) {
|
|
201
|
+
w(t, o);
|
|
192
202
|
}
|
|
193
203
|
}
|
|
194
204
|
};
|
|
195
|
-
|
|
205
|
+
y(n);
|
|
196
206
|
}
|
|
197
|
-
async function
|
|
198
|
-
const
|
|
207
|
+
async function L(e) {
|
|
208
|
+
const n = I();
|
|
199
209
|
if (e.callback) {
|
|
200
|
-
const
|
|
210
|
+
const o = {
|
|
201
211
|
channel: e.channel,
|
|
202
|
-
group:
|
|
212
|
+
group: A,
|
|
203
213
|
topic: e.topic,
|
|
204
214
|
options: {
|
|
205
215
|
...e.options,
|
|
206
216
|
fetchCount: 1
|
|
207
217
|
},
|
|
208
|
-
callback: (
|
|
209
|
-
e.callback(
|
|
218
|
+
callback: (i) => {
|
|
219
|
+
e.callback(i);
|
|
210
220
|
},
|
|
211
|
-
filter: (
|
|
221
|
+
filter: (i) => i.headers?.requestId === n && (!e.filter || e.filter(i))
|
|
212
222
|
};
|
|
213
|
-
|
|
223
|
+
y(o);
|
|
214
224
|
}
|
|
215
225
|
let t;
|
|
216
|
-
e.payloadFn ? e.payloadFn((...
|
|
217
|
-
t =
|
|
218
|
-
}) : t = e.payload, await
|
|
219
|
-
id:
|
|
226
|
+
e.payloadFn ? e.payloadFn((...o) => {
|
|
227
|
+
t = o;
|
|
228
|
+
}) : t = e.payload, await v({
|
|
229
|
+
id: n,
|
|
220
230
|
address: {
|
|
221
231
|
channel: e.channel,
|
|
222
232
|
group: e.group,
|
|
@@ -228,56 +238,88 @@ function ie(s) {
|
|
|
228
238
|
payload: t
|
|
229
239
|
});
|
|
230
240
|
}
|
|
231
|
-
async function
|
|
232
|
-
const
|
|
241
|
+
async function q(e) {
|
|
242
|
+
const n = e.options?.timeout == null ? _ : e.options?.timeout;
|
|
233
243
|
let t = !1;
|
|
234
|
-
return Promise.race([
|
|
244
|
+
return Promise.race([M(n, () => new C()), new Promise((o, i) => {
|
|
235
245
|
try {
|
|
236
|
-
const
|
|
246
|
+
const r = e.options?.abortSignal;
|
|
237
247
|
let l = null;
|
|
238
|
-
if (
|
|
239
|
-
let
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
}, i.addEventListener("abort", c);
|
|
248
|
+
if (r) {
|
|
249
|
+
let s = null;
|
|
250
|
+
l = () => {
|
|
251
|
+
r.removeEventListener("abort", s);
|
|
252
|
+
}, s = () => {
|
|
253
|
+
t || (t = !0, l(), i(R(r.reason)));
|
|
254
|
+
}, r.addEventListener("abort", s);
|
|
246
255
|
}
|
|
247
|
-
const
|
|
256
|
+
const c = {
|
|
248
257
|
...e,
|
|
249
|
-
callback: (
|
|
258
|
+
callback: (s) => {
|
|
250
259
|
try {
|
|
251
260
|
if (t)
|
|
252
261
|
return;
|
|
253
|
-
t = !0, l?.(),
|
|
254
|
-
} catch (
|
|
262
|
+
t = !0, l?.(), o(s);
|
|
263
|
+
} catch (u) {
|
|
255
264
|
if (t)
|
|
256
265
|
return;
|
|
257
|
-
t = !0, l?.(),
|
|
266
|
+
t = !0, l?.(), i(u);
|
|
258
267
|
}
|
|
259
268
|
}
|
|
260
269
|
};
|
|
261
|
-
|
|
262
|
-
} catch (
|
|
263
|
-
r
|
|
270
|
+
L(c);
|
|
271
|
+
} catch (r) {
|
|
272
|
+
i(r);
|
|
264
273
|
}
|
|
265
274
|
})]);
|
|
266
275
|
}
|
|
276
|
+
async function* z(e) {
|
|
277
|
+
const n = e.options?.timeout, t = e.options?.abortSignal, o = Symbol("stream-end");
|
|
278
|
+
let i = !1, r = null, l = null, c = null, s = 0;
|
|
279
|
+
const u = e.options?.fetchCount, a = () => {
|
|
280
|
+
c && (clearTimeout(c), c = null), n && n !== 1 / 0 && (c = setTimeout(() => {
|
|
281
|
+
l && (l(new C()), l = null, r = null);
|
|
282
|
+
}, n));
|
|
283
|
+
}, f = () => {
|
|
284
|
+
r && (r(o), r = null, l = null);
|
|
285
|
+
}, h = {
|
|
286
|
+
...e,
|
|
287
|
+
options: {
|
|
288
|
+
...e.options
|
|
289
|
+
},
|
|
290
|
+
callback: (S) => {
|
|
291
|
+
a(), r && (r(S), r = null, l = null);
|
|
292
|
+
}
|
|
293
|
+
}, E = y(h);
|
|
294
|
+
let g = null;
|
|
295
|
+
t && (g = () => {
|
|
296
|
+
i = !0, E(), f();
|
|
297
|
+
}, t.aborted ? g() : t.addEventListener("abort", g)), a();
|
|
298
|
+
try {
|
|
299
|
+
for (; (!u || s < u) && !i; ) {
|
|
300
|
+
const S = await new Promise((D, G) => {
|
|
301
|
+
r = D, l = G;
|
|
302
|
+
});
|
|
303
|
+
if (S === o)
|
|
304
|
+
break;
|
|
305
|
+
s++, yield S;
|
|
306
|
+
}
|
|
307
|
+
} finally {
|
|
308
|
+
c && clearTimeout(c), g && t && t.removeEventListener("abort", g), E();
|
|
309
|
+
}
|
|
310
|
+
}
|
|
267
311
|
return {
|
|
268
|
-
config:
|
|
269
|
-
on:
|
|
270
|
-
once:
|
|
271
|
-
stream:
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
send: (e) => C(e),
|
|
276
|
-
request: (e) => A(e)
|
|
312
|
+
config: d,
|
|
313
|
+
on: j,
|
|
314
|
+
once: W,
|
|
315
|
+
stream: z,
|
|
316
|
+
provide: F,
|
|
317
|
+
send: L,
|
|
318
|
+
request: q
|
|
277
319
|
};
|
|
278
320
|
}
|
|
279
321
|
export {
|
|
280
|
-
|
|
281
|
-
|
|
322
|
+
be as createMsgBus,
|
|
323
|
+
oe as getMatchTest
|
|
282
324
|
};
|
|
283
325
|
//# sourceMappingURL=core.es.js.map
|
package/dist/core.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.es.js","sources":["../src/core.ts"],"sourcesContent":["import {\r\n MsgBus,\r\n MsgStruct,\r\n Msg,\r\n $CG_IN,\r\n $CG_OUT,\r\n MsgBusConfig,\r\n MsgSubParams,\r\n AwaitableMsgSubParams,\r\n MsgProviderParams,\r\n MsgStructNormalized,\r\n $CG_ERROR,\r\n $C_ERROR,\r\n MsgHeaders,\r\n TimeoutError,\r\n MsgAddress,\r\n InStruct,\r\n MsgSenderOptions,\r\n MsgRequestDispatcherParams,\r\n ErrorPayload,\r\n $SYSTEM_TOPIC\r\n} from \"./contracts\";\r\nimport { v4 as uuid } from \"uuid\";\r\nimport { MonoTypeOperatorFunction, Observable, Subject, ReplaySubject, asyncScheduler, OperatorFunction, SchedulerLike } from \"rxjs\";\r\nimport { filter as filterOp, take as takeOp, observeOn, delay as delayOp, debounceTime as debounceOp } from \"rxjs/operators\";\r\n\r\nimport { IsTuple, Skip } from \"@actdim/utico/typeCore\";\r\nimport { pipeFromArray, throttleOp, ThrottleOptions } from \"./util\";\r\nimport { delayError } from \"@actdim/utico/utils\";\r\n\r\nexport const getMatchTest = (pattern: string) => {\r\n if (pattern == undefined) {\r\n // return (value: string) => true;\r\n return (value: string) => value == pattern;\r\n }\r\n if (pattern.startsWith(\"/\") && pattern.endsWith(\"/\")) {\r\n pattern = pattern.substring(1, pattern.length - 1);\r\n const regexp = new RegExp(pattern);\r\n return (value: string) => regexp.test(value);\r\n } else {\r\n return (value: string) => pattern === value;\r\n }\r\n};\r\n\r\nconst DEFAULT_PROMISE_TIMEOUT = 1000 * 60 * 2; // 2 minutes\r\n\r\n// see also https://www.npmjs.com/package/p-queue\r\n// https://github.com/postaljs/postal.js\r\n\r\nfunction now() {\r\n return Date.now(); // new Date().getTime() or +new Date()\r\n}\r\n\r\n// createServiceBus\r\nconst groupPrefix = \":\"; // \"/\", \":\", \"::\"\r\nexport function createMsgBus<TStruct extends MsgStruct, THeaders extends MsgHeaders = MsgHeaders>(config?: MsgBusConfig<MsgStructNormalized<TStruct>>) {\r\n type TStructN = MsgStructNormalized<TStruct>;\r\n type MsgInfo = Skip<Msg<TStructN>, \"payload\">;\r\n\r\n const errTopic = $SYSTEM_TOPIC;\r\n const scheduler: SchedulerLike = asyncScheduler;\r\n\r\n function getMsgInfo(msg: Msg<TStructN>) {\r\n return {\r\n id: msg.id,\r\n address: msg.address,\r\n headers: msg.headers\r\n } as MsgInfo;\r\n }\r\n\r\n function handleError(srcMsg: Msg<TStructN>, err: any) {\r\n // TODO: keep original error only in debug mode\r\n // if (err instanceof Error) {\r\n // err = {\r\n // name: err.name,\r\n // message: err.message,\r\n // stack: err.stack,\r\n // cause: err.cause\r\n // };\r\n // }\r\n const errPayload = ({\r\n error: err,\r\n source: getMsgInfo(srcMsg)\r\n } satisfies ErrorPayload) as Msg<TStructN>[\"payload\"];\r\n let errMsg: Msg<TStructN>;\r\n errMsg = {\r\n address: {\r\n channel: srcMsg.address.channel,\r\n group: $CG_ERROR,\r\n topic: errTopic\r\n },\r\n payload: errPayload\r\n };\r\n publish(errMsg);\r\n errMsg = {\r\n address: {\r\n channel: $C_ERROR,\r\n group: $CG_IN,\r\n topic: errTopic\r\n },\r\n payload: errPayload\r\n };\r\n publish(errMsg);\r\n // + nack?\r\n }\r\n \r\n // observables\r\n const subjects: Map<string, Subject<Msg<TStructN>>> = new Map();\r\n\r\n function createRoutingKey(channel: string, group: string) {\r\n return `${channel}${groupPrefix}${group}`;\r\n }\r\n\r\n // TODO: use for subjects\r\n // type MsgRecord = {\r\n // msg: Msg<TStructN>;\r\n // acked: boolean;\r\n // // ackTimestamp\r\n // ackedAt?: number;\r\n // }\r\n\r\n function getOrCreateSubject(channel: string, group: string): Subject<Msg<TStructN>> {\r\n const routingKey = createRoutingKey(channel, group);\r\n // TODO: support BehaviorSubject\r\n if (!subjects.has(routingKey)) {\r\n let subject: Subject<Msg<TStructN>> = null;\r\n const channelConfig = config?.[channel];\r\n if (channelConfig) {\r\n if (channelConfig.replayBufferSize != undefined || channelConfig.replayWindowTime != undefined) {\r\n subject = new ReplaySubject<Msg<TStructN>>(channelConfig.replayBufferSize == undefined ? Infinity : channelConfig.replayBufferSize, channelConfig.replayWindowTime == undefined ? Infinity : channelConfig.replayWindowTime);\r\n }\r\n }\r\n if (!subject) {\r\n subject = new Subject<Msg<TStructN>>();\r\n }\r\n subjects.set(routingKey,\r\n subject\r\n );\r\n }\r\n return subjects.get(routingKey);\r\n }\r\n\r\n function applyThrottle(ops: OperatorFunction<any, any>[], throttle?: number | (ThrottleOptions & { duration: number; }), scheduler?: SchedulerLike) {\r\n if (throttle != undefined) {\r\n let duration: number;\r\n let options: ThrottleOptions = { leading: true, trailing: true };\r\n if (typeof throttle === \"number\") {\r\n duration = throttle;\r\n } else {\r\n duration = throttle.duration;\r\n options.leading = throttle.leading;\r\n options.trailing = throttle.trailing;\r\n }\r\n ops.push(throttleOp(duration, options, scheduler));\r\n }\r\n }\r\n\r\n function applyDebounce(ops: OperatorFunction<any, any>[], duration?: number, scheduler?: SchedulerLike) {\r\n if (duration != undefined) {\r\n ops.push(debounceOp(duration, scheduler));\r\n }\r\n }\r\n\r\n function subscribe(params: MsgSubParams<TStructN>) {\r\n // TODO: use [channel, group] as key?\r\n\r\n const channel = String(params.channel);\r\n\r\n const group = params.group == undefined ? $CG_IN : String(params.group);\r\n\r\n const subject = getOrCreateSubject(channel, group);\r\n\r\n const match = getMatchTest(params.topic);\r\n\r\n const fOp: MonoTypeOperatorFunction<Msg<TStructN>> = filterOp(\r\n (msg) =>\r\n // msg.address.channel === channel &&\r\n // msg.address.group === group &&\r\n match(msg.address.topic) && (!params.filter || params.filter(msg))\r\n );\r\n\r\n let observable: Observable<Msg<TStructN>>;\r\n\r\n const ops: OperatorFunction<any, any>[] = [];\r\n\r\n ops.push(fOp);\r\n\r\n const channelConfig = config?.[channel];\r\n\r\n applyThrottle(ops, channelConfig?.throttle, scheduler);\r\n\r\n applyThrottle(ops, params.options?.throttle, scheduler);\r\n\r\n applyDebounce(ops, channelConfig?.debounce, scheduler);\r\n\r\n applyDebounce(ops, params.options?.debounce, scheduler);\r\n\r\n if (channelConfig?.delay) {\r\n ops.push(delayOp(channelConfig.delay, scheduler));\r\n }\r\n\r\n if (scheduler) {\r\n ops.push(observeOn(scheduler));\r\n }\r\n\r\n if (params.options?.fetchCount) {\r\n ops.push(takeOp(params.options.fetchCount));\r\n }\r\n\r\n observable = pipeFromArray(ops)(subject);\r\n\r\n const sub = observable.subscribe({\r\n next: (msg: Msg<TStructN>) => {\r\n try {\r\n return params.callback(msg);\r\n } catch (err) {\r\n handleError(msg, err);\r\n // throw err;\r\n }\r\n },\r\n error: (err) => {\r\n handleError(\r\n {\r\n address: {\r\n channel: channel,\r\n group: group,\r\n topic: params.topic\r\n }\r\n },\r\n err\r\n );\r\n },\r\n complete: () => {\r\n // cleanup\r\n }\r\n });\r\n\r\n const abortSignal = params.options?.abortSignal;\r\n abortSignal?.addEventListener(\"abort\", (e) => {\r\n // TODO: publish debug (internal) message\r\n console.debug(\r\n `Listening aborted for channel: ${channel}, group: ${group}, topic: ${params.topic}. Reason: ${abortSignal.reason}` // e.target\r\n );\r\n sub.unsubscribe();\r\n });\r\n }\r\n\r\n function publish(msg: Msg<TStructN>) {\r\n if (msg.id == undefined) {\r\n msg.id = uuid();\r\n }\r\n if (msg.headers == undefined) {\r\n msg.headers = {};\r\n }\r\n const headers = msg.headers;\r\n headers.publishedAt = now()\r\n const channel = String(msg.address.channel);\r\n if (msg.address.group == undefined) {\r\n msg.address.group = $CG_IN;\r\n }\r\n const group = String(msg.address.group);\r\n const subject = getOrCreateSubject(channel, group);\r\n subject.next(msg);\r\n // TODO: implement backpressure via signal after 'ack' or msg from out signal\r\n return Promise.resolve(msg);\r\n }\r\n\r\n function on(params: MsgSubParams<TStructN>) {\r\n subscribe(params);\r\n }\r\n\r\n function once(params: AwaitableMsgSubParams<TStructN>) {\r\n const timeout = params.options?.timeout == undefined ? DEFAULT_PROMISE_TIMEOUT : params.options?.timeout;\r\n let settled = false;\r\n return Promise.race([delayError(timeout, () => new TimeoutError()), new Promise<any>((res, rej) => {\r\n try {\r\n const abortSignal = params.options?.abortSignal;\r\n let cleanup: () => void = null;\r\n\r\n if (abortSignal) {\r\n let onAbort: () => void = null;\r\n cleanup = () => {\r\n abortSignal.removeEventListener(\"abort\", onAbort);\r\n };\r\n onAbort = () => {\r\n if (settled) {\r\n return\r\n };\r\n settled = true;\r\n cleanup();\r\n rej(new Error(\"Cancelled\", { cause: abortSignal.reason })); // e.target\r\n };\r\n abortSignal.addEventListener(\"abort\", onAbort);\r\n }\r\n\r\n const subParams: MsgSubParams<TStructN> = {\r\n ...params,\r\n ...{\r\n options: {\r\n ...params.options,\r\n ...{\r\n fetchCount: 1\r\n }\r\n },\r\n callback: (msg) => {\r\n try {\r\n if (settled) {\r\n return;\r\n }\r\n settled = true;\r\n cleanup?.();\r\n // sub.unsubscribe();\r\n res(msg);\r\n } catch (err) {\r\n if (settled) {\r\n return;\r\n }\r\n settled = true;\r\n cleanup?.();\r\n rej(err);\r\n }\r\n }\r\n }\r\n };\r\n subscribe(subParams);\r\n } catch (e) {\r\n rej(e);\r\n }\r\n })]);\r\n }\r\n\r\n function provide(params: MsgProviderParams<TStructN>) {\r\n const subParams: MsgSubParams<TStructN> = {\r\n ...params,\r\n ...{\r\n callback: async (msgIn) => {\r\n try {\r\n const headers = {\r\n ...msgIn.headers,\r\n ...params.headers,\r\n requestId: msgIn.id,\r\n }\r\n const payload = (await Promise.resolve(params.callback(msgIn, headers)));\r\n const msgOut: Msg<TStructN, keyof TStructN, typeof $CG_OUT> = {\r\n address: {\r\n channel: msgIn.address.channel,\r\n group: $CG_OUT,\r\n topic: msgIn.address.topic\r\n },\r\n headers: headers,\r\n payload: payload\r\n };\r\n publish(msgOut);\r\n } catch (err) {\r\n handleError(msgIn, err);\r\n // throw err;\r\n }\r\n }\r\n }\r\n };\r\n subscribe(subParams);\r\n }\r\n\r\n type MsgDispatcherParams<\r\n TStruct extends MsgStruct = MsgStruct,\r\n TChannel extends keyof TStruct = keyof TStruct,\r\n TGroup extends keyof TStruct[TChannel] = keyof TStruct[TChannel], // typeof $CG_IN\r\n THeaders extends MsgHeaders = MsgHeaders\r\n > = MsgAddress<TStruct, TChannel, TGroup> & {\r\n channelSelector?: string | ((channel: string) => boolean);\r\n // topicSelector?: string | ((channel: string) => boolean);\r\n payload?: TGroup extends undefined ? InStruct<TStruct, TChannel> : TStruct[TChannel][TGroup];\r\n payloadFn?: IsTuple<TGroup extends undefined ? InStruct<TStruct, TChannel> : TStruct[TChannel][TGroup]> extends true\r\n ? (fn: (...args: TGroup extends undefined ? InStruct<TStruct, TChannel> : TStruct[TChannel][TGroup]) => void) => void\r\n : never;\r\n options?: MsgSenderOptions;\r\n filter?: (msg: Msg<TStruct, TChannel, TGroup, THeaders>) => boolean;\r\n headers?: THeaders;\r\n callback?: (msg: Msg<TStruct, TChannel, typeof $CG_OUT, THeaders>) => void;\r\n };\r\n\r\n async function dispatch(params: MsgDispatcherParams<TStructN>) {\r\n const msgId = uuid();\r\n if (params.callback) {\r\n const subParams: MsgSubParams<TStructN, keyof TStructN, typeof $CG_OUT> = {\r\n channel: params.channel,\r\n group: $CG_OUT,\r\n topic: params.topic,\r\n options: {\r\n ...params.options,\r\n ...{\r\n fetchCount: 1\r\n }\r\n },\r\n callback: (msgOut) => {\r\n // sub.unsubscribe();\r\n params.callback(msgOut);\r\n },\r\n filter: (msgOut) => {\r\n return msgOut.headers?.requestId === msgId && (!params.filter || params.filter(msgOut)) // TODO: match topic?\r\n }\r\n };\r\n subscribe(subParams);\r\n }\r\n let payload: any;\r\n if (params.payloadFn) {\r\n params.payloadFn((...args) => {\r\n payload = args;\r\n });\r\n } else {\r\n payload = params.payload;\r\n }\r\n await publish({\r\n id: msgId,\r\n address: {\r\n channel: params.channel,\r\n group: params.group,\r\n topic: params.topic\r\n },\r\n headers: {\r\n ...params.headers\r\n },\r\n payload: payload\r\n });\r\n }\r\n\r\n async function request(params: MsgRequestDispatcherParams<TStructN>): Promise<any> {\r\n const timeout = params.options?.timeout == undefined ? DEFAULT_PROMISE_TIMEOUT : params.options?.timeout;\r\n let settled = false;\r\n return Promise.race([delayError(timeout, () => new TimeoutError()), new Promise((res, rej) => {\r\n try {\r\n const abortSignal = params.options?.abortSignal;\r\n let cleanup: () => void = null;\r\n\r\n if (abortSignal) {\r\n let onAbort: () => void = null;\r\n const cleanup = () => {\r\n abortSignal.removeEventListener(\"abort\", onAbort);\r\n };\r\n onAbort = () => {\r\n if (settled) {\r\n return\r\n };\r\n settled = true;\r\n cleanup();\r\n rej(new Error(\"Cancelled\", { cause: abortSignal.reason })); // e.target\r\n };\r\n abortSignal.addEventListener(\"abort\", onAbort);\r\n }\r\n\r\n const dispatchParams: MsgDispatcherParams<TStructN> = {\r\n ...params,\r\n callback: (msg) => {\r\n try {\r\n if (settled) {\r\n return;\r\n }\r\n settled = true;\r\n cleanup?.();\r\n res(msg);\r\n } catch (err) {\r\n if (settled) {\r\n return;\r\n }\r\n settled = true;\r\n cleanup?.();\r\n rej(err);\r\n }\r\n }\r\n };\r\n dispatch(dispatchParams);\r\n } catch (err) {\r\n rej(err);\r\n }\r\n })]);\r\n }\r\n\r\n const msgBus: MsgBus<TStruct, THeaders> = {\r\n config: config,\r\n on: (params) => on(params as MsgSubParams<TStructN>),\r\n once: (params) => once(params as AwaitableMsgSubParams<TStructN>),\r\n stream: (params) => {\r\n throw new Error(\"Not implemented\");\r\n },\r\n provide: (params) => provide(params as MsgProviderParams<TStructN>),\r\n send: (params) => dispatch(params as MsgDispatcherParams<TStructN>),\r\n request: (params) => request(params as MsgRequestDispatcherParams<TStructN>),\r\n };\r\n\r\n // msgBus[\"#subjects\"] = subjects;\r\n\r\n return msgBus;\r\n}\r\n\r\n// TODO: support stream\r\n// TODO: support persistence\r\n// TODO: support unsubscribe (abort) alias (like in hooks)\r\n// TODO: support msg ack via custom RepeatSubject and MsgRecord: (no acked messages in queue, auto ack on publish to \"out\" channel)\r\n// TODO: support rate limiting (single channel) and backpressure (for \"in\" and \"out\" channel pair), real send promise\r\n// TODO: support TTL, maxBufferLength\r\n/*\r\nclass RepeatSubject<T> {\r\n private buffer: Msg<T>[] = [];\r\n private subject = new Subject<Msg<T>>();\r\n\r\n next(msg: Msg<T>) {\r\n this.buffer.push(msg);\r\n this.subject.next(msg);\r\n }\r\n\r\n subscribe(\r\n observer: (msg: Msg<T>) => void,\r\n filterFn?: (msg: Msg<T>) => boolean\r\n ) { \r\n this.buffer.filter(filterFn ?? (() => true)).forEach(observer);\r\n \r\n return this.subject.subscribe(observer);\r\n }\r\n}\r\n*/\r\n"],"names":["getMatchTest","pattern","value","regexp","DEFAULT_PROMISE_TIMEOUT","now","groupPrefix","createMsgBus","config","errTopic","$SYSTEM_TOPIC","scheduler","asyncScheduler","getMsgInfo","msg","handleError","srcMsg","err","errPayload","errMsg","$CG_ERROR","publish","$C_ERROR","$CG_IN","subjects","createRoutingKey","channel","group","getOrCreateSubject","routingKey","subject","channelConfig","ReplaySubject","Subject","applyThrottle","ops","throttle","duration","options","throttleOp","applyDebounce","debounceOp","subscribe","params","match","fOp","filterOp","observable","delayOp","observeOn","takeOp","pipeFromArray","sub","abortSignal","e","uuid","headers","on","once","timeout","settled","delayError","TimeoutError","res","rej","cleanup","onAbort","subParams","provide","msgIn","payload","msgOut","$CG_OUT","dispatch","msgId","args","request","dispatchParams"],"mappings":";;;;;;AA8BO,MAAMA,IAAe,CAACC,MAAoB;AAC7C,MAAIA,KAAW;AAEX,WAAO,CAACC,MAAkBA,KAASD;AAEvC,MAAIA,EAAQ,WAAW,GAAG,KAAKA,EAAQ,SAAS,GAAG,GAAG;AAClD,IAAAA,IAAUA,EAAQ,UAAU,GAAGA,EAAQ,SAAS,CAAC;AACjD,UAAME,IAAS,IAAI,OAAOF,CAAO;AACjC,WAAO,CAACC,MAAkBC,EAAO,KAAKD,CAAK;AAAA,EAC/C;AACI,WAAO,CAACA,MAAkBD,MAAYC;AAE9C,GAEME,IAA0B,MAAO,KAAK;AAK5C,SAASC,IAAM;AACX,SAAO,KAAK,IAAA;AAChB;AAGA,MAAMC,IAAc;AACb,SAASC,GAAkFC,GAAqD;AAInJ,QAAMC,IAAWC,GACXC,IAA2BC;AAEjC,WAASC,EAAWC,GAAoB;AACpC,WAAO;AAAA,MACH,IAAIA,EAAI;AAAA,MACR,SAASA,EAAI;AAAA,MACb,SAASA,EAAI;AAAA,IAAA;AAAA,EAErB;AAEA,WAASC,EAAYC,GAAuBC,GAAU;AAUlD,UAAMC,IAAc;AAAA,MAChB,OAAOD;AAAA,MACP,QAAQJ,EAAWG,CAAM;AAAA,IAAA;AAE7B,QAAIG;AACJ,IAAAA,IAAS;AAAA,MACL,SAAS;AAAA,QACL,SAASH,EAAO,QAAQ;AAAA,QACxB,OAAOI;AAAA,QACP,OAAOX;AAAA,MAAA;AAAA,MAEX,SAASS;AAAA,IAAA,GAEbG,EAAQF,CAAM,GACdA,IAAS;AAAA,MACL,SAAS;AAAA,QACL,SAASG;AAAA,QACT,OAAOC;AAAA,QACP,OAAOd;AAAA,MAAA;AAAA,MAEX,SAASS;AAAA,IAAA,GAEbG,EAAQF,CAAM;AAAA,EAElB;AAGA,QAAMK,wBAAoD,IAAA;AAE1D,WAASC,EAAiBC,GAAiBC,GAAe;AACtD,WAAO,GAAGD,CAAO,GAAGpB,CAAW,GAAGqB,CAAK;AAAA,EAC3C;AAUA,WAASC,EAAmBF,GAAiBC,GAAuC;AAChF,UAAME,IAAaJ,EAAiBC,GAASC,CAAK;AAElD,QAAI,CAACH,EAAS,IAAIK,CAAU,GAAG;AAC3B,UAAIC,IAAkC;AACtC,YAAMC,IAAgBvB,IAASkB,CAAO;AACtC,MAAIK,MACIA,EAAc,oBAAoB,QAAaA,EAAc,oBAAoB,UACjFD,IAAU,IAAIE,EAA6BD,EAAc,oBAAoB,OAAY,QAAWA,EAAc,kBAAkBA,EAAc,oBAAoB,OAAY,QAAWA,EAAc,gBAAgB,IAG9ND,MACDA,IAAU,IAAIG,EAAA,IAElBT,EAAS;AAAA,QAAIK;AAAA,QACTC;AAAA,MAAA;AAAA,IAER;AACA,WAAON,EAAS,IAAIK,CAAU;AAAA,EAClC;AAEA,WAASK,EAAcC,GAAmCC,GAA+DzB,GAA2B;AAChJ,QAAIyB,KAAY,MAAW;AACvB,UAAIC,GACAC,IAA2B,EAAE,SAAS,IAAM,UAAU,GAAA;AAC1D,MAAI,OAAOF,KAAa,WACpBC,IAAWD,KAEXC,IAAWD,EAAS,UACpBE,EAAQ,UAAUF,EAAS,SAC3BE,EAAQ,WAAWF,EAAS,WAEhCD,EAAI,KAAKI,EAAWF,GAAUC,GAAS3B,CAAS,CAAC;AAAA,IACrD;AAAA,EACJ;AAEA,WAAS6B,EAAcL,GAAmCE,GAAmB1B,GAA2B;AACpG,IAAI0B,KAAY,QACZF,EAAI,KAAKM,EAAWJ,GAAU1B,CAAS,CAAC;AAAA,EAEhD;AAEA,WAAS+B,EAAUC,GAAgC;AAG/C,UAAMjB,IAAU,OAAOiB,EAAO,OAAO,GAE/BhB,IAAQgB,EAAO,SAAS,OAAYpB,IAAS,OAAOoB,EAAO,KAAK,GAEhEb,IAAUF,EAAmBF,GAASC,CAAK,GAE3CiB,IAAQ5C,EAAa2C,EAAO,KAAK,GAEjCE,IAA+CC;AAAAA,MACjD,CAAChC;AAAA;AAAA;AAAA,QAGG8B,EAAM9B,EAAI,QAAQ,KAAK,MAAM,CAAC6B,EAAO,UAAUA,EAAO,OAAO7B,CAAG;AAAA;AAAA,IAAA;AAGxE,QAAIiC;AAEJ,UAAMZ,IAAoC,CAAA;AAE1C,IAAAA,EAAI,KAAKU,CAAG;AAEZ,UAAMd,IAAgBvB,IAASkB,CAAO;AAEtC,IAAAQ,EAAcC,GAAKJ,GAAe,UAAUpB,CAAS,GAErDuB,EAAcC,GAAKQ,EAAO,SAAS,UAAUhC,CAAS,GAEtD6B,EAAcL,GAAKJ,GAAe,UAAUpB,CAAS,GAErD6B,EAAcL,GAAKQ,EAAO,SAAS,UAAUhC,CAAS,GAElDoB,GAAe,SACfI,EAAI,KAAKa,EAAQjB,EAAc,OAAOpB,CAAS,CAAC,GAGhDA,KACAwB,EAAI,KAAKc,EAAUtC,CAAS,CAAC,GAG7BgC,EAAO,SAAS,cAChBR,EAAI,KAAKe,EAAOP,EAAO,QAAQ,UAAU,CAAC,GAG9CI,IAAaI,EAAchB,CAAG,EAAEL,CAAO;AAEvC,UAAMsB,IAAML,EAAW,UAAU;AAAA,MAC7B,MAAM,CAACjC,MAAuB;AAC1B,YAAI;AACA,iBAAO6B,EAAO,SAAS7B,CAAG;AAAA,QAC9B,SAASG,GAAK;AACV,UAAAF,EAAYD,GAAKG,CAAG;AAAA,QAExB;AAAA,MACJ;AAAA,MACA,OAAO,CAACA,MAAQ;AACZ,QAAAF;AAAA,UACI;AAAA,YACI,SAAS;AAAA,cACL,SAAAW;AAAA,cACA,OAAAC;AAAA,cACA,OAAOgB,EAAO;AAAA,YAAA;AAAA,UAClB;AAAA,UAEJ1B;AAAA,QAAA;AAAA,MAER;AAAA,MACA,UAAU,MAAM;AAAA,MAEhB;AAAA,IAAA,CACH,GAEKoC,IAAcV,EAAO,SAAS;AACpC,IAAAU,GAAa,iBAAiB,SAAS,CAACC,MAAM;AAE1C,cAAQ;AAAA,QACJ,kCAAkC5B,CAAO,YAAYC,CAAK,YAAYgB,EAAO,KAAK,aAAaU,EAAY,MAAM;AAAA;AAAA,MAAA,GAErHD,EAAI,YAAA;AAAA,IACR,CAAC;AAAA,EACL;AAEA,WAAS/B,EAAQP,GAAoB;AACjC,IAAIA,EAAI,MAAM,SACVA,EAAI,KAAKyC,EAAA,IAETzC,EAAI,WAAW,SACfA,EAAI,UAAU,CAAA;AAElB,UAAM0C,IAAU1C,EAAI;AACpB,IAAA0C,EAAQ,cAAcnD,EAAA;AACtB,UAAMqB,IAAU,OAAOZ,EAAI,QAAQ,OAAO;AAC1C,IAAIA,EAAI,QAAQ,SAAS,SACrBA,EAAI,QAAQ,QAAQS;AAExB,UAAMI,IAAQ,OAAOb,EAAI,QAAQ,KAAK;AAEtC,WADgBc,EAAmBF,GAASC,CAAK,EACzC,KAAKb,CAAG,GAET,QAAQ,QAAQA,CAAG;AAAA,EAC9B;AAEA,WAAS2C,EAAGd,GAAgC;AACxC,IAAAD,EAAUC,CAAM;AAAA,EACpB;AAEA,WAASe,EAAKf,GAAyC;AACnD,UAAMgB,IAAUhB,EAAO,SAAS,WAAW,OAAYvC,IAA0BuC,EAAO,SAAS;AACjG,QAAIiB,IAAU;AACd,WAAO,QAAQ,KAAK,CAACC,EAAWF,GAAS,MAAM,IAAIG,EAAA,CAAc,GAAG,IAAI,QAAa,CAACC,GAAKC,MAAQ;AAC/F,UAAI;AACA,cAAMX,IAAcV,EAAO,SAAS;AACpC,YAAIsB,IAAsB;AAE1B,YAAIZ,GAAa;AACb,cAAIa,IAAsB;AAC1B,UAAAD,IAAU,MAAM;AACZ,YAAAZ,EAAY,oBAAoB,SAASa,CAAO;AAAA,UACpD,GACAA,IAAU,MAAM;AACZ,YAAIN,MAGJA,IAAU,IACVK,EAAA,GACAD,EAAI,IAAI,MAAM,aAAa,EAAE,OAAOX,EAAY,OAAA,CAAQ,CAAC;AAAA,UAC7D,GACAA,EAAY,iBAAiB,SAASa,CAAO;AAAA,QACjD;AAEA,cAAMC,IAAoC;AAAA,UACtC,GAAGxB;AAAA,UAEC,SAAS;AAAA,YACL,GAAGA,EAAO;AAAA,YAEN,YAAY;AAAA,UAChB;AAAA,UAEJ,UAAU,CAAC7B,MAAQ;AACf,gBAAI;AACA,kBAAI8C;AACA;AAEJ,cAAAA,IAAU,IACVK,IAAA,GAEAF,EAAIjD,CAAG;AAAA,YACX,SAASG,GAAK;AACV,kBAAI2C;AACA;AAEJ,cAAAA,IAAU,IACVK,IAAA,GACAD,EAAI/C,CAAG;AAAA,YACX;AAAA,UACJ;AAAA,QACJ;AAEJ,QAAAyB,EAAUyB,CAAS;AAAA,MACvB,SAASb,GAAG;AACR,QAAAU,EAAIV,CAAC;AAAA,MACT;AAAA,IACJ,CAAC,CAAC,CAAC;AAAA,EACP;AAEA,WAASc,EAAQzB,GAAqC;AAClD,UAAMwB,IAAoC;AAAA,MACtC,GAAGxB;AAAA,MAEC,UAAU,OAAO0B,MAAU;AACvB,YAAI;AACA,gBAAMb,IAAU;AAAA,YACZ,GAAGa,EAAM;AAAA,YACT,GAAG1B,EAAO;AAAA,YACV,WAAW0B,EAAM;AAAA,UAAA,GAEfC,IAAW,MAAM,QAAQ,QAAQ3B,EAAO,SAAS0B,GAAOb,CAAO,CAAC,GAChEe,IAAwD;AAAA,YAC1D,SAAS;AAAA,cACL,SAASF,EAAM,QAAQ;AAAA,cACvB,OAAOG;AAAA,cACP,OAAOH,EAAM,QAAQ;AAAA,YAAA;AAAA,YAEzB,SAAAb;AAAA,YACA,SAAAc;AAAA,UAAA;AAEJ,UAAAjD,EAAQkD,CAAM;AAAA,QAClB,SAAStD,GAAK;AACV,UAAAF,EAAYsD,GAAOpD,CAAG;AAAA,QAE1B;AAAA,MACJ;AAAA,IACJ;AAEJ,IAAAyB,EAAUyB,CAAS;AAAA,EACvB;AAoBA,iBAAeM,EAAS9B,GAAuC;AAC3D,UAAM+B,IAAQnB,EAAA;AACd,QAAIZ,EAAO,UAAU;AACjB,YAAMwB,IAAoE;AAAA,QACtE,SAASxB,EAAO;AAAA,QAChB,OAAO6B;AAAA,QACP,OAAO7B,EAAO;AAAA,QACd,SAAS;AAAA,UACL,GAAGA,EAAO;AAAA,UAEN,YAAY;AAAA,QAChB;AAAA,QAEJ,UAAU,CAAC4B,MAAW;AAElB,UAAA5B,EAAO,SAAS4B,CAAM;AAAA,QAC1B;AAAA,QACA,QAAQ,CAACA,MACEA,EAAO,SAAS,cAAcG,MAAU,CAAC/B,EAAO,UAAUA,EAAO,OAAO4B,CAAM;AAAA,MACzF;AAEJ,MAAA7B,EAAUyB,CAAS;AAAA,IACvB;AACA,QAAIG;AACJ,IAAI3B,EAAO,YACPA,EAAO,UAAU,IAAIgC,MAAS;AAC1B,MAAAL,IAAUK;AAAA,IACd,CAAC,IAEDL,IAAU3B,EAAO,SAErB,MAAMtB,EAAQ;AAAA,MACV,IAAIqD;AAAA,MACJ,SAAS;AAAA,QACL,SAAS/B,EAAO;AAAA,QAChB,OAAOA,EAAO;AAAA,QACd,OAAOA,EAAO;AAAA,MAAA;AAAA,MAElB,SAAS;AAAA,QACL,GAAGA,EAAO;AAAA,MAAA;AAAA,MAEd,SAAA2B;AAAA,IAAA,CACH;AAAA,EACL;AAEA,iBAAeM,EAAQjC,GAA4D;AAC/E,UAAMgB,IAAUhB,EAAO,SAAS,WAAW,OAAYvC,IAA0BuC,EAAO,SAAS;AACjG,QAAIiB,IAAU;AACd,WAAO,QAAQ,KAAK,CAACC,EAAWF,GAAS,MAAM,IAAIG,EAAA,CAAc,GAAG,IAAI,QAAQ,CAACC,GAAKC,MAAQ;AAC1F,UAAI;AACA,cAAMX,IAAcV,EAAO,SAAS;AACpC,YAAIsB,IAAsB;AAE1B,YAAIZ,GAAa;AACb,cAAIa,IAAsB;AAC1B,gBAAMD,IAAU,MAAM;AAClB,YAAAZ,EAAY,oBAAoB,SAASa,CAAO;AAAA,UACpD;AACA,UAAAA,IAAU,MAAM;AACZ,YAAIN,MAGJA,IAAU,IACVK,EAAAA,GACAD,EAAI,IAAI,MAAM,aAAa,EAAE,OAAOX,EAAY,OAAA,CAAQ,CAAC;AAAA,UAC7D,GACAA,EAAY,iBAAiB,SAASa,CAAO;AAAA,QACjD;AAEA,cAAMW,IAAgD;AAAA,UAClD,GAAGlC;AAAA,UACH,UAAU,CAAC7B,MAAQ;AACf,gBAAI;AACA,kBAAI8C;AACA;AAEJ,cAAAA,IAAU,IACVK,IAAA,GACAF,EAAIjD,CAAG;AAAA,YACX,SAASG,GAAK;AACV,kBAAI2C;AACA;AAEJ,cAAAA,IAAU,IACVK,IAAA,GACAD,EAAI/C,CAAG;AAAA,YACX;AAAA,UACJ;AAAA,QAAA;AAEJ,QAAAwD,EAASI,CAAc;AAAA,MAC3B,SAAS5D,GAAK;AACV,QAAA+C,EAAI/C,CAAG;AAAA,MACX;AAAA,IACJ,CAAC,CAAC,CAAC;AAAA,EACP;AAgBA,SAd0C;AAAA,IACtC,QAAAT;AAAA,IACA,IAAI,CAACmC,MAAWc,EAAGd,CAAgC;AAAA,IACnD,MAAM,CAACA,MAAWe,EAAKf,CAAyC;AAAA,IAChE,QAAQ,CAACA,MAAW;AAChB,YAAM,IAAI,MAAM,iBAAiB;AAAA,IACrC;AAAA,IACA,SAAS,CAACA,MAAWyB,EAAQzB,CAAqC;AAAA,IAClE,MAAM,CAACA,MAAW8B,EAAS9B,CAAuC;AAAA,IAClE,SAAS,CAACA,MAAWiC,EAAQjC,CAA8C;AAAA,EAAA;AAMnF;"}
|
|
1
|
+
{"version":3,"file":"core.es.js","sources":["../src/core.ts"],"sourcesContent":null,"names":["getMatchTest","pattern","value","regexp","DEFAULT_PROMISE_TIMEOUT","now","groupPrefix","createMsgBus","config","errTopic","$SYSTEM_TOPIC","scheduler","asyncScheduler","getMsgInfo","msg","handleError","srcMsg","err","errPayload","errMsg","$CG_ERROR","publish","$C_ERROR","$CG_IN","createOperationCanceledError","reason","OperationCanceledError","subjects","createRoutingKey","channel","group","getOrCreateSubject","routingKey","subject","channelConfig","ReplaySubject","Subject","applyThrottle","ops","throttle","duration","options","throttleOp","applyDebounce","debounceOp","subscribe","params","match","fOp","filterOp","observable","delayOp","observeOn","takeOp","pipeFromArray","sub","abortSignal","onAbort","uuid","headers","on","once","timeout","settled","delayError","TimeoutError","res","rej","un","cleanup","subParams","e","provide","msgIn","payload","msgOut","$CG_OUT","dispatch","msgId","args","request","dispatchParams","stream","streamEnd","aborted","pendingResolve","pendingReject","timeoutId","messageCount","fetchCount","resetTimeout","resolvePendingAsEnded","unsubscribe","resolve","reject"],"mappings":"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"}
|
package/dist/util.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.es.js","sources":["../src/util.ts"],"sourcesContent":
|
|
1
|
+
{"version":3,"file":"util.es.js","sources":["../src/util.ts"],"sourcesContent":null,"names":["identity","x","pipeFromArray","fns","input","prev","fn","throttleOp","duration","options","scheduler","asyncScheduler","leading","trailing","source","Observable","subscriber","throttling","lastValue","timerSub","endWindow","sourceSub","value","timer","err"],"mappings":";AAEO,SAASA,EAAYC,GAAS;AACjC,SAAOA;AACX;AAEO,SAASC,EAAoBC,GAAsD;AACtF,SAAIA,EAAI,WAAW,IACRH,IAGPG,EAAI,WAAW,IACRA,EAAI,CAAC,IAGT,SAAeC,GAAa;AAC/B,WAAOD,EAAI,OAAO,CAACE,GAAWC,MAA4BA,EAAGD,CAAI,GAAGD,CAAY;AAAA,EACpF;AACJ;AAOO,SAASG,EACZC,GACAC,IAA2B,EAAE,SAAS,IAAM,UAAU,GAAA,GACtDC,IAA2BC,GAC7B;AACE,QAAM,EAAE,SAAAC,IAAU,IAAM,UAAAC,IAAW,OAAUJ;AAE7C,SAAO,CAACK,MACJ,IAAIC,EAAc,CAACC,MAA8B;AAC7C,QAAIC,IAAa,IACbC,GACAC;AAEJ,UAAMC,IAAY,MAAM;AACpB,MAAIP,KAAYK,MAAc,UAC1BF,EAAW,KAAKE,CAAS,GAE7BA,IAAY,QACZD,IAAa;AAAA,IACjB,GAEMI,IAAYP,EAAO,UAAU;AAAA,MAC/B,KAAKQ,GAAO;AACR,QAAKL,IAaMJ,MACPK,IAAYI,MAbZL,IAAa,IAETL,IACAI,EAAW,KAAKM,CAAK,IACdT,MACPK,IAAYI,IAGhBH,IAAWI,EAAMf,GAAUE,CAAS,EAAE,UAAU,MAAM;AAClD,UAAAU,EAAA,GACAD,GAAU,YAAA;AAAA,QACd,CAAC;AAAA,MAIT;AAAA,MACA,MAAMK,GAAK;AACP,QAAAR,EAAW,MAAMQ,CAAG;AAAA,MACxB;AAAA,MACA,WAAW;AACP,QAAIX,KAAYK,MAAc,UAC1BF,EAAW,KAAKE,CAAS,GAE7BF,EAAW,SAAA;AAAA,MACf;AAAA,IAAA,CACH;AAED,WAAO,MAAM;AACT,MAAAK,EAAU,YAAA,GACVF,GAAU,YAAA;AAAA,IACd;AAAA,EACJ,CAAC;AACT;"}
|