@pacem/pacem 1.0.0-abel

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 (67) hide show
  1. package/LICENSE +191 -0
  2. package/NOTICE +4 -0
  3. package/dist/browser/pacem-2d.js +2755 -0
  4. package/dist/browser/pacem-2d.js.map +6 -0
  5. package/dist/browser/pacem-2d.min.js +7 -0
  6. package/dist/browser/pacem-2d.min.js.map +6 -0
  7. package/dist/browser/pacem-3d.js +7723 -0
  8. package/dist/browser/pacem-3d.js.map +6 -0
  9. package/dist/browser/pacem-3d.min.js +7 -0
  10. package/dist/browser/pacem-3d.min.js.map +6 -0
  11. package/dist/browser/pacem-charts.js +1628 -0
  12. package/dist/browser/pacem-charts.js.map +6 -0
  13. package/dist/browser/pacem-charts.min.js +7 -0
  14. package/dist/browser/pacem-charts.min.js.map +6 -0
  15. package/dist/browser/pacem-cms.js +2220 -0
  16. package/dist/browser/pacem-cms.js.map +6 -0
  17. package/dist/browser/pacem-cms.min.js +7 -0
  18. package/dist/browser/pacem-cms.min.js.map +6 -0
  19. package/dist/browser/pacem-core.js +9104 -0
  20. package/dist/browser/pacem-core.js.map +6 -0
  21. package/dist/browser/pacem-core.min.js +7 -0
  22. package/dist/browser/pacem-core.min.js.map +6 -0
  23. package/dist/browser/pacem-foundation.js +2138 -0
  24. package/dist/browser/pacem-foundation.js.map +6 -0
  25. package/dist/browser/pacem-foundation.min.js +7 -0
  26. package/dist/browser/pacem-foundation.min.js.map +6 -0
  27. package/dist/browser/pacem-fx.js +870 -0
  28. package/dist/browser/pacem-fx.js.map +6 -0
  29. package/dist/browser/pacem-fx.min.js +7 -0
  30. package/dist/browser/pacem-fx.min.js.map +6 -0
  31. package/dist/browser/pacem-logging.js +175 -0
  32. package/dist/browser/pacem-logging.js.map +6 -0
  33. package/dist/browser/pacem-logging.min.js +7 -0
  34. package/dist/browser/pacem-logging.min.js.map +6 -0
  35. package/dist/browser/pacem-maps.js +3642 -0
  36. package/dist/browser/pacem-maps.js.map +6 -0
  37. package/dist/browser/pacem-maps.min.js +7 -0
  38. package/dist/browser/pacem-maps.min.js.map +6 -0
  39. package/dist/browser/pacem-media.js +284 -0
  40. package/dist/browser/pacem-media.js.map +6 -0
  41. package/dist/browser/pacem-media.min.js +7 -0
  42. package/dist/browser/pacem-media.min.js.map +6 -0
  43. package/dist/browser/pacem-networking.js +434 -0
  44. package/dist/browser/pacem-networking.js.map +6 -0
  45. package/dist/browser/pacem-networking.min.js +7 -0
  46. package/dist/browser/pacem-networking.min.js.map +6 -0
  47. package/dist/browser/pacem-numerical.js +2627 -0
  48. package/dist/browser/pacem-numerical.js.map +6 -0
  49. package/dist/browser/pacem-numerical.min.js +7 -0
  50. package/dist/browser/pacem-numerical.min.js.map +6 -0
  51. package/dist/browser/pacem-plus.js +2373 -0
  52. package/dist/browser/pacem-plus.js.map +6 -0
  53. package/dist/browser/pacem-plus.min.js +7 -0
  54. package/dist/browser/pacem-plus.min.js.map +6 -0
  55. package/dist/browser/pacem-scaffolding.js +10435 -0
  56. package/dist/browser/pacem-scaffolding.js.map +6 -0
  57. package/dist/browser/pacem-scaffolding.min.js +7 -0
  58. package/dist/browser/pacem-scaffolding.min.js.map +6 -0
  59. package/dist/browser/pacem-ui.js +6348 -0
  60. package/dist/browser/pacem-ui.js.map +6 -0
  61. package/dist/browser/pacem-ui.min.js +7 -0
  62. package/dist/browser/pacem-ui.min.js.map +6 -0
  63. package/dist/bundle/pacem.min.mjs +997 -0
  64. package/dist/bundle/pacem.mjs +47067 -0
  65. package/dist/bundle/pacem.mjs.map +12 -0
  66. package/dist/typings/index.d.ts +9757 -0
  67. package/package.json +130 -0
@@ -0,0 +1,434 @@
1
+ /**
2
+ * @pacem/pacem v1.0.0-abel (https://js.pacem.it)
3
+ * Copyright 2026 Pacem (https://pacem.it)
4
+ * Licensed under Apache-2.0
5
+ */
6
+ (function (pacemFoundation, pacemCore) {
7
+ 'use strict';
8
+
9
+ var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
10
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
11
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
12
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
13
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
14
+ };
15
+ //namespace Pacem.Components.Networking {
16
+ const API_JS = 'https://cdn.jsdelivr.net/npm/@microsoft/signalr@10.0.0/dist/browser/signalr.min.js'; // 'https://cdnjs.cloudflare.com/ajax/libs/microsoft-signalr/10.0.0/signalr.min.js'
17
+ const consts = { API_JS };
18
+ let PacemHubListenerElement = class PacemHubListenerElement extends pacemCore.Components.PacemItemElement {
19
+ constructor() {
20
+ super(...arguments);
21
+ this._receiveHandler = (...args) => {
22
+ this.dispatchEvent(new CustomEvent('receive', { detail: Array.from(args) }));
23
+ };
24
+ this._completeHandler = () => {
25
+ this.dispatchEvent(new Event('complete'));
26
+ };
27
+ this._errorHandler = (error) => {
28
+ this.dispatchEvent(new CustomEvent('error', { detail: error }));
29
+ };
30
+ this._connectedHandler = (e) => {
31
+ if (e.detail.propertyName === 'connected' && e.detail.currentValue === true) {
32
+ this._start();
33
+ }
34
+ };
35
+ }
36
+ #streamSubscription;
37
+ get _isConnected() {
38
+ return this.container instanceof PacemHubProxyElement && this.container.connected || false;
39
+ }
40
+ get _connection() {
41
+ return this.container instanceof PacemHubProxyElement && this.container.connection || null;
42
+ }
43
+ /** Start listening, if not disabled. */
44
+ start() {
45
+ if (!this.disabled) {
46
+ this._start();
47
+ }
48
+ }
49
+ /** Stop listening. */
50
+ stop() {
51
+ this._stop();
52
+ }
53
+ _stop(method = this.method, isStreaming = this.stream) {
54
+ if (!this._isConnected) {
55
+ return;
56
+ }
57
+ const conn = this._connection;
58
+ if (!pacemCore.Utils.isNullOrEmpty(method)) {
59
+ if (!isStreaming) {
60
+ conn.off(method, this._receiveHandler);
61
+ }
62
+ else {
63
+ this.#streamSubscription?.dispose();
64
+ }
65
+ }
66
+ }
67
+ _start(method = this.method, isStreaming = this.stream) {
68
+ if (!this._isConnected) {
69
+ return;
70
+ }
71
+ const conn = this._connection;
72
+ if (!pacemCore.Utils.isNullOrEmpty(method)) {
73
+ if (!isStreaming) {
74
+ conn.on(method, this._receiveHandler);
75
+ }
76
+ else {
77
+ const args = this.arguments || [];
78
+ const streamResult = signalR.HubConnection.prototype.stream.apply(conn, [method].concat(args));
79
+ this.#streamSubscription = streamResult.subscribe({
80
+ next: this._receiveHandler,
81
+ complete: this._completeHandler,
82
+ error: this._errorHandler
83
+ });
84
+ }
85
+ }
86
+ }
87
+ viewActivatedCallback() {
88
+ super.viewActivatedCallback();
89
+ const container = this.container;
90
+ if (!pacemCore.Utils.isNull(container)) {
91
+ container.addEventListener(pacemCore.PropertyChangeEventName, this._connectedHandler, false);
92
+ }
93
+ this.start();
94
+ }
95
+ disconnectedCallback() {
96
+ const container = this.container;
97
+ if (!pacemCore.Utils.isNull(container)) {
98
+ container.removeEventListener(pacemCore.PropertyChangeEventName, this._connectedHandler, false);
99
+ }
100
+ super.disconnectedCallback();
101
+ }
102
+ propertyChangedCallback(name, old, val, first) {
103
+ super.propertyChangedCallback(name, old, val, first);
104
+ switch (name) {
105
+ case 'arguments':
106
+ this._stop();
107
+ this._start();
108
+ break;
109
+ case 'method':
110
+ if (!pacemCore.Utils.isNullOrEmpty(old)) {
111
+ this._stop(old, this.stream);
112
+ }
113
+ if (!pacemCore.Utils.isNullOrEmpty(val)) {
114
+ this._start(val, this.stream);
115
+ }
116
+ break;
117
+ case 'stream':
118
+ const m = this.method;
119
+ if (!pacemCore.Utils.isNullOrEmpty(m)) {
120
+ this._stop(m, old);
121
+ this._start(m, val);
122
+ }
123
+ break;
124
+ case 'disabled':
125
+ if (!pacemCore.Utils.isNullOrEmpty(this.method)) {
126
+ let toggle = val ? this._stop : this._start;
127
+ toggle();
128
+ }
129
+ break;
130
+ }
131
+ }
132
+ };
133
+ __decorate$1([
134
+ pacemCore.Watch({ emit: false, converter: pacemCore.PropertyConverters.String })
135
+ ], PacemHubListenerElement.prototype, "method", void 0);
136
+ __decorate$1([
137
+ pacemCore.Watch({ emit: false, converter: pacemCore.PropertyConverters.Boolean })
138
+ ], PacemHubListenerElement.prototype, "stream", void 0);
139
+ __decorate$1([
140
+ pacemCore.Watch({ emit: false, converter: pacemCore.PropertyConverters.Json })
141
+ ], PacemHubListenerElement.prototype, "arguments", void 0);
142
+ PacemHubListenerElement = __decorate$1([
143
+ pacemCore.CustomElement({ tagName: pacemCore.P + '-hub-listener' })
144
+ ], PacemHubListenerElement);
145
+ let PacemHubProxyElement = class PacemHubProxyElement extends pacemCore.Components.PacemItemsContainerElement {
146
+ validate(item) {
147
+ return item instanceof PacemHubListenerElement;
148
+ }
149
+ get connection() {
150
+ return this._hub;
151
+ }
152
+ invoke(method, ...args) {
153
+ if (this.connected) {
154
+ return this._hub.invoke.apply(this._hub, arguments);
155
+ }
156
+ throw 'Hub is not connected. Cannot call `invoke` method.';
157
+ }
158
+ send(method, ...args) {
159
+ if (this.connected) {
160
+ return this._hub.send(method, ...args);
161
+ }
162
+ throw 'Hub is not connected. Cannot call `send` method.';
163
+ }
164
+ start() {
165
+ return this._resetProxy();
166
+ }
167
+ async stop() {
168
+ if (this.connected) {
169
+ await this._hub.stop();
170
+ }
171
+ }
172
+ propertyChangedCallback(name, old, val, first) {
173
+ super.propertyChangedCallback(name, old, val, first);
174
+ //
175
+ if (first) {
176
+ return;
177
+ }
178
+ if (name === 'url' || name === 'disabled' || name === 'accesstoken') {
179
+ this._resetProxy();
180
+ }
181
+ }
182
+ viewActivatedCallback() {
183
+ super.viewActivatedCallback();
184
+ this.start();
185
+ }
186
+ disconnectedCallback() {
187
+ // this will (likely) never complete, being an asynchrounous call...
188
+ // TODO: think about it.
189
+ this.stop();
190
+ super.disconnectedCallback();
191
+ }
192
+ async _resetProxy() {
193
+ if (!pacemCore.Utils.isNull(this._hub)) {
194
+ await this._hub.stop();
195
+ //this.connected = false;
196
+ }
197
+ this._setupProxy();
198
+ }
199
+ async _initialize() {
200
+ if ('signalR' in window) {
201
+ // already available, skip import
202
+ return;
203
+ }
204
+ await pacemCore.CustomElementUtils.importjs(consts.API_JS);
205
+ }
206
+ async _setupProxy() {
207
+ const listeners = this.items || [];
208
+ if (!this.disabled && !pacemCore.Utils.isNullOrEmpty(this.url)) {
209
+ await this._initialize();
210
+ const connBuilder = new signalR.HubConnectionBuilder();
211
+ connBuilder.withUrl(this.url, {
212
+ accessTokenFactory: () => this.accesstoken
213
+ });
214
+ const h = this._hub = connBuilder.build();
215
+ h.onclose(() => {
216
+ for (var item of listeners) {
217
+ item.stop();
218
+ }
219
+ this.connected = false;
220
+ this._hub = null;
221
+ });
222
+ await h.start();
223
+ this.connected = true;
224
+ }
225
+ }
226
+ };
227
+ __decorate$1([
228
+ pacemCore.Watch({ emit: false, converter: pacemCore.PropertyConverters.String })
229
+ ], PacemHubProxyElement.prototype, "url", void 0);
230
+ __decorate$1([
231
+ pacemCore.Watch({ emit: false, converter: pacemCore.PropertyConverters.String })
232
+ ], PacemHubProxyElement.prototype, "accesstoken", void 0);
233
+ __decorate$1([
234
+ pacemCore.Watch({ converter: pacemCore.PropertyConverters.Boolean })
235
+ ], PacemHubProxyElement.prototype, "connected", void 0);
236
+ PacemHubProxyElement = __decorate$1([
237
+ pacemCore.CustomElement({ tagName: pacemCore.P + '-hub-proxy' })
238
+ ], PacemHubProxyElement);
239
+
240
+ var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
241
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
242
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
243
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
244
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
245
+ };
246
+ //namespace Pacem.Components.Networking {
247
+ let PacemServerSentEventsListenerElement = class PacemServerSentEventsListenerElement extends pacemCore.Components.PacemItemElement {
248
+ constructor() {
249
+ super(...arguments);
250
+ this._receiveHandler = (e) => {
251
+ this.dispatchEvent(new CustomEvent('receive', { detail: e.data }));
252
+ };
253
+ this._connectedHandler = (e) => {
254
+ if (e.detail.propertyName === 'connected' && e.detail.currentValue === true) {
255
+ this._start();
256
+ }
257
+ };
258
+ }
259
+ get _isConnected() {
260
+ return this.container instanceof PacemServerSentEventsProxyElement && this.container.connected || false;
261
+ }
262
+ get _connection() {
263
+ return this.container instanceof PacemServerSentEventsProxyElement && this.container.eventSource || null;
264
+ }
265
+ _stop(method = this.method) {
266
+ if (!this._isConnected) {
267
+ return;
268
+ }
269
+ const conn = this._connection;
270
+ if (!pacemCore.Utils.isNullOrEmpty(method)) {
271
+ conn.removeEventListener(method, this._receiveHandler);
272
+ }
273
+ }
274
+ _start(method = this.method) {
275
+ if (!this._isConnected) {
276
+ return;
277
+ }
278
+ const conn = this._connection;
279
+ if (!pacemCore.Utils.isNullOrEmpty(method)) {
280
+ conn.addEventListener(method, this._receiveHandler);
281
+ }
282
+ }
283
+ /** Start listening, if not disabled. */
284
+ start() {
285
+ if (!this.disabled) {
286
+ this._start();
287
+ }
288
+ }
289
+ /** Stop listening. */
290
+ stop() {
291
+ this._stop();
292
+ }
293
+ viewActivatedCallback() {
294
+ super.viewActivatedCallback();
295
+ const container = this.container;
296
+ if (!pacemCore.Utils.isNull(container)) {
297
+ container.addEventListener(pacemCore.PropertyChangeEventName, this._connectedHandler, false);
298
+ }
299
+ this.start();
300
+ }
301
+ disconnectedCallback() {
302
+ const container = this.container;
303
+ if (!pacemCore.Utils.isNull(container)) {
304
+ container.removeEventListener(pacemCore.PropertyChangeEventName, this._connectedHandler, false);
305
+ }
306
+ super.disconnectedCallback();
307
+ }
308
+ propertyChangedCallback(name, old, val, first) {
309
+ super.propertyChangedCallback(name, old, val, first);
310
+ switch (name) {
311
+ case 'method':
312
+ if (!pacemCore.Utils.isNullOrEmpty(old)) {
313
+ this._stop(old);
314
+ }
315
+ if (!pacemCore.Utils.isNullOrEmpty(val)) {
316
+ this._start(val);
317
+ }
318
+ break;
319
+ case 'disabled':
320
+ if (!pacemCore.Utils.isNullOrEmpty(this.method)) {
321
+ let toggle = val ? this._stop : this._start;
322
+ toggle();
323
+ }
324
+ break;
325
+ }
326
+ }
327
+ };
328
+ __decorate([
329
+ pacemCore.Watch({ emit: false, converter: pacemCore.PropertyConverters.String })
330
+ ], PacemServerSentEventsListenerElement.prototype, "method", void 0);
331
+ PacemServerSentEventsListenerElement = __decorate([
332
+ pacemCore.CustomElement({ tagName: pacemCore.P + '-sse-listener' })
333
+ ], PacemServerSentEventsListenerElement);
334
+ let PacemServerSentEventsProxyElement = class PacemServerSentEventsProxyElement extends pacemCore.Components.PacemItemsContainerElement {
335
+ constructor() {
336
+ super(...arguments);
337
+ this._connectHandler = (_) => {
338
+ this.connected = true;
339
+ this.#evtSource.onmessage = this._receiveHandler;
340
+ };
341
+ this._errorHandler = (_) => {
342
+ this.connected = false;
343
+ };
344
+ this._receiveHandler = (e) => {
345
+ this.dispatchEvent(new CustomEvent('receive', { detail: e.data }));
346
+ };
347
+ }
348
+ validate(item) {
349
+ return item instanceof PacemServerSentEventsListenerElement;
350
+ }
351
+ viewActivatedCallback() {
352
+ super.viewActivatedCallback();
353
+ this._start();
354
+ }
355
+ disconnectedCallback() {
356
+ this._stop();
357
+ super.disconnectedCallback();
358
+ }
359
+ propertyChangedCallback(name, old, val, first) {
360
+ super.propertyChangedCallback(name, old, val, first);
361
+ //
362
+ if (first) {
363
+ return;
364
+ }
365
+ if (name === 'url' || name === 'disabled') {
366
+ this._restart();
367
+ }
368
+ }
369
+ #evtSource;
370
+ _restart() {
371
+ this._stop();
372
+ this._start();
373
+ }
374
+ _start(url = this.url) {
375
+ if (!pacemCore.Utils.isNullOrEmpty(url) && !this.disabled) {
376
+ const evtSource = this.#evtSource = new EventSource(url);
377
+ evtSource.onopen = this._connectHandler;
378
+ evtSource.onerror = this._errorHandler;
379
+ }
380
+ }
381
+ get eventSource() {
382
+ return this.#evtSource;
383
+ }
384
+ _stop() {
385
+ const listeners = this.items || [];
386
+ for (var item of listeners) {
387
+ item.stop();
388
+ }
389
+ const evtSource = this.#evtSource;
390
+ if (!pacemCore.Utils.isNull(evtSource)) {
391
+ evtSource.onopen = null;
392
+ evtSource.onerror = null;
393
+ evtSource.onmessage = null;
394
+ evtSource.close();
395
+ }
396
+ this.connected = false;
397
+ this.#evtSource = null;
398
+ }
399
+ };
400
+ __decorate([
401
+ pacemCore.Watch({ emit: false, converter: pacemCore.PropertyConverters.String })
402
+ ], PacemServerSentEventsProxyElement.prototype, "url", void 0);
403
+ __decorate([
404
+ pacemCore.Watch({ converter: pacemCore.PropertyConverters.Boolean })
405
+ ], PacemServerSentEventsProxyElement.prototype, "connected", void 0);
406
+ __decorate([
407
+ pacemCore.Debounce(true)
408
+ ], PacemServerSentEventsProxyElement.prototype, "_restart", null);
409
+ PacemServerSentEventsProxyElement = __decorate([
410
+ pacemCore.CustomElement({ tagName: pacemCore.P + '-sse-proxy' })
411
+ ], PacemServerSentEventsProxyElement);
412
+
413
+ var indexComponentsNetworking = /*#__PURE__*/Object.freeze({
414
+ __proto__: null,
415
+ get PacemHubListenerElement () { return PacemHubListenerElement; },
416
+ get PacemHubProxyElement () { return PacemHubProxyElement; },
417
+ get PacemServerSentEventsListenerElement () { return PacemServerSentEventsListenerElement; },
418
+ get PacemServerSentEventsProxyElement () { return PacemServerSentEventsProxyElement; }
419
+ });
420
+
421
+ var indexComponents = /*#__PURE__*/Object.freeze({
422
+ __proto__: null,
423
+ Networking: indexComponentsNetworking
424
+ });
425
+
426
+ var Output = /*#__PURE__*/Object.freeze({
427
+ __proto__: null,
428
+ Components: indexComponents
429
+ });
430
+
431
+ pacemFoundation.DeepMerger.merge(Output);
432
+
433
+ })(Pacem, Pacem);
434
+ //# sourceMappingURL=pacem-networking.js.map
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @pacem/pacem v1.0.0-abel (https://js.pacem.it)
3
+ * Copyright 2026 Pacem (https://pacem.it)
4
+ * Licensed under Apache-2.0
5
+ */
6
+ {"version":3,"file":"pacem-networking.js","sources":["../esm/hub-proxy.js","../esm/sse-proxy.js","../esm/index-iife.js"],"sourcesContent":["var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { P, CustomElement, Watch, PropertyConverters, Utils, PropertyChangeEventName, CustomElementUtils, Components } from '@pacem/pacem-core';\n//namespace Pacem.Components.Networking {\nconst API_JS = 'https://cdn.jsdelivr.net/npm/@microsoft/signalr@10.0.0/dist/browser/signalr.min.js'; // 'https://cdnjs.cloudflare.com/ajax/libs/microsoft-signalr/10.0.0/signalr.min.js'\nconst consts = { API_JS };\nlet PacemHubListenerElement = class PacemHubListenerElement extends Components.PacemItemElement {\n constructor() {\n super(...arguments);\n this._receiveHandler = (...args) => {\n this.dispatchEvent(new CustomEvent('receive', { detail: Array.from(args) }));\n };\n this._completeHandler = () => {\n this.dispatchEvent(new Event('complete'));\n };\n this._errorHandler = (error) => {\n this.dispatchEvent(new CustomEvent('error', { detail: error }));\n };\n this._connectedHandler = (e) => {\n if (e.detail.propertyName === 'connected' && e.detail.currentValue === true) {\n this._start();\n }\n };\n }\n #streamSubscription;\n get _isConnected() {\n return this.container instanceof PacemHubProxyElement && this.container.connected || false;\n }\n get _connection() {\n return this.container instanceof PacemHubProxyElement && this.container.connection || null;\n }\n /** Start listening, if not disabled. */\n start() {\n if (!this.disabled) {\n this._start();\n }\n }\n /** Stop listening. */\n stop() {\n this._stop();\n }\n _stop(method = this.method, isStreaming = this.stream) {\n if (!this._isConnected) {\n return;\n }\n const conn = this._connection;\n if (!Utils.isNullOrEmpty(method)) {\n if (!isStreaming) {\n conn.off(method, this._receiveHandler);\n }\n else {\n this.#streamSubscription?.dispose();\n }\n }\n }\n _start(method = this.method, isStreaming = this.stream) {\n if (!this._isConnected) {\n return;\n }\n const conn = this._connection;\n if (!Utils.isNullOrEmpty(method)) {\n if (!isStreaming) {\n conn.on(method, this._receiveHandler);\n }\n else {\n const args = this.arguments || [];\n const streamResult = signalR.HubConnection.prototype.stream.apply(conn, [method].concat(args));\n this.#streamSubscription = streamResult.subscribe({\n next: this._receiveHandler,\n complete: this._completeHandler,\n error: this._errorHandler\n });\n }\n }\n }\n viewActivatedCallback() {\n super.viewActivatedCallback();\n const container = this.container;\n if (!Utils.isNull(container)) {\n container.addEventListener(PropertyChangeEventName, this._connectedHandler, false);\n }\n this.start();\n }\n disconnectedCallback() {\n const container = this.container;\n if (!Utils.isNull(container)) {\n container.removeEventListener(PropertyChangeEventName, this._connectedHandler, false);\n }\n super.disconnectedCallback();\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n switch (name) {\n case 'arguments':\n this._stop();\n this._start();\n break;\n case 'method':\n if (!Utils.isNullOrEmpty(old)) {\n this._stop(old, this.stream);\n }\n if (!Utils.isNullOrEmpty(val)) {\n this._start(val, this.stream);\n }\n break;\n case 'stream':\n const m = this.method;\n if (!Utils.isNullOrEmpty(m)) {\n this._stop(m, old);\n this._start(m, val);\n }\n break;\n case 'disabled':\n if (!Utils.isNullOrEmpty(this.method)) {\n let toggle = val ? this._stop : this._start;\n toggle();\n }\n break;\n }\n }\n};\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.String })\n], PacemHubListenerElement.prototype, \"method\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Boolean })\n], PacemHubListenerElement.prototype, \"stream\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Json })\n], PacemHubListenerElement.prototype, \"arguments\", void 0);\nPacemHubListenerElement = __decorate([\n CustomElement({ tagName: P + '-hub-listener' })\n], PacemHubListenerElement);\nexport { PacemHubListenerElement };\nlet PacemHubProxyElement = class PacemHubProxyElement extends Components.PacemItemsContainerElement {\n validate(item) {\n return item instanceof PacemHubListenerElement;\n }\n get connection() {\n return this._hub;\n }\n invoke(method, ...args) {\n if (this.connected) {\n return this._hub.invoke.apply(this._hub, arguments);\n }\n throw 'Hub is not connected. Cannot call `invoke` method.';\n }\n send(method, ...args) {\n if (this.connected) {\n return this._hub.send(method, ...args);\n }\n throw 'Hub is not connected. Cannot call `send` method.';\n }\n start() {\n return this._resetProxy();\n }\n async stop() {\n if (this.connected) {\n await this._hub.stop();\n }\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n //\n if (first) {\n return;\n }\n if (name === 'url' || name === 'disabled' || name === 'accesstoken') {\n this._resetProxy();\n }\n }\n viewActivatedCallback() {\n super.viewActivatedCallback();\n this.start();\n }\n disconnectedCallback() {\n // this will (likely) never complete, being an asynchrounous call...\n // TODO: think about it.\n this.stop();\n super.disconnectedCallback();\n }\n async _resetProxy() {\n if (!Utils.isNull(this._hub)) {\n await this._hub.stop();\n //this.connected = false;\n }\n this._setupProxy();\n }\n async _initialize() {\n if ('signalR' in window) {\n // already available, skip import\n return;\n }\n await CustomElementUtils.importjs(consts.API_JS);\n }\n async _setupProxy() {\n const listeners = this.items || [];\n if (!this.disabled && !Utils.isNullOrEmpty(this.url)) {\n await this._initialize();\n const connBuilder = new signalR.HubConnectionBuilder();\n connBuilder.withUrl(this.url, {\n accessTokenFactory: () => this.accesstoken\n });\n const h = this._hub = connBuilder.build();\n h.onclose(() => {\n for (var item of listeners) {\n item.stop();\n }\n this.connected = false;\n this._hub = null;\n });\n await h.start();\n this.connected = true;\n }\n }\n};\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.String })\n], PacemHubProxyElement.prototype, \"url\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.String })\n], PacemHubProxyElement.prototype, \"accesstoken\", void 0);\n__decorate([\n Watch({ converter: PropertyConverters.Boolean })\n], PacemHubProxyElement.prototype, \"connected\", void 0);\nPacemHubProxyElement = __decorate([\n CustomElement({ tagName: P + '-hub-proxy' })\n], PacemHubProxyElement);\nexport { PacemHubProxyElement };\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { P, CustomElement, Watch, PropertyConverters, Utils, PropertyChangeEventName, Debounce, Components } from '@pacem/pacem-core';\n//namespace Pacem.Components.Networking {\nlet PacemServerSentEventsListenerElement = class PacemServerSentEventsListenerElement extends Components.PacemItemElement {\n constructor() {\n super(...arguments);\n this._receiveHandler = (e) => {\n this.dispatchEvent(new CustomEvent('receive', { detail: e.data }));\n };\n this._connectedHandler = (e) => {\n if (e.detail.propertyName === 'connected' && e.detail.currentValue === true) {\n this._start();\n }\n };\n }\n get _isConnected() {\n return this.container instanceof PacemServerSentEventsProxyElement && this.container.connected || false;\n }\n get _connection() {\n return this.container instanceof PacemServerSentEventsProxyElement && this.container.eventSource || null;\n }\n _stop(method = this.method) {\n if (!this._isConnected) {\n return;\n }\n const conn = this._connection;\n if (!Utils.isNullOrEmpty(method)) {\n conn.removeEventListener(method, this._receiveHandler);\n }\n }\n _start(method = this.method) {\n if (!this._isConnected) {\n return;\n }\n const conn = this._connection;\n if (!Utils.isNullOrEmpty(method)) {\n conn.addEventListener(method, this._receiveHandler);\n }\n }\n /** Start listening, if not disabled. */\n start() {\n if (!this.disabled) {\n this._start();\n }\n }\n /** Stop listening. */\n stop() {\n this._stop();\n }\n viewActivatedCallback() {\n super.viewActivatedCallback();\n const container = this.container;\n if (!Utils.isNull(container)) {\n container.addEventListener(PropertyChangeEventName, this._connectedHandler, false);\n }\n this.start();\n }\n disconnectedCallback() {\n const container = this.container;\n if (!Utils.isNull(container)) {\n container.removeEventListener(PropertyChangeEventName, this._connectedHandler, false);\n }\n super.disconnectedCallback();\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n switch (name) {\n case 'method':\n if (!Utils.isNullOrEmpty(old)) {\n this._stop(old);\n }\n if (!Utils.isNullOrEmpty(val)) {\n this._start(val);\n }\n break;\n case 'disabled':\n if (!Utils.isNullOrEmpty(this.method)) {\n let toggle = val ? this._stop : this._start;\n toggle();\n }\n break;\n }\n }\n};\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.String })\n], PacemServerSentEventsListenerElement.prototype, \"method\", void 0);\nPacemServerSentEventsListenerElement = __decorate([\n CustomElement({ tagName: P + '-sse-listener' })\n], PacemServerSentEventsListenerElement);\nexport { PacemServerSentEventsListenerElement };\nlet PacemServerSentEventsProxyElement = class PacemServerSentEventsProxyElement extends Components.PacemItemsContainerElement {\n constructor() {\n super(...arguments);\n this._connectHandler = (_) => {\n this.connected = true;\n this.#evtSource.onmessage = this._receiveHandler;\n };\n this._errorHandler = (_) => {\n this.connected = false;\n };\n this._receiveHandler = (e) => {\n this.dispatchEvent(new CustomEvent('receive', { detail: e.data }));\n };\n }\n validate(item) {\n return item instanceof PacemServerSentEventsListenerElement;\n }\n viewActivatedCallback() {\n super.viewActivatedCallback();\n this._start();\n }\n disconnectedCallback() {\n this._stop();\n super.disconnectedCallback();\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n //\n if (first) {\n return;\n }\n if (name === 'url' || name === 'disabled') {\n this._restart();\n }\n }\n #evtSource;\n _restart() {\n this._stop();\n this._start();\n }\n _start(url = this.url) {\n if (!Utils.isNullOrEmpty(url) && !this.disabled) {\n const evtSource = this.#evtSource = new EventSource(url);\n evtSource.onopen = this._connectHandler;\n evtSource.onerror = this._errorHandler;\n }\n }\n get eventSource() {\n return this.#evtSource;\n }\n _stop() {\n const listeners = this.items || [];\n for (var item of listeners) {\n item.stop();\n }\n const evtSource = this.#evtSource;\n if (!Utils.isNull(evtSource)) {\n evtSource.onopen = null;\n evtSource.onerror = null;\n evtSource.onmessage = null;\n evtSource.close();\n }\n this.connected = false;\n this.#evtSource = null;\n }\n};\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.String })\n], PacemServerSentEventsProxyElement.prototype, \"url\", void 0);\n__decorate([\n Watch({ converter: PropertyConverters.Boolean })\n], PacemServerSentEventsProxyElement.prototype, \"connected\", void 0);\n__decorate([\n Debounce(true)\n], PacemServerSentEventsProxyElement.prototype, \"_restart\", null);\nPacemServerSentEventsProxyElement = __decorate([\n CustomElement({ tagName: P + '-sse-proxy' })\n], PacemServerSentEventsProxyElement);\nexport { PacemServerSentEventsProxyElement };\n","import { DeepMerger } from '@pacem/pacem-foundation';\nimport * as Output from './index';\nDeepMerger.merge(Output);\n"],"names":["__decorate","this","Components","Utils","PropertyChangeEventName","Watch","PropertyConverters","CustomElement","P","CustomElementUtils","Debounce","DeepMerger"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @pacem/pacem v1.0.0-abel (https://js.pacem.it)
3
+ * Copyright 2026 Pacem (https://pacem.it)
4
+ * Licensed under Apache-2.0
5
+ */
6
+ !function(t,e){"use strict";var s=function(t,e,s,n){var r,i=arguments.length,o=i<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,s):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,s,n);else for(var c=t.length-1;c>=0;c--)(r=t[c])&&(o=(i<3?r(o):i>3?r(e,s,o):r(e,s))||o);return i>3&&o&&Object.defineProperty(e,s,o),o};const n="https://cdn.jsdelivr.net/npm/@microsoft/signalr@10.0.0/dist/browser/signalr.min.js";let r=class extends e.Components.PacemItemElement{constructor(){super(...arguments),this._receiveHandler=(...t)=>{this.dispatchEvent(new CustomEvent("receive",{detail:Array.from(t)}))},this._completeHandler=()=>{this.dispatchEvent(new Event("complete"))},this._errorHandler=t=>{this.dispatchEvent(new CustomEvent("error",{detail:t}))},this._connectedHandler=t=>{"connected"===t.detail.propertyName&&!0===t.detail.currentValue&&this._start()}}#t;get _isConnected(){return this.container instanceof i&&this.container.connected||!1}get _connection(){return this.container instanceof i&&this.container.connection||null}start(){this.disabled||this._start()}stop(){this._stop()}_stop(t=this.method,s=this.stream){if(!this._isConnected)return;const n=this._connection;e.Utils.isNullOrEmpty(t)||(s?this.#t?.dispose():n.off(t,this._receiveHandler))}_start(t=this.method,s=this.stream){if(!this._isConnected)return;const n=this._connection;if(!e.Utils.isNullOrEmpty(t))if(s){const e=this.arguments||[],s=signalR.HubConnection.prototype.stream.apply(n,[t].concat(e));this.#t=s.subscribe({next:this._receiveHandler,complete:this._completeHandler,error:this._errorHandler})}else n.on(t,this._receiveHandler)}viewActivatedCallback(){super.viewActivatedCallback();const t=this.container;e.Utils.isNull(t)||t.addEventListener(e.PropertyChangeEventName,this._connectedHandler,!1),this.start()}disconnectedCallback(){const t=this.container;e.Utils.isNull(t)||t.removeEventListener(e.PropertyChangeEventName,this._connectedHandler,!1),super.disconnectedCallback()}propertyChangedCallback(t,s,n,r){switch(super.propertyChangedCallback(t,s,n,r),t){case"arguments":this._stop(),this._start();break;case"method":e.Utils.isNullOrEmpty(s)||this._stop(s,this.stream),e.Utils.isNullOrEmpty(n)||this._start(n,this.stream);break;case"stream":const t=this.method;e.Utils.isNullOrEmpty(t)||(this._stop(t,s),this._start(t,n));break;case"disabled":if(!e.Utils.isNullOrEmpty(this.method)){(n?this._stop:this._start)()}}}};s([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"method",void 0),s([e.Watch({emit:!1,converter:e.PropertyConverters.Boolean})],r.prototype,"stream",void 0),s([e.Watch({emit:!1,converter:e.PropertyConverters.Json})],r.prototype,"arguments",void 0),r=s([e.CustomElement({tagName:e.P+"-hub-listener"})],r);let i=class extends e.Components.PacemItemsContainerElement{validate(t){return t instanceof r}get connection(){return this._hub}invoke(t,...e){if(this.connected)return this._hub.invoke.apply(this._hub,arguments);throw"Hub is not connected. Cannot call `invoke` method."}send(t,...e){if(this.connected)return this._hub.send(t,...e);throw"Hub is not connected. Cannot call `send` method."}start(){return this._resetProxy()}async stop(){this.connected&&await this._hub.stop()}propertyChangedCallback(t,e,s,n){super.propertyChangedCallback(t,e,s,n),n||"url"!==t&&"disabled"!==t&&"accesstoken"!==t||this._resetProxy()}viewActivatedCallback(){super.viewActivatedCallback(),this.start()}disconnectedCallback(){this.stop(),super.disconnectedCallback()}async _resetProxy(){e.Utils.isNull(this._hub)||await this._hub.stop(),this._setupProxy()}async _initialize(){"signalR"in window||await e.CustomElementUtils.importjs(n)}async _setupProxy(){const t=this.items||[];if(!this.disabled&&!e.Utils.isNullOrEmpty(this.url)){await this._initialize();const e=new signalR.HubConnectionBuilder;e.withUrl(this.url,{accessTokenFactory:()=>this.accesstoken});const s=this._hub=e.build();s.onclose(()=>{for(var e of t)e.stop();this.connected=!1,this._hub=null}),await s.start(),this.connected=!0}}};s([e.Watch({emit:!1,converter:e.PropertyConverters.String})],i.prototype,"url",void 0),s([e.Watch({emit:!1,converter:e.PropertyConverters.String})],i.prototype,"accesstoken",void 0),s([e.Watch({converter:e.PropertyConverters.Boolean})],i.prototype,"connected",void 0),i=s([e.CustomElement({tagName:e.P+"-hub-proxy"})],i);var o=function(t,e,s,n){var r,i=arguments.length,o=i<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,s):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,s,n);else for(var c=t.length-1;c>=0;c--)(r=t[c])&&(o=(i<3?r(o):i>3?r(e,s,o):r(e,s))||o);return i>3&&o&&Object.defineProperty(e,s,o),o};let c=class extends e.Components.PacemItemElement{constructor(){super(...arguments),this._receiveHandler=t=>{this.dispatchEvent(new CustomEvent("receive",{detail:t.data}))},this._connectedHandler=t=>{"connected"===t.detail.propertyName&&!0===t.detail.currentValue&&this._start()}}get _isConnected(){return this.container instanceof a&&this.container.connected||!1}get _connection(){return this.container instanceof a&&this.container.eventSource||null}_stop(t=this.method){if(!this._isConnected)return;const s=this._connection;e.Utils.isNullOrEmpty(t)||s.removeEventListener(t,this._receiveHandler)}_start(t=this.method){if(!this._isConnected)return;const s=this._connection;e.Utils.isNullOrEmpty(t)||s.addEventListener(t,this._receiveHandler)}start(){this.disabled||this._start()}stop(){this._stop()}viewActivatedCallback(){super.viewActivatedCallback();const t=this.container;e.Utils.isNull(t)||t.addEventListener(e.PropertyChangeEventName,this._connectedHandler,!1),this.start()}disconnectedCallback(){const t=this.container;e.Utils.isNull(t)||t.removeEventListener(e.PropertyChangeEventName,this._connectedHandler,!1),super.disconnectedCallback()}propertyChangedCallback(t,s,n,r){switch(super.propertyChangedCallback(t,s,n,r),t){case"method":e.Utils.isNullOrEmpty(s)||this._stop(s),e.Utils.isNullOrEmpty(n)||this._start(n);break;case"disabled":if(!e.Utils.isNullOrEmpty(this.method)){(n?this._stop:this._start)()}}}};o([e.Watch({emit:!1,converter:e.PropertyConverters.String})],c.prototype,"method",void 0),c=o([e.CustomElement({tagName:e.P+"-sse-listener"})],c);let a=class extends e.Components.PacemItemsContainerElement{constructor(){super(...arguments),this._connectHandler=t=>{this.connected=!0,this.#e.onmessage=this._receiveHandler},this._errorHandler=t=>{this.connected=!1},this._receiveHandler=t=>{this.dispatchEvent(new CustomEvent("receive",{detail:t.data}))}}validate(t){return t instanceof c}viewActivatedCallback(){super.viewActivatedCallback(),this._start()}disconnectedCallback(){this._stop(),super.disconnectedCallback()}propertyChangedCallback(t,e,s,n){super.propertyChangedCallback(t,e,s,n),n||"url"!==t&&"disabled"!==t||this._restart()}#e;_restart(){this._stop(),this._start()}_start(t=this.url){if(!e.Utils.isNullOrEmpty(t)&&!this.disabled){const e=this.#e=new EventSource(t);e.onopen=this._connectHandler,e.onerror=this._errorHandler}}get eventSource(){return this.#e}_stop(){const t=this.items||[];for(var s of t)s.stop();const n=this.#e;e.Utils.isNull(n)||(n.onopen=null,n.onerror=null,n.onmessage=null,n.close()),this.connected=!1,this.#e=null}};o([e.Watch({emit:!1,converter:e.PropertyConverters.String})],a.prototype,"url",void 0),o([e.Watch({converter:e.PropertyConverters.Boolean})],a.prototype,"connected",void 0),o([e.Debounce(!0)],a.prototype,"_restart",null),a=o([e.CustomElement({tagName:e.P+"-sse-proxy"})],a);var l=Object.freeze({__proto__:null,get PacemHubListenerElement(){return r},get PacemHubProxyElement(){return i},get PacemServerSentEventsListenerElement(){return c},get PacemServerSentEventsProxyElement(){return a}}),h=Object.freeze({__proto__:null,Networking:l}),d=Object.freeze({__proto__:null,Components:h});t.DeepMerger.merge(d)}(Pacem,Pacem);
7
+ //# sourceMappingURL=pacem-networking.min.js.map
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @pacem/pacem v1.0.0-abel (https://js.pacem.it)
3
+ * Copyright 2026 Pacem (https://pacem.it)
4
+ * Licensed under Apache-2.0
5
+ */
6
+ {"version":3,"file":"pacem-networking.min.js","sources":["../esm/hub-proxy.js","../esm/sse-proxy.js","../esm/index-iife.js"],"sourcesContent":["var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { P, CustomElement, Watch, PropertyConverters, Utils, PropertyChangeEventName, CustomElementUtils, Components } from '@pacem/pacem-core';\n//namespace Pacem.Components.Networking {\nconst API_JS = 'https://cdn.jsdelivr.net/npm/@microsoft/signalr@10.0.0/dist/browser/signalr.min.js'; // 'https://cdnjs.cloudflare.com/ajax/libs/microsoft-signalr/10.0.0/signalr.min.js'\nconst consts = { API_JS };\nlet PacemHubListenerElement = class PacemHubListenerElement extends Components.PacemItemElement {\n constructor() {\n super(...arguments);\n this._receiveHandler = (...args) => {\n this.dispatchEvent(new CustomEvent('receive', { detail: Array.from(args) }));\n };\n this._completeHandler = () => {\n this.dispatchEvent(new Event('complete'));\n };\n this._errorHandler = (error) => {\n this.dispatchEvent(new CustomEvent('error', { detail: error }));\n };\n this._connectedHandler = (e) => {\n if (e.detail.propertyName === 'connected' && e.detail.currentValue === true) {\n this._start();\n }\n };\n }\n #streamSubscription;\n get _isConnected() {\n return this.container instanceof PacemHubProxyElement && this.container.connected || false;\n }\n get _connection() {\n return this.container instanceof PacemHubProxyElement && this.container.connection || null;\n }\n /** Start listening, if not disabled. */\n start() {\n if (!this.disabled) {\n this._start();\n }\n }\n /** Stop listening. */\n stop() {\n this._stop();\n }\n _stop(method = this.method, isStreaming = this.stream) {\n if (!this._isConnected) {\n return;\n }\n const conn = this._connection;\n if (!Utils.isNullOrEmpty(method)) {\n if (!isStreaming) {\n conn.off(method, this._receiveHandler);\n }\n else {\n this.#streamSubscription?.dispose();\n }\n }\n }\n _start(method = this.method, isStreaming = this.stream) {\n if (!this._isConnected) {\n return;\n }\n const conn = this._connection;\n if (!Utils.isNullOrEmpty(method)) {\n if (!isStreaming) {\n conn.on(method, this._receiveHandler);\n }\n else {\n const args = this.arguments || [];\n const streamResult = signalR.HubConnection.prototype.stream.apply(conn, [method].concat(args));\n this.#streamSubscription = streamResult.subscribe({\n next: this._receiveHandler,\n complete: this._completeHandler,\n error: this._errorHandler\n });\n }\n }\n }\n viewActivatedCallback() {\n super.viewActivatedCallback();\n const container = this.container;\n if (!Utils.isNull(container)) {\n container.addEventListener(PropertyChangeEventName, this._connectedHandler, false);\n }\n this.start();\n }\n disconnectedCallback() {\n const container = this.container;\n if (!Utils.isNull(container)) {\n container.removeEventListener(PropertyChangeEventName, this._connectedHandler, false);\n }\n super.disconnectedCallback();\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n switch (name) {\n case 'arguments':\n this._stop();\n this._start();\n break;\n case 'method':\n if (!Utils.isNullOrEmpty(old)) {\n this._stop(old, this.stream);\n }\n if (!Utils.isNullOrEmpty(val)) {\n this._start(val, this.stream);\n }\n break;\n case 'stream':\n const m = this.method;\n if (!Utils.isNullOrEmpty(m)) {\n this._stop(m, old);\n this._start(m, val);\n }\n break;\n case 'disabled':\n if (!Utils.isNullOrEmpty(this.method)) {\n let toggle = val ? this._stop : this._start;\n toggle();\n }\n break;\n }\n }\n};\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.String })\n], PacemHubListenerElement.prototype, \"method\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Boolean })\n], PacemHubListenerElement.prototype, \"stream\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Json })\n], PacemHubListenerElement.prototype, \"arguments\", void 0);\nPacemHubListenerElement = __decorate([\n CustomElement({ tagName: P + '-hub-listener' })\n], PacemHubListenerElement);\nexport { PacemHubListenerElement };\nlet PacemHubProxyElement = class PacemHubProxyElement extends Components.PacemItemsContainerElement {\n validate(item) {\n return item instanceof PacemHubListenerElement;\n }\n get connection() {\n return this._hub;\n }\n invoke(method, ...args) {\n if (this.connected) {\n return this._hub.invoke.apply(this._hub, arguments);\n }\n throw 'Hub is not connected. Cannot call `invoke` method.';\n }\n send(method, ...args) {\n if (this.connected) {\n return this._hub.send(method, ...args);\n }\n throw 'Hub is not connected. Cannot call `send` method.';\n }\n start() {\n return this._resetProxy();\n }\n async stop() {\n if (this.connected) {\n await this._hub.stop();\n }\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n //\n if (first) {\n return;\n }\n if (name === 'url' || name === 'disabled' || name === 'accesstoken') {\n this._resetProxy();\n }\n }\n viewActivatedCallback() {\n super.viewActivatedCallback();\n this.start();\n }\n disconnectedCallback() {\n // this will (likely) never complete, being an asynchrounous call...\n // TODO: think about it.\n this.stop();\n super.disconnectedCallback();\n }\n async _resetProxy() {\n if (!Utils.isNull(this._hub)) {\n await this._hub.stop();\n //this.connected = false;\n }\n this._setupProxy();\n }\n async _initialize() {\n if ('signalR' in window) {\n // already available, skip import\n return;\n }\n await CustomElementUtils.importjs(consts.API_JS);\n }\n async _setupProxy() {\n const listeners = this.items || [];\n if (!this.disabled && !Utils.isNullOrEmpty(this.url)) {\n await this._initialize();\n const connBuilder = new signalR.HubConnectionBuilder();\n connBuilder.withUrl(this.url, {\n accessTokenFactory: () => this.accesstoken\n });\n const h = this._hub = connBuilder.build();\n h.onclose(() => {\n for (var item of listeners) {\n item.stop();\n }\n this.connected = false;\n this._hub = null;\n });\n await h.start();\n this.connected = true;\n }\n }\n};\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.String })\n], PacemHubProxyElement.prototype, \"url\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.String })\n], PacemHubProxyElement.prototype, \"accesstoken\", void 0);\n__decorate([\n Watch({ converter: PropertyConverters.Boolean })\n], PacemHubProxyElement.prototype, \"connected\", void 0);\nPacemHubProxyElement = __decorate([\n CustomElement({ tagName: P + '-hub-proxy' })\n], PacemHubProxyElement);\nexport { PacemHubProxyElement };\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { P, CustomElement, Watch, PropertyConverters, Utils, PropertyChangeEventName, Debounce, Components } from '@pacem/pacem-core';\n//namespace Pacem.Components.Networking {\nlet PacemServerSentEventsListenerElement = class PacemServerSentEventsListenerElement extends Components.PacemItemElement {\n constructor() {\n super(...arguments);\n this._receiveHandler = (e) => {\n this.dispatchEvent(new CustomEvent('receive', { detail: e.data }));\n };\n this._connectedHandler = (e) => {\n if (e.detail.propertyName === 'connected' && e.detail.currentValue === true) {\n this._start();\n }\n };\n }\n get _isConnected() {\n return this.container instanceof PacemServerSentEventsProxyElement && this.container.connected || false;\n }\n get _connection() {\n return this.container instanceof PacemServerSentEventsProxyElement && this.container.eventSource || null;\n }\n _stop(method = this.method) {\n if (!this._isConnected) {\n return;\n }\n const conn = this._connection;\n if (!Utils.isNullOrEmpty(method)) {\n conn.removeEventListener(method, this._receiveHandler);\n }\n }\n _start(method = this.method) {\n if (!this._isConnected) {\n return;\n }\n const conn = this._connection;\n if (!Utils.isNullOrEmpty(method)) {\n conn.addEventListener(method, this._receiveHandler);\n }\n }\n /** Start listening, if not disabled. */\n start() {\n if (!this.disabled) {\n this._start();\n }\n }\n /** Stop listening. */\n stop() {\n this._stop();\n }\n viewActivatedCallback() {\n super.viewActivatedCallback();\n const container = this.container;\n if (!Utils.isNull(container)) {\n container.addEventListener(PropertyChangeEventName, this._connectedHandler, false);\n }\n this.start();\n }\n disconnectedCallback() {\n const container = this.container;\n if (!Utils.isNull(container)) {\n container.removeEventListener(PropertyChangeEventName, this._connectedHandler, false);\n }\n super.disconnectedCallback();\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n switch (name) {\n case 'method':\n if (!Utils.isNullOrEmpty(old)) {\n this._stop(old);\n }\n if (!Utils.isNullOrEmpty(val)) {\n this._start(val);\n }\n break;\n case 'disabled':\n if (!Utils.isNullOrEmpty(this.method)) {\n let toggle = val ? this._stop : this._start;\n toggle();\n }\n break;\n }\n }\n};\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.String })\n], PacemServerSentEventsListenerElement.prototype, \"method\", void 0);\nPacemServerSentEventsListenerElement = __decorate([\n CustomElement({ tagName: P + '-sse-listener' })\n], PacemServerSentEventsListenerElement);\nexport { PacemServerSentEventsListenerElement };\nlet PacemServerSentEventsProxyElement = class PacemServerSentEventsProxyElement extends Components.PacemItemsContainerElement {\n constructor() {\n super(...arguments);\n this._connectHandler = (_) => {\n this.connected = true;\n this.#evtSource.onmessage = this._receiveHandler;\n };\n this._errorHandler = (_) => {\n this.connected = false;\n };\n this._receiveHandler = (e) => {\n this.dispatchEvent(new CustomEvent('receive', { detail: e.data }));\n };\n }\n validate(item) {\n return item instanceof PacemServerSentEventsListenerElement;\n }\n viewActivatedCallback() {\n super.viewActivatedCallback();\n this._start();\n }\n disconnectedCallback() {\n this._stop();\n super.disconnectedCallback();\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n //\n if (first) {\n return;\n }\n if (name === 'url' || name === 'disabled') {\n this._restart();\n }\n }\n #evtSource;\n _restart() {\n this._stop();\n this._start();\n }\n _start(url = this.url) {\n if (!Utils.isNullOrEmpty(url) && !this.disabled) {\n const evtSource = this.#evtSource = new EventSource(url);\n evtSource.onopen = this._connectHandler;\n evtSource.onerror = this._errorHandler;\n }\n }\n get eventSource() {\n return this.#evtSource;\n }\n _stop() {\n const listeners = this.items || [];\n for (var item of listeners) {\n item.stop();\n }\n const evtSource = this.#evtSource;\n if (!Utils.isNull(evtSource)) {\n evtSource.onopen = null;\n evtSource.onerror = null;\n evtSource.onmessage = null;\n evtSource.close();\n }\n this.connected = false;\n this.#evtSource = null;\n }\n};\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.String })\n], PacemServerSentEventsProxyElement.prototype, \"url\", void 0);\n__decorate([\n Watch({ converter: PropertyConverters.Boolean })\n], PacemServerSentEventsProxyElement.prototype, \"connected\", void 0);\n__decorate([\n Debounce(true)\n], PacemServerSentEventsProxyElement.prototype, \"_restart\", null);\nPacemServerSentEventsProxyElement = __decorate([\n CustomElement({ tagName: P + '-sse-proxy' })\n], PacemServerSentEventsProxyElement);\nexport { PacemServerSentEventsProxyElement };\n","import { DeepMerger } from '@pacem/pacem-foundation';\nimport * as Output from './index';\nDeepMerger.merge(Output);\n"],"names":["__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","consts","PacemHubListenerElement","Components","PacemItemElement","constructor","super","this","_receiveHandler","args","dispatchEvent","CustomEvent","detail","Array","from","_completeHandler","Event","_errorHandler","error","_connectedHandler","e","propertyName","currentValue","_start","streamSubscription","_isConnected","container","PacemHubProxyElement","connected","_connection","connection","start","disabled","stop","_stop","method","isStreaming","stream","conn","Utils","isNullOrEmpty","dispose","off","streamResult","signalR","HubConnection","prototype","apply","concat","subscribe","next","complete","on","viewActivatedCallback","isNull","addEventListener","PropertyChangeEventName","disconnectedCallback","removeEventListener","propertyChangedCallback","name","old","val","first","m","Watch","emit","converter","PropertyConverters","String","Boolean","Json","CustomElement","tagName","P","PacemItemsContainerElement","validate","item","_hub","invoke","send","_resetProxy","_setupProxy","_initialize","window","CustomElementUtils","importjs","listeners","items","url","connBuilder","HubConnectionBuilder","withUrl","accessTokenFactory","accesstoken","h","build","onclose","PacemServerSentEventsListenerElement","data","PacemServerSentEventsProxyElement","eventSource","_connectHandler","_","evtSource","onmessage","_restart","EventSource","onopen","onerror","close","Debounce","DeepMerger","merge","Output"],"mappings":"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"}