@yuneta/gobj-js 7.13.5 → 7.13.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 +31 -1
- package/dist/gobj-js.cjs.js +23 -9
- package/dist/gobj-js.cjs.js.map +1 -1
- package/dist/gobj-js.cjs.min.js +711 -699
- package/dist/gobj-js.cjs.min.js.map +1 -1
- package/dist/gobj-js.es.js +23 -10
- package/dist/gobj-js.es.js.map +1 -1
- package/dist/gobj-js.es.min.js +745 -732
- package/dist/gobj-js.es.min.js.map +1 -1
- package/dist/gobj-js.iife.js +23 -9
- package/dist/gobj-js.iife.js.map +1 -1
- package/dist/gobj-js.iife.min.js +711 -699
- package/dist/gobj-js.iife.min.js.map +1 -1
- package/dist/gobj-js.umd.js +23 -9
- package/dist/gobj-js.umd.js.map +1 -1
- package/dist/gobj-js.umd.min.js +711 -699
- package/dist/gobj-js.umd.min.js.map +1 -1
- package/package.json +1 -1
package/dist/gobj-js.umd.min.js
CHANGED
|
@@ -178,7 +178,7 @@
|
|
|
178
178
|
}
|
|
179
179
|
}, O = class {
|
|
180
180
|
constructor(e, t, n, r, o) {
|
|
181
|
-
this.__refs__ = 0, this.gclass = t, this.parent = null, this.dl_children = [], this.dl_subscriptions = [], this.dl_subscribings = [], this.current_state = t.dl_states[0], this.last_state = null, this.obflag = 0, this.gobj_flag = Number(o) || 0, this.gobj_name = e, this.jn_attrs = null, this.jn_stats = {}, this.jn_user_data = {}, this.full_name = null, this.short_name = null, this.priv =
|
|
181
|
+
this.__refs__ = 0, this.gclass = t, this.parent = null, this.dl_children = [], this.dl_subscriptions = [], this.dl_subscribings = [], this.current_state = t.dl_states[0], this.last_state = null, this.obflag = 0, this.gobj_flag = Number(o) || 0, this.gobj_name = e, this.jn_attrs = null, this.jn_stats = {}, this.jn_user_data = {}, this.full_name = null, this.short_name = null, this.priv = en(t.priv), this.running = !1, this.playing = !1, this.disabled = !1, this.bottom_gobj = null, this.trace_level = 0, this.no_trace_level = 0;
|
|
182
182
|
}
|
|
183
183
|
}, N = Object.freeze({
|
|
184
184
|
gcflag_manual_start: 1,
|
|
@@ -222,9 +222,9 @@
|
|
|
222
222
|
this.event_name = e, this.event_flag = Number(t) || 0;
|
|
223
223
|
}
|
|
224
224
|
};
|
|
225
|
-
var C =
|
|
225
|
+
var C = 1;
|
|
226
226
|
function L(e) {
|
|
227
|
-
|
|
227
|
+
pn(e) && (e = JSON.stringify(e)), Qt(" ".repeat(Math.max(1, 2 * E)) + String(e));
|
|
228
228
|
}
|
|
229
229
|
var P = Object.freeze({
|
|
230
230
|
TRACE_MACHINE: 65536,
|
|
@@ -320,7 +320,7 @@
|
|
|
320
320
|
]
|
|
321
321
|
], F = 0, G = 0, V = 0;
|
|
322
322
|
function M(e, t) {
|
|
323
|
-
if (
|
|
323
|
+
if (Sn(e)) return 268369920;
|
|
324
324
|
if (/^[0-9]+$/.test(String(e))) {
|
|
325
325
|
const t = Number(e);
|
|
326
326
|
if (t) return t;
|
|
@@ -328,7 +328,7 @@
|
|
|
328
328
|
return function(e) {
|
|
329
329
|
for (const [t, n] of U) if (t === e) return n;
|
|
330
330
|
return 0;
|
|
331
|
-
}(String(e)) || (
|
|
331
|
+
}(String(e)) || (Ht(`${t}: trace level NOT FOUND: ${e}`), 0);
|
|
332
332
|
}
|
|
333
333
|
function W(e) {
|
|
334
334
|
if (V) return 4294967295;
|
|
@@ -368,7 +368,7 @@
|
|
|
368
368
|
}
|
|
369
369
|
function H(e, t) {
|
|
370
370
|
let n = {};
|
|
371
|
-
if (!
|
|
371
|
+
if (!mn(t)) return Ht("sdata_desc MUST be an array"), Zt(t), n;
|
|
372
372
|
for (let r = 0; r < t.length; r++) {
|
|
373
373
|
const o = t[r];
|
|
374
374
|
o.name && z(e, n, o);
|
|
@@ -382,133 +382,133 @@
|
|
|
382
382
|
r = String(o);
|
|
383
383
|
break;
|
|
384
384
|
case T.DTP_BOOLEAN:
|
|
385
|
-
r =
|
|
385
|
+
r = On(o);
|
|
386
386
|
break;
|
|
387
387
|
case T.DTP_INTEGER:
|
|
388
|
-
r = parseInt(o), isNaN(r) &&
|
|
388
|
+
r = parseInt(o), isNaN(r) && Ht(`${Ve(e)}: attr NaN: ${n.name}`);
|
|
389
389
|
break;
|
|
390
390
|
case T.DTP_REAL:
|
|
391
|
-
r = Number(o), isNaN(r) &&
|
|
391
|
+
r = Number(o), isNaN(r) && Ht(`${Ve(e)}: attr NaN: ${n.name}`);
|
|
392
392
|
break;
|
|
393
393
|
case T.DTP_LIST:
|
|
394
|
-
if (
|
|
394
|
+
if (En(o)) try {
|
|
395
395
|
r = JSON.parse(o);
|
|
396
396
|
} catch (e) {
|
|
397
|
-
|
|
397
|
+
Ht(`JSON parse error: ${e.message}`);
|
|
398
398
|
}
|
|
399
399
|
else r = o;
|
|
400
|
-
|
|
400
|
+
mn(r) || (r = []);
|
|
401
401
|
break;
|
|
402
402
|
case T.DTP_DICT:
|
|
403
|
-
if (
|
|
403
|
+
if (En(o)) try {
|
|
404
404
|
r = JSON.parse(o);
|
|
405
405
|
} catch (e) {
|
|
406
|
-
|
|
406
|
+
Ht(`JSON parse error: ${e.message}`);
|
|
407
407
|
}
|
|
408
408
|
else r = o;
|
|
409
|
-
|
|
409
|
+
pn(r) || (r = {});
|
|
410
410
|
break;
|
|
411
411
|
case T.DTP_JSON:
|
|
412
|
-
if (
|
|
412
|
+
if (En(o)) try {
|
|
413
413
|
r = JSON.parse(o);
|
|
414
414
|
} catch (e) {
|
|
415
|
-
|
|
415
|
+
Ht(`JSON parse error: ${e.message}`);
|
|
416
416
|
}
|
|
417
417
|
else r = o;
|
|
418
418
|
break;
|
|
419
419
|
case T.DTP_POINTER: r = o;
|
|
420
420
|
}
|
|
421
|
-
return void 0 === r && (
|
|
421
|
+
return void 0 === r && (Ht(`default_value WRONG, it: ${n.name}, value: ${n.default_value}`), r = null), t[n.name] = r, 0;
|
|
422
422
|
}
|
|
423
423
|
function Q(e, t, n, r) {
|
|
424
424
|
let o;
|
|
425
425
|
switch (n.type) {
|
|
426
426
|
case T.DTP_STRING:
|
|
427
427
|
if (null == r) o = "";
|
|
428
|
-
else if (
|
|
428
|
+
else if (En(r)) o = String(r);
|
|
429
429
|
else {
|
|
430
430
|
let e = JSON.stringify(r);
|
|
431
431
|
e && (o = String(e));
|
|
432
432
|
}
|
|
433
433
|
break;
|
|
434
434
|
case T.DTP_BOOLEAN:
|
|
435
|
-
o =
|
|
435
|
+
o = On(r);
|
|
436
436
|
break;
|
|
437
437
|
case T.DTP_INTEGER:
|
|
438
|
-
o = parseInt(r), isNaN(o) &&
|
|
438
|
+
o = parseInt(r), isNaN(o) && Ht(`${Ve(e)}: attr NaN: ${n.name}`);
|
|
439
439
|
break;
|
|
440
440
|
case T.DTP_REAL:
|
|
441
|
-
o = Number(r), isNaN(o) &&
|
|
441
|
+
o = Number(r), isNaN(o) && Ht(`${Ve(e)}: attr NaN: ${n.name}`);
|
|
442
442
|
break;
|
|
443
443
|
case T.DTP_LIST:
|
|
444
|
-
if (
|
|
444
|
+
if (En(r)) try {
|
|
445
445
|
o = JSON.parse(r);
|
|
446
446
|
} catch (e) {
|
|
447
|
-
|
|
447
|
+
Ht(`JSON parse error: ${e.message}`);
|
|
448
448
|
}
|
|
449
449
|
else o = r;
|
|
450
|
-
if (!
|
|
450
|
+
if (!mn(o)) return Ht(`attr must be an array: ${n.name}`), -1;
|
|
451
451
|
break;
|
|
452
452
|
case T.DTP_DICT:
|
|
453
|
-
if (
|
|
453
|
+
if (En(r)) try {
|
|
454
454
|
o = JSON.parse(r);
|
|
455
455
|
} catch (e) {
|
|
456
|
-
|
|
456
|
+
Ht(`JSON parse error: ${e.message}`);
|
|
457
457
|
}
|
|
458
458
|
else o = r;
|
|
459
|
-
if (!
|
|
459
|
+
if (!pn(o)) return Ht(`attr must be an object: ${n.name}`), -1;
|
|
460
460
|
break;
|
|
461
461
|
case T.DTP_JSON:
|
|
462
|
-
if (
|
|
462
|
+
if (En(r)) try {
|
|
463
463
|
o = JSON.parse(r);
|
|
464
464
|
} catch (e) {
|
|
465
|
-
|
|
465
|
+
Ht(`JSON parse error: ${e.message}`);
|
|
466
466
|
}
|
|
467
467
|
else o = r;
|
|
468
|
-
if (!
|
|
468
|
+
if (!mn(o) && !pn(o)) return Ht(`attr must be a json dict/list: ${n.name}`), -1;
|
|
469
469
|
break;
|
|
470
470
|
case T.DTP_POINTER: o = r;
|
|
471
471
|
}
|
|
472
|
-
return void 0 === o &&
|
|
472
|
+
return void 0 === o && Ht(`${Ve(e)}: attr undefined: ${n.name}`), t[n.name] = o, pn(e.priv) && e.priv.hasOwnProperty(n.name) && (e.priv[n.name] = o), e.obflag & w.obflag_created && !(e.obflag & w.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, n.name), 0;
|
|
473
473
|
}
|
|
474
474
|
function X(e) {
|
|
475
475
|
return e.jn_attrs;
|
|
476
476
|
}
|
|
477
477
|
function Z(e, t, n) {
|
|
478
|
-
return ot(e, t) ? X(e) : e && e.bottom_gobj ? Z(e.bottom_gobj, t, n) : (n &&
|
|
478
|
+
return ot(e, t) ? X(e) : e && e.bottom_gobj ? Z(e.bottom_gobj, t, n) : (n && Ht(`GClass Attribute NOT FOUND: ${Ve(e)}, attr ${t}`), null);
|
|
479
479
|
}
|
|
480
480
|
function ee(e, t, n) {
|
|
481
|
-
if (!(e && e instanceof S)) return n &&
|
|
481
|
+
if (!(e && e instanceof S)) return n && Ht("gclass NULL"), null;
|
|
482
482
|
if (!t) return e.attrs_table;
|
|
483
483
|
for (let n = 0; n < e.attrs_table.length; n++) {
|
|
484
484
|
const r = e.attrs_table[n];
|
|
485
485
|
if (r.name && r.name === t) return r;
|
|
486
486
|
}
|
|
487
|
-
return n &&
|
|
487
|
+
return n && Ht(`${e.gclass_name}: GClass Attribute NOT FOUND: ${t}`), null;
|
|
488
488
|
}
|
|
489
489
|
function te(e, t, n, r, o, i, l, s, _, a, u) {
|
|
490
|
-
if (
|
|
491
|
-
if (e.includes("`") || e.includes("^") || e.includes(".")) return
|
|
492
|
-
if (ce(e)) return
|
|
490
|
+
if (Sn(e)) return Ht("gclass_name EMPTY"), null;
|
|
491
|
+
if (e.includes("`") || e.includes("^") || e.includes(".")) return Ht(`GClass name CANNOT have '.' or '^' or '\`' char: ${e}`), null;
|
|
492
|
+
if (ce(e)) return Ht(`GClass ALREADY exists: ${e}`), null;
|
|
493
493
|
let c = new S(e, r, o, i, l, s, _, a, u);
|
|
494
494
|
(function(e, t) {
|
|
495
|
-
e && e instanceof S ? t ? d[t] ?
|
|
495
|
+
e && e instanceof S ? t ? d[t] ? Ht(`gclass ALREADY REGISTERED: ${t}`) : d[t] = e : Ht("gclass_name undefined") : Ht("gclass undefined");
|
|
496
496
|
})(c, e);
|
|
497
497
|
const f = n.length;
|
|
498
498
|
for (let e = 0; e < f; e++) {
|
|
499
499
|
let t = n[e][0], r = n[e][1];
|
|
500
|
-
if (
|
|
500
|
+
if (Sn(t)) continue;
|
|
501
501
|
if (ie(c, t) < 0) return ne(c), null;
|
|
502
502
|
const o = r.length;
|
|
503
503
|
for (let e = 0; e < o; e++) {
|
|
504
504
|
let n = r[e][0], o = r[e][1], i = r[e][2];
|
|
505
|
-
|
|
505
|
+
Sn(n) || le(c, t, n, o, i);
|
|
506
506
|
}
|
|
507
507
|
}
|
|
508
508
|
for (let e = 0; e < t.length; e++) {
|
|
509
509
|
let n = t[e][0], r = t[e][1];
|
|
510
|
-
if (!
|
|
511
|
-
if (ae(c, n)) return
|
|
510
|
+
if (!Sn(n)) {
|
|
511
|
+
if (ae(c, n)) return Ht(`SMachine: event repeated in input_events: ${n}`), ne(c), null;
|
|
512
512
|
_e(c, n, r);
|
|
513
513
|
}
|
|
514
514
|
}
|
|
@@ -520,13 +520,13 @@
|
|
|
520
520
|
}
|
|
521
521
|
function ne(e) {
|
|
522
522
|
let t;
|
|
523
|
-
if (
|
|
523
|
+
if (En(e)) t = e;
|
|
524
524
|
else {
|
|
525
|
-
if (!(e instanceof S)) return
|
|
525
|
+
if (!(e instanceof S)) return Ht("Cannot unregister gclass, type unknown"), -1;
|
|
526
526
|
t = e.gclass_name;
|
|
527
527
|
}
|
|
528
528
|
let n = d[t];
|
|
529
|
-
return n ? n.instances > 0 ? (
|
|
529
|
+
return n ? n.instances > 0 ? (Ht(`Cannot unregister gclass, instances in use: ${t}`), -1) : (delete d[t], 0) : (Ht(`Cannot unregister gclass, not found: ${t}`), -1);
|
|
530
530
|
}
|
|
531
531
|
function re(e, t) {
|
|
532
532
|
const n = e.dl_states.length, r = e.dl_states;
|
|
@@ -545,22 +545,22 @@
|
|
|
545
545
|
return null;
|
|
546
546
|
}
|
|
547
547
|
function ie(e, t) {
|
|
548
|
-
return e instanceof S ? re(e, t) ? (
|
|
548
|
+
return e instanceof S ? re(e, t) ? (Ht(`state already exists: ${t}`), -1) : (e.dl_states.push(new I(t)), 0) : (Ht("Cannot add state, typeof not GClass"), -1);
|
|
549
549
|
}
|
|
550
550
|
function le(e, t, n, r, o) {
|
|
551
|
-
if (!(e instanceof S)) return
|
|
552
|
-
if (
|
|
551
|
+
if (!(e instanceof S)) return Ht("Cannot add state, typeof not GClass"), -1;
|
|
552
|
+
if (Sn(t)) return Ht("state_name EMPTY"), -1;
|
|
553
553
|
let i = re(e, t);
|
|
554
|
-
return i ? oe(i, n) ? (
|
|
554
|
+
return i ? oe(i, n) ? (Ht(`event already exists: gclass ${e.gclass_name}, state ${t}, event ${n}`), -1) : (i.dl_actions.push(new k(n, r, o)), 0) : (Ht(`state not found: ${t}`), -1);
|
|
555
555
|
}
|
|
556
556
|
function se(e, t, n) {
|
|
557
|
-
|
|
557
|
+
Sn(t) || e.push(new $(t, n));
|
|
558
558
|
}
|
|
559
559
|
function _e(e, t, n) {
|
|
560
|
-
return e instanceof S ? se(e.dl_events, t, n) : (
|
|
560
|
+
return e instanceof S ? se(e.dl_events, t, n) : (Ht("Cannot add state, typeof not GClass"), -1);
|
|
561
561
|
}
|
|
562
562
|
function ae(e, t) {
|
|
563
|
-
if (!(e instanceof S)) return
|
|
563
|
+
if (!(e instanceof S)) return Ht("Cannot add state, typeof not GClass"), 0;
|
|
564
564
|
const n = e.dl_events.length, r = e.dl_events;
|
|
565
565
|
for (let e = 0; e < n; e++) {
|
|
566
566
|
let n = r[e];
|
|
@@ -569,25 +569,25 @@
|
|
|
569
569
|
return null;
|
|
570
570
|
}
|
|
571
571
|
function ue(e) {
|
|
572
|
-
if (!(e instanceof S)) return
|
|
572
|
+
if (!(e instanceof S)) return Ht("Cannot add state, typeof not GClass"), -1;
|
|
573
573
|
let t = 0;
|
|
574
|
-
|
|
574
|
+
dn(e.dl_states) || (Ht(`GClass without states: ${e.gclass_name}`), t += -1);
|
|
575
575
|
for (let n = 0; n < e.dl_states.length; n++) {
|
|
576
576
|
let r = e.dl_states[n];
|
|
577
|
-
if (!
|
|
577
|
+
if (!Sn(r.state_name)) for (let n = 0; n < r.dl_actions.length; n++) {
|
|
578
578
|
let o = r.dl_actions[n];
|
|
579
|
-
|
|
579
|
+
Sn(o.event_name) || (ae(e, o.event_name) || (Ht(`SMachine: state's event NOT in input_events: gclass ${e.gclass_name}, state ${r.state_name}, event ${o.event_name}`), t += -1), o.next_state && (re(e, o.next_state) || (Ht(`SMachine: next state NOT in state names: gclass ${e.gclass_name}, state ${r.state_name}, next_state ${o.next_state}`), t += -1)));
|
|
580
580
|
}
|
|
581
581
|
}
|
|
582
582
|
for (let n = 0; n < e.dl_events.length; n++) {
|
|
583
583
|
let r = e.dl_events[n];
|
|
584
|
-
if (!
|
|
584
|
+
if (!Sn(r.event_name) && (Tn(r.event_flag) || (Ht(`SMachine: event flag is NOT number: gclass ${e.gclass_name}, event ${r.event_name}`), t += -1), !(r.event_flag & D.EVF_OUTPUT_EVENT))) {
|
|
585
585
|
let n = !1;
|
|
586
586
|
for (let t = 0; t < e.dl_states.length; t++) {
|
|
587
587
|
let o = e.dl_states[t];
|
|
588
|
-
|
|
588
|
+
Sn(o.state_name) || oe(o, r.event_name) && (n = !0);
|
|
589
589
|
}
|
|
590
|
-
n || (
|
|
590
|
+
n || (Ht(`SMachine: input_list's event NOT in state: gclass ${e.gclass_name}, event ${r.event_name}`), t += -1);
|
|
591
591
|
}
|
|
592
592
|
}
|
|
593
593
|
return t;
|
|
@@ -597,62 +597,62 @@
|
|
|
597
597
|
try {
|
|
598
598
|
n = d[e];
|
|
599
599
|
} catch (e) {}
|
|
600
|
-
return n || (t &&
|
|
600
|
+
return n || (t && Ht(`gclass not found: ${e}`), null);
|
|
601
601
|
}
|
|
602
602
|
function fe() {
|
|
603
603
|
return !m || m.obflag & w.obflag_destroyed ? null : m;
|
|
604
604
|
}
|
|
605
605
|
function ge(e, t) {
|
|
606
606
|
e = e.toLowerCase();
|
|
607
|
-
return b[e] || (t &&
|
|
607
|
+
return b[e] || (t && Ht(`gobj service not found: ${e}`), null);
|
|
608
608
|
}
|
|
609
609
|
function de(e) {
|
|
610
610
|
let t = Fe(e);
|
|
611
|
-
return t = t.toLowerCase(), b[t] &&
|
|
611
|
+
return t = t.toLowerCase(), b[t] && Ht(`service ALREADY REGISTERED: ${t}. Will be UPDATED`), b[t] = e, 0;
|
|
612
612
|
}
|
|
613
613
|
function be(e, t) {
|
|
614
|
-
t.parent &&
|
|
614
|
+
t.parent && Ht(`_add_child() ALREADY HAS PARENT: ${t.gobj_name}`), e.dl_children.push(t), t.parent = e;
|
|
615
615
|
}
|
|
616
616
|
function pe(e, t) {
|
|
617
|
-
let n =
|
|
618
|
-
n >= 0 && (
|
|
617
|
+
let n = ur(e.dl_children, t);
|
|
618
|
+
n >= 0 && (fn(e.dl_children, n), t.parent = null);
|
|
619
619
|
}
|
|
620
620
|
function me(e, t) {
|
|
621
|
-
"__json_config_variables__" !== t &&
|
|
621
|
+
"__json_config_variables__" !== t && Ht(`GClass Attribute NOT FOUND: ${Ve(e)}, attr ${t}`);
|
|
622
622
|
}
|
|
623
623
|
function Ee(e, t, n) {
|
|
624
624
|
let r = t;
|
|
625
625
|
(function(e, t, n, r, o) {
|
|
626
|
-
if (!e || !t) return
|
|
626
|
+
if (!e || !t) return Ht("hsdata or kw NULL"), -1;
|
|
627
627
|
let i = 0;
|
|
628
628
|
for (const [l, s] of Object.entries(t)) {
|
|
629
629
|
const t = ee(o.gclass, l, !1);
|
|
630
|
-
t ? (-1 === n || t.flag & n) && (t.flag & h.SDF_DEPRECATED &&
|
|
630
|
+
t ? (-1 === n || t.flag & n) && (t.flag & h.SDF_DEPRECATED && zt(`${Ve(o)}: Deprecated attribute used in gobj creation: ${l}`), i += Q(o, e, t, s)) : r && (r(o, l), i--);
|
|
631
631
|
}
|
|
632
632
|
return i;
|
|
633
|
-
})(X(e), r, -1, e.gclass.gclass_flag & N.gcflag_ignore_unknown_attrs ? 0 : me, e) < 0 && (
|
|
633
|
+
})(X(e), r, -1, e.gclass.gclass_flag & N.gcflag_ignore_unknown_attrs ? 0 : me, e) < 0 && (Ht(`${Ve(e)} json2data() FAILED`), Zt(r));
|
|
634
634
|
}
|
|
635
635
|
function Te(e, t, r, o, i) {
|
|
636
636
|
if (i & R.gobj_flag_yuno) {
|
|
637
|
-
if (p) return
|
|
637
|
+
if (p) return Ht("__yuno__ already created"), null;
|
|
638
638
|
i |= R.gobj_flag_service;
|
|
639
639
|
} else {
|
|
640
|
-
if (!o) return
|
|
641
|
-
if (!("string" == typeof o || o instanceof O)) return
|
|
642
|
-
if (
|
|
640
|
+
if (!o) return Ht("gobj NEEDS a parent!"), null;
|
|
641
|
+
if (!("string" == typeof o || o instanceof O)) return Ht(`BAD TYPE of parent: ${o}`), null;
|
|
642
|
+
if (En(o) && !(o = ge(o))) return zt(`parent service not found: ${o}`), null;
|
|
643
643
|
}
|
|
644
|
-
if (i & R.gobj_flag_service && ge(e, !1)) return
|
|
644
|
+
if (i & R.gobj_flag_service && ge(e, !1)) return Ht(`service ALREADY registered: ${t}^${e}`), null;
|
|
645
645
|
if (i & R.gobj_flag_default_service) {
|
|
646
|
-
if (m) return
|
|
646
|
+
if (m) return Ht(`default service ALREADY registered: ${t}^${e}`), null;
|
|
647
647
|
i |= R.gobj_flag_service;
|
|
648
648
|
}
|
|
649
|
-
if (
|
|
649
|
+
if (Sn(t)) return Ht("gclass_name must be a string"), null;
|
|
650
650
|
let l = ce(t, !1);
|
|
651
|
-
if (!l) return
|
|
652
|
-
if (!
|
|
653
|
-
if (!
|
|
654
|
-
if (e.includes("`")) return
|
|
655
|
-
if (e.includes("^")) return
|
|
651
|
+
if (!l) return Ht(`GClass not registered: ${t}^${e}`), null;
|
|
652
|
+
if (!En(e)) return Ht(`gobj_name must be a string: ${t}`), null;
|
|
653
|
+
if (!Sn(e)) {
|
|
654
|
+
if (e.includes("`")) return Ht(`gobj_name cannot contain char ': ${t}^${e}`), null;
|
|
655
|
+
if (e.includes("^")) return Ht(`gobj_name cannot contain char ^: ${t}^${e}`), null;
|
|
656
656
|
}
|
|
657
657
|
let _ = new O(e, l, r, o, i);
|
|
658
658
|
_.jn_attrs = H(_, l.attrs_table);
|
|
@@ -664,8 +664,8 @@
|
|
|
664
664
|
return Te(e, t, n, r, R.gobj_flag_pure_child);
|
|
665
665
|
}
|
|
666
666
|
function ye(e) {
|
|
667
|
-
if (Ye(e)) return void
|
|
668
|
-
e.__refs__ > 0 &&
|
|
667
|
+
if (Ye(e)) return void Ht("gobj NULL or DESTROYED");
|
|
668
|
+
e.__refs__ > 0 && Ht(`${Ve(e)}: gobj DESTROYING with references: ${e.__refs__}`), e.playing && (Ht(`Destroying a PLAYING gobj: ${Me(e)}`), De(e)), e.running && (Ht(`Destroying a RUNNING gobj: ${Me(e)}`), Oe(e)), e.obflag |= w.obflag_destroying, function(e) {
|
|
669
669
|
if (0 === ht.length) return;
|
|
670
670
|
for (let t of ht) t.src === e && (t.src = null);
|
|
671
671
|
ht = ht.filter((t) => t.dst !== e);
|
|
@@ -675,7 +675,7 @@
|
|
|
675
675
|
let r = We(e);
|
|
676
676
|
r && r.gclass.gmt.mt_child_removed && (t && L(n("👦👦🔴 child_removed(%s): %s", Me(r), Ve(e))), r.gclass.gmt.mt_child_removed(r, e)), e.gobj_flag & R.gobj_flag_service && function(e) {
|
|
677
677
|
let t = Fe(e);
|
|
678
|
-
t = t.toLowerCase(), b[t] ? delete b[t] :
|
|
678
|
+
t = t.toLowerCase(), b[t] ? delete b[t] : Ht(`"service NOT found in register": ${t}`);
|
|
679
679
|
}(e), kt(e, e.dl_subscriptions, !0), kt(e, e.dl_subscribings, !0), r && (pe(r, e), Ke(e) && (Be(r) !== e || Ye(r) || Je(r, null))), function(e) {
|
|
680
680
|
let t = e.dl_children.slice();
|
|
681
681
|
for (let e = 0; e < t.length; e++) {
|
|
@@ -685,9 +685,9 @@
|
|
|
685
685
|
}(e), e.obflag & w.obflag_created && e.gclass.gmt.mt_destroy && e.gclass.gmt.mt_destroy(e), t && L(n("💔💔⏪ destroyed: %s", Me(e))), e.obflag |= w.obflag_destroyed, e.obflag & w.obflag_created && e.gclass.instances--;
|
|
686
686
|
}
|
|
687
687
|
function ve(e) {
|
|
688
|
-
if (Ye(e)) return
|
|
689
|
-
if (e.running) return
|
|
690
|
-
if (e.disabled) return
|
|
688
|
+
if (Ye(e)) return Ht("gobj NULL or DESTROYED"), -1;
|
|
689
|
+
if (e.running) return Ht(`${Ve(e)}: GObj ALREADY RUNNING`), -1;
|
|
690
|
+
if (e.disabled) return Ht(`${Ve(e)}: GObj DISABLED`), -1;
|
|
691
691
|
B(e) && L(n("⏺ ⏺ start: %s", Me(e))), e.running = !0;
|
|
692
692
|
let t = 0;
|
|
693
693
|
return e.gclass.gmt.mt_start && (t = e.gclass.gmt.mt_start(e)), t;
|
|
@@ -699,9 +699,9 @@
|
|
|
699
699
|
return e.gclass.gclass_flag & N.gcflag_manual_start || ke(e) ? 1 : (Ae(e) || ve(e), 0);
|
|
700
700
|
}
|
|
701
701
|
function Oe(e) {
|
|
702
|
-
if (Ye(e)) return
|
|
703
|
-
if (!e.running) return
|
|
704
|
-
e.playing && (
|
|
702
|
+
if (Ye(e)) return Ht("gobj NULL or DESTROYED"), -1;
|
|
703
|
+
if (!e.running) return Ht(`${Ve(e)}: GObj NOT RUNNING`), -1;
|
|
704
|
+
e.playing && (zt(`${Ve(e)}: GObj stopping without previous pause`), De(e)), B(e) && L(n("⏹ ⏹ stop: %s", Me(e))), e.running = !1;
|
|
705
705
|
let t = 0;
|
|
706
706
|
return e.gclass.gmt.mt_stop && (t = e.gclass.gmt.mt_stop(e)), t;
|
|
707
707
|
}
|
|
@@ -709,22 +709,22 @@
|
|
|
709
709
|
return Ae(e) && Oe(e), 0;
|
|
710
710
|
}
|
|
711
711
|
function Re(e) {
|
|
712
|
-
return Ye(e) ? (
|
|
712
|
+
return Ye(e) ? (Ht("gobj NULL or DESTROYED"), -1) : He(e, A.WALK_FIRST2LAST, Ne, 0, 0);
|
|
713
713
|
}
|
|
714
714
|
function we(e) {
|
|
715
|
-
if (Ye(e)) return
|
|
716
|
-
if (e.playing) return
|
|
717
|
-
if (e.disabled) return
|
|
715
|
+
if (Ye(e)) return Ht(`gobj NULL or DESTROYED: ${Ve(e)}`), -1;
|
|
716
|
+
if (e.playing) return Ht(`${Ve(e)}: GObj ALREADY PLAYING`), -1;
|
|
717
|
+
if (e.disabled) return Ht(`${Ve(e)}: GObj DISABLED`), -1;
|
|
718
718
|
if (!Ae(e)) {
|
|
719
|
-
if (e.gclass.gclass_flag & N.gcflag_required_start_to_play) return
|
|
720
|
-
|
|
719
|
+
if (e.gclass.gclass_flag & N.gcflag_required_start_to_play) return Ht(`${Ve(e)}: Cannot play, start not done`), -1;
|
|
720
|
+
zt(`${Ve(e)}: GObj playing without previous start`), ve(e);
|
|
721
721
|
}
|
|
722
722
|
B(e) && L(n("⏯ ⏯ play: %s", Me(e))), e.playing = !0;
|
|
723
723
|
let t = 0;
|
|
724
724
|
return e.gclass.gmt.mt_play && (t = e.gclass.gmt.mt_play(e), (t < 0 || !1 === t) && (e.playing = !1)), t;
|
|
725
725
|
}
|
|
726
726
|
function De(e) {
|
|
727
|
-
return Ye(e) ? (
|
|
727
|
+
return Ye(e) ? (Ht("gobj NULL or DESTROYED"), -1) : e.playing ? (B(e) && L(n("⏸ ⏸ pause: %s", Me(e))), e.playing = !1, e.gclass.gmt.mt_pause ? e.gclass.gmt.mt_pause(e) : 0) : (Ht(`${Ve(e)}: GObj NOT PLAYING`), -1);
|
|
728
728
|
}
|
|
729
729
|
function Ae(e) {
|
|
730
730
|
return !Ye(e) && e.running;
|
|
@@ -754,50 +754,50 @@
|
|
|
754
754
|
return e ? at(e, "yuno_id") : "";
|
|
755
755
|
}
|
|
756
756
|
function Fe(e) {
|
|
757
|
-
return
|
|
757
|
+
return jn(e) ? e.gobj_name : (Ht("gobj bad type"), null);
|
|
758
758
|
}
|
|
759
759
|
function Ge(e) {
|
|
760
|
-
return
|
|
760
|
+
return jn(e) ? e.gclass.gclass_name : (Ht("gobj NULL of bad type"), null);
|
|
761
761
|
}
|
|
762
762
|
function Ve(e) {
|
|
763
|
-
return
|
|
763
|
+
return jn(e) ? e.gclass.gclass_name + "^" + Fe(e) : (Ht("gobj bad type"), null);
|
|
764
764
|
}
|
|
765
765
|
function Me(e) {
|
|
766
|
-
if (!
|
|
766
|
+
if (!jn(e)) return Ht("gobj NULL of bad type"), null;
|
|
767
767
|
let t = Ve(e), n = We(e);
|
|
768
768
|
for (; n;) t = Ve(n) + "`" + t, n = We(n);
|
|
769
769
|
return t;
|
|
770
770
|
}
|
|
771
771
|
function We(e) {
|
|
772
|
-
return
|
|
772
|
+
return jn(e) ? e.parent : (Ht("gobj NULL of bad type"), null);
|
|
773
773
|
}
|
|
774
774
|
function Ke(e) {
|
|
775
|
-
return
|
|
775
|
+
return jn(e) ? !!(e.gobj_flag & R.gobj_flag_volatil) : (Ht("gobj NULL of bad type"), null);
|
|
776
776
|
}
|
|
777
777
|
function xe(e) {
|
|
778
|
-
return
|
|
778
|
+
return jn(e) ? !!(e.gobj_flag & R.gobj_flag_pure_child) : (Ht("gobj NULL of bad type"), null);
|
|
779
779
|
}
|
|
780
780
|
function Ye(e) {
|
|
781
|
-
return !
|
|
781
|
+
return !jn(e) || !!(e.obflag & (w.obflag_destroyed | w.obflag_destroying));
|
|
782
782
|
}
|
|
783
783
|
function Be(e) {
|
|
784
|
-
return
|
|
784
|
+
return jn(e) ? e.bottom_gobj : (Ht("gobj NULL of bad type"), null);
|
|
785
785
|
}
|
|
786
786
|
function Je(e, t) {
|
|
787
|
-
if (!
|
|
788
|
-
e.bottom_gobj &&
|
|
787
|
+
if (!jn(e)) return Ht("gobj NULL of bad type"), null;
|
|
788
|
+
e.bottom_gobj && zt(`${Ve(e)}: bottom_gobj already set`), e.bottom_gobj = t;
|
|
789
789
|
}
|
|
790
790
|
function qe(e, t, n) {
|
|
791
|
-
return
|
|
791
|
+
return jn(e) ? t ? ee(e.gclass, t, n) : e.gclass.attrs_table : (Ht("gobj NULL of bad type"), null);
|
|
792
792
|
}
|
|
793
793
|
function He(e, t, n, r, o) {
|
|
794
|
-
return Ye(e) ? (
|
|
794
|
+
return Ye(e) ? (Ht("gobj NULL, destroying, or bad type"), 0) : Xe(e.dl_children, t, n, r, o);
|
|
795
795
|
}
|
|
796
796
|
function ze(e, t, n, r, o) {
|
|
797
|
-
return Ye(e) ? (
|
|
797
|
+
return Ye(e) ? (Ht("gobj NULL, destroying, or bad type"), 0) : et(e.dl_children, t, n, r, o);
|
|
798
798
|
}
|
|
799
799
|
function Qe(e) {
|
|
800
|
-
return "number" == typeof e && isFinite(e) ? e : (null == e ||
|
|
800
|
+
return "number" == typeof e && isFinite(e) ? e : (null == e || Ht(`walk callback must return a NUMBER (-1 stop, 0 descend, >0 skip children), got ${typeof e}: taken as 0`), 0);
|
|
801
801
|
}
|
|
802
802
|
function Xe(e, t, n, r, o) {
|
|
803
803
|
let i, l = [...e];
|
|
@@ -835,7 +835,7 @@
|
|
|
835
835
|
return 0;
|
|
836
836
|
}
|
|
837
837
|
function tt(e, t) {
|
|
838
|
-
if (!
|
|
838
|
+
if (!jn(e)) return Ht("gobj NULL of bad type"), !1;
|
|
839
839
|
let n = t.__gclass_name__, r = t.__gobj_name__, o = t.__prefix_gobj_name__;
|
|
840
840
|
t.__disabled__;
|
|
841
841
|
let i = t.__state__;
|
|
@@ -851,7 +851,7 @@
|
|
|
851
851
|
return !0;
|
|
852
852
|
}
|
|
853
853
|
function nt(e, t) {
|
|
854
|
-
if (Ye(e)) return
|
|
854
|
+
if (Ye(e)) return Ht("gobj NULL or DESTROYED"), null;
|
|
855
855
|
const n = e.dl_children;
|
|
856
856
|
for (let e = 0; e < n.length; e++) {
|
|
857
857
|
const r = n[e];
|
|
@@ -879,7 +879,7 @@
|
|
|
879
879
|
return i ? (n.splice(0, 1), n = n.join("`"), rt(i, n)) : null;
|
|
880
880
|
}
|
|
881
881
|
function ot(e, t) {
|
|
882
|
-
return !
|
|
882
|
+
return !Sn(t) && !!ee(e.gclass, t, !1);
|
|
883
883
|
}
|
|
884
884
|
function it(e, t, n) {
|
|
885
885
|
let r = e.jn_attrs;
|
|
@@ -887,7 +887,7 @@
|
|
|
887
887
|
let n = r[t];
|
|
888
888
|
return e.gclass.gmt.mt_reading ? e.gclass.gmt.mt_reading(e, t, n) : n;
|
|
889
889
|
}
|
|
890
|
-
return
|
|
890
|
+
return Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), null;
|
|
891
891
|
}
|
|
892
892
|
function lt(e, t, n) {
|
|
893
893
|
let r = {}, o = e.gclass.attrs_table;
|
|
@@ -895,34 +895,34 @@
|
|
|
895
895
|
const i = o[n];
|
|
896
896
|
if (i.name && (-1 === t || i.flag & t)) {
|
|
897
897
|
let t;
|
|
898
|
-
!e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? t =
|
|
898
|
+
!e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? t = ln(e.jn_attrs, i.name) : (t = e.gclass.gmt.mt_reading(e, i.name), void 0 === t && (t = ln(e.jn_attrs, i.name))), _n(r, i.name, t);
|
|
899
899
|
}
|
|
900
900
|
}
|
|
901
901
|
return r;
|
|
902
902
|
}
|
|
903
903
|
function st(e, t) {
|
|
904
904
|
if (t) {
|
|
905
|
-
if (0 ===
|
|
906
|
-
if (0 ===
|
|
907
|
-
if (0 ===
|
|
908
|
-
if (0 ===
|
|
905
|
+
if (0 === Rn(t, "__disabled__")) return ke(e);
|
|
906
|
+
if (0 === Rn(t, "__running__")) return Ae(e);
|
|
907
|
+
if (0 === Rn(t, "__playing__")) return $e(e);
|
|
908
|
+
if (0 === Rn(t, "__service__")) return Ie(e);
|
|
909
909
|
}
|
|
910
910
|
let n = Z(e, t, !1);
|
|
911
|
-
return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ?
|
|
911
|
+
return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? ln(n, t) : e.gclass.gmt.mt_reading(e, t) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
|
|
912
912
|
}
|
|
913
913
|
function _t(e, t) {
|
|
914
|
-
t &&
|
|
914
|
+
t && Rn(t, "__trace_level__");
|
|
915
915
|
let n = Z(e, t, !1);
|
|
916
|
-
return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ?
|
|
916
|
+
return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? ln(n, t) : e.gclass.gmt.mt_reading(e, t) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
|
|
917
917
|
}
|
|
918
918
|
function at(e, t) {
|
|
919
|
-
if (t && 0 ===
|
|
919
|
+
if (t && 0 === Rn(t, "__state__")) return pt(e);
|
|
920
920
|
let n = Z(e, t, !1);
|
|
921
|
-
return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ?
|
|
921
|
+
return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? ln(n, t) : e.gclass.gmt.mt_reading(e, t) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
|
|
922
922
|
}
|
|
923
923
|
function ut(e, t) {
|
|
924
924
|
let n = Z(e, t, !1);
|
|
925
|
-
return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ?
|
|
925
|
+
return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? ln(n, t) : e.gclass.gmt.mt_reading(e, t) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
|
|
926
926
|
}
|
|
927
927
|
function ct(e, t, n, r) {
|
|
928
928
|
let o = X(e), i = 0;
|
|
@@ -934,21 +934,21 @@
|
|
|
934
934
|
}
|
|
935
935
|
function ft(e, t, n) {
|
|
936
936
|
let r = Z(e, t, !1);
|
|
937
|
-
return r ? (r[t] =
|
|
937
|
+
return r ? (r[t] = On(n), pn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & w.obflag_created && !(e.obflag & w.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
|
|
938
938
|
}
|
|
939
939
|
function gt(e, t, n) {
|
|
940
940
|
let r = Z(e, t, !1);
|
|
941
|
-
return r ? (r[t] = parseInt(n),
|
|
941
|
+
return r ? (r[t] = parseInt(n), pn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & w.obflag_created && !(e.obflag & w.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
|
|
942
942
|
}
|
|
943
943
|
function dt(e, t, n) {
|
|
944
944
|
let r = Z(e, t, !1);
|
|
945
|
-
return r ? (r[t] = String(n),
|
|
945
|
+
return r ? (r[t] = String(n), pn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & w.obflag_created && !(e.obflag & w.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
|
|
946
946
|
}
|
|
947
947
|
function bt(e, t) {
|
|
948
|
-
if (Ye(e)) return
|
|
948
|
+
if (Ye(e)) return Ht("gobj NULL or DESTROYED"), null;
|
|
949
949
|
if (e.current_state.state_name === t) return !1;
|
|
950
950
|
let r = re(e.gclass, t);
|
|
951
|
-
if (!r) return
|
|
951
|
+
if (!r) return Ht(`${Ve(e)}: state unknown, state ${t}`), !1;
|
|
952
952
|
e.last_state = e.current_state, e.current_state = r;
|
|
953
953
|
let o = J(e, "EV_STATE_CHANGED"), i = !!function(e) {
|
|
954
954
|
return W(e) & P.TRACE_STATES;
|
|
@@ -956,10 +956,10 @@
|
|
|
956
956
|
return (o || i) && L(n("🔀🔀 mach(%s%s^%s), new st(%s), prev st(%s)", e.running ? "" : "!!", Ge(e), Fe(e), pt(e), e.last_state.state_name)), !0;
|
|
957
957
|
}
|
|
958
958
|
function pt(e) {
|
|
959
|
-
return
|
|
959
|
+
return jn(e) ? e.current_state.state_name : (Ht("hgobj NULL"), "");
|
|
960
960
|
}
|
|
961
961
|
function mt(e, t, n) {
|
|
962
|
-
if (!
|
|
962
|
+
if (!jn(e)) return Ht("gobj NULL of bad type"), null;
|
|
963
963
|
let r = ae(e.gclass, t);
|
|
964
964
|
if (r) return r;
|
|
965
965
|
if (n) {
|
|
@@ -989,28 +989,28 @@
|
|
|
989
989
|
return ht.length > 0 && !yt && (yt = !0, setTimeout(vt, 0)), t;
|
|
990
990
|
}
|
|
991
991
|
function jt(e, t, r, o) {
|
|
992
|
-
if (!(e && e instanceof O)) return
|
|
993
|
-
if (e.obflag & (w.obflag_destroyed | w.obflag_destroying)) return
|
|
992
|
+
if (!(e && e instanceof O)) return Ht("gobj dst NULL"), -1;
|
|
993
|
+
if (e.obflag & (w.obflag_destroyed | w.obflag_destroying)) return Ht("gobj dst DESTROYED"), -1;
|
|
994
994
|
let i = e.current_state;
|
|
995
|
-
if (!i) return
|
|
995
|
+
if (!i) return Ht(`${Ve(e)}: current_state NULL`), -1;
|
|
996
996
|
let l = J(e, t) && !q(o, t);
|
|
997
997
|
E++;
|
|
998
998
|
let s = oe(i, t);
|
|
999
|
-
if (!s) return e.gclass.gmt.mt_inject_event ? (E--, l && (L(n("🔃 mach(%s%s), st: %s, ev: %s, from(%s%s)", e.running ? "" : "!!", Ve(e), i.state_name, t || "", o && !o.running ? "!!" : "", Ve(o))), r && l > 1 &&
|
|
999
|
+
if (!s) return e.gclass.gmt.mt_inject_event ? (E--, l && (L(n("🔃 mach(%s%s), st: %s, ev: %s, from(%s%s)", e.running ? "" : "!!", Ve(e), i.state_name, t || "", o && !o.running ? "!!" : "", Ve(o))), r && l > 1 && gn(r) && Zt(r)), e.gclass.gmt.mt_inject_event(e, t, r, o)) : (l && L(n("📛 mach(%s%s^%s), st: %s, ev: %s, 📛📛ERROR Event NOT DEFINED in state📛📛, from(%s%s^%s)", e.running ? "" : "!!", Ge(e), Fe(e), i.state_name, t || "", o && !o.running ? "!!" : "", Ge(o), Fe(o))), Ht(`📛📛 Event NOT DEFINED in state 📛📛: ${Ve(e)}, ${i.state_name}, ${t}`), E--, -1);
|
|
1000
1000
|
if (l) {
|
|
1001
1001
|
if (1 === C) L(n("🔄 %s %s%s %s from %s%s", t || "", e.running ? "" : "!!", Ve(e), i.state_name, o && !o.running ? "!!" : "", Ve(o)));
|
|
1002
1002
|
else {
|
|
1003
1003
|
let r = "";
|
|
1004
|
-
s.action && (r =
|
|
1004
|
+
s.action && (r = fr(s.action)), L(n("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Ge(e), Fe(e), i.state_name, "", t || "", "", r, o && !o.running ? "!!" : "", Ge(o), Fe(o)));
|
|
1005
1005
|
}
|
|
1006
|
-
r && (W(e) | x()) & P.TRACE_EV_KW &&
|
|
1006
|
+
r && (W(e) | x()) & P.TRACE_EV_KW && gn(r) && Zt(r);
|
|
1007
1007
|
}
|
|
1008
1008
|
s.next_state && bt(e, s.next_state);
|
|
1009
1009
|
let _ = -1;
|
|
1010
1010
|
try {
|
|
1011
1011
|
s.action && (_ = s.action(e, t, r, o));
|
|
1012
1012
|
} finally {}
|
|
1013
|
-
return !l || 1 === C || e.obflag & w.obflag_destroyed || L(n("<- mach(%s%s^%s), st: %s, ev: %s, ret: %d", e.running ? "" : "!!", Ge(e), Fe(e), e.current_state.state_name, t || "",
|
|
1013
|
+
return !l || 1 === C || e.obflag & w.obflag_destroyed || L(n("<- mach(%s%s^%s), st: %s, ev: %s, ret: %d", e.running ? "" : "!!", Ge(e), Fe(e), e.current_state.state_name, t || "", Tn(_) ? _ : 0)), E--, _;
|
|
1014
1014
|
}
|
|
1015
1015
|
var St = Object.freeze({
|
|
1016
1016
|
__hard_subscription__: 1,
|
|
@@ -1029,22 +1029,22 @@
|
|
|
1029
1029
|
v()
|
|
1030
1030
|
];
|
|
1031
1031
|
function Nt(e, t, n, r, o) {
|
|
1032
|
-
let i =
|
|
1033
|
-
if (t && t !==
|
|
1034
|
-
let t =
|
|
1035
|
-
|
|
1032
|
+
let i = Un(t, r, "__config__", null), l = Un(t, r, "__global__", null), s = Un(t, r, "__local__", null), _ = Fn(t, r, "__filter__", null), a = !0;
|
|
1033
|
+
if (t && t !== Pn(null, e, "publisher", null) && (a = !1), o && o !== Pn(null, e, "subscriber", null) && (a = !1), n && n !== Ln(null, e, "event", "") && (a = !1), bn(i) > 0) {
|
|
1034
|
+
let t = Un(null, e, "__config__", null);
|
|
1035
|
+
bn(t) > 0 && tn(t, i) || (a = !1);
|
|
1036
1036
|
}
|
|
1037
|
-
if (
|
|
1038
|
-
let t =
|
|
1039
|
-
|
|
1037
|
+
if (bn(l) > 0) {
|
|
1038
|
+
let t = Un(null, e, "__global__", null);
|
|
1039
|
+
bn(t) > 0 && tn(t, l) || (a = !1);
|
|
1040
1040
|
}
|
|
1041
|
-
if (
|
|
1042
|
-
let t =
|
|
1043
|
-
|
|
1041
|
+
if (bn(s) > 0) {
|
|
1042
|
+
let t = Un(null, e, "__local__", null);
|
|
1043
|
+
bn(t) > 0 && tn(t, s) || (a = !1);
|
|
1044
1044
|
}
|
|
1045
|
-
if (
|
|
1046
|
-
let t =
|
|
1047
|
-
|
|
1045
|
+
if (bn(_) > 0) {
|
|
1046
|
+
let t = Fn(null, e, "__filter__", null);
|
|
1047
|
+
bn(t) > 0 && tn(t, _) || (a = !1);
|
|
1048
1048
|
}
|
|
1049
1049
|
return a;
|
|
1050
1050
|
}
|
|
@@ -1052,7 +1052,7 @@
|
|
|
1052
1052
|
let i = [];
|
|
1053
1053
|
for (let l = 0; l < e.length; l++) {
|
|
1054
1054
|
let s = e[l];
|
|
1055
|
-
Nt(s, t, n, r, o) &&
|
|
1055
|
+
Nt(s, t, n, r, o) && un(i, s);
|
|
1056
1056
|
}
|
|
1057
1057
|
return i;
|
|
1058
1058
|
}
|
|
@@ -1061,15 +1061,15 @@
|
|
|
1061
1061
|
return -1;
|
|
1062
1062
|
}
|
|
1063
1063
|
function Dt(e, t, r, o) {
|
|
1064
|
-
let i =
|
|
1065
|
-
if (!!(
|
|
1066
|
-
p && st(p, "trace_subscriptions") && (L(n("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s'", s || "", Ve(i), Ve(l))),
|
|
1064
|
+
let i = Pn(e, t, "publisher", null, Lt.KW_REQUIRED), l = Pn(e, t, "subscriber", null, Lt.KW_REQUIRED), s = Ln(e, t, "event", "", Lt.KW_REQUIRED);
|
|
1065
|
+
if (!!(Cn(e, t, "subs_flag", null, Lt.KW_REQUIRED) & St.__hard_subscription__) && !r) return -1;
|
|
1066
|
+
p && st(p, "trace_subscriptions") && (L(n("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s'", s || "", Ve(i), Ve(l))), Zt(t)), i.obflag & w.obflag_destroyed || o || i.gclass.gmt.mt_subscription_deleted && i.gclass.gmt.mt_subscription_deleted(i, t);
|
|
1067
1067
|
let _ = wt(i.dl_subscriptions, i, s, t, l);
|
|
1068
|
-
return _ >= 0 ?
|
|
1068
|
+
return _ >= 0 ? fn(i.dl_subscriptions, _) : (Ht(`${Ve(e)}: subscription in publisher not found`), Zt(t)), _ = wt(l.dl_subscribings, i, s, t, l), _ >= 0 ? fn(l.dl_subscribings, _) : (Ht(`${Ve(e)}: subscription in subscriber not found`), Zt(t)), 0;
|
|
1069
1069
|
}
|
|
1070
1070
|
function At(e, t, r, o) {
|
|
1071
|
-
if (null == r && (r = {}), !e) return
|
|
1072
|
-
if (!o) return
|
|
1071
|
+
if (null == r && (r = {}), !e) return Ht(`publisher NULL: ev ${t}`), 0;
|
|
1072
|
+
if (!o) return Ht(`subscriber NULL: ev ${t}`), 0;
|
|
1073
1073
|
const i = /* @__PURE__ */ new Set([
|
|
1074
1074
|
"__config__",
|
|
1075
1075
|
"__global__",
|
|
@@ -1078,34 +1078,34 @@
|
|
|
1078
1078
|
"__service__"
|
|
1079
1079
|
]);
|
|
1080
1080
|
if (Object.keys(r).forEach((n) => {
|
|
1081
|
-
i.has(n) ||
|
|
1082
|
-
}),
|
|
1083
|
-
else if (!(Tt(e, t, D.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & N.gcflag_no_check_output_events)) return
|
|
1081
|
+
i.has(n) || Ht(`${Ve(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
|
|
1082
|
+
}), Sn(t)) t = "";
|
|
1083
|
+
else if (!(Tt(e, t, D.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & N.gcflag_no_check_output_events)) return Ht(`event NOT in output event list: ${Ve(e)}, ${t}`), 0;
|
|
1084
1084
|
let l = Rt(e.dl_subscriptions, e, t, r, o);
|
|
1085
|
-
|
|
1085
|
+
dn(l) > 0 && (Ht(`${Ve(e)}: ${dn(l)} subscription(s) REPEATED, will be deleted and override`), Zt(l, "subscription REPEATED"), kt(e, l, !1));
|
|
1086
1086
|
let s = function(e, t, n, r) {
|
|
1087
1087
|
let o = H(e, Ot);
|
|
1088
|
-
|
|
1088
|
+
an(o, "event", t), an(o, "subscriber", r), an(o, "publisher", e);
|
|
1089
1089
|
let i = 0;
|
|
1090
1090
|
if (n) {
|
|
1091
|
-
let t =
|
|
1092
|
-
if (
|
|
1093
|
-
let n =
|
|
1094
|
-
if (
|
|
1095
|
-
let t =
|
|
1096
|
-
|
|
1091
|
+
let t = Un(e, n, "__config__", null), r = Un(e, n, "__global__", null), l = Un(e, n, "__local__", null), s = Fn(e, n, "__filter__", null), _ = Ln(e, n, "__service__", "");
|
|
1092
|
+
if (bn(r) > 0 && an(o, "__global__", en(r)), bn(t) > 0) {
|
|
1093
|
+
let n = en(t);
|
|
1094
|
+
if (an(o, "__config__", n), An(n, "__hard_subscription__")) {
|
|
1095
|
+
let t = $n(e, n, "__hard_subscription__", !1);
|
|
1096
|
+
sn(n, "__hard_subscription__"), t && (i |= St.__hard_subscription__);
|
|
1097
1097
|
}
|
|
1098
|
-
if (
|
|
1099
|
-
let t =
|
|
1100
|
-
|
|
1098
|
+
if (An(n, "__own_event__")) {
|
|
1099
|
+
let t = $n(e, n, "__own_event__", !1);
|
|
1100
|
+
sn(n, "__own_event__"), t && (i |= St.__own_event__);
|
|
1101
1101
|
}
|
|
1102
1102
|
}
|
|
1103
|
-
|
|
1103
|
+
bn(l) > 0 && an(o, "__local__", en(l)), bn(s) > 0 && an(o, "__filter__", en(s)), Sn(_) || an(o, "__service__", _);
|
|
1104
1104
|
}
|
|
1105
|
-
return
|
|
1105
|
+
return an(o, "subs_flag", i), o;
|
|
1106
1106
|
}(e, t, r, o);
|
|
1107
|
-
if (!s) return
|
|
1108
|
-
if (
|
|
1107
|
+
if (!s) return Ht(`${Ve(e)}: _create_subscription() FAILED`), 0;
|
|
1108
|
+
if (un(e.dl_subscriptions, s), un(o.dl_subscribings, s), p && st(p, "trace_subscriptions") && (L(n("💜💜👍 subscribing event '%s', publisher '%s', subscriber %s", t || "", Ve(e), Ve(o))), r && Zt(r)), e.gclass.gmt.mt_subscription_added) {
|
|
1109
1109
|
let t = e.gclass.gmt.mt_subscription_added(e, s);
|
|
1110
1110
|
(t < 0 || !1 === t) && (Dt(e, s, !0, !0), s = 0);
|
|
1111
1111
|
}
|
|
@@ -1123,12 +1123,12 @@
|
|
|
1123
1123
|
return Rt(e.dl_subscribings, r, t, n, e);
|
|
1124
1124
|
}
|
|
1125
1125
|
function Ct(e, t, r) {
|
|
1126
|
-
if (
|
|
1127
|
-
if (
|
|
1126
|
+
if (pn(r) || (r = {}), !e || e.obflag & (w.obflag_destroyed | w.obflag_destroying)) return Ht("gobj NULL or DESTROYED"), -1;
|
|
1127
|
+
if (Sn(t)) return Ht(`${Ve(e)}: event EMPTY`), -1;
|
|
1128
1128
|
let o = mt(e, t, !0);
|
|
1129
|
-
if (!(o && o.event_flag & (D.EVF_SYSTEM_EVENT | D.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & N.gcflag_no_check_output_events)) return
|
|
1129
|
+
if (!(o && o.event_flag & (D.EVF_SYSTEM_EVENT | D.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & N.gcflag_no_check_output_events)) return Ht(`event NOT in output event list: ${Ve(e)}, ev ${t}`), -1;
|
|
1130
1130
|
let i = p && st(p, "trace_subscriptions");
|
|
1131
|
-
if (i && (L(n("🔝🔝 mach(%s%s^%s), st: %s, ev: %s%s%s", e.running ? "" : "!!", Ge(e), Fe(e), e.current_state.state_name, "", t || "", "")),
|
|
1131
|
+
if (i && (L(n("🔝🔝 mach(%s%s^%s), st: %s, ev: %s%s%s", e.running ? "" : "!!", Ge(e), Fe(e), e.current_state.state_name, "", t || "", "")), Zt(r)), e.gclass.gmt.mt_publish_event) {
|
|
1132
1132
|
let n = e.gclass.gmt.mt_publish_event(e, t, r);
|
|
1133
1133
|
if (n <= 0) return n;
|
|
1134
1134
|
}
|
|
@@ -1140,17 +1140,17 @@
|
|
|
1140
1140
|
if (n < 0) break;
|
|
1141
1141
|
if (!n) continue;
|
|
1142
1142
|
}
|
|
1143
|
-
let u =
|
|
1143
|
+
let u = Pn(e, a, "subscriber", null, Lt.KW_REQUIRED);
|
|
1144
1144
|
if (!u || Ye(u)) continue;
|
|
1145
|
-
let c =
|
|
1146
|
-
if (
|
|
1147
|
-
|
|
1148
|
-
let o =
|
|
1149
|
-
if (e.gclass.gmt.mt_publication_filter ? d = e.gclass.gmt.mt_publication_filter(e, t, g, u) :
|
|
1145
|
+
let c = Cn(e, a, "subs_flag", 0, Lt.KW_REQUIRED), f = Ln(e, a, "event", "", Lt.KW_REQUIRED);
|
|
1146
|
+
if (Sn(f) || 0 === Rn(f, t)) {
|
|
1147
|
+
Un(e, a, "__config__", null, 0);
|
|
1148
|
+
let o = Un(e, a, "__global__", null, 0), l = Un(e, a, "__local__", null, 0), f = Fn(e, a, "__filter__", null, 0), g = r, d = 1;
|
|
1149
|
+
if (e.gclass.gmt.mt_publication_filter ? d = e.gclass.gmt.mt_publication_filter(e, t, g, u) : bn(f) > 0 && (d = Wn(g, f) ? 1 : 0, i && (L(n("💜💜🔄%s publishing with filter, event '%s', subscriber'%s', publisher %s", d ? "👍" : "👎", t || "", Ve(u), Ve(e))), Zt(f))), d < 0) break;
|
|
1150
1150
|
if (!d) continue;
|
|
1151
1151
|
let b = mt(u, t, !0);
|
|
1152
1152
|
if (b && b.event_flag & D.EVF_SYSTEM_EVENT && !Et(u, b.event_name, 0)) continue;
|
|
1153
|
-
l &&
|
|
1153
|
+
l && Dn(g, l), o && nn(g, o), i && (L(n("🔝🔄 mach(%s%s), st: %s, ev: %s, from(%s%s)", u.running ? "" : "!!", Ve(u), pt(u), t || "", e && !e.running ? "!!" : "", Ve(e))), Zt(g));
|
|
1154
1154
|
let p = jt(u, t, g, e);
|
|
1155
1155
|
if (p < 0 && c & St.__own_event__) {
|
|
1156
1156
|
s = -1;
|
|
@@ -1159,7 +1159,7 @@
|
|
|
1159
1159
|
if (_ += p, s++, Ye(e)) break;
|
|
1160
1160
|
}
|
|
1161
1161
|
}
|
|
1162
|
-
return s || o && o.event_flag & D.EVF_NO_WARN_SUBS ||
|
|
1162
|
+
return s || o && o.event_flag & D.EVF_NO_WARN_SUBS || zt(`${Ve(e)}: Publish event WITHOUT subscribers, ev ${t}`), _;
|
|
1163
1163
|
}
|
|
1164
1164
|
var Lt = Object.freeze({
|
|
1165
1165
|
KW_REQUIRED: 1,
|
|
@@ -1183,21 +1183,31 @@
|
|
|
1183
1183
|
});
|
|
1184
1184
|
var Pt = "undefined" != typeof window ? window.console : console, Ut = Pt.error, Ft = Pt.warn, Gt = Pt.info, Vt = Pt.debug, Mt = null;
|
|
1185
1185
|
var Wt = !0;
|
|
1186
|
-
var Kt =
|
|
1187
|
-
function xt(e, t
|
|
1188
|
-
if (
|
|
1189
|
-
|
|
1186
|
+
var Kt = null;
|
|
1187
|
+
function xt(e, t) {
|
|
1188
|
+
if (!Wt) return !1;
|
|
1189
|
+
if (!Kt) return !0;
|
|
1190
|
+
try {
|
|
1191
|
+
return !!Kt(e, t);
|
|
1192
|
+
} catch (e) {
|
|
1193
|
+
return !0;
|
|
1194
|
+
}
|
|
1195
|
+
}
|
|
1196
|
+
var Yt = !1;
|
|
1197
|
+
function Bt(e, t, n) {
|
|
1198
|
+
if (Mt && !Yt) {
|
|
1199
|
+
Yt = !0;
|
|
1190
1200
|
try {
|
|
1191
1201
|
Mt(e, t, n);
|
|
1192
1202
|
} catch (e) {} finally {
|
|
1193
|
-
|
|
1203
|
+
Yt = !1;
|
|
1194
1204
|
}
|
|
1195
1205
|
}
|
|
1196
1206
|
}
|
|
1197
|
-
function
|
|
1207
|
+
function Jt(e) {
|
|
1198
1208
|
e ? (Ut = e, Ft = e) : (Ut = Pt.error, Ft = Pt.warn);
|
|
1199
1209
|
}
|
|
1200
|
-
function
|
|
1210
|
+
function qt(e) {
|
|
1201
1211
|
const t = Array.prototype.slice.call(arguments);
|
|
1202
1212
|
let n = "";
|
|
1203
1213
|
if ("string" == typeof e) {
|
|
@@ -1219,36 +1229,36 @@
|
|
|
1219
1229
|
} else n = t.map((e) => "object" == typeof e ? JSON.stringify(e) : String(e)).join(" ");
|
|
1220
1230
|
return n;
|
|
1221
1231
|
}
|
|
1222
|
-
function Jt(e) {
|
|
1223
|
-
let t = Bt(e), n = sr();
|
|
1224
|
-
Ut && (Ut === Pt.error ? Wt && Ut("%c" + n + " ERROR: " + String(t), "color:red") : (Wt && Pt.error("%c" + n + " ERROR: " + String(t), "color:red"), Ut(`${n} ERROR: ${String(t)}`))), xt("error", t, n);
|
|
1225
|
-
}
|
|
1226
|
-
function qt(e) {
|
|
1227
|
-
let t = Bt(e), n = sr();
|
|
1228
|
-
Ft && (Ft === Pt.warn ? Wt && Ft("%c" + n + " WARNING: " + String(t), "color:yellow") : (Wt && Pt.warn("%c" + n + " WARNING: " + String(t), "color:yellow"), Ft(`${n} WARNING: ${String(t)}`))), xt("warning", t, n);
|
|
1229
|
-
}
|
|
1230
1232
|
function Ht(e) {
|
|
1231
|
-
let t =
|
|
1232
|
-
|
|
1233
|
+
let t = qt(e), n = ar();
|
|
1234
|
+
Ut && (Ut === Pt.error ? xt("error", t) && Ut("%c" + n + " ERROR: " + String(t), "color:red") : (xt("error", t) && Pt.error("%c" + n + " ERROR: " + String(t), "color:red"), Ut(`${n} ERROR: ${String(t)}`))), Bt("error", t, n);
|
|
1233
1235
|
}
|
|
1234
1236
|
function zt(e) {
|
|
1235
|
-
let t =
|
|
1236
|
-
|
|
1237
|
+
let t = qt(e), n = ar();
|
|
1238
|
+
Ft && (Ft === Pt.warn ? xt("warning", t) && Ft("%c" + n + " WARNING: " + String(t), "color:yellow") : (xt("warning", t) && Pt.warn("%c" + n + " WARNING: " + String(t), "color:yellow"), Ft(`${n} WARNING: ${String(t)}`))), Bt("warning", t, n);
|
|
1237
1239
|
}
|
|
1238
|
-
function Qt(e
|
|
1239
|
-
|
|
1240
|
+
function Qt(e) {
|
|
1241
|
+
let t = qt(e), n = ar();
|
|
1242
|
+
Vt && xt("debug", t) && Vt("%c" + n + " DEBUG: " + String(t), "color:silver"), Bt("debug", t, n);
|
|
1240
1243
|
}
|
|
1241
1244
|
function Xt(e) {
|
|
1242
|
-
|
|
1245
|
+
let t = qt(e), n = ar();
|
|
1246
|
+
Vt && xt("msg", t) && Vt("%c" + n + " MSG: " + String(t), "color:cyan"), Bt("msg", t, n);
|
|
1243
1247
|
}
|
|
1244
1248
|
function Zt(e, t) {
|
|
1249
|
+
xt("json", t) && (t && window.console.warn("=====> " + t), window.console.dir(e)), Bt("json", e, ar());
|
|
1250
|
+
}
|
|
1251
|
+
function en(e) {
|
|
1252
|
+
return structuredClone(e);
|
|
1253
|
+
}
|
|
1254
|
+
function tn(e, t) {
|
|
1245
1255
|
if (e === t) return !0;
|
|
1246
1256
|
if (null === e || null === t) return e === t;
|
|
1247
1257
|
if (typeof e != typeof t) return !1;
|
|
1248
1258
|
if (Array.isArray(e) !== Array.isArray(t)) return !1;
|
|
1249
1259
|
if (Array.isArray(e)) {
|
|
1250
1260
|
if (e.length !== t.length) return !1;
|
|
1251
|
-
for (let n = 0; n < e.length; n++) if (!
|
|
1261
|
+
for (let n = 0; n < e.length; n++) if (!tn(e[n], t[n])) return !1;
|
|
1252
1262
|
return !0;
|
|
1253
1263
|
}
|
|
1254
1264
|
if ("object" == typeof e) {
|
|
@@ -1256,211 +1266,211 @@
|
|
|
1256
1266
|
if (n.length !== r.length) return !1;
|
|
1257
1267
|
for (let o = 0; o < n.length; o++) {
|
|
1258
1268
|
if (n[o] !== r[o]) return !1;
|
|
1259
|
-
if (!
|
|
1269
|
+
if (!tn(e[n[o]], t[r[o]])) return !1;
|
|
1260
1270
|
}
|
|
1261
1271
|
return !0;
|
|
1262
1272
|
}
|
|
1263
1273
|
return e === t;
|
|
1264
1274
|
}
|
|
1265
|
-
function
|
|
1275
|
+
function nn(e, t) {
|
|
1266
1276
|
if (!t) return e;
|
|
1267
1277
|
for (let n of Object.keys(t)) e[n] = t[n];
|
|
1268
1278
|
return e;
|
|
1269
1279
|
}
|
|
1270
|
-
function
|
|
1280
|
+
function rn(e, t) {
|
|
1271
1281
|
if (!t) return e;
|
|
1272
1282
|
for (let n in t) t.hasOwnProperty(n) && e.hasOwnProperty(n) && (e[n] = t[n]);
|
|
1273
1283
|
return e;
|
|
1274
1284
|
}
|
|
1275
|
-
function
|
|
1285
|
+
function on(e, t) {
|
|
1276
1286
|
if (!t) return e;
|
|
1277
1287
|
for (let n in t) t.hasOwnProperty(n) && !e.hasOwnProperty(n) && (e[n] = t[n]);
|
|
1278
1288
|
return e;
|
|
1279
1289
|
}
|
|
1280
|
-
function
|
|
1290
|
+
function ln(e, t) {
|
|
1281
1291
|
if (e && e.hasOwnProperty(t)) return e[t];
|
|
1282
1292
|
}
|
|
1283
|
-
function
|
|
1293
|
+
function sn(e, t) {
|
|
1284
1294
|
e && e.hasOwnProperty(t) && delete e[t];
|
|
1285
1295
|
}
|
|
1286
|
-
function
|
|
1296
|
+
function _n(e, t, n) {
|
|
1287
1297
|
e[t] = n;
|
|
1288
1298
|
}
|
|
1289
|
-
function
|
|
1299
|
+
function an(e, t, n) {
|
|
1290
1300
|
e[t] = n;
|
|
1291
1301
|
}
|
|
1292
|
-
function
|
|
1302
|
+
function un(e, t) {
|
|
1293
1303
|
e.push(t);
|
|
1294
1304
|
}
|
|
1295
|
-
function
|
|
1305
|
+
function cn(e, t) {
|
|
1296
1306
|
e.push(t);
|
|
1297
1307
|
}
|
|
1298
|
-
function
|
|
1308
|
+
function fn(e, t) {
|
|
1299
1309
|
e.splice(t, 1);
|
|
1300
1310
|
}
|
|
1301
|
-
function cn(e) {
|
|
1302
|
-
return dn(e) ? Object.keys(e).length : 0;
|
|
1303
|
-
}
|
|
1304
|
-
function fn(e) {
|
|
1305
|
-
return bn(e) ? e.length : 0;
|
|
1306
|
-
}
|
|
1307
1311
|
function gn(e) {
|
|
1308
|
-
return
|
|
1312
|
+
return pn(e) ? Object.keys(e).length : 0;
|
|
1309
1313
|
}
|
|
1310
1314
|
function dn(e) {
|
|
1311
|
-
return
|
|
1315
|
+
return mn(e) ? e.length : 0;
|
|
1312
1316
|
}
|
|
1313
1317
|
function bn(e) {
|
|
1314
|
-
return
|
|
1318
|
+
return pn(e) ? Object.keys(e).length : mn(e) ? e.length : En(e) && e.length > 0 ? 1 : 0;
|
|
1315
1319
|
}
|
|
1316
1320
|
function pn(e) {
|
|
1317
|
-
return "
|
|
1321
|
+
return null !== e && "object" == typeof e && !Array.isArray(e);
|
|
1318
1322
|
}
|
|
1319
1323
|
function mn(e) {
|
|
1320
|
-
return
|
|
1324
|
+
return Array.isArray(e);
|
|
1321
1325
|
}
|
|
1322
1326
|
function En(e) {
|
|
1323
|
-
return "
|
|
1327
|
+
return "string" == typeof e;
|
|
1324
1328
|
}
|
|
1325
1329
|
function Tn(e) {
|
|
1326
|
-
return
|
|
1330
|
+
return "number" == typeof e && Number.isFinite(e);
|
|
1327
1331
|
}
|
|
1328
1332
|
function hn(e) {
|
|
1329
|
-
return "
|
|
1333
|
+
return "boolean" == typeof e;
|
|
1330
1334
|
}
|
|
1331
1335
|
function yn(e) {
|
|
1332
|
-
return
|
|
1336
|
+
return null == e;
|
|
1333
1337
|
}
|
|
1334
1338
|
function vn(e) {
|
|
1335
|
-
return
|
|
1339
|
+
return "function" == typeof e;
|
|
1336
1340
|
}
|
|
1337
1341
|
function jn(e) {
|
|
1338
|
-
return
|
|
1342
|
+
return e instanceof O;
|
|
1343
|
+
}
|
|
1344
|
+
function Sn(e) {
|
|
1345
|
+
return !En(e) || 0 === e.length;
|
|
1339
1346
|
}
|
|
1340
|
-
function
|
|
1347
|
+
function On(e) {
|
|
1348
|
+
return Tn(e) ? Boolean(e) : /^\s*(true|1|on)\s*$/i.test(e);
|
|
1349
|
+
}
|
|
1350
|
+
function Nn(e, t) {
|
|
1341
1351
|
return e === t ? 0 : e > t ? 1 : -1;
|
|
1342
1352
|
}
|
|
1343
|
-
function
|
|
1353
|
+
function Rn(e, t) {
|
|
1344
1354
|
let n = e.toLowerCase(), r = t.toLowerCase();
|
|
1345
1355
|
return n === r ? 0 : n > r ? 1 : -1;
|
|
1346
1356
|
}
|
|
1347
|
-
function
|
|
1348
|
-
if (
|
|
1349
|
-
if (
|
|
1357
|
+
function wn(e, t) {
|
|
1358
|
+
if (pn(e) || pn(t) || mn(e) || mn(t)) return 0;
|
|
1359
|
+
if (Tn(e) || Tn(t)) {
|
|
1350
1360
|
let n = Number(e), r = Number(t);
|
|
1351
1361
|
return n > r ? 1 : n < r ? -1 : 0;
|
|
1352
1362
|
}
|
|
1353
|
-
if (
|
|
1363
|
+
if (hn(e) || hn(t)) {
|
|
1354
1364
|
let n = Number(e), r = Number(t);
|
|
1355
1365
|
return n > r ? 1 : n < r ? -1 : 0;
|
|
1356
1366
|
}
|
|
1357
|
-
return
|
|
1367
|
+
return Nn(String(e), String(t));
|
|
1358
1368
|
}
|
|
1359
|
-
function
|
|
1360
|
-
if ("object" != typeof t || Array.isArray(t)) if (Array.isArray(t)) for (const n of t)
|
|
1369
|
+
function Dn(e, t) {
|
|
1370
|
+
if ("object" != typeof t || Array.isArray(t)) if (Array.isArray(t)) for (const n of t) Dn(e, n);
|
|
1361
1371
|
else "string" == typeof t && delete e[t];
|
|
1362
1372
|
else for (const n of Object.keys(t)) delete e[n];
|
|
1363
1373
|
}
|
|
1364
|
-
function
|
|
1374
|
+
function An(e, t) {
|
|
1365
1375
|
return !(!(t in e) || !e.hasOwnProperty(t));
|
|
1366
1376
|
}
|
|
1367
|
-
function
|
|
1368
|
-
if (e && !
|
|
1369
|
-
if (!
|
|
1377
|
+
function kn(e, t, n, r) {
|
|
1378
|
+
if (e && !jn(e) && Ht("GObj bad instanceof"), !pn(t) && !mn(t)) return Ht(`${Ve(e)}: kw must be list or dict`), 0;
|
|
1379
|
+
if (!En(n)) return Ht(`${Ve(e)}: path must be a string: ${String(n)}`), 0;
|
|
1370
1380
|
let o = n.split("`");
|
|
1371
1381
|
if (o.length <= 1) return t[n];
|
|
1372
1382
|
let i = o.length;
|
|
1373
|
-
for (let l = 0; l < i; l++) if (void 0 === (t = t[o[l]])) return void (r &&
|
|
1383
|
+
for (let l = 0; l < i; l++) if (void 0 === (t = t[o[l]])) return void (r && Ht(`${Ve(e)}: path not found: ${String(n)}`));
|
|
1374
1384
|
return t;
|
|
1375
1385
|
}
|
|
1376
|
-
function
|
|
1377
|
-
e && !
|
|
1386
|
+
function In(e, t, n) {
|
|
1387
|
+
e && !jn(e) && Ht("GObj bad instanceof");
|
|
1378
1388
|
let [r, o] = function(e, t) {
|
|
1379
1389
|
let n = e.lastIndexOf(t);
|
|
1380
1390
|
return -1 === n ? [e, ""] : [e.substring(0, n), e.substring(n + 1)];
|
|
1381
1391
|
}(n, "`");
|
|
1382
|
-
return
|
|
1392
|
+
return Sn(o) ? sn(t, n) : sn(kn(e, t, r, !0), o), 0;
|
|
1383
1393
|
}
|
|
1384
|
-
function
|
|
1385
|
-
e && !
|
|
1386
|
-
let i =
|
|
1394
|
+
function $n(e, t, n, r, o) {
|
|
1395
|
+
e && !jn(e) && Ht("GObj bad instanceof");
|
|
1396
|
+
let i = kn(e, t, n, !1);
|
|
1387
1397
|
const l = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
|
|
1388
1398
|
if (void 0 === i) {
|
|
1389
1399
|
if (s) {
|
|
1390
1400
|
let o = Boolean(r);
|
|
1391
|
-
return
|
|
1401
|
+
return Gn(e, t, n, o), o;
|
|
1392
1402
|
}
|
|
1393
|
-
return l && (
|
|
1403
|
+
return l && (Ht(`path not found: '${n}'`), Zt(t)), Boolean(r);
|
|
1394
1404
|
}
|
|
1395
|
-
return _ &&
|
|
1405
|
+
return _ && In(e, t, n), Boolean(i);
|
|
1396
1406
|
}
|
|
1397
|
-
function
|
|
1398
|
-
e && !
|
|
1399
|
-
let i =
|
|
1407
|
+
function Cn(e, t, n, r, o) {
|
|
1408
|
+
e && !jn(e) && Ht("GObj bad instanceof");
|
|
1409
|
+
let i = kn(e, t, n, !1);
|
|
1400
1410
|
const l = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
|
|
1401
1411
|
if (void 0 === i) {
|
|
1402
1412
|
if (s) {
|
|
1403
1413
|
let o = parseInt(r);
|
|
1404
|
-
return
|
|
1414
|
+
return Gn(e, t, n, o), o;
|
|
1405
1415
|
}
|
|
1406
|
-
return l && (
|
|
1416
|
+
return l && (Ht(`path not found: '${n}'`), Zt(t)), parseInt(r);
|
|
1407
1417
|
}
|
|
1408
|
-
return _ &&
|
|
1418
|
+
return _ && In(e, t, n), Tn(i) ? parseInt(i) : (l && (Ht(`path value MUST BE a number: ${n}`), Xt(t)), parseInt(r));
|
|
1409
1419
|
}
|
|
1410
|
-
function
|
|
1411
|
-
e && !
|
|
1412
|
-
let i =
|
|
1420
|
+
function Ln(e, t, n, r, o) {
|
|
1421
|
+
e && !jn(e) && Ht("GObj bad instanceof");
|
|
1422
|
+
let i = kn(e, t, n, !1);
|
|
1413
1423
|
const l = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
|
|
1414
1424
|
if (void 0 === i) {
|
|
1415
1425
|
if (s) {
|
|
1416
1426
|
let o = String(r);
|
|
1417
|
-
return
|
|
1427
|
+
return Gn(e, t, n, o), o;
|
|
1418
1428
|
}
|
|
1419
|
-
return l && (
|
|
1429
|
+
return l && (Ht(`path not found: '${n}'`), Zt(t)), String(r);
|
|
1420
1430
|
}
|
|
1421
|
-
return _ &&
|
|
1431
|
+
return _ && In(e, t, n), En(i) ? String(i) : (l && (Ht(`${Ve(e)}: path value MUST BE a string: ${n}`), Xt(t)), String(r));
|
|
1422
1432
|
}
|
|
1423
|
-
function
|
|
1424
|
-
e && !
|
|
1425
|
-
let i =
|
|
1433
|
+
function Pn(e, t, n, r, o) {
|
|
1434
|
+
e && !jn(e) && Ht("GObj bad instanceof");
|
|
1435
|
+
let i = kn(e, t, n, !1);
|
|
1426
1436
|
const l = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
|
|
1427
1437
|
if (void 0 === i) {
|
|
1428
1438
|
if (s) {
|
|
1429
1439
|
let o = r;
|
|
1430
|
-
return
|
|
1440
|
+
return Gn(e, t, n, o), o;
|
|
1431
1441
|
}
|
|
1432
|
-
return l && (
|
|
1442
|
+
return l && (Ht(`path not found: '${n}'`), Zt(t)), r;
|
|
1433
1443
|
}
|
|
1434
|
-
return _ &&
|
|
1444
|
+
return _ && In(e, t, n), i;
|
|
1435
1445
|
}
|
|
1436
|
-
function
|
|
1437
|
-
e && !
|
|
1438
|
-
let i =
|
|
1446
|
+
function Un(e, t, n, r, o) {
|
|
1447
|
+
e && !jn(e) && Ht("GObj bad instanceof");
|
|
1448
|
+
let i = kn(e, t, n, !1);
|
|
1439
1449
|
const l = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
|
|
1440
1450
|
if (void 0 === i) {
|
|
1441
1451
|
if (s) {
|
|
1442
1452
|
let o = Object(r);
|
|
1443
|
-
return
|
|
1453
|
+
return Gn(e, t, n, o), o;
|
|
1444
1454
|
}
|
|
1445
|
-
return l && (
|
|
1455
|
+
return l && (Ht(`path not found: '${n}'`), Zt(t)), Object(r);
|
|
1446
1456
|
}
|
|
1447
|
-
return _ &&
|
|
1457
|
+
return _ && In(e, t, n), pn(i) ? Object(i) : (l && (Ht(`path value MUST BE a dict: ${n}`), Xt(t)), Object(r));
|
|
1448
1458
|
}
|
|
1449
|
-
function
|
|
1450
|
-
e && !
|
|
1451
|
-
let i =
|
|
1459
|
+
function Fn(e, t, n, r, o) {
|
|
1460
|
+
e && !jn(e) && Ht("GObj bad instanceof");
|
|
1461
|
+
let i = kn(e, t, n, !1);
|
|
1452
1462
|
const l = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
|
|
1453
1463
|
if (void 0 === i) {
|
|
1454
1464
|
if (s) {
|
|
1455
1465
|
let o = r;
|
|
1456
|
-
return
|
|
1466
|
+
return Gn(e, t, n, o), o;
|
|
1457
1467
|
}
|
|
1458
|
-
return l && (
|
|
1468
|
+
return l && (Ht(`path not found: '${n}'`), Zt(t)), r;
|
|
1459
1469
|
}
|
|
1460
|
-
return _ &&
|
|
1470
|
+
return _ && In(e, t, n), i;
|
|
1461
1471
|
}
|
|
1462
|
-
function
|
|
1463
|
-
if (e && !
|
|
1472
|
+
function Gn(e, t, n, r) {
|
|
1473
|
+
if (e && !jn(e) && Ht("GObj bad instanceof"), !pn(t)) return Ht("kw is not an object"), -1;
|
|
1464
1474
|
let o = n.split("`");
|
|
1465
1475
|
if (o.length <= 1) return t[n] = r, 0;
|
|
1466
1476
|
let i = o.length;
|
|
@@ -1470,34 +1480,34 @@
|
|
|
1470
1480
|
}
|
|
1471
1481
|
return 0;
|
|
1472
1482
|
}
|
|
1473
|
-
function
|
|
1474
|
-
if (e && !
|
|
1475
|
-
let i =
|
|
1476
|
-
return
|
|
1483
|
+
function Vn(e, t, n, r, o) {
|
|
1484
|
+
if (e && !jn(e) && Ht("GObj bad instanceof"), !pn(t)) return Ht("kw is not an object"), -1;
|
|
1485
|
+
let i = Un(e, t, n, {}, !0);
|
|
1486
|
+
return pn(i) ? (i[r] = o, 0) : (Ht("subdict is not an object"), -1);
|
|
1477
1487
|
}
|
|
1478
|
-
function
|
|
1488
|
+
function Mn(e, t, r) {
|
|
1479
1489
|
let o = "", i = !1;
|
|
1480
|
-
if (
|
|
1490
|
+
if (mn(t)) {
|
|
1481
1491
|
i = !1;
|
|
1482
1492
|
for (let l = 0; l < t.length; l++) {
|
|
1483
1493
|
let s = t[l];
|
|
1484
|
-
if (o =
|
|
1494
|
+
if (o = Sn(r) ? n("%s", r) : n("%s`%d", r, l), i = Mn(e, s, o), i) break;
|
|
1485
1495
|
}
|
|
1486
|
-
} else if (
|
|
1496
|
+
} else if (pn(t)) {
|
|
1487
1497
|
i = !0;
|
|
1488
1498
|
let l = Object.keys(t);
|
|
1489
1499
|
for (let s = 0; s < l.length; s++) {
|
|
1490
1500
|
let _ = l[s], a = t[_];
|
|
1491
|
-
if (o =
|
|
1492
|
-
if (i =
|
|
1501
|
+
if (o = Sn(r) ? n("%s", _) : n("%s`%s", r, _), mn(a) || pn(a)) {
|
|
1502
|
+
if (i = Mn(e, a, o), !i) break;
|
|
1493
1503
|
continue;
|
|
1494
1504
|
}
|
|
1495
|
-
let u =
|
|
1496
|
-
if (u || (u =
|
|
1505
|
+
let u = Fn(0, e, o, 0, 0);
|
|
1506
|
+
if (u || (u = ln(e, o)), !u) {
|
|
1497
1507
|
i = !1;
|
|
1498
1508
|
break;
|
|
1499
1509
|
}
|
|
1500
|
-
if (0 !==
|
|
1510
|
+
if (0 !== wn(u, a)) {
|
|
1501
1511
|
i = !1;
|
|
1502
1512
|
break;
|
|
1503
1513
|
}
|
|
@@ -1505,58 +1515,58 @@
|
|
|
1505
1515
|
}
|
|
1506
1516
|
return i;
|
|
1507
1517
|
}
|
|
1508
|
-
function
|
|
1509
|
-
return 0 ===
|
|
1518
|
+
function Wn(e, t) {
|
|
1519
|
+
return 0 === bn(t) || Mn(e, t, "");
|
|
1510
1520
|
}
|
|
1511
|
-
function
|
|
1512
|
-
e && !
|
|
1521
|
+
function Kn(e, t, n, r) {
|
|
1522
|
+
e && !jn(e) && Ht("GObj bad instanceof");
|
|
1513
1523
|
let o = {};
|
|
1514
|
-
if (
|
|
1524
|
+
if (En(n) && !Sn(n)) {
|
|
1515
1525
|
let i = n;
|
|
1516
|
-
t.hasOwnProperty(i) ? o[i] = t[i] : r &&
|
|
1517
|
-
} else if (
|
|
1526
|
+
t.hasOwnProperty(i) ? o[i] = t[i] : r && Ht(`${Ve(e)}: key not found: ${i}`);
|
|
1527
|
+
} else if (pn(n) && gn(n) > 0) for (let i of Object.keys(n)) t.hasOwnProperty(i) ? o[i] = t[i] : r && Ht(`${Ve(e)}: key not found: ${i}`);
|
|
1518
1528
|
else {
|
|
1519
|
-
if (!(
|
|
1529
|
+
if (!(mn(n) && dn(n) > 0)) return t;
|
|
1520
1530
|
for (let i = 0; i < n.length; i++) {
|
|
1521
1531
|
let l = n[i];
|
|
1522
|
-
t.hasOwnProperty(l) ? o[l] = t[l] : r &&
|
|
1532
|
+
t.hasOwnProperty(l) ? o[l] = t[l] : r && Ht(`${Ve(e)}: key not found: ${l}`);
|
|
1523
1533
|
}
|
|
1524
1534
|
}
|
|
1525
1535
|
return o;
|
|
1526
1536
|
}
|
|
1527
|
-
function
|
|
1537
|
+
function xn(e, t, n, r) {
|
|
1528
1538
|
let o = {};
|
|
1529
|
-
if (
|
|
1539
|
+
if (nn(o, t), En(n) && !Sn(n)) {
|
|
1530
1540
|
let i = n;
|
|
1531
|
-
|
|
1532
|
-
} else if (
|
|
1541
|
+
Fn(e, t, i, 0, 0) ? sn(o, i) : r && Ht(`${Ve(e)}: key not found: ${i}`);
|
|
1542
|
+
} else if (pn(n) && gn(n) > 0) for (let i of Object.keys(n)) t.hasOwnProperty(i) ? sn(o, i) : r && Ht(`${Ve(e)}: key not found: ${i}`);
|
|
1533
1543
|
else {
|
|
1534
|
-
if (!(
|
|
1544
|
+
if (!(mn(n) && dn(n) > 0)) return {};
|
|
1535
1545
|
for (let i = 0; i < n.length; i++) {
|
|
1536
1546
|
let l = n[i];
|
|
1537
|
-
t.hasOwnProperty(l) ?
|
|
1547
|
+
t.hasOwnProperty(l) ? sn(o, l) : r && Ht(`${Ve(e)}: key not found: ${l}`);
|
|
1538
1548
|
}
|
|
1539
1549
|
}
|
|
1540
1550
|
return o;
|
|
1541
1551
|
}
|
|
1542
|
-
function
|
|
1552
|
+
function Yn(e, t, n = !1) {
|
|
1543
1553
|
if ("undefined" != typeof window && window.localStorage) try {
|
|
1544
1554
|
let r = window.localStorage.getItem(e);
|
|
1545
|
-
return null === r ? (n &&
|
|
1555
|
+
return null === r ? (n && Bn(e, t), t) : JSON.parse(r);
|
|
1546
1556
|
} catch (n) {
|
|
1547
1557
|
return window.console.warn(`Error reading localStorage key "${e}":`, n), t;
|
|
1548
1558
|
}
|
|
1549
1559
|
}
|
|
1550
|
-
function
|
|
1560
|
+
function Bn(e, t) {
|
|
1551
1561
|
if ("undefined" == typeof window || !window.localStorage) return 0;
|
|
1552
|
-
if (!e || void 0 === t) return
|
|
1562
|
+
if (!e || void 0 === t) return Ht(`kw_set_local_storage_value(): invalid key or value: key=${e}`), -1;
|
|
1553
1563
|
try {
|
|
1554
1564
|
return window.localStorage.setItem(e, JSON.stringify(t)), 0;
|
|
1555
1565
|
} catch (t) {
|
|
1556
|
-
return
|
|
1566
|
+
return Ht(`kw_set_local_storage_value(): cannot save "${e}" (storage full or blocked?): ${t && t.message ? t.message : t}`), -1;
|
|
1557
1567
|
}
|
|
1558
1568
|
}
|
|
1559
|
-
function
|
|
1569
|
+
function Jn(e) {
|
|
1560
1570
|
if ("undefined" != typeof window && window.localStorage) if (e) try {
|
|
1561
1571
|
window.localStorage.removeItem(e);
|
|
1562
1572
|
} catch (t) {
|
|
@@ -1564,46 +1574,46 @@
|
|
|
1564
1574
|
}
|
|
1565
1575
|
else window.console.warn(`Invalid key for localStorage removal: ${e}`);
|
|
1566
1576
|
}
|
|
1567
|
-
function
|
|
1568
|
-
if (
|
|
1569
|
-
if (
|
|
1577
|
+
function qn(e, t) {
|
|
1578
|
+
if (yn(e) || yn(t)) return !0;
|
|
1579
|
+
if (mn(e)) {
|
|
1570
1580
|
if (0 === e.length) return !0;
|
|
1571
1581
|
for (let n = 0; n < e.length; n++) if (e[n] === t) return !0;
|
|
1572
|
-
} else if (
|
|
1582
|
+
} else if (pn(e)) {
|
|
1573
1583
|
if (0 === Object.keys(e).length) return !0;
|
|
1574
1584
|
for (let n in e) if (n === t) return !0;
|
|
1575
|
-
} else if (
|
|
1585
|
+
} else if (En(e) && e === t) return !0;
|
|
1576
1586
|
return !1;
|
|
1577
1587
|
}
|
|
1578
|
-
function
|
|
1579
|
-
if (e && !
|
|
1580
|
-
o || (o =
|
|
1588
|
+
function Hn(e, t, n, r, o) {
|
|
1589
|
+
if (e && !jn(e) && Ht("GObj bad instanceof"), !t) return null;
|
|
1590
|
+
o || (o = Wn);
|
|
1581
1591
|
let i = [];
|
|
1582
|
-
if (
|
|
1592
|
+
if (mn(t)) for (let l = 0; l < t.length; l++) {
|
|
1583
1593
|
let s, _ = t[l];
|
|
1584
|
-
if (
|
|
1594
|
+
if (pn(_)) s = Ln(e, _, "id", "", 0);
|
|
1585
1595
|
else {
|
|
1586
|
-
if (!
|
|
1596
|
+
if (!En(_)) continue;
|
|
1587
1597
|
s = _;
|
|
1588
1598
|
}
|
|
1589
|
-
|
|
1599
|
+
qn(n, s) && o(_, r) && i.push(_);
|
|
1590
1600
|
}
|
|
1591
1601
|
else {
|
|
1592
|
-
if (!
|
|
1602
|
+
if (!pn(t)) return Ht("kw_collect() BAD kw parameter"), null;
|
|
1593
1603
|
for (let e of Object.keys(t)) {
|
|
1594
1604
|
let l = t[e];
|
|
1595
|
-
|
|
1605
|
+
qn(n, e) && o(l, r) && i.push(l);
|
|
1596
1606
|
}
|
|
1597
1607
|
}
|
|
1598
1608
|
return i;
|
|
1599
1609
|
}
|
|
1600
|
-
function
|
|
1610
|
+
function zn(e, t) {
|
|
1601
1611
|
if (!e) return -1;
|
|
1602
1612
|
for (let n = 0; n < e.length; n++) if (e[n] && e[n].id === t) return n;
|
|
1603
1613
|
return -1;
|
|
1604
1614
|
}
|
|
1605
|
-
function
|
|
1606
|
-
if (!e || !t) return
|
|
1615
|
+
function Qn(e, t, n) {
|
|
1616
|
+
if (!e || !t) return Ht("ERROR: str_in_list() list or str empty"), !1;
|
|
1607
1617
|
let r = e.length;
|
|
1608
1618
|
if (n) {
|
|
1609
1619
|
t = t.toLowerCase();
|
|
@@ -1614,7 +1624,7 @@
|
|
|
1614
1624
|
} else for (let n = 0; n < r; n++) if (e[n] === t) return !0;
|
|
1615
1625
|
return !1;
|
|
1616
1626
|
}
|
|
1617
|
-
function
|
|
1627
|
+
function Xn(e, t) {
|
|
1618
1628
|
try {
|
|
1619
1629
|
let n = e.__md_iev__;
|
|
1620
1630
|
if (n) return n[t];
|
|
@@ -1622,35 +1632,35 @@
|
|
|
1622
1632
|
return;
|
|
1623
1633
|
}
|
|
1624
1634
|
}
|
|
1625
|
-
function
|
|
1635
|
+
function Zn(e, t, n) {
|
|
1626
1636
|
let r = e.__md_iev__;
|
|
1627
1637
|
r || (r = {}, e.__md_iev__ = r), r[t] = n;
|
|
1628
1638
|
}
|
|
1629
|
-
function
|
|
1630
|
-
if (!
|
|
1639
|
+
function er(e, t, n, r) {
|
|
1640
|
+
if (!jn(e)) return Ht("gobj is not a GObj"), null;
|
|
1631
1641
|
if (!t) return;
|
|
1632
|
-
let o =
|
|
1633
|
-
o || (o = [],
|
|
1642
|
+
let o = Xn(t, n);
|
|
1643
|
+
o || (o = [], Zn(t, n, o));
|
|
1634
1644
|
try {
|
|
1635
|
-
|
|
1645
|
+
mn(o) && o.unshift(r);
|
|
1636
1646
|
} catch (e) {
|
|
1637
|
-
|
|
1647
|
+
Ht(e);
|
|
1638
1648
|
}
|
|
1639
1649
|
}
|
|
1640
|
-
function
|
|
1641
|
-
if (!
|
|
1642
|
-
if (!
|
|
1643
|
-
let o =
|
|
1644
|
-
return o ? 0 === o.length ? (r &&
|
|
1650
|
+
function tr(e, t, n, r) {
|
|
1651
|
+
if (!jn(e)) return Ht("gobj is not a GObj"), null;
|
|
1652
|
+
if (!pn(t)) return Ht("kw is not a dict"), null;
|
|
1653
|
+
let o = Xn(t, n);
|
|
1654
|
+
return o ? 0 === o.length ? (r && Ht(`stack empty: ${n}`), null) : o[0] : (r && Ht(`stack NOT FOUND: ${n}`), null);
|
|
1645
1655
|
}
|
|
1646
|
-
function
|
|
1647
|
-
return
|
|
1656
|
+
function nr(e, t, n) {
|
|
1657
|
+
return Sn(n) ? In(e, t, "__md_iev__`__msg_type__") : Vn(e, t, "__md_iev__", "__msg_type__", n), 0;
|
|
1648
1658
|
}
|
|
1649
|
-
function
|
|
1650
|
-
return
|
|
1659
|
+
function rr(e, t) {
|
|
1660
|
+
return Ln(e, t, "__md_iev__`__msg_type__", "", 0);
|
|
1651
1661
|
}
|
|
1652
|
-
function
|
|
1653
|
-
void 0 !== n &&
|
|
1662
|
+
function or(e, t, n) {
|
|
1663
|
+
void 0 !== n && En(n) || (n = "");
|
|
1654
1664
|
for (let r of Object.keys(e)) {
|
|
1655
1665
|
if (!e.hasOwnProperty(r)) continue;
|
|
1656
1666
|
let o = (n.length ? "`" : "") + r;
|
|
@@ -1659,10 +1669,10 @@
|
|
|
1659
1669
|
r,
|
|
1660
1670
|
e[r],
|
|
1661
1671
|
n
|
|
1662
|
-
]),
|
|
1672
|
+
]), pn(e[r]) && or(e[r], t, n), n = n.slice(0, -o.length);
|
|
1663
1673
|
}
|
|
1664
1674
|
}
|
|
1665
|
-
function
|
|
1675
|
+
function ir(e, t, n, r) {
|
|
1666
1676
|
if (!e) return null;
|
|
1667
1677
|
let o, i = e.length;
|
|
1668
1678
|
for (o = 0; o < i; o++) {
|
|
@@ -1670,15 +1680,15 @@
|
|
|
1670
1680
|
if (i) {
|
|
1671
1681
|
let e = i.id;
|
|
1672
1682
|
if (e && e === n) return i;
|
|
1673
|
-
if (r &&
|
|
1674
|
-
let e =
|
|
1683
|
+
if (r && An(i, t)) {
|
|
1684
|
+
let e = ir(i[t], t, n, r);
|
|
1675
1685
|
if (e) return e;
|
|
1676
1686
|
}
|
|
1677
1687
|
}
|
|
1678
1688
|
}
|
|
1679
1689
|
return null;
|
|
1680
1690
|
}
|
|
1681
|
-
function
|
|
1691
|
+
function lr(e) {
|
|
1682
1692
|
function t(e) {
|
|
1683
1693
|
let t = e.replace(/-/g, "+").replace(/_/g, "/");
|
|
1684
1694
|
switch (t.length % 4) {
|
|
@@ -1709,38 +1719,38 @@
|
|
|
1709
1719
|
signature: t(n[2])
|
|
1710
1720
|
};
|
|
1711
1721
|
}
|
|
1712
|
-
function
|
|
1722
|
+
function sr(e) {
|
|
1713
1723
|
return null == e ? "" : String(e).replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
|
1714
1724
|
}
|
|
1715
|
-
function
|
|
1725
|
+
function _r(e) {
|
|
1716
1726
|
const t = document.createElement("template");
|
|
1717
1727
|
return t.innerHTML = e.trim(), t.content.firstChild;
|
|
1718
1728
|
}
|
|
1719
|
-
function
|
|
1729
|
+
function ar() {
|
|
1720
1730
|
const e = /* @__PURE__ */ new Date(), t = e.toISOString().slice(0, 19), n = String(e.getMilliseconds()).padStart(3, "0"), r = e.getTimezoneOffset();
|
|
1721
1731
|
return `${t}.${n}${r > 0 ? "-" : "+"}${String(Math.abs(r) / 60).padStart(2, "0")}${String(Math.abs(r) % 60).padStart(2, "0")}`;
|
|
1722
1732
|
}
|
|
1723
|
-
function
|
|
1733
|
+
function ur(e, t) {
|
|
1724
1734
|
if (!e) throw "ERROR: index_in_list() list empty";
|
|
1725
1735
|
for (let n = 0; n < e.length; n++) if (t === e[n]) return n;
|
|
1726
1736
|
return -1;
|
|
1727
1737
|
}
|
|
1728
|
-
function
|
|
1738
|
+
function cr() {
|
|
1729
1739
|
let e = "";
|
|
1730
1740
|
return "undefined" != typeof window && window.localStorage ? (e = window.localStorage.getItem("host_uuid"), !e && window.crypto?.randomUUID && (e = window.crypto.randomUUID(), window.localStorage.setItem("host_uuid", e))) : e = "undefined" != typeof globalThis && globalThis.crypto?.randomUUID ? globalThis.crypto.randomUUID() : "00000000-0000-0000-0000-000000000000", e;
|
|
1731
1741
|
}
|
|
1732
|
-
function
|
|
1742
|
+
function fr(e) {
|
|
1733
1743
|
let t = null;
|
|
1734
1744
|
return "function" != typeof e && "object" != typeof e || (t = ("" + e).match(/function\s*([\w\$]*)\s*\(/)), null !== t ? t[1] + "()" : "";
|
|
1735
1745
|
}
|
|
1736
|
-
function
|
|
1746
|
+
function gr(e) {
|
|
1737
1747
|
return "persistent-attrs-" + Ve(e);
|
|
1738
1748
|
}
|
|
1739
|
-
function
|
|
1740
|
-
if (
|
|
1749
|
+
function dr(e, t) {
|
|
1750
|
+
if (En(t)) {
|
|
1741
1751
|
if (-1 === t.indexOf("^")) {
|
|
1742
1752
|
let n, r, o = e.fkey;
|
|
1743
|
-
if (1 !==
|
|
1753
|
+
if (1 !== gn(o)) return Ht("bad fkey 1"), Ht(e), Ht(t), null;
|
|
1744
1754
|
for (const e of Object.keys(o)) {
|
|
1745
1755
|
n = e, r = o[e];
|
|
1746
1756
|
break;
|
|
@@ -1753,20 +1763,20 @@
|
|
|
1753
1763
|
}
|
|
1754
1764
|
{
|
|
1755
1765
|
let n = t.split("^");
|
|
1756
|
-
return 3 !== n.length ? (
|
|
1766
|
+
return 3 !== n.length ? (Ht("bad fkey 2"), Ht(e), Ht(t), null) : {
|
|
1757
1767
|
topic_name: n[0],
|
|
1758
1768
|
id: n[1],
|
|
1759
1769
|
hook_name: n[2]
|
|
1760
1770
|
};
|
|
1761
1771
|
}
|
|
1762
1772
|
}
|
|
1763
|
-
return
|
|
1773
|
+
return pn(t) ? {
|
|
1764
1774
|
topic_name: t.topic_name,
|
|
1765
1775
|
id: t.id,
|
|
1766
1776
|
hook_name: t.hook_name
|
|
1767
|
-
} : (
|
|
1777
|
+
} : (Ht("bad fkey 3"), Ht(e), Ht(t), null);
|
|
1768
1778
|
}
|
|
1769
|
-
var
|
|
1779
|
+
var br = [
|
|
1770
1780
|
"string",
|
|
1771
1781
|
"integer",
|
|
1772
1782
|
"object",
|
|
@@ -1776,7 +1786,7 @@
|
|
|
1776
1786
|
"real",
|
|
1777
1787
|
"boolean",
|
|
1778
1788
|
"blob"
|
|
1779
|
-
],
|
|
1789
|
+
], pr = [
|
|
1780
1790
|
"persistent",
|
|
1781
1791
|
"required",
|
|
1782
1792
|
"notnull",
|
|
@@ -1788,7 +1798,7 @@
|
|
|
1788
1798
|
"stats",
|
|
1789
1799
|
"rstats",
|
|
1790
1800
|
"pstats"
|
|
1791
|
-
],
|
|
1801
|
+
], mr = [
|
|
1792
1802
|
"hook",
|
|
1793
1803
|
"fkey",
|
|
1794
1804
|
"enum",
|
|
@@ -1815,7 +1825,7 @@
|
|
|
1815
1825
|
"coordinates",
|
|
1816
1826
|
"gbuffer"
|
|
1817
1827
|
];
|
|
1818
|
-
function
|
|
1828
|
+
function Er(e) {
|
|
1819
1829
|
let t = {
|
|
1820
1830
|
name: e.id,
|
|
1821
1831
|
header: e.header,
|
|
@@ -1833,7 +1843,7 @@
|
|
|
1833
1843
|
if (!e.flag) return t;
|
|
1834
1844
|
for (let n = 0; n < e.flag.length; n++) {
|
|
1835
1845
|
let r = e.flag[n];
|
|
1836
|
-
if (
|
|
1846
|
+
if (Qn(mr, r)) {
|
|
1837
1847
|
switch (r) {
|
|
1838
1848
|
case "enum":
|
|
1839
1849
|
t.enum_list = e.enum;
|
|
@@ -1844,7 +1854,7 @@
|
|
|
1844
1854
|
case "table": t.enum_list = e.table;
|
|
1845
1855
|
}
|
|
1846
1856
|
t.type = r;
|
|
1847
|
-
} else if (
|
|
1857
|
+
} else if (Qn(pr, r)) switch (r) {
|
|
1848
1858
|
case "writable":
|
|
1849
1859
|
t.is_writable = !0;
|
|
1850
1860
|
break;
|
|
@@ -1857,23 +1867,23 @@
|
|
|
1857
1867
|
}
|
|
1858
1868
|
return t;
|
|
1859
1869
|
}
|
|
1860
|
-
var
|
|
1870
|
+
var Tr = [
|
|
1861
1871
|
j(T.DTP_POINTER, "subscriber", 0, null, "Subscriber of output events"),
|
|
1862
1872
|
j(T.DTP_BOOLEAN, "periodic", 0, 0, "True for periodic timeouts"),
|
|
1863
1873
|
j(T.DTP_INTEGER, "msec", 0, 0, "Timeout in milliseconds"),
|
|
1864
1874
|
v()
|
|
1865
|
-
],
|
|
1875
|
+
], hr = {
|
|
1866
1876
|
periodic: !1,
|
|
1867
1877
|
msec: 0,
|
|
1868
1878
|
timer_id: -1
|
|
1869
|
-
},
|
|
1870
|
-
function
|
|
1879
|
+
}, yr = null;
|
|
1880
|
+
function vr(e, t, n, r) {
|
|
1871
1881
|
let o = e.priv, i = o.periodic ? "EV_TIMEOUT_PERIODIC" : "EV_TIMEOUT";
|
|
1872
1882
|
return o.periodic && o.msec > 0 ? o.timer_id = setTimeout(function() {
|
|
1873
1883
|
jt(e, "EV_TIMEOUT", {}, e);
|
|
1874
1884
|
}, o.msec) : o.timer_id = -1, xe(e) ? jt(We(e), i, {}, e) : Ct(e, i, {}), o.periodic || -1 !== o.timer_id || Ae(e) && Oe(e), 0;
|
|
1875
1885
|
}
|
|
1876
|
-
var
|
|
1886
|
+
var jr = {
|
|
1877
1887
|
mt_create: function(e) {
|
|
1878
1888
|
let t = e.priv;
|
|
1879
1889
|
const n = ut(e, "subscriber");
|
|
@@ -1898,16 +1908,16 @@
|
|
|
1898
1908
|
},
|
|
1899
1909
|
mt_destroy: function(e) {}
|
|
1900
1910
|
};
|
|
1901
|
-
function
|
|
1902
|
-
return e instanceof O ? "C_TIMER" !== Ge(e) ? (
|
|
1911
|
+
function Sr(e, t) {
|
|
1912
|
+
return e instanceof O ? "C_TIMER" !== Ge(e) ? (Ht("not C_TIMER GObj"), -1) : (ft(e, "periodic", !1), void gt(e, "msec", t)) : (Ht("not GObj TYPE"), -1);
|
|
1903
1913
|
}
|
|
1904
|
-
function
|
|
1905
|
-
return e instanceof O ? "C_TIMER" !== Ge(e) ? (
|
|
1914
|
+
function Or(e, t) {
|
|
1915
|
+
return e instanceof O ? "C_TIMER" !== Ge(e) ? (Ht("not C_TIMER GObj"), -1) : (ft(e, "periodic", !0), void gt(e, "msec", t)) : (Ht("not GObj TYPE"), -1);
|
|
1906
1916
|
}
|
|
1907
|
-
function
|
|
1908
|
-
return e instanceof O ? "C_TIMER" !== Ge(e) ? (
|
|
1917
|
+
function Nr(e) {
|
|
1918
|
+
return e instanceof O ? "C_TIMER" !== Ge(e) ? (Ht("not C_TIMER GObj"), -1) : void gt(e, "msec", -1) : (Ht("not GObj TYPE"), -1);
|
|
1909
1919
|
}
|
|
1910
|
-
var
|
|
1920
|
+
var Rr = [
|
|
1911
1921
|
j(T.DTP_BOOLEAN, "changesLost", 0, !1, "Set true to warn about leaving page"),
|
|
1912
1922
|
j(T.DTP_BOOLEAN, "browser_beforeunload", 0, !1, "Set true to refreshing browser"),
|
|
1913
1923
|
j(T.DTP_STRING, "__username__", 0, "", "Username"),
|
|
@@ -1933,21 +1943,21 @@
|
|
|
1933
1943
|
j(T.DTP_BOOLEAN, "developer", 0, !1, "Developer mode enabled"),
|
|
1934
1944
|
j(T.DTP_INTEGER, "periodic_timeout", 0, "1000", "Timeout periodic, in miliseconds."),
|
|
1935
1945
|
v()
|
|
1936
|
-
],
|
|
1937
|
-
function
|
|
1946
|
+
], wr = { gobj_timer: null }, Dr = null;
|
|
1947
|
+
function Ar(e, t, n, r) {
|
|
1938
1948
|
return Ct(e, t, n), 0;
|
|
1939
1949
|
}
|
|
1940
|
-
var
|
|
1950
|
+
var kr = {
|
|
1941
1951
|
mt_create: function(e) {
|
|
1942
1952
|
let t = e.priv;
|
|
1943
|
-
dt(e, "start_date",
|
|
1953
|
+
dt(e, "start_date", ar()), dt(e, "node_uuid", cr()), e.priv.gobj_timer = he(Fe(e), "C_TIMER", {}, e), t.periodic_timeout = it(e, "periodic_timeout");
|
|
1944
1954
|
},
|
|
1945
1955
|
mt_writing: function(e, t) {},
|
|
1946
1956
|
mt_start: function(e) {
|
|
1947
|
-
return
|
|
1957
|
+
return Or(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
|
|
1948
1958
|
},
|
|
1949
1959
|
mt_stop: function(e) {
|
|
1950
|
-
return
|
|
1960
|
+
return Nr(e.priv.gobj_timer), Re(e), 0;
|
|
1951
1961
|
},
|
|
1952
1962
|
mt_destroy: function(e) {},
|
|
1953
1963
|
mt_play: function(e) {
|
|
@@ -1958,7 +1968,7 @@
|
|
|
1958
1968
|
return De(fe()), 0;
|
|
1959
1969
|
}
|
|
1960
1970
|
};
|
|
1961
|
-
var
|
|
1971
|
+
var Ir = "ievent_gate_stack", $r = [
|
|
1962
1972
|
j(T.DTP_STRING, "wanted_yuno_role", h.SDF_RD, "", "wanted yuno role"),
|
|
1963
1973
|
j(T.DTP_STRING, "wanted_yuno_name", h.SDF_RD, "", "wanted yuno name"),
|
|
1964
1974
|
j(T.DTP_STRING, "wanted_yuno_service", h.SDF_RD, "", "wanted yuno service"),
|
|
@@ -1975,7 +1985,7 @@
|
|
|
1975
1985
|
j(T.DTP_INTEGER, "timeout_idack", h.SDF_RD, "5000", "timeout waiting idAck"),
|
|
1976
1986
|
j(T.DTP_POINTER, "subscriber", 0, 0, "subscriber of output-events. If null then subscriber is the parent"),
|
|
1977
1987
|
v()
|
|
1978
|
-
],
|
|
1988
|
+
], Cr = {
|
|
1979
1989
|
url: null,
|
|
1980
1990
|
remote_yuno_name: null,
|
|
1981
1991
|
remote_yuno_role: null,
|
|
@@ -1985,16 +1995,16 @@
|
|
|
1985
1995
|
websocket: null,
|
|
1986
1996
|
inside_on_open: !1,
|
|
1987
1997
|
retry_ms: 0
|
|
1988
|
-
},
|
|
1989
|
-
function
|
|
1990
|
-
e.priv.websocket &&
|
|
1998
|
+
}, Lr = null;
|
|
1999
|
+
function Pr(e) {
|
|
2000
|
+
e.priv.websocket && Ht("Websocket ALREADY setup");
|
|
1991
2001
|
const t = at(e, "url");
|
|
1992
2002
|
let n;
|
|
1993
|
-
|
|
2003
|
+
Qt(`====> Starting WebSocket to '${t}' (${Ve(e)})`);
|
|
1994
2004
|
try {
|
|
1995
2005
|
n = new WebSocket(t);
|
|
1996
2006
|
} catch (n) {
|
|
1997
|
-
return
|
|
2007
|
+
return Ht(`${Ve(e)}: Cannot open WebSocket to '${t}', Error: ${n.message}`), null;
|
|
1998
2008
|
}
|
|
1999
2009
|
return n ? (n.onopen = () => {
|
|
2000
2010
|
jt(e, "EV_ON_OPEN", { url: t }, e);
|
|
@@ -2004,66 +2014,66 @@
|
|
|
2004
2014
|
data: n.data
|
|
2005
2015
|
}, e);
|
|
2006
2016
|
}, n.onclose = (n) => {
|
|
2007
|
-
Ye(e) || (st(Ce(), "browser_beforeunload") ?
|
|
2017
|
+
Ye(e) || (st(Ce(), "browser_beforeunload") ? zt("Close websocket by unload page") : jt(e, "EV_ON_CLOSE", {
|
|
2008
2018
|
url: t,
|
|
2009
2019
|
e: n
|
|
2010
2020
|
}, e));
|
|
2011
|
-
}, n) : (
|
|
2021
|
+
}, n) : (Ht(`${Ve(e)}: Failed to initialize WebSocket.`), null);
|
|
2012
2022
|
}
|
|
2013
|
-
function
|
|
2023
|
+
function Ur(e, t = 1e3, n = "") {
|
|
2014
2024
|
let r = e.priv, o = r.websocket;
|
|
2015
2025
|
if (r.websocket = null, o && o.readyState !== WebSocket.CLOSED && o.readyState !== WebSocket.CLOSING) {
|
|
2016
|
-
|
|
2026
|
+
Qt(`Closing WebSocket (Code: ${t}, Reason: "${n}")`);
|
|
2017
2027
|
try {
|
|
2018
2028
|
o.close(t, n);
|
|
2019
2029
|
} catch (e) {
|
|
2020
|
-
|
|
2030
|
+
Ht("Error closing WebSocket:", e.message);
|
|
2021
2031
|
}
|
|
2022
|
-
} else
|
|
2032
|
+
} else zt("WebSocket is already closed or in the process of closing.");
|
|
2023
2033
|
}
|
|
2024
|
-
function
|
|
2025
|
-
let r =
|
|
2034
|
+
function Fr(e, t, n) {
|
|
2035
|
+
let r = ar();
|
|
2026
2036
|
try {
|
|
2027
|
-
|
|
2037
|
+
Qt("\n" + r + " " + t + "\n"), Zt(n);
|
|
2028
2038
|
} catch (e) {
|
|
2029
|
-
|
|
2039
|
+
Qt("ERROR in trace_inter_event: " + e);
|
|
2030
2040
|
}
|
|
2031
2041
|
}
|
|
2032
|
-
var
|
|
2042
|
+
var Gr = class {
|
|
2033
2043
|
constructor(e, t) {
|
|
2034
2044
|
this.event = e, this.kw = t || {};
|
|
2035
2045
|
}
|
|
2036
2046
|
};
|
|
2037
|
-
function
|
|
2047
|
+
function Vr(e, t, n, r) {
|
|
2038
2048
|
return function(e, t) {
|
|
2039
2049
|
let n = e.priv, r = JSON.stringify(t);
|
|
2040
2050
|
if (st(Ce(), "trace_inter_event")) {
|
|
2041
2051
|
let n = at(e, "url"), o = Fe(Ce()) + " ==> " + n, i = it(Ce(), "trace_ievent_callback");
|
|
2042
|
-
i ? i(o, t, 1, r.length) :
|
|
2052
|
+
i ? i(o, t, 1, r.length) : Fr(0, o, t);
|
|
2043
2053
|
}
|
|
2044
|
-
if (!n.websocket || n.websocket.readyState !== WebSocket.OPEN) return
|
|
2054
|
+
if (!n.websocket || n.websocket.readyState !== WebSocket.OPEN) return zt(`${Ve(e)}: send_iev(): websocket not open, message lost`), -1;
|
|
2045
2055
|
try {
|
|
2046
2056
|
n.websocket.send(r);
|
|
2047
2057
|
} catch (t) {
|
|
2048
|
-
|
|
2058
|
+
Ht(`${Ve(e)}: send_iev(): ${t}`);
|
|
2049
2059
|
}
|
|
2050
2060
|
return 0;
|
|
2051
2061
|
}(e, function(e, t) {
|
|
2052
|
-
return
|
|
2062
|
+
return Sn(e) ? (Ht("iev_create() event NULL"), null) : new Gr(e, t);
|
|
2053
2063
|
}(t, n));
|
|
2054
2064
|
}
|
|
2055
|
-
function
|
|
2056
|
-
return
|
|
2065
|
+
function Mr(e, t, n) {
|
|
2066
|
+
return Sn(n) && (n = at(e, "wanted_yuno_service")), {
|
|
2057
2067
|
dst_yuno: at(e, "wanted_yuno_name"),
|
|
2058
2068
|
dst_role: at(e, "wanted_yuno_role"),
|
|
2059
2069
|
dst_service: n,
|
|
2060
2070
|
src_yuno: Le(),
|
|
2061
2071
|
src_role: Pe(),
|
|
2062
2072
|
src_service: t,
|
|
2063
|
-
host:
|
|
2073
|
+
host: cr()
|
|
2064
2074
|
};
|
|
2065
2075
|
}
|
|
2066
|
-
function
|
|
2076
|
+
function Wr(e) {
|
|
2067
2077
|
let t = e.priv, n = $e(Ce()), r = at(Ce(), "yuno_version"), o = at(Ce(), "yuno_release"), i = at(Ce(), "yuno_tag"), s = it(e, "required_services");
|
|
2068
2078
|
s && s.length || (s = it(Ce(), "required_services"));
|
|
2069
2079
|
let _ = {
|
|
@@ -2081,34 +2091,34 @@
|
|
|
2081
2091
|
username: at(Ce(), "__username__"),
|
|
2082
2092
|
launch_id: 0,
|
|
2083
2093
|
yuno_startdate: at(Ce(), "start_date"),
|
|
2084
|
-
id:
|
|
2094
|
+
id: cr(),
|
|
2085
2095
|
user_agent: "undefined" != typeof window ? window.navigator.userAgent : "",
|
|
2086
2096
|
language: "undefined" != typeof window ? window.navigator.language : "",
|
|
2087
2097
|
required_services: s
|
|
2088
2098
|
};
|
|
2089
|
-
return
|
|
2099
|
+
return er(e, _, Ir, Mr(e, Fe(We(e)), null)), nr(e, _, "__identity__"), Sr(t.gobj_timer, _t(e, "timeout_idack")), Vr(e, "EV_IDENTITY_CARD", _);
|
|
2090
2100
|
}
|
|
2091
|
-
function
|
|
2092
|
-
if (
|
|
2101
|
+
function Kr(e, t) {
|
|
2102
|
+
if (Sn(t.event)) return -1;
|
|
2093
2103
|
let n = {}, r = t.__global__, o = t.__config__, i = t.__filter__, l = t.__service__, s = t.subscriber;
|
|
2094
2104
|
o && (n.__config__ = o), r && (n.__global__ = r), i && (n.__filter__ = i);
|
|
2095
|
-
return
|
|
2105
|
+
return er(e, n, Ir, Mr(e, Fe(s), l)), nr(e, n, "__subscribing__"), Vr(e, t.event, n);
|
|
2096
2106
|
}
|
|
2097
|
-
function
|
|
2107
|
+
function xr(e, t, n, r) {
|
|
2098
2108
|
let o = e.priv;
|
|
2099
|
-
return Ae(e) && (o.websocket =
|
|
2109
|
+
return Ae(e) && (o.websocket = Pr(e)), 0;
|
|
2100
2110
|
}
|
|
2101
|
-
function
|
|
2102
|
-
return
|
|
2111
|
+
function Yr(e, t, n, r) {
|
|
2112
|
+
return Qt("Websocket opened: " + e.priv.url), Wr(e), 0;
|
|
2103
2113
|
}
|
|
2104
|
-
function
|
|
2114
|
+
function Br(e, t, n, r) {
|
|
2105
2115
|
let o = e.priv, i = n.e, l = n.url;
|
|
2106
|
-
return
|
|
2116
|
+
return Jt(), zt(`${Ve(e)}: WebSocket closed ${l} (Code: ${i.code}, Reason: "${i.reason}", Clean: ${i.wasClean})`), o.websocket && (o.websocket.onopen = null, o.websocket.onmessage = null, o.websocket.onerror = null, o.websocket.onclose = null, o.websocket = null), o.inform_on_close ? (o.inform_on_close = !1, Ct(e, "EV_ON_CLOSE", {
|
|
2107
2117
|
url: l,
|
|
2108
2118
|
remote_yuno_name: o.remote_yuno_name,
|
|
2109
2119
|
remote_yuno_role: o.remote_yuno_role,
|
|
2110
2120
|
remote_yuno_service: o.remote_yuno_service
|
|
2111
|
-
})) : (
|
|
2121
|
+
})) : (zt(`${Ve(e)}: EV_ON_OPEN_ERROR cannot open ${l} (Code: ${i.code}, Reason: "${i.reason}", Clean: ${i.wasClean})`), Ct(e, "EV_ON_OPEN_ERROR", {
|
|
2112
2122
|
url: l,
|
|
2113
2123
|
remote_yuno_name: o.remote_yuno_name,
|
|
2114
2124
|
remote_yuno_role: o.remote_yuno_role,
|
|
@@ -2116,7 +2126,7 @@
|
|
|
2116
2126
|
code: i.code,
|
|
2117
2127
|
reason: i.reason,
|
|
2118
2128
|
was_clean: i.wasClean
|
|
2119
|
-
})), Ae(e) &&
|
|
2129
|
+
})), Ae(e) && Sr(o.gobj_timer, function(e) {
|
|
2120
2130
|
let t = e.priv, n = _t(e, "timeout_retry"), r = _t(e, "timeout_retry_max");
|
|
2121
2131
|
r < n && (r = n);
|
|
2122
2132
|
t.retry_ms = t.retry_ms ? Math.min(2 * t.retry_ms, r) : n;
|
|
@@ -2124,17 +2134,17 @@
|
|
|
2124
2134
|
return Math.max(1, Math.round(i));
|
|
2125
2135
|
}(e)), 0;
|
|
2126
2136
|
}
|
|
2127
|
-
function
|
|
2128
|
-
return
|
|
2137
|
+
function Jr(e, t, n, r) {
|
|
2138
|
+
return Wr(e), 0;
|
|
2129
2139
|
}
|
|
2130
|
-
function
|
|
2140
|
+
function qr(e, t, n, r) {
|
|
2131
2141
|
let o = e.priv;
|
|
2132
|
-
|
|
2133
|
-
let i =
|
|
2142
|
+
Nr(o.gobj_timer);
|
|
2143
|
+
let i = tr(e, n, Ir, !0), l = Ln(e, i, "src_yuno", ""), s = Ln(e, i, "src_role", ""), _ = Ln(e, i, "src_service", "");
|
|
2134
2144
|
dt(e, "remote_yuno_name", l), dt(e, "remote_yuno_role", s), dt(e, "remote_yuno_service", _);
|
|
2135
|
-
let a =
|
|
2145
|
+
let a = Cn(e, n, "result", -1, 0), u = Ln(e, n, "comment", "", 0), c = Ln(e, n, "username", "", 0), f = Fn(e, n, "services_roles", {});
|
|
2136
2146
|
if (a < 0) {
|
|
2137
|
-
|
|
2147
|
+
Ur(e);
|
|
2138
2148
|
let t = {
|
|
2139
2149
|
url: at(e, "url"),
|
|
2140
2150
|
result: a,
|
|
@@ -2159,61 +2169,61 @@
|
|
|
2159
2169
|
}
|
|
2160
2170
|
o.inside_on_open = !1, function(e) {
|
|
2161
2171
|
let t = It(e, null, null, null);
|
|
2162
|
-
for (let n = 0; n < t.length; n++)
|
|
2172
|
+
for (let n = 0; n < t.length; n++) Kr(e, t[n]);
|
|
2163
2173
|
}(e);
|
|
2164
2174
|
}
|
|
2165
2175
|
return 0;
|
|
2166
2176
|
}
|
|
2167
|
-
function
|
|
2177
|
+
function Hr(e, t, n, r) {
|
|
2168
2178
|
let o = e.priv.url, i = function(e, t) {
|
|
2169
2179
|
let n;
|
|
2170
2180
|
try {
|
|
2171
2181
|
n = JSON.parse(t);
|
|
2172
2182
|
} catch (e) {
|
|
2173
|
-
return
|
|
2183
|
+
return Ht("parsing inter_event json: " + e), null;
|
|
2174
2184
|
}
|
|
2175
|
-
if (!(n instanceof Object)) return
|
|
2185
|
+
if (!(n instanceof Object)) return Ht("parsing inter_event: websocket data not a json object"), null;
|
|
2176
2186
|
let r = n.event;
|
|
2177
|
-
if (!r) return
|
|
2178
|
-
if ("string" != typeof r) return
|
|
2187
|
+
if (!r) return Ht("parsing inter_event: no event"), null;
|
|
2188
|
+
if ("string" != typeof r) return Ht("parsing inter_event: event not a string"), null;
|
|
2179
2189
|
let o = n.kw;
|
|
2180
2190
|
return o ? o instanceof Object ? {
|
|
2181
2191
|
event: r,
|
|
2182
2192
|
kw: o || {}
|
|
2183
|
-
} : (
|
|
2193
|
+
} : (Ht("parsing inter_event: kw not a json object"), null) : (Ht("parsing inter_kw: no kw"), null);
|
|
2184
2194
|
}(0, n.data);
|
|
2185
2195
|
if (st(Ce(), "trace_inter_event")) {
|
|
2186
2196
|
let e = Fe(Ce()) + " <== " + o, t = n.data.length, r = it(Ce(), "trace_ievent_callback");
|
|
2187
|
-
r ? r(e, i, 2, t) :
|
|
2197
|
+
r ? r(e, i, 2, t) : Fr(0, e, i);
|
|
2188
2198
|
}
|
|
2189
2199
|
let l = i.event, s = i.kw;
|
|
2190
2200
|
if ("ST_SESSION" !== pt(e)) {
|
|
2191
2201
|
if (Et(e, l, D.EVF_PUBLIC_EVENT)) {
|
|
2192
2202
|
if (!(jt(e, l, s, e) < 0)) return 0;
|
|
2193
|
-
} else
|
|
2194
|
-
return
|
|
2203
|
+
} else Ht(`${Ve(e)}: event UNKNOWN in not-session state ${l}`);
|
|
2204
|
+
return Ur(e), -1;
|
|
2195
2205
|
}
|
|
2196
2206
|
i = null;
|
|
2197
|
-
let _ =
|
|
2198
|
-
if (u.toLowerCase() !== Pe().toLowerCase()) return
|
|
2199
|
-
let c =
|
|
2207
|
+
let _ = rr(e, s), a = tr(e, s, Ir), u = Ln(e, a, "dst_role", "");
|
|
2208
|
+
if (u.toLowerCase() !== Pe().toLowerCase()) return Ht(`"It's not my role, dst_role: ${u}, my_role: ${Pe()}`), 0;
|
|
2209
|
+
let c = Ln(e, a, "dst_service", "");
|
|
2200
2210
|
if ("__subscribing__" === _) return -1;
|
|
2201
2211
|
if ("__unsubscribing__" === _) return -1;
|
|
2202
2212
|
if (Et(e, l, D.EVF_PUBLIC_EVENT)) return jt(e, l, s, e), 0;
|
|
2203
2213
|
let f = ge(c, !0);
|
|
2204
2214
|
if (f) {
|
|
2205
|
-
if (!Et(f, l, D.EVF_PUBLIC_EVENT)) return
|
|
2215
|
+
if (!Et(f, l, D.EVF_PUBLIC_EVENT)) return Ht(`${Ve(e)}: Service found but no event or not public, service '${Ve(f)}', ev '${l}'`), -1;
|
|
2206
2216
|
jt(f, l, s, e);
|
|
2207
2217
|
} else xe(e) ? jt(We(e), l, s, e) : Ct(e, l, s);
|
|
2208
2218
|
return 0;
|
|
2209
2219
|
}
|
|
2210
|
-
function
|
|
2220
|
+
function zr(e, t, n, r) {
|
|
2211
2221
|
return 0;
|
|
2212
2222
|
}
|
|
2213
|
-
function
|
|
2223
|
+
function Qr(e, t, n, r) {
|
|
2214
2224
|
return 0;
|
|
2215
2225
|
}
|
|
2216
|
-
var
|
|
2226
|
+
var Xr = {
|
|
2217
2227
|
mt_create: function(e) {
|
|
2218
2228
|
let t = e.priv;
|
|
2219
2229
|
t.gobj_timer = he(Fe(e), "C_TIMER", {}, e), t.url = at(e, "url"), t.remote_yuno_name = at(e, "remote_yuno_name"), t.remote_yuno_role = at(e, "remote_yuno_role"), t.remote_yuno_service = at(e, "remote_yuno_service"), dt(e, "wanted_yuno_name", t.remote_yuno_name), dt(e, "wanted_yuno_role", t.remote_yuno_role), dt(e, "wanted_yuno_service", t.remote_yuno_service);
|
|
@@ -2237,52 +2247,52 @@
|
|
|
2237
2247
|
},
|
|
2238
2248
|
mt_start: function(e) {
|
|
2239
2249
|
let t = e.priv;
|
|
2240
|
-
return t.retry_ms = 0, t.websocket =
|
|
2250
|
+
return t.retry_ms = 0, t.websocket = Pr(e), 0;
|
|
2241
2251
|
},
|
|
2242
2252
|
mt_stop: function(e) {
|
|
2243
2253
|
let t = e.priv;
|
|
2244
|
-
return
|
|
2254
|
+
return Nr(t.gobj_timer), t.websocket && Ur(e), 0;
|
|
2245
2255
|
},
|
|
2246
2256
|
mt_destroy: function(e) {},
|
|
2247
2257
|
mt_stats: function(e, t, n, r) {
|
|
2248
|
-
if ("ST_SESSION" !== pt(e)) return
|
|
2258
|
+
if ("ST_SESSION" !== pt(e)) return Ht("Not in session"), null;
|
|
2249
2259
|
n || (n = {});
|
|
2250
|
-
let o =
|
|
2251
|
-
return i || (i = {}),
|
|
2260
|
+
let o = Mr(e, Fe(r), Ln(e, n, "service", null, 0)), i = Fn(e, n, "__md_stats__", null, Lt.KW_EXTRACT);
|
|
2261
|
+
return i || (i = {}), er(e, n, "stats_stack", {
|
|
2252
2262
|
stats: t,
|
|
2253
2263
|
kw: i
|
|
2254
|
-
}),
|
|
2264
|
+
}), er(e, n, Ir, o), n.__stats__ = t, nr(e, n, "__stats__"), Vr(e, "EV_MT_STATS", n, r), null;
|
|
2255
2265
|
},
|
|
2256
2266
|
mt_command_parser: function(e, t, n, r) {
|
|
2257
|
-
if ("ST_SESSION" !== pt(e)) return
|
|
2267
|
+
if ("ST_SESSION" !== pt(e)) return Ht("Not in session"), null;
|
|
2258
2268
|
n || (n = {});
|
|
2259
|
-
let o =
|
|
2260
|
-
return i || (i = {}),
|
|
2269
|
+
let o = Mr(e, Fe(r), Ln(e, n, "service", "", 0)), i = Fn(e, n, "__md_command__", null, Lt.KW_EXTRACT);
|
|
2270
|
+
return i || (i = {}), er(e, n, "command_stack", {
|
|
2261
2271
|
command: t,
|
|
2262
2272
|
kw: i
|
|
2263
|
-
}),
|
|
2273
|
+
}), er(e, n, Ir, o), n.__command__ = t, nr(e, n, "__command__"), Vr(e, "EV_MT_COMMAND", n, r), null;
|
|
2264
2274
|
},
|
|
2265
2275
|
mt_inject_event: function(e, t, n, r) {
|
|
2266
2276
|
if ("ST_SESSION" !== pt(e)) return window.console.error("Not in session"), -1;
|
|
2267
|
-
if (n || (n = {}),
|
|
2277
|
+
if (n || (n = {}), tr(e, n, Ir));
|
|
2268
2278
|
else {
|
|
2269
|
-
let o =
|
|
2270
|
-
|
|
2279
|
+
let o = Mr(e, Fe(r), Ln(e, n, "__service__", 0, 0));
|
|
2280
|
+
sn(n, "__service__"), er(e, n, "__message__", t), er(e, n, Ir, o);
|
|
2271
2281
|
}
|
|
2272
|
-
return
|
|
2282
|
+
return nr(e, n, "__message__"), Vr(e, t, n, r);
|
|
2273
2283
|
},
|
|
2274
2284
|
mt_subscription_added: function(e, t) {
|
|
2275
2285
|
let n = e.priv;
|
|
2276
|
-
return "ST_SESSION" === pt(e) && n.websocket ? n.inside_on_open ? 0 :
|
|
2286
|
+
return "ST_SESSION" === pt(e) && n.websocket ? n.inside_on_open ? 0 : Kr(e, t) : 0;
|
|
2277
2287
|
},
|
|
2278
2288
|
mt_subscription_deleted: function(e, t) {
|
|
2279
2289
|
let n = e.priv;
|
|
2280
2290
|
if ("ST_SESSION" !== pt(e) || !n.websocket) return 0;
|
|
2281
2291
|
if (n.inside_on_open) return 0;
|
|
2282
|
-
if (
|
|
2292
|
+
if (Sn(t.event)) return 0;
|
|
2283
2293
|
let r = {}, o = t.__global__, i = t.__config__, l = t.__filter__, s = t.__service__, _ = t.subscriber;
|
|
2284
2294
|
i && (r.__config__ = i), o && (r.__global__ = o), l && (r.__filter__ = l);
|
|
2285
|
-
return
|
|
2295
|
+
return er(e, r, Ir, Mr(e, Fe(_), s)), nr(e, r, "__unsubscribing__"), Vr(e, t.event, r, e);
|
|
2286
2296
|
}
|
|
2287
2297
|
};
|
|
2288
2298
|
e.GObj = O, e.SDATA = j, e.SDATAAUTHZ = (e, t, n, r, o, i) => new y(e, t, n, null, i, r, null, 0, null, o, null), e.SDATACM = (e, t, n, r, o, i) => new y(e, t, 0, null, i, n, null, 0, o, r, null), e.SDATACM2 = (e, t, n, r, o, i, l) => new y(e, t, n, null, l, r, null, 0, i, o, null), e.SDATADF = (e, t, n, r, o, i) => new y(e, t, n, null, i, null, r, o), e.SDATAPM = (e, t, n, r, o) => new y(e, t, n, r, o), e.SDATAPM0 = (e, t, n, r, o) => new y(e, t, n, null, o, null, null, 0, null, null, r), e.SDATA_END = v, e.SDataDesc = y, e.YUNETA_VERSION = l, Object.defineProperty(e, "__yuno__", {
|
|
@@ -2296,50 +2306,50 @@
|
|
|
2296
2306
|
return t;
|
|
2297
2307
|
}, e.build_stats_response = i, e.clean_name = function(e) {
|
|
2298
2308
|
return e.replace(/[?# ^:]/g, "_");
|
|
2299
|
-
}, e.clear_timeout =
|
|
2309
|
+
}, e.clear_timeout = Nr, e.cmp_two_simple_json = wn, e.command_parser = function(e, t, n, r) {}, e.createElement2 = function e(t, n) {
|
|
2300
2310
|
let [r, o, i, l] = t;
|
|
2301
|
-
if (!r) return void
|
|
2311
|
+
if (!r) return void Ht("Tag must be a valid HTML element.");
|
|
2302
2312
|
let s = document.createElement(r), _ = "";
|
|
2303
2313
|
if (o && "object" == typeof o) for (let e of Object.keys(o)) if ("style" === e && "object" == typeof o[e]) {
|
|
2304
2314
|
let t = "";
|
|
2305
2315
|
for (const n of Object.keys(o[e])) t += `${n}: ${o[e][n]};`;
|
|
2306
2316
|
s.style.cssText = t;
|
|
2307
2317
|
} else "style" === e ? s.style.cssText = o[e] : "i18n" === e || "data-i18n" === e || "data_i18next" === e || "data-i18next" === e ? null !== o[e] && void 0 !== o[e] && (_ = o[e], s.setAttribute("data-i18n", _)) : s.setAttribute(e, o[e]);
|
|
2308
|
-
if (
|
|
2318
|
+
if (En(i)) if (i = i.trim(), i.length > 0 && "<" === i[0]) s.appendChild(_r(i));
|
|
2309
2319
|
else if (n && _) s.textContent = n(_) || i;
|
|
2310
2320
|
else s.textContent = i;
|
|
2311
|
-
else if (
|
|
2312
|
-
if (i.length > 0) if (
|
|
2321
|
+
else if (mn(i)) {
|
|
2322
|
+
if (i.length > 0) if (En(i[0])) s.appendChild(e(i, n));
|
|
2313
2323
|
else for (let t of i) Array.isArray(t) && t.length > 0 ? s.appendChild(e(t, n)) : t instanceof HTMLElement && s.appendChild(t);
|
|
2314
|
-
} else i instanceof HTMLElement || i instanceof Text || i instanceof SVGElement ? s.appendChild(i) : null != i && (
|
|
2324
|
+
} else i instanceof HTMLElement || i instanceof Text || i instanceof SVGElement ? s.appendChild(i) : null != i && (Ht("content ignored"), Zt(i));
|
|
2315
2325
|
if (l && "object" == typeof l) for (const e of Object.keys(l)) s.addEventListener(e, l[e]);
|
|
2316
2326
|
return s;
|
|
2317
|
-
}, e.createOneHtml =
|
|
2318
|
-
let n =
|
|
2319
|
-
return
|
|
2327
|
+
}, e.createOneHtml = _r, e.create_json_record = function(e, t) {
|
|
2328
|
+
let n = en(e);
|
|
2329
|
+
return rn(n, t), n;
|
|
2320
2330
|
}, e.create_template_record = function(e, t) {
|
|
2321
2331
|
let n = {};
|
|
2322
2332
|
return t || (t = {}), Object.entries(e).forEach(([e, r]) => {
|
|
2323
2333
|
let o;
|
|
2324
|
-
|
|
2325
|
-
let i =
|
|
2334
|
+
pn(r) && (o = r.default);
|
|
2335
|
+
let i = Fn(null, t, e, o);
|
|
2326
2336
|
n[e] = i;
|
|
2327
2337
|
}), n;
|
|
2328
|
-
}, e.current_timestamp =
|
|
2329
|
-
let n =
|
|
2330
|
-
return n &&
|
|
2338
|
+
}, e.current_timestamp = ar, e.data_type_t = T, e.db_list_persistent_attrs = function(e, t) {
|
|
2339
|
+
let n = Yn(gr(e), null, !1), r = {};
|
|
2340
|
+
return n && pn(n) && (r = Kn(e, n, t, !1)), r;
|
|
2331
2341
|
}, e.db_load_persistent_attrs = function(e, t) {
|
|
2332
|
-
let n = lt(e, h.SDF_PERSIST), r =
|
|
2333
|
-
if (r &&
|
|
2334
|
-
let o =
|
|
2335
|
-
o =
|
|
2342
|
+
let n = lt(e, h.SDF_PERSIST), r = Yn(gr(e), null, !1);
|
|
2343
|
+
if (r && pn(r)) {
|
|
2344
|
+
let o = Kn(e, r, t, !1);
|
|
2345
|
+
o = Kn(e, o, n, !1), ct(e, o, h.SDF_PERSIST);
|
|
2336
2346
|
}
|
|
2337
2347
|
}, e.db_remove_persistent_attrs = function(e, t) {
|
|
2338
|
-
let n =
|
|
2339
|
-
0 ===
|
|
2348
|
+
let n = xn(e, Yn(gr(e), null, !1), t, !1);
|
|
2349
|
+
0 === gn(n) ? Jn(gr(e)) : Bn(gr(e), n);
|
|
2340
2350
|
}, e.db_save_persistent_attrs = function(e, t) {
|
|
2341
|
-
let n =
|
|
2342
|
-
return r &&
|
|
2351
|
+
let n = Kn(e, lt(e, h.SDF_PERSIST), t, !1), r = Yn(gr(e), null, !1);
|
|
2352
|
+
return r && pn(r) && on(n, r), Bn(gr(e), n);
|
|
2343
2353
|
}, e.debounce = function(e, t = 0, n = !1) {
|
|
2344
2354
|
let r = null, o = null, i = null;
|
|
2345
2355
|
const l = (...l) => {
|
|
@@ -2364,7 +2374,7 @@
|
|
|
2364
2374
|
Object.assign(t, e);
|
|
2365
2375
|
}
|
|
2366
2376
|
return t;
|
|
2367
|
-
}, e.empty_string =
|
|
2377
|
+
}, e.empty_string = Sn, e.escapeHtml = sr, e.event_flag_t = D, e.gclass_add_ev_action = le, e.gclass_add_event_type = _e, e.gclass_add_state = ie, e.gclass_check_fsm = ue, e.gclass_create = te, e.gclass_event_type = ae, e.gclass_find_by_name = ce, e.gclass_flag_t = N, e.gclass_unregister = ne, e.getPositionRelativeToBody = function(e) {
|
|
2368
2378
|
if (!e) return {
|
|
2369
2379
|
top: 0,
|
|
2370
2380
|
left: 0,
|
|
@@ -2383,14 +2393,14 @@
|
|
|
2383
2393
|
right: n + s + r,
|
|
2384
2394
|
bottom: t + l + o
|
|
2385
2395
|
};
|
|
2386
|
-
}, e.get_function_name =
|
|
2396
|
+
}, e.get_function_name = fr, e.get_now = function() {
|
|
2387
2397
|
return Math.floor(Date.now() / 1e3);
|
|
2388
2398
|
}, e.gobj_bottom_gobj = Be, e.gobj_change_parent = function(e, t) {
|
|
2389
|
-
return Ye(e) ? (
|
|
2399
|
+
return Ye(e) ? (Ht("gobj NULL or DESTROYED"), null) : t instanceof O ? (e.parent && e.parent.mt_child_removed && e.parent.mt_child_removed(e.parent, e), e.parent && (pe(e.parent, e), e.parent = null), be(t, e), t.mt_child_added && (Y(e) && Qt(n("👦👦🔵 child_added(%s): %s", Me(t), Ve(e))), t.mt_child_added(t, e)), 0) : (Ht(`${Ve(e)}: gobj_change_parent() BAD TYPE of parent`), -1);
|
|
2390
2400
|
}, e.gobj_change_state = bt, e.gobj_command = function(e, t, r, i) {
|
|
2391
|
-
if (Ye(e)) return
|
|
2401
|
+
if (Ye(e)) return Ht("gobj NULL or DESTROYED"), -1;
|
|
2392
2402
|
let l = p && _t(p, "tracing");
|
|
2393
|
-
return l && (L(n("🌀🌀 mach(%s%s), cmd: %s, src: %s", Ae(e) ? "" : "!!", Ve(e), t, Ve(i))), l > 1 &&
|
|
2403
|
+
return l && (L(n("🌀🌀 mach(%s%s), cmd: %s, src: %s", Ae(e) ? "" : "!!", Ve(e), t, Ve(i))), l > 1 && Zt(r)), e.gclass.gmt.mt_command_parser ? e.gclass.gmt.mt_command_parser(e, t, r, i) : e.gclass.command_table ? c ? c(e, t, r, i) : o(0, -1, n("%s: global command parser not available", Ve(e)), 0, 0) : o(0, -1, n("%s: command table not available", Ve(e)), 0, 0);
|
|
2394
2404
|
}, e.gobj_create = function(e, t, n, r) {
|
|
2395
2405
|
return Te(e, t, n, r, 0);
|
|
2396
2406
|
}, e.gobj_create2 = Te, e.gobj_create_default_service = function(e, t, n, r) {
|
|
@@ -2402,7 +2412,7 @@
|
|
|
2402
2412
|
}, e.gobj_create_yuno = function(e, t, n) {
|
|
2403
2413
|
return Te(e, t, n, null, R.gobj_flag_yuno);
|
|
2404
2414
|
}, e.gobj_current_state = pt, e.gobj_default_service = fe, e.gobj_deliver_posted_events = vt, e.gobj_destroy = ye, e.gobj_find_child = nt, e.gobj_find_gobj = function(e, t) {
|
|
2405
|
-
if (
|
|
2415
|
+
if (Sn(t)) return null;
|
|
2406
2416
|
const n = t.toLowerCase();
|
|
2407
2417
|
return "__default_service__" === n ? m : "__yuno__" === n || "__root__" === n ? p : rt(p, t);
|
|
2408
2418
|
}, e.gobj_find_service = ge, e.gobj_find_subscribings = $t, e.gobj_find_subscriptions = It, e.gobj_flag_t = R, e.gobj_full_name = Me, e.gobj_gclass_name = Ge, e.gobj_global_trace_level = function() {
|
|
@@ -2412,24 +2422,24 @@
|
|
|
2412
2422
|
}, e.gobj_list_subscriptions = function(e) {
|
|
2413
2423
|
let t = It(e, null, null, null);
|
|
2414
2424
|
for (let n = 0; n < t.length; n++) {
|
|
2415
|
-
let r = t[n], o =
|
|
2416
|
-
|
|
2425
|
+
let r = t[n], o = Pn(e, r, "publisher", null, Lt.KW_REQUIRED), i = Pn(e, r, "subscriber", null, Lt.KW_REQUIRED);
|
|
2426
|
+
an(r, "s_event", Ln(e, r, "event", "", Lt.KW_REQUIRED)), an(r, "s_publisher", Ve(o)), an(r, "s_subscriber", Ve(i));
|
|
2417
2427
|
}
|
|
2418
2428
|
let n = $t(e, 0, null, 0);
|
|
2419
2429
|
for (let t = 0; t < n.length; t++) {
|
|
2420
|
-
let r = n[t], o =
|
|
2421
|
-
|
|
2430
|
+
let r = n[t], o = Pn(e, r, "publisher", null, Lt.KW_REQUIRED), i = Pn(e, r, "subscriber", null, Lt.KW_REQUIRED);
|
|
2431
|
+
an(r, "s_event", Ln(e, r, "event", "", Lt.KW_REQUIRED)), an(r, "s_publisher", Ve(o)), an(r, "s_subscriber", Ve(i));
|
|
2422
2432
|
}
|
|
2423
2433
|
return {
|
|
2424
2434
|
subscriptions: t,
|
|
2425
2435
|
subscribings: n,
|
|
2426
|
-
"total subscriptions":
|
|
2427
|
-
total_subscribings:
|
|
2436
|
+
"total subscriptions": dn(t),
|
|
2437
|
+
total_subscribings: dn(n)
|
|
2428
2438
|
};
|
|
2429
2439
|
}, e.gobj_load_persistent_attrs = function(e, t) {
|
|
2430
|
-
return Ie(e) ? s ? s(e, t) : -1 : (
|
|
2440
|
+
return Ie(e) ? s ? s(e, t) : -1 : (Ht(`${Ve(e)}: Only gobj services can load/save writable-persistent`), -1);
|
|
2431
2441
|
}, e.gobj_match_children = function(e, t) {
|
|
2432
|
-
if (Ye(e)) return
|
|
2442
|
+
if (Ye(e)) return Ht("gobj NULL or DESTROYED"), null;
|
|
2433
2443
|
t = t || {};
|
|
2434
2444
|
let n = [];
|
|
2435
2445
|
const r = e.dl_children;
|
|
@@ -2449,16 +2459,16 @@
|
|
|
2449
2459
|
}
|
|
2450
2460
|
}(n, e), n;
|
|
2451
2461
|
}, e.gobj_match_gobj = tt, e.gobj_name = Fe, e.gobj_parent = We, e.gobj_pause = De, e.gobj_play = we, e.gobj_post_event = function(e, t, r, o) {
|
|
2452
|
-
return e && e instanceof O ? e.obflag & (w.obflag_destroyed | w.obflag_destroying) ? (
|
|
2462
|
+
return e && e instanceof O ? e.obflag & (w.obflag_destroyed | w.obflag_destroying) ? (Ht(`gobj_post_event(): gobj dst DESTROYING, event ${t}`), -1) : Sn(t) ? (Ht("gobj_post_event(): event EMPTY"), -1) : Et(e, t, 0) ? ht.length >= 1e4 ? (Ht(`gobj_post_event(): too many posted events, this is NOT a work queue, event ${t}, pending ${ht.length}`), -1) : (ht.push({
|
|
2453
2463
|
dst: e,
|
|
2454
2464
|
event: t,
|
|
2455
2465
|
kw: r,
|
|
2456
2466
|
src: o
|
|
2457
|
-
}), J(e, t) && !q(o, t) && L(n("📬 posted(%s%s), ev: %s, pending: %d", e.running ? "" : "!!", Ve(e), t, ht.length)), yt || (yt = !0, setTimeout(vt, 0)), 0) : (
|
|
2467
|
+
}), J(e, t) && !q(o, t) && L(n("📬 posted(%s%s), ev: %s, pending: %d", e.running ? "" : "!!", Ve(e), t, ht.length)), yt || (yt = !0, setTimeout(vt, 0)), 0) : (Ht(`gobj_post_event(): event NOT DEFINED in gclass ${Ge(e)}, event ${t}`), -1) : (Ht(`gobj_post_event(): gobj dst NULL, event ${t}`), -1);
|
|
2458
2468
|
}, e.gobj_posted_events_size = function() {
|
|
2459
2469
|
return ht.length;
|
|
2460
2470
|
}, e.gobj_publish_event = Ct, e.gobj_read_attr = it, e.gobj_read_attrs = lt, e.gobj_read_bool_attr = st, e.gobj_read_integer_attr = _t, e.gobj_read_pointer_attr = ut, e.gobj_read_str_attr = at, e.gobj_remove_persistent_attrs = function(e, t) {
|
|
2461
|
-
return Ie(e) ? a ? a(e, t) : -1 : (
|
|
2471
|
+
return Ie(e) ? a ? a(e, t) : -1 : (Ht(`${Ve(e)}: Only gobj services can load/save writable-persistent`), -1);
|
|
2462
2472
|
}, e.gobj_repr_global_trace_levels = function() {
|
|
2463
2473
|
return U.map(([e, t, n]) => ({
|
|
2464
2474
|
name: e,
|
|
@@ -2468,33 +2478,33 @@
|
|
|
2468
2478
|
}));
|
|
2469
2479
|
}, e.gobj_reset_volatil_attrs = function(e) {
|
|
2470
2480
|
return function(e, t, n) {
|
|
2471
|
-
if (Ye(e)) return
|
|
2481
|
+
if (Ye(e)) return Ht("gobj NULL or DESTROYED"), -1;
|
|
2472
2482
|
let r = e.gclass.attrs_table;
|
|
2473
2483
|
for (let o = 0; o < r.length; o++) {
|
|
2474
2484
|
const i = r[o];
|
|
2475
2485
|
if (i.name && !(n && i.flag & n) && (-1 === t || i.flag & t)) {
|
|
2476
2486
|
const t = z(e, e.jn_attrs, i);
|
|
2477
|
-
|
|
2487
|
+
pn(e.priv) && e.priv.hasOwnProperty(i.name) && (e.priv[i.name] = t), e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, i.name);
|
|
2478
2488
|
}
|
|
2479
2489
|
}
|
|
2480
2490
|
return 0;
|
|
2481
2491
|
}(e, h.SDF_VOLATIL, 0);
|
|
2482
2492
|
}, e.gobj_save_persistent_attrs = function(e, t) {
|
|
2483
|
-
return Ie(e) ? _ ? _(e, t) : -1 : (
|
|
2493
|
+
return Ie(e) ? _ ? _(e, t) : -1 : (Ht(`${Ve(e)}: Only gobj services can load/save writable-persistent`), -1);
|
|
2484
2494
|
}, e.gobj_search_path = rt, e.gobj_send_event = jt, e.gobj_services = function() {
|
|
2485
2495
|
let e = [];
|
|
2486
|
-
for (const t of Object.keys(b))
|
|
2496
|
+
for (const t of Object.keys(b)) cn(e, t);
|
|
2487
2497
|
return e;
|
|
2488
2498
|
}, e.gobj_set_bottom_gobj = Je, e.gobj_set_deep_trace = function(e) {
|
|
2489
2499
|
return V = Number(e) || 0, 0;
|
|
2490
2500
|
}, e.gobj_set_gclass_no_trace = function(e, t, n) {
|
|
2491
|
-
const r =
|
|
2492
|
-
if (!r) return
|
|
2501
|
+
const r = En(e) ? ce(e) : e;
|
|
2502
|
+
if (!r) return Ht(`gobj_set_gclass_no_trace: gclass NOT FOUND: ${e}`), -1;
|
|
2493
2503
|
const o = M(t, "gobj_set_gclass_no_trace");
|
|
2494
2504
|
return o ? (n ? r.no_trace_level |= o : r.no_trace_level &= ~o, 0) : -1;
|
|
2495
2505
|
}, e.gobj_set_gclass_trace = function(e, t, n) {
|
|
2496
|
-
const r =
|
|
2497
|
-
if (!r) return
|
|
2506
|
+
const r = En(e) ? ce(e) : e;
|
|
2507
|
+
if (!r) return Ht(`gobj_set_gclass_trace: gclass NOT FOUND: ${e}`), -1;
|
|
2498
2508
|
const o = M(t, "gobj_set_gclass_trace");
|
|
2499
2509
|
return o ? (n ? r.trace_level |= o : r.trace_level &= ~o, 0) : -1;
|
|
2500
2510
|
}, e.gobj_set_global_no_trace = function(e, t) {
|
|
@@ -2504,19 +2514,19 @@
|
|
|
2504
2514
|
const n = M(e, "gobj_set_global_trace");
|
|
2505
2515
|
return n ? (t ? F |= n : F &= ~n, 0) : -1;
|
|
2506
2516
|
}, e.gobj_set_gobj_no_trace = function(e, t, n) {
|
|
2507
|
-
if (!e) return
|
|
2517
|
+
if (!e) return Ht("gobj_set_gobj_no_trace: gobj NULL"), -1;
|
|
2508
2518
|
const r = M(t, "gobj_set_gobj_no_trace");
|
|
2509
2519
|
return r ? (n ? e.no_trace_level |= r : e.no_trace_level &= ~r, 0) : -1;
|
|
2510
2520
|
}, e.gobj_set_gobj_trace = function(e, t, n) {
|
|
2511
|
-
if (!e) return
|
|
2521
|
+
if (!e) return Ht("gobj_set_gobj_trace: gobj NULL"), -1;
|
|
2512
2522
|
const r = M(t, "gobj_set_gobj_trace");
|
|
2513
2523
|
return r ? (n ? e.trace_level |= r : e.trace_level &= ~r, 0) : -1;
|
|
2514
2524
|
}, e.gobj_set_trace_machine_format = function(e) {
|
|
2515
2525
|
C = 1 === Number(e) ? 1 : 0;
|
|
2516
2526
|
}, e.gobj_short_name = Ve, e.gobj_start = ve, e.gobj_start_children = function(e) {
|
|
2517
|
-
return Ye(e) ? (
|
|
2527
|
+
return Ye(e) ? (Ht("gobj NULL or DESTROYED"), -1) : He(e, A.WALK_FIRST2LAST, je, 0, 0);
|
|
2518
2528
|
}, e.gobj_start_tree = function(e) {
|
|
2519
|
-
return Ye(e) ? (
|
|
2529
|
+
return Ye(e) ? (Ht("gobj NULL or DESTROYED"), -1) : (B(e) && L(n("⏺ ⏺ ⏺ ⏺ start_tree: %s", Me(e))), e.gclass.gclass_flag & N.gcflag_manual_start || e.disabled ? 0 : (e.running || ve(e), ze(e, A.WALK_TOP2BOTTOM, Se, 0, 0)));
|
|
2520
2530
|
}, e.gobj_start_up = function(e, t, n, r, o, i, l) {
|
|
2521
2531
|
s = t, _ = n, a = r, u = o, c = i, f = l;
|
|
2522
2532
|
const d = [["EV_STATE_CHANGED", D.EVF_SYSTEM_EVENT | D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS], [0, 0]];
|
|
@@ -2526,14 +2536,14 @@
|
|
|
2526
2536
|
}
|
|
2527
2537
|
return 0;
|
|
2528
2538
|
}, e.gobj_stats = function(e, t, r, o) {
|
|
2529
|
-
return Ye(e) ? (
|
|
2539
|
+
return Ye(e) ? (Ht("gobj NULL or DESTROYED"), -1) : e.gclass.gmt.mt_stats ? e.gclass.gmt.mt_stats(e, t, r, o) : f ? f(e, t, r, o) : i(0, -1, n("%s, stats parser not available", Ve(e)), 0, 0);
|
|
2530
2540
|
}, e.gobj_stop = Oe, e.gobj_stop_children = Re, e.gobj_stop_tree = function(e) {
|
|
2531
|
-
return Ye(e) ? (
|
|
2541
|
+
return Ye(e) ? (Ht("gobj NULL or DESTROYED"), -1) : (B(e) && L(n("⏹ ⏹ ⏹ ⏹ stop_tree: %s", Me(e))), Ae(e) && Oe(e), ze(e, A.WALK_TOP2BOTTOM, Ne, 0, 0));
|
|
2532
2542
|
}, e.gobj_subscribe_event = At, e.gobj_trace_level = W, e.gobj_trace_machine_format = function() {
|
|
2533
2543
|
return C;
|
|
2534
2544
|
}, e.gobj_trace_no_level = K, e.gobj_unsubscribe_event = function(e, t, n, r) {
|
|
2535
|
-
if (null == n && (n = {}), !e) return
|
|
2536
|
-
if (!r) return
|
|
2545
|
+
if (null == n && (n = {}), !e) return Ht(`publisher NULL: ev ${t}`), 0;
|
|
2546
|
+
if (!r) return Ht(`subscriber NULL: ev ${t}`), 0;
|
|
2537
2547
|
const o = /* @__PURE__ */ new Set([
|
|
2538
2548
|
"__config__",
|
|
2539
2549
|
"__global__",
|
|
@@ -2542,21 +2552,21 @@
|
|
|
2542
2552
|
"__service__"
|
|
2543
2553
|
]);
|
|
2544
2554
|
if (Object.keys(n).forEach((n) => {
|
|
2545
|
-
o.has(n) ||
|
|
2546
|
-
}),
|
|
2547
|
-
else if (!(Tt(e, t, D.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & N.gcflag_no_check_output_events)) return
|
|
2555
|
+
o.has(n) || Ht(`${Ve(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
|
|
2556
|
+
}), Sn(t)) t = "";
|
|
2557
|
+
else if (!(Tt(e, t, D.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & N.gcflag_no_check_output_events)) return Ht(`event NOT in output event list: ${Ve(e)}, ev ${t}`), 0;
|
|
2548
2558
|
let i = Rt(e.dl_subscriptions, e, t, n, r), l = 0;
|
|
2549
2559
|
for (let t = 0; t < i.length; t++) {
|
|
2550
2560
|
let n = i[t];
|
|
2551
2561
|
Dt(e, n, !1, !1), l++;
|
|
2552
2562
|
}
|
|
2553
|
-
return l || (
|
|
2563
|
+
return l || (zt(`${Ve(e)}: No subscription found`), Zt(n, "No subscription found")), 0;
|
|
2554
2564
|
}, e.gobj_unsubscribe_list = kt, e.gobj_walk_gobj_children = He, e.gobj_walk_gobj_children_tree = ze, e.gobj_write_attr = function(e, t, r, o) {
|
|
2555
|
-
if (!
|
|
2565
|
+
if (!En(t)) return Ht(n("gobj_write_attr(%s): path must be a string", Ve(e))), -1;
|
|
2556
2566
|
let i, l = e.jn_attrs, s = t.split("`");
|
|
2557
2567
|
if (s.length <= 1) {
|
|
2558
2568
|
let o = t;
|
|
2559
|
-
return o in l && l.hasOwnProperty(o) ? (l[o] = r,
|
|
2569
|
+
return o in l && l.hasOwnProperty(o) ? (l[o] = r, pn(e.priv) && e.priv.hasOwnProperty(o) && (e.priv[o] = r), e.obflag & w.obflag_created && !(e.obflag & w.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, o), 0) : (Ht(n("gobj_write_attr(%s): attr not found '%s'", Ve(e), o)), -1);
|
|
2560
2570
|
}
|
|
2561
2571
|
let _ = s.length;
|
|
2562
2572
|
for (let t = 0; t < _; t++) {
|
|
@@ -2567,77 +2577,77 @@
|
|
|
2567
2577
|
continue;
|
|
2568
2578
|
}
|
|
2569
2579
|
let o = e.jn_attrs;
|
|
2570
|
-
if (i in o && o.hasOwnProperty(i)) return o[i] = r,
|
|
2580
|
+
if (i in o && o.hasOwnProperty(i)) return o[i] = r, pn(e.priv) && e.priv.hasOwnProperty(i) && (e.priv[i] = r), e.obflag & w.obflag_created && !(e.obflag & w.obflag_destroyed) && e.mt_writing && e.mt_writing(e, i), 0;
|
|
2571
2581
|
break;
|
|
2572
2582
|
}
|
|
2573
|
-
return
|
|
2574
|
-
}, e.gobj_write_attrs = ct, e.gobj_write_bool_attr = ft, e.gobj_write_integer_attr = gt, e.gobj_write_str_attr = dt, e.gobj_yuno = Ce, e.gobj_yuno_id = Ue, e.gobj_yuno_name = Le, e.gobj_yuno_role = Pe, e.id_index_in_obj_list =
|
|
2583
|
+
return Ht(n("gobj_write_attr(%s): attr not found '%s'", Ve(e), i)), -1;
|
|
2584
|
+
}, e.gobj_write_attrs = ct, e.gobj_write_bool_attr = ft, e.gobj_write_integer_attr = gt, e.gobj_write_str_attr = dt, e.gobj_yuno = Ce, e.gobj_yuno_id = Ue, e.gobj_yuno_name = Le, e.gobj_yuno_role = Pe, e.id_index_in_obj_list = zn, e.index_in_list = ur, e.is_array = mn, e.is_boolean = hn, e.is_date = function(e) {
|
|
2575
2585
|
return e instanceof Date && !isNaN(e);
|
|
2576
|
-
}, e.is_function =
|
|
2577
|
-
if (!
|
|
2586
|
+
}, e.is_function = vn, e.is_gobj = jn, e.is_metadata_key = function(e) {
|
|
2587
|
+
if (!En(e)) return !1;
|
|
2578
2588
|
let t;
|
|
2579
2589
|
for (t = 0; t < e.length && "_" === e[t] && !(t > 2); t++);
|
|
2580
2590
|
return 2 === t;
|
|
2581
|
-
}, e.is_null =
|
|
2582
|
-
if (!
|
|
2591
|
+
}, e.is_null = yn, e.is_number = Tn, e.is_object = pn, e.is_private_key = function(e) {
|
|
2592
|
+
if (!En(e)) return !1;
|
|
2583
2593
|
let t;
|
|
2584
2594
|
for (t = 0; t < e.length && "_" === e[t] && !(t > 2); t++);
|
|
2585
2595
|
return 1 === t;
|
|
2586
2596
|
}, e.is_pure_number = function(e) {
|
|
2587
|
-
if (
|
|
2588
|
-
if (!
|
|
2597
|
+
if (Tn(e)) return !0;
|
|
2598
|
+
if (!En(e)) return !1;
|
|
2589
2599
|
const t = Number(e);
|
|
2590
2600
|
return !isNaN(t) && "" !== e.trim() && !isNaN(t);
|
|
2591
|
-
}, e.is_string =
|
|
2592
|
-
let o =
|
|
2593
|
-
if (!o) return
|
|
2594
|
-
if (
|
|
2601
|
+
}, e.is_string = En, e.jdb_delete = function(e, t, n, r) {
|
|
2602
|
+
let o = Fn(null, Fn(null, e, "topics", null, 0), t, null, 0);
|
|
2603
|
+
if (!o) return Ht("jdb_delete: topic not found: " + t), null;
|
|
2604
|
+
if (Sn(r.id)) return Ht("jdb_delete: record without id: " + r), Xt(r), null;
|
|
2595
2605
|
let i, l = n.split("`"), s = o;
|
|
2596
|
-
for (; (i = l.shift()) && !
|
|
2597
|
-
if (0 === l.length && s) if (
|
|
2598
|
-
let e =
|
|
2606
|
+
for (; (i = l.shift()) && !Sn(i) && s;) pn(s) && (s = Fn(null, s, e.hook, null, 0)), s = ir(s, null, i, !1);
|
|
2607
|
+
if (0 === l.length && s) if (mn(s)) {
|
|
2608
|
+
let e = zn(s, r.id);
|
|
2599
2609
|
e >= 0 && s.splice(e, 1);
|
|
2600
2610
|
} else {
|
|
2601
|
-
let t =
|
|
2611
|
+
let t = Fn(null, s, e.hook, null, 0), n = zn(t, r.id);
|
|
2602
2612
|
n >= 0 && t.splice(n, 1);
|
|
2603
2613
|
}
|
|
2604
2614
|
return o;
|
|
2605
2615
|
}, e.jdb_get = function(e, t, n, r) {
|
|
2606
|
-
let o =
|
|
2607
|
-
return o ? (void 0 === r && (r = !0),
|
|
2616
|
+
let o = Fn(null, Fn(null, e, "topics", null, 0), t, null, 0);
|
|
2617
|
+
return o ? (void 0 === r && (r = !0), ir(o, e.hook, n, r)) : (Ht("jdb_get: topic not found: " + t), null);
|
|
2608
2618
|
}, e.jdb_get_by_idx = function(e, t, n) {
|
|
2609
|
-
let r =
|
|
2610
|
-
return r ? n < r.length ? r[n] : {} : (
|
|
2619
|
+
let r = Fn(null, Fn(null, e, "topics", null, 0), t, null, 0);
|
|
2620
|
+
return r ? n < r.length ? r[n] : {} : (Ht("jdb_get_by_idx: topic not found: " + t), null);
|
|
2611
2621
|
}, e.jdb_get_topic = function(e, t) {
|
|
2612
|
-
let n =
|
|
2613
|
-
if (!n) return
|
|
2614
|
-
return
|
|
2622
|
+
let n = Fn(null, e, "topics", null, 0);
|
|
2623
|
+
if (!n) return Ht("jdb topics section not found"), Xt(e), null;
|
|
2624
|
+
return Fn(null, n, t, null, 0) || (Ht("jdb topic not found: " + t), Xt(n), null);
|
|
2615
2625
|
}, e.jdb_init = function(e, t, n) {
|
|
2616
|
-
n && (e =
|
|
2617
|
-
let r =
|
|
2618
|
-
|
|
2619
|
-
let o =
|
|
2620
|
-
return
|
|
2621
|
-
"__" !== t.substring(0, 2) &&
|
|
2626
|
+
n && (e = en(e));
|
|
2627
|
+
let r = Fn(null, e, "type", [], 1);
|
|
2628
|
+
Ln(null, e, "hook", "data", 1);
|
|
2629
|
+
let o = Fn(null, e, "schema", {}, 1), i = Fn(null, e, "topics", {}, 1);
|
|
2630
|
+
return or(o, function(e, t, n, o) {
|
|
2631
|
+
"__" !== t.substring(0, 2) && Fn(null, i, o, en(r), 1);
|
|
2622
2632
|
}, t), e;
|
|
2623
2633
|
}, e.jdb_update = function(e, t, n, r) {
|
|
2624
|
-
let o =
|
|
2625
|
-
if (!o) return
|
|
2626
|
-
if (
|
|
2634
|
+
let o = Fn(null, Fn(null, e, "topics", null, 0), t, null, 0);
|
|
2635
|
+
if (!o) return Ht("jdb_update: topic not found: " + t), null;
|
|
2636
|
+
if (Sn(r.id)) return Ht("jdb_update: record without id: " + r), Xt(r), null;
|
|
2627
2637
|
let i, l = n.split("`"), s = o;
|
|
2628
|
-
for (; (i = l.shift()) && !
|
|
2629
|
-
if (0 === l.length && s) if (
|
|
2638
|
+
for (; (i = l.shift()) && !Sn(i) && s;) pn(s) && (s = Fn(null, s, e.hook, [], 1)), s = ir(s, null, i, !1);
|
|
2639
|
+
if (0 === l.length && s) if (mn(s)) s.push(r);
|
|
2630
2640
|
else if (s.id === r.id) Object.assign(s, r);
|
|
2631
2641
|
else {
|
|
2632
|
-
let t =
|
|
2642
|
+
let t = Fn(null, s, e.hook, [], 1), n = ir(t, e.hook, r.id, !1);
|
|
2633
2643
|
n ? Object.assign(n, r) : t.push(r);
|
|
2634
2644
|
}
|
|
2635
2645
|
return o;
|
|
2636
|
-
}, e.json_array_append =
|
|
2646
|
+
}, e.json_array_append = un, e.json_array_append_new = cn, e.json_array_extend = function(e, t) {
|
|
2637
2647
|
return t ? (Array.prototype.push.apply(e, t), e) : e;
|
|
2638
|
-
}, e.json_array_remove =
|
|
2648
|
+
}, e.json_array_remove = fn, e.json_array_size = dn, e.json_deep_copy = en, e.json_is_identical = tn, e.json_object_del = sn, e.json_object_get = ln, e.json_object_set = _n, e.json_object_set_new = an, e.json_object_size = gn, e.json_object_update = nn, e.json_object_update_existing = rn, e.json_object_update_missing = on, e.json_size = bn, e.jwt2json = function(e, t) {
|
|
2639
2649
|
try {
|
|
2640
|
-
let n =
|
|
2650
|
+
let n = lr(e);
|
|
2641
2651
|
switch (t) {
|
|
2642
2652
|
case "header": return JSON.parse(n.header);
|
|
2643
2653
|
case "signature": return JSON.parse(n.signature);
|
|
@@ -2646,122 +2656,122 @@
|
|
|
2646
2656
|
} catch (e) {
|
|
2647
2657
|
return null;
|
|
2648
2658
|
}
|
|
2649
|
-
}, e.jwtDecode =
|
|
2650
|
-
if (e && !
|
|
2651
|
-
r || (r =
|
|
2659
|
+
}, e.jwtDecode = lr, e.kw_clone_by_keys = Kn, e.kw_clone_by_not_keys = xn, e.kw_collect = function(e, t, n, r) {
|
|
2660
|
+
if (e && !jn(e) && Ht("GObj bad instanceof"), !t) return null;
|
|
2661
|
+
r || (r = Wn);
|
|
2652
2662
|
let o = [];
|
|
2653
|
-
if (
|
|
2663
|
+
if (mn(t)) for (let e = 0; e < t.length; e++) {
|
|
2654
2664
|
let i = t[e];
|
|
2655
2665
|
r(i, n) && o.push(i);
|
|
2656
2666
|
}
|
|
2657
2667
|
else {
|
|
2658
|
-
if (!
|
|
2668
|
+
if (!pn(t)) return Ht("kw_select() BAD kw parameter"), null;
|
|
2659
2669
|
r(t, n) && o.push(t);
|
|
2660
2670
|
}
|
|
2661
2671
|
return o;
|
|
2662
|
-
}, e.kw_delete =
|
|
2663
|
-
if (!n || !
|
|
2664
|
-
for (let e = 0; e < t.length; e++) if (
|
|
2665
|
-
return r &&
|
|
2666
|
-
}, e.kw_find_path =
|
|
2667
|
-
e && !
|
|
2668
|
-
let i =
|
|
2672
|
+
}, e.kw_delete = In, e.kw_find_json_in_list = function(e, t, n, r) {
|
|
2673
|
+
if (!n || !mn(t)) return r && Ht("item NULL or kw_list is not a list"), -1;
|
|
2674
|
+
for (let e = 0; e < t.length; e++) if (tn(n, t[e])) return e;
|
|
2675
|
+
return r && Ht("item not found in this list"), -1;
|
|
2676
|
+
}, e.kw_find_path = kn, e.kw_flag_t = Lt, e.kw_get_bool = $n, e.kw_get_dict = Un, e.kw_get_dict_value = Fn, e.kw_get_int = Cn, e.kw_get_list = function(e, t, n, r, o) {
|
|
2677
|
+
e && !jn(e) && Ht("GObj bad instanceof");
|
|
2678
|
+
let i = kn(e, t, n, !1);
|
|
2669
2679
|
const l = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
|
|
2670
2680
|
if (void 0 === i) {
|
|
2671
2681
|
if (s) {
|
|
2672
2682
|
let o = Array(r);
|
|
2673
|
-
return
|
|
2683
|
+
return Gn(e, t, n, o), o;
|
|
2674
2684
|
}
|
|
2675
|
-
return l && (
|
|
2685
|
+
return l && (Ht(`path not found: '${n}'`), Zt(t)), Array(r);
|
|
2676
2686
|
}
|
|
2677
|
-
return _ &&
|
|
2678
|
-
}, e.kw_get_local_storage_value =
|
|
2679
|
-
e && !
|
|
2680
|
-
let i =
|
|
2687
|
+
return _ && In(e, t, n), mn(i) ? Array(i) : (l && (Ht(`path value MUST BE an array: ${n}`), Xt(t)), Array(r));
|
|
2688
|
+
}, e.kw_get_local_storage_value = Yn, e.kw_get_pointer = Pn, e.kw_get_real = function(e, t, n, r, o) {
|
|
2689
|
+
e && !jn(e) && Ht("GObj bad instanceof");
|
|
2690
|
+
let i = kn(e, t, n, !1);
|
|
2681
2691
|
const l = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
|
|
2682
2692
|
if (void 0 === i) {
|
|
2683
2693
|
if (s) {
|
|
2684
2694
|
let o = Number(r);
|
|
2685
|
-
return
|
|
2695
|
+
return Gn(e, t, n, o), o;
|
|
2686
2696
|
}
|
|
2687
|
-
return l && (
|
|
2697
|
+
return l && (Ht(`path not found: '${n}'`), Zt(t)), Number(r);
|
|
2688
2698
|
}
|
|
2689
|
-
return _ &&
|
|
2690
|
-
}, e.kw_get_str =
|
|
2691
|
-
if (e && !
|
|
2692
|
-
r || (r =
|
|
2699
|
+
return _ && In(e, t, n), Tn(i) ? Number(i) : (l && (Ht(`path value MUST BE a number: ${n}`), Xt(t)), Number(r));
|
|
2700
|
+
}, e.kw_get_str = Ln, e.kw_has_key = An, e.kw_match_simple = Wn, e.kw_pop = Dn, e.kw_remove_local_storage_value = Jn, e.kw_select = function(e, t, n, r) {
|
|
2701
|
+
if (e && !jn(e) && Ht("GObj bad instanceof"), !t) return null;
|
|
2702
|
+
r || (r = Wn);
|
|
2693
2703
|
let o = [];
|
|
2694
|
-
if (
|
|
2704
|
+
if (mn(t)) for (let e = 0; e < t.length; e++) {
|
|
2695
2705
|
let i = t[e];
|
|
2696
|
-
r(i, n) && o.push(
|
|
2706
|
+
r(i, n) && o.push(en(i));
|
|
2697
2707
|
}
|
|
2698
2708
|
else {
|
|
2699
|
-
if (!
|
|
2700
|
-
r(t, n) && o.push(
|
|
2709
|
+
if (!pn(t)) return Ht("kw_select() BAD kw parameter"), null;
|
|
2710
|
+
r(t, n) && o.push(en(t));
|
|
2701
2711
|
}
|
|
2702
2712
|
return o;
|
|
2703
|
-
}, e.kw_set_dict_value =
|
|
2704
|
-
e && !
|
|
2705
|
-
let i =
|
|
2713
|
+
}, e.kw_set_dict_value = Gn, e.kw_set_local_storage_value = Bn, e.kw_set_subdict_value = Vn, e.kwid_collect = Hn, e.kwid_find_one_record = function(e, t, n, r, o) {
|
|
2714
|
+
e && !jn(e) && Ht("GObj bad instanceof");
|
|
2715
|
+
let i = Hn(e, t, n, r, o);
|
|
2706
2716
|
return i.length > 0 ? i[0] : null;
|
|
2707
2717
|
}, e.kwid_get_ids = function(e, t) {
|
|
2708
|
-
if (e && !
|
|
2718
|
+
if (e && !jn(e) && Ht("GObj bad instanceof"), !t) return [];
|
|
2709
2719
|
let n = [];
|
|
2710
|
-
if (
|
|
2711
|
-
else if (
|
|
2712
|
-
else
|
|
2713
|
-
if (
|
|
2714
|
-
else if (
|
|
2715
|
-
let r =
|
|
2720
|
+
if (En(t)) n.push(t);
|
|
2721
|
+
else if (pn(t)) for (let e in t) t.hasOwnProperty(e) && n.push(e);
|
|
2722
|
+
else mn(t) && t.forEach(function(t) {
|
|
2723
|
+
if (En(t)) Sn(t) || n.push(t);
|
|
2724
|
+
else if (pn(t)) {
|
|
2725
|
+
let r = Ln(e, t, "id", 0, 0);
|
|
2716
2726
|
r && n.push(r);
|
|
2717
2727
|
}
|
|
2718
2728
|
});
|
|
2719
2729
|
return n;
|
|
2720
|
-
}, e.kwid_match_id =
|
|
2721
|
-
e && !
|
|
2730
|
+
}, e.kwid_match_id = qn, e.kwid_new_dict = function(e, t, n) {
|
|
2731
|
+
e && !jn(e) && Ht("GObj bad instanceof");
|
|
2722
2732
|
let r = {};
|
|
2723
|
-
if (
|
|
2724
|
-
else if (
|
|
2725
|
-
let o = t[n], i =
|
|
2726
|
-
|
|
2733
|
+
if (Sn(n) || (t = kn(e, t, n)), pn(t)) r = t;
|
|
2734
|
+
else if (mn(t)) for (let n = 0; n < t.length; n++) {
|
|
2735
|
+
let o = t[n], i = Ln(e, o, "id", "", 0);
|
|
2736
|
+
Sn(i) || (r[i] = o);
|
|
2727
2737
|
}
|
|
2728
|
-
else
|
|
2738
|
+
else Ht(`${Ve(e)} kwid_new_dict: data type unknown`);
|
|
2729
2739
|
return r;
|
|
2730
2740
|
}, e.list2options = function(e, t, n) {
|
|
2731
2741
|
t = t || "id", n = n || "value";
|
|
2732
2742
|
let r = [];
|
|
2733
|
-
if (
|
|
2743
|
+
if (mn(e)) for (let o = 0; o < e.length; o++) {
|
|
2734
2744
|
let i = e[o];
|
|
2735
|
-
if (
|
|
2745
|
+
if (En(i)) r.push({
|
|
2736
2746
|
id: e[o],
|
|
2737
2747
|
value: e[o]
|
|
2738
2748
|
});
|
|
2739
|
-
else if (
|
|
2749
|
+
else if (pn(i)) {
|
|
2740
2750
|
let e = {};
|
|
2741
|
-
if (
|
|
2742
|
-
if (!
|
|
2743
|
-
if (!(
|
|
2744
|
-
|
|
2751
|
+
if (An(i, t)) {
|
|
2752
|
+
if (!An(i, n)) {
|
|
2753
|
+
if (!(bn(i) > 0)) {
|
|
2754
|
+
Ht("list2options(): object without field value: " + n);
|
|
2745
2755
|
continue;
|
|
2746
2756
|
}
|
|
2747
2757
|
n = Object.keys(i)[0];
|
|
2748
2758
|
}
|
|
2749
2759
|
e.id = i[t], e.value = i[n];
|
|
2750
2760
|
} else {
|
|
2751
|
-
if (!(
|
|
2752
|
-
|
|
2761
|
+
if (!(bn(i) > 0)) {
|
|
2762
|
+
Ht("list2options(): object without field id: " + t);
|
|
2753
2763
|
continue;
|
|
2754
2764
|
}
|
|
2755
2765
|
t = Object.keys(i)[0], e.id = t, e.value = i[t];
|
|
2756
2766
|
}
|
|
2757
2767
|
r.push(e);
|
|
2758
|
-
} else
|
|
2768
|
+
} else Ht("list2options(): case1 not implemented");
|
|
2759
2769
|
}
|
|
2760
|
-
else if (
|
|
2770
|
+
else if (pn(e)) for (let t of Object.keys(e)) r.push({
|
|
2761
2771
|
id: t,
|
|
2762
2772
|
value: t
|
|
2763
2773
|
});
|
|
2764
|
-
else
|
|
2774
|
+
else Ht("list2options(): case2 not implemented");
|
|
2765
2775
|
return r;
|
|
2766
2776
|
}, e.load_json_file = function(e, t, n) {
|
|
2767
2777
|
let r = new XMLHttpRequest();
|
|
@@ -2769,18 +2779,18 @@
|
|
|
2769
2779
|
if (4 === r.readyState) if (200 === r.status || 0 === (e = r).status && e.responseText && e.responseURL.startsWith("file:")) try {
|
|
2770
2780
|
t(JSON.parse(r.responseText));
|
|
2771
2781
|
} catch (e) {
|
|
2772
|
-
n && (
|
|
2782
|
+
n && (Ht(`JSON parse status ${r.status}, error: ${e.message}`), n(r.status));
|
|
2773
2783
|
}
|
|
2774
2784
|
else n && n(r.status);
|
|
2775
2785
|
var e;
|
|
2776
2786
|
}, r.send();
|
|
2777
|
-
}, e.log_debug =
|
|
2778
|
-
let t =
|
|
2779
|
-
Gt &&
|
|
2780
|
-
}, e.log_warning =
|
|
2787
|
+
}, e.log_debug = Qt, e.log_error = Ht, e.log_info = function(e) {
|
|
2788
|
+
let t = qt(e), n = ar();
|
|
2789
|
+
Gt && xt("info", t) && Gt("%c" + n + " INFO: " + String(t), "color:cyan"), Bt("info", t, n);
|
|
2790
|
+
}, e.log_warning = zt, e.msg_iev_get_msg_type = rr, e.msg_iev_get_stack = tr, e.msg_iev_push_stack = er, e.msg_iev_read_key = Xn, e.msg_iev_set_msg_type = nr, e.msg_iev_write_key = Zn, e.node_uuid = cr, e.parseBoolean = On, e.parseSVG = function(e) {
|
|
2781
2791
|
return new DOMParser().parseFromString(e, "image/svg+xml").firstChild;
|
|
2782
2792
|
}, e.refresh_language = function(e, t) {
|
|
2783
|
-
|
|
2793
|
+
vn(t) ? (e || (e = document), e.querySelectorAll("[data-i18n]").forEach(function(e) {
|
|
2784
2794
|
let n = e.getAttribute("data-i18n");
|
|
2785
2795
|
for (let r of e.childNodes) if (r.nodeType === Node.TEXT_NODE) {
|
|
2786
2796
|
n || (n = r.nodeValue), r.nodeValue = t(n);
|
|
@@ -2795,25 +2805,25 @@
|
|
|
2795
2805
|
}), e.querySelectorAll("[data-i18n-placeholder]").forEach(function(e) {
|
|
2796
2806
|
let n = e.getAttribute("data-i18n-placeholder");
|
|
2797
2807
|
n && e.setAttribute("placeholder", t(n));
|
|
2798
|
-
})) :
|
|
2808
|
+
})) : Ht("You must supply a translation function");
|
|
2799
2809
|
}, e.register_c_ievent_cli = function() {
|
|
2800
2810
|
return function(e) {
|
|
2801
|
-
if (
|
|
2811
|
+
if (Lr) return Ht(`GClass ALREADY created: ${e}`), -1;
|
|
2802
2812
|
const t = [
|
|
2803
2813
|
["ST_DISCONNECTED", [
|
|
2804
2814
|
[
|
|
2805
2815
|
"EV_ON_OPEN",
|
|
2806
|
-
|
|
2816
|
+
Yr,
|
|
2807
2817
|
"ST_WAIT_IDENTITY_CARD_ACK"
|
|
2808
2818
|
],
|
|
2809
2819
|
[
|
|
2810
2820
|
"EV_ON_CLOSE",
|
|
2811
|
-
|
|
2821
|
+
Br,
|
|
2812
2822
|
null
|
|
2813
2823
|
],
|
|
2814
2824
|
[
|
|
2815
2825
|
"EV_TIMEOUT",
|
|
2816
|
-
|
|
2826
|
+
xr,
|
|
2817
2827
|
null
|
|
2818
2828
|
],
|
|
2819
2829
|
[
|
|
@@ -2825,22 +2835,22 @@
|
|
|
2825
2835
|
["ST_WAIT_IDENTITY_CARD_ACK", [
|
|
2826
2836
|
[
|
|
2827
2837
|
"EV_ON_MESSAGE",
|
|
2828
|
-
|
|
2838
|
+
Hr,
|
|
2829
2839
|
null
|
|
2830
2840
|
],
|
|
2831
2841
|
[
|
|
2832
2842
|
"EV_IDENTITY_CARD_ACK",
|
|
2833
|
-
|
|
2843
|
+
qr,
|
|
2834
2844
|
null
|
|
2835
2845
|
],
|
|
2836
2846
|
[
|
|
2837
2847
|
"EV_ON_CLOSE",
|
|
2838
|
-
|
|
2848
|
+
Br,
|
|
2839
2849
|
"ST_DISCONNECTED"
|
|
2840
2850
|
],
|
|
2841
2851
|
[
|
|
2842
2852
|
"EV_TIMEOUT",
|
|
2843
|
-
|
|
2853
|
+
Jr,
|
|
2844
2854
|
null
|
|
2845
2855
|
],
|
|
2846
2856
|
[
|
|
@@ -2852,22 +2862,22 @@
|
|
|
2852
2862
|
["ST_SESSION", [
|
|
2853
2863
|
[
|
|
2854
2864
|
"EV_ON_MESSAGE",
|
|
2855
|
-
|
|
2865
|
+
Hr,
|
|
2856
2866
|
null
|
|
2857
2867
|
],
|
|
2858
2868
|
[
|
|
2859
2869
|
"EV_MT_STATS",
|
|
2860
|
-
|
|
2870
|
+
zr,
|
|
2861
2871
|
null
|
|
2862
2872
|
],
|
|
2863
2873
|
[
|
|
2864
2874
|
"EV_MT_COMMAND",
|
|
2865
|
-
|
|
2875
|
+
Qr,
|
|
2866
2876
|
null
|
|
2867
2877
|
],
|
|
2868
2878
|
[
|
|
2869
2879
|
"EV_ON_CLOSE",
|
|
2870
|
-
|
|
2880
|
+
Br,
|
|
2871
2881
|
"ST_DISCONNECTED"
|
|
2872
2882
|
],
|
|
2873
2883
|
[
|
|
@@ -2878,7 +2888,7 @@
|
|
|
2878
2888
|
]],
|
|
2879
2889
|
[null, null]
|
|
2880
2890
|
];
|
|
2881
|
-
return (
|
|
2891
|
+
return (Lr = te(e, [
|
|
2882
2892
|
["EV_ON_MESSAGE", D.EVF_OUTPUT_EVENT],
|
|
2883
2893
|
["EV_IDENTITY_CARD_ACK", D.EVF_PUBLIC_EVENT],
|
|
2884
2894
|
["EV_ON_ID_NAK", D.EVF_PUBLIC_EVENT | D.EVF_OUTPUT_EVENT],
|
|
@@ -2889,36 +2899,36 @@
|
|
|
2889
2899
|
["EV_ON_OPEN_ERROR", D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS],
|
|
2890
2900
|
["EV_TIMEOUT", 0],
|
|
2891
2901
|
[null, 0]
|
|
2892
|
-
], t,
|
|
2902
|
+
], t, Xr, 0, $r, Cr, 0, 0, 0, N.gcflag_no_check_output_events)) ? 0 : -1;
|
|
2893
2903
|
}("C_IEVENT_CLI");
|
|
2894
2904
|
}, e.register_c_timer = function() {
|
|
2895
2905
|
return function(e) {
|
|
2896
|
-
if (
|
|
2906
|
+
if (yr) return Ht(`GClass ALREADY created: ${e}`), -1;
|
|
2897
2907
|
const t = [["ST_IDLE", [[
|
|
2898
2908
|
"EV_TIMEOUT",
|
|
2899
|
-
|
|
2909
|
+
vr,
|
|
2900
2910
|
null
|
|
2901
2911
|
]]]];
|
|
2902
|
-
return (
|
|
2912
|
+
return (yr = te(e, [
|
|
2903
2913
|
["EV_TIMEOUT", D.EVF_OUTPUT_EVENT],
|
|
2904
2914
|
["EV_TIMEOUT_PERIODIC", D.EVF_OUTPUT_EVENT],
|
|
2905
2915
|
[0, 0]
|
|
2906
|
-
], t,
|
|
2916
|
+
], t, jr, 0, Tr, hr, 0, 0, 0, N.gcflag_manual_start)) ? 0 : -1;
|
|
2907
2917
|
}("C_TIMER");
|
|
2908
2918
|
}, e.register_c_yuno = function() {
|
|
2909
2919
|
return function(e) {
|
|
2910
|
-
if (
|
|
2920
|
+
if (Dr) return Ht(`GClass ALREADY created: ${e}`), -1;
|
|
2911
2921
|
const t = [["ST_IDLE", [[
|
|
2912
2922
|
"EV_TIMEOUT_PERIODIC",
|
|
2913
|
-
|
|
2923
|
+
Ar,
|
|
2914
2924
|
null
|
|
2915
2925
|
]]]];
|
|
2916
|
-
return (
|
|
2926
|
+
return (Dr = te(e, [["EV_TIMEOUT_PERIODIC", D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS], [0, 0]], t, kr, 0, Rr, wr, 0, 0, 0, 0)) ? 0 : -1;
|
|
2917
2927
|
}("C_YUNO");
|
|
2918
2928
|
}, e.safeSrc = function(e) {
|
|
2919
2929
|
if (!e) return "";
|
|
2920
2930
|
const t = String(e).trim();
|
|
2921
|
-
return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" :
|
|
2931
|
+
return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : sr(t);
|
|
2922
2932
|
}, e.sdata_flag_t = h, e.send_http_json_post = function(e, t, n) {
|
|
2923
2933
|
let r = new XMLHttpRequest();
|
|
2924
2934
|
r.open("POST", e), r.setRequestHeader("Accept", "application/json"), r.setRequestHeader("Content-Type", "application/json"), r.onreadystatechange = function() {
|
|
@@ -2926,15 +2936,17 @@
|
|
|
2926
2936
|
}, r.send(t);
|
|
2927
2937
|
}, e.set_console_log_enabled = function(e) {
|
|
2928
2938
|
Wt = !!e;
|
|
2939
|
+
}, e.set_console_log_filter = function(e) {
|
|
2940
|
+
Kt = "function" == typeof e ? e : null;
|
|
2929
2941
|
}, e.set_log_callback = function(e) {
|
|
2930
2942
|
Mt = "function" == typeof e ? e : null;
|
|
2931
|
-
}, e.set_remote_log_functions =
|
|
2943
|
+
}, e.set_remote_log_functions = Jt, e.set_timeout = Sr, e.set_timeout_periodic = Or, e.sprintf = n, e.stats_parser = function(e, t, n, r) {}, e.str_in_list = Qn, e.strcasecmp = Rn, e.strcmp = Nn, e.strncmp = function(e, t, n) {
|
|
2932
2944
|
var r = (e + "").substring(0, n), o = (t + "").substring(0, n);
|
|
2933
2945
|
return r === o ? 0 : r > o ? 1 : -1;
|
|
2934
2946
|
}, e.strs_in_list = function(e, t, n) {
|
|
2935
|
-
if (!e) return
|
|
2936
|
-
if (!t) return
|
|
2937
|
-
for (let r = 0; r < t.length; r++) if (
|
|
2947
|
+
if (!e) return Ht("ERROR: strs_in_list() list empty"), !1;
|
|
2948
|
+
if (!t) return Ht("ERROR: strs_in_list() str empty"), !1;
|
|
2949
|
+
for (let r = 0; r < t.length; r++) if (Qn(e, t[r], n)) return !0;
|
|
2938
2950
|
return !1;
|
|
2939
2951
|
}, e.strstr = function(e, t, n) {
|
|
2940
2952
|
var r;
|
|
@@ -2953,13 +2965,13 @@
|
|
|
2953
2965
|
placeholder: void 0,
|
|
2954
2966
|
fkey: null
|
|
2955
2967
|
};
|
|
2956
|
-
if (
|
|
2968
|
+
if (En(t)) {
|
|
2957
2969
|
let e = t.split(".");
|
|
2958
2970
|
for (let t = 0; t < e.length; t++) {
|
|
2959
2971
|
let r = e[t];
|
|
2960
|
-
if (
|
|
2961
|
-
else if (
|
|
2962
|
-
else if (
|
|
2972
|
+
if (Qn(br, r)) n.real_type || (n.real_type = r);
|
|
2973
|
+
else if (Qn(mr, r)) n.type || (n.type = r);
|
|
2974
|
+
else if (Qn(pr, r)) switch (r) {
|
|
2963
2975
|
case "writable":
|
|
2964
2976
|
n.is_writable = !0;
|
|
2965
2977
|
break;
|
|
@@ -2971,23 +2983,23 @@
|
|
|
2971
2983
|
}
|
|
2972
2984
|
}
|
|
2973
2985
|
n.real_type || (n.real_type = "string");
|
|
2974
|
-
} else
|
|
2986
|
+
} else pn(t) ? (n = Er(t), n.name || (n.name = e), n.header || (n.header = e)) : mn(t) && (n.real_type = "array", n.enum_list = t);
|
|
2975
2987
|
return n.type || (n.type = n.real_type), n;
|
|
2976
2988
|
}, e.timeTracker = function(e = "Time Tracker", t = !1) {
|
|
2977
2989
|
const n = e, r = performance.now();
|
|
2978
2990
|
let o = r;
|
|
2979
|
-
return t &&
|
|
2991
|
+
return t && zt(`--\x3e ${n} - starting`), { mark: (e = "Intermediate", i = "") => {
|
|
2980
2992
|
const l = performance.now(), s = (l - o) / 1e3, _ = (l - r) / 1e3;
|
|
2981
|
-
return t &&
|
|
2993
|
+
return t && zt(`--\x3e ${n} ${e} - partial: ${s} sec, total: ${_} sec, ${i}`), o = l, {
|
|
2982
2994
|
partial: s,
|
|
2983
2995
|
total: _
|
|
2984
2996
|
};
|
|
2985
2997
|
} };
|
|
2986
|
-
}, e.trace_json =
|
|
2987
|
-
if (
|
|
2998
|
+
}, e.trace_json = Zt, e.trace_level_t = P, e.trace_msg = Xt, e.treedb_decoder_fkey = dr, e.treedb_decoder_hook = function(e, t) {
|
|
2999
|
+
if (En(t)) {
|
|
2988
3000
|
if (-1 === t.indexOf("^")) {
|
|
2989
3001
|
let n, r = e.hook;
|
|
2990
|
-
if (1 !==
|
|
3002
|
+
if (1 !== gn(r)) return Ht("bad hook 1"), Ht(e), Ht(t), null;
|
|
2991
3003
|
for (let e of Object.keys(r)) {
|
|
2992
3004
|
n = e, r[e];
|
|
2993
3005
|
break;
|
|
@@ -2999,25 +3011,25 @@
|
|
|
2999
3011
|
}
|
|
3000
3012
|
{
|
|
3001
3013
|
let n = t.split("^");
|
|
3002
|
-
return 2 !== n.length ? (
|
|
3014
|
+
return 2 !== n.length ? (Ht("bad hook 2"), Ht(e), Ht(t), null) : {
|
|
3003
3015
|
topic_name: n[0],
|
|
3004
3016
|
id: n[1]
|
|
3005
3017
|
};
|
|
3006
3018
|
}
|
|
3007
3019
|
}
|
|
3008
|
-
return
|
|
3020
|
+
return pn(t) ? {
|
|
3009
3021
|
topic_name: t.topic_name,
|
|
3010
3022
|
id: t.id
|
|
3011
|
-
} : (
|
|
3023
|
+
} : (Ht("bad hook 3"), Ht(e), Ht(t), null);
|
|
3012
3024
|
}, e.treedb_encoder_fkey = function(e, t) {
|
|
3013
|
-
let n =
|
|
3025
|
+
let n = dr(e, t);
|
|
3014
3026
|
return n ? n.topic_name + "^" + n.id + "^" + n.hook_name : null;
|
|
3015
|
-
}, e.treedb_get_field_desc =
|
|
3016
|
-
if (
|
|
3027
|
+
}, e.treedb_get_field_desc = Er, e.treedb_hook_data_size = function(e) {
|
|
3028
|
+
if (mn(e) && 1 === bn(e)) {
|
|
3017
3029
|
let t = e[0];
|
|
3018
|
-
return
|
|
3030
|
+
return An(t, "size") ? t.size : 1;
|
|
3019
3031
|
}
|
|
3020
|
-
return
|
|
3032
|
+
return bn(e);
|
|
3021
3033
|
}, e.vsprintf = function(e, t) {
|
|
3022
3034
|
return n.apply(null, [e].concat(t || []));
|
|
3023
3035
|
}, e.walk_type_t = A;
|