@yuneta/gobj-js 7.26.10 → 7.26.12
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/dist/gobj-js.cjs.js +29 -15
- package/dist/gobj-js.cjs.js.map +1 -1
- package/dist/gobj-js.cjs.min.js +190 -187
- package/dist/gobj-js.cjs.min.js.map +1 -1
- package/dist/gobj-js.es.js +29 -15
- package/dist/gobj-js.es.js.map +1 -1
- package/dist/gobj-js.es.min.js +173 -170
- package/dist/gobj-js.es.min.js.map +1 -1
- package/dist/gobj-js.iife.js +29 -15
- package/dist/gobj-js.iife.js.map +1 -1
- package/dist/gobj-js.iife.min.js +234 -231
- package/dist/gobj-js.iife.min.js.map +1 -1
- package/dist/gobj-js.umd.js +29 -15
- package/dist/gobj-js.umd.js.map +1 -1
- package/dist/gobj-js.umd.min.js +98 -95
- package/dist/gobj-js.umd.min.js.map +1 -1
- package/package.json +1 -1
package/dist/gobj-js.iife.min.js
CHANGED
|
@@ -130,7 +130,7 @@ var gobjJs = function(e) {
|
|
|
130
130
|
data: l || []
|
|
131
131
|
};
|
|
132
132
|
}
|
|
133
|
-
var s = "7.0.0a", i = null, _ = null, a = null, u = null, c = null, f = null, g = [], d = Object.create(null), b = Object.create(null), p = null, m = null, h = 0,
|
|
133
|
+
var s = "7.0.0a", i = null, _ = null, a = null, u = null, c = null, f = null, g = [], d = Object.create(null), b = Object.create(null), p = null, m = null, h = 0, y = Object.freeze({
|
|
134
134
|
DTP_STRING: 1,
|
|
135
135
|
DTP_BOOLEAN: 2,
|
|
136
136
|
DTP_INTEGER: 3,
|
|
@@ -140,8 +140,8 @@ var gobjJs = function(e) {
|
|
|
140
140
|
DTP_JSON: 7,
|
|
141
141
|
DTP_POINTER: 8
|
|
142
142
|
});
|
|
143
|
-
|
|
144
|
-
var
|
|
143
|
+
y.DTP_POINTER;
|
|
144
|
+
var E = Object.freeze({
|
|
145
145
|
SDF_NOTACCESS: 1,
|
|
146
146
|
SDF_RD: 2,
|
|
147
147
|
SDF_WR: 4,
|
|
@@ -164,7 +164,7 @@ var gobjJs = function(e) {
|
|
|
164
164
|
SDF_AUTHZ_S: 524288,
|
|
165
165
|
SDF_AUTHZ_RS: 1048576
|
|
166
166
|
});
|
|
167
|
-
|
|
167
|
+
E.SDF_RD, E.SDF_WR, E.SDF_STATS, E.SDF_PERSIST, E.SDF_VOLATIL, E.SDF_RSTATS, E.SDF_PSTATS, E.SDF_WR, E.SDF_PERSIST;
|
|
168
168
|
var T = class {
|
|
169
169
|
constructor(e, t, n = 0, r = null, l = "", o = null, s = null, i = 0, _ = null, a = null, u = null) {
|
|
170
170
|
this.type = e, this.name = t, this.alias = o, this.flag = n, this.default_value = r, this.header = s, this.fillspace = i, this.description = l, this.json_fn = _, this.schema = a, this.authpth = u;
|
|
@@ -191,11 +191,11 @@ var gobjJs = function(e) {
|
|
|
191
191
|
gobj_flag_pure_child: 16,
|
|
192
192
|
gobj_flag_autostart: 32,
|
|
193
193
|
gobj_flag_autoplay: 64
|
|
194
|
-
}),
|
|
194
|
+
}), $ = Object.freeze({
|
|
195
195
|
obflag_destroying: 1,
|
|
196
196
|
obflag_destroyed: 2,
|
|
197
197
|
obflag_created: 4
|
|
198
|
-
}),
|
|
198
|
+
}), R = Object.freeze({
|
|
199
199
|
EVF_NO_WARN_SUBS: 1,
|
|
200
200
|
EVF_OUTPUT_EVENT: 2,
|
|
201
201
|
EVF_SYSTEM_EVENT: 4,
|
|
@@ -221,7 +221,7 @@ var gobjJs = function(e) {
|
|
|
221
221
|
};
|
|
222
222
|
var C = 1;
|
|
223
223
|
function L(e) {
|
|
224
|
-
Zn(e) && (e = JSON.stringify(e)),
|
|
224
|
+
Zn(e) && (e = JSON.stringify(e)), En(" ".repeat(Math.max(1, 2 * h)) + String(e));
|
|
225
225
|
}
|
|
226
226
|
var P = Object.freeze({
|
|
227
227
|
TRACE_MACHINE: 65536,
|
|
@@ -425,19 +425,19 @@ var gobjJs = function(e) {
|
|
|
425
425
|
function ae(e, t, n) {
|
|
426
426
|
let r, l = n.default_value;
|
|
427
427
|
switch (n.type) {
|
|
428
|
-
case
|
|
428
|
+
case y.DTP_STRING:
|
|
429
429
|
r = String(l);
|
|
430
430
|
break;
|
|
431
|
-
case
|
|
431
|
+
case y.DTP_BOOLEAN:
|
|
432
432
|
r = _r(l);
|
|
433
433
|
break;
|
|
434
|
-
case
|
|
434
|
+
case y.DTP_INTEGER:
|
|
435
435
|
r = parseInt(l), isNaN(r) && hn(`${et(e)}: attr NaN: ${n.name}`);
|
|
436
436
|
break;
|
|
437
|
-
case
|
|
437
|
+
case y.DTP_REAL:
|
|
438
438
|
r = Number(l), isNaN(r) && hn(`${et(e)}: attr NaN: ${n.name}`);
|
|
439
439
|
break;
|
|
440
|
-
case
|
|
440
|
+
case y.DTP_LIST:
|
|
441
441
|
if (tr(l)) try {
|
|
442
442
|
r = JSON.parse(l);
|
|
443
443
|
} catch (e) {
|
|
@@ -446,7 +446,7 @@ var gobjJs = function(e) {
|
|
|
446
446
|
else r = l;
|
|
447
447
|
er(r) || (r = []);
|
|
448
448
|
break;
|
|
449
|
-
case
|
|
449
|
+
case y.DTP_DICT:
|
|
450
450
|
if (tr(l)) try {
|
|
451
451
|
r = JSON.parse(l);
|
|
452
452
|
} catch (e) {
|
|
@@ -455,7 +455,7 @@ var gobjJs = function(e) {
|
|
|
455
455
|
else r = l;
|
|
456
456
|
Zn(r) || (r = {});
|
|
457
457
|
break;
|
|
458
|
-
case
|
|
458
|
+
case y.DTP_JSON:
|
|
459
459
|
if ("" === l || void 0 === l) r = null;
|
|
460
460
|
else if (tr(l)) try {
|
|
461
461
|
r = JSON.parse(l);
|
|
@@ -464,14 +464,14 @@ var gobjJs = function(e) {
|
|
|
464
464
|
}
|
|
465
465
|
else r = l;
|
|
466
466
|
break;
|
|
467
|
-
case
|
|
467
|
+
case y.DTP_POINTER: r = l;
|
|
468
468
|
}
|
|
469
469
|
return void 0 === r && (hn(`default_value WRONG, it: ${n.name}, value: ${n.default_value}`), r = null), t[n.name] = r, 0;
|
|
470
470
|
}
|
|
471
471
|
function ue(e, t, n, r) {
|
|
472
472
|
let l;
|
|
473
473
|
switch (n.type) {
|
|
474
|
-
case
|
|
474
|
+
case y.DTP_STRING:
|
|
475
475
|
if (null == r) l = "";
|
|
476
476
|
else if (tr(r)) l = String(r);
|
|
477
477
|
else {
|
|
@@ -479,16 +479,16 @@ var gobjJs = function(e) {
|
|
|
479
479
|
e && (l = String(e));
|
|
480
480
|
}
|
|
481
481
|
break;
|
|
482
|
-
case
|
|
482
|
+
case y.DTP_BOOLEAN:
|
|
483
483
|
l = _r(r);
|
|
484
484
|
break;
|
|
485
|
-
case
|
|
485
|
+
case y.DTP_INTEGER:
|
|
486
486
|
if (l = parseInt(r), isNaN(l)) return hn(`${et(e)}: attr NaN: ${n.name}`), -1;
|
|
487
487
|
break;
|
|
488
|
-
case
|
|
488
|
+
case y.DTP_REAL:
|
|
489
489
|
if (l = Number(r), isNaN(l)) return hn(`${et(e)}: attr NaN: ${n.name}`), -1;
|
|
490
490
|
break;
|
|
491
|
-
case
|
|
491
|
+
case y.DTP_LIST:
|
|
492
492
|
if (tr(r)) try {
|
|
493
493
|
l = JSON.parse(r);
|
|
494
494
|
} catch (e) {
|
|
@@ -497,7 +497,7 @@ var gobjJs = function(e) {
|
|
|
497
497
|
else l = r;
|
|
498
498
|
if (!er(l)) return hn(`attr must be an array: ${n.name}`), -1;
|
|
499
499
|
break;
|
|
500
|
-
case
|
|
500
|
+
case y.DTP_DICT:
|
|
501
501
|
if (tr(r)) try {
|
|
502
502
|
l = JSON.parse(r);
|
|
503
503
|
} catch (e) {
|
|
@@ -506,7 +506,7 @@ var gobjJs = function(e) {
|
|
|
506
506
|
else l = r;
|
|
507
507
|
if (!Zn(l)) return hn(`attr must be an object: ${n.name}`), -1;
|
|
508
508
|
break;
|
|
509
|
-
case
|
|
509
|
+
case y.DTP_JSON:
|
|
510
510
|
if (l = r, tr(r)) {
|
|
511
511
|
const e = r.trim();
|
|
512
512
|
if (e.startsWith("{") || e.startsWith("[")) try {
|
|
@@ -516,9 +516,9 @@ var gobjJs = function(e) {
|
|
|
516
516
|
}
|
|
517
517
|
}
|
|
518
518
|
break;
|
|
519
|
-
case
|
|
519
|
+
case y.DTP_POINTER: l = r;
|
|
520
520
|
}
|
|
521
|
-
return void 0 === l && hn(`${et(e)}: attr undefined: ${n.name}`), t[n.name] = l, Zn(e.priv) && Object.prototype.hasOwnProperty.call(e.priv, n.name) && (e.priv[n.name] = l), e.obflag &
|
|
521
|
+
return void 0 === l && hn(`${et(e)}: attr undefined: ${n.name}`), t[n.name] = l, Zn(e.priv) && Object.prototype.hasOwnProperty.call(e.priv, n.name) && (e.priv[n.name] = l), e.obflag & $.obflag_created && !(e.obflag & $.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, n.name), 0;
|
|
522
522
|
}
|
|
523
523
|
function ce(e) {
|
|
524
524
|
return e.jn_attrs;
|
|
@@ -551,7 +551,7 @@ var gobjJs = function(e) {
|
|
|
551
551
|
const l = r.length;
|
|
552
552
|
for (let e = 0; e < l; e++) {
|
|
553
553
|
let n = r[e][0], l = r[e][1], o = r[e][2];
|
|
554
|
-
ir(n) ||
|
|
554
|
+
ir(n) || ye(c, t, n, l, o);
|
|
555
555
|
}
|
|
556
556
|
}
|
|
557
557
|
for (let e = 0; e < t.length; e++) {
|
|
@@ -596,17 +596,17 @@ var gobjJs = function(e) {
|
|
|
596
596
|
function he(e, t) {
|
|
597
597
|
return e instanceof O ? pe(e, t) ? (hn(`state already exists: ${t}`), -1) : (e.dl_states.push(new A(t)), 0) : (hn("Cannot add state, typeof not GClass"), -1);
|
|
598
598
|
}
|
|
599
|
-
function
|
|
599
|
+
function ye(e, t, n, r, l) {
|
|
600
600
|
if (!(e instanceof O)) return hn("Cannot add state, typeof not GClass"), -1;
|
|
601
601
|
if (ir(t)) return hn("state_name EMPTY"), -1;
|
|
602
602
|
let o = pe(e, t);
|
|
603
603
|
return o ? me(o, n) ? (hn(`event already exists: gclass ${e.gclass_name}, state ${t}, event ${n}`), -1) : (o.dl_actions.push(new k(n, r, l)), 0) : (hn(`state not found: ${t}`), -1);
|
|
604
604
|
}
|
|
605
|
-
function
|
|
605
|
+
function Ee(e, t, n) {
|
|
606
606
|
ir(t) || e.push(new I(t, n));
|
|
607
607
|
}
|
|
608
608
|
function Te(e, t, n) {
|
|
609
|
-
return e instanceof O ?
|
|
609
|
+
return e instanceof O ? Ee(e.dl_events, t, n) : (hn("Cannot add state, typeof not GClass"), -1);
|
|
610
610
|
}
|
|
611
611
|
function ve(e, t) {
|
|
612
612
|
if (!(e instanceof O)) return hn("Cannot add state, typeof not GClass"), 0;
|
|
@@ -630,7 +630,7 @@ var gobjJs = function(e) {
|
|
|
630
630
|
}
|
|
631
631
|
for (let n = 0; n < e.dl_events.length; n++) {
|
|
632
632
|
let r = e.dl_events[n];
|
|
633
|
-
if (!ir(r.event_name) && (nr(r.event_flag) || (hn(`SMachine: event flag is NOT number: gclass ${e.gclass_name}, event ${r.event_name}`), t += -1), !(r.event_flag &
|
|
633
|
+
if (!ir(r.event_name) && (nr(r.event_flag) || (hn(`SMachine: event flag is NOT number: gclass ${e.gclass_name}, event ${r.event_name}`), t += -1), !(r.event_flag & R.EVF_OUTPUT_EVENT))) {
|
|
634
634
|
let n = !1;
|
|
635
635
|
for (let t = 0; t < e.dl_states.length; t++) {
|
|
636
636
|
let l = e.dl_states[t];
|
|
@@ -649,7 +649,7 @@ var gobjJs = function(e) {
|
|
|
649
649
|
return n || (t && hn(`gclass not found: ${e}`), null);
|
|
650
650
|
}
|
|
651
651
|
function Se() {
|
|
652
|
-
return !m || m.obflag &
|
|
652
|
+
return !m || m.obflag & $.obflag_destroyed ? null : m;
|
|
653
653
|
}
|
|
654
654
|
function we(e, t) {
|
|
655
655
|
if (!tr(e)) return hn(`gobj_find_service(): service name must be a string: ${e}`), null;
|
|
@@ -660,10 +660,10 @@ var gobjJs = function(e) {
|
|
|
660
660
|
let t = Xe(e);
|
|
661
661
|
return t = t.toLowerCase(), b[t] && hn(`service ALREADY REGISTERED: ${t}. Will be UPDATED`), b[t] = e, 0;
|
|
662
662
|
}
|
|
663
|
-
function
|
|
663
|
+
function $e(e, t) {
|
|
664
664
|
t.parent && hn(`_add_child() ALREADY HAS PARENT: ${t.gobj_name}`), e.dl_children.push(t), t.parent = e;
|
|
665
665
|
}
|
|
666
|
-
function
|
|
666
|
+
function Re(e, t) {
|
|
667
667
|
let n = tl(e.dl_children, t);
|
|
668
668
|
n >= 0 && (Hn(e.dl_children, n), t.parent = null);
|
|
669
669
|
}
|
|
@@ -680,7 +680,7 @@ var gobjJs = function(e) {
|
|
|
680
680
|
let o = 0;
|
|
681
681
|
for (const [s, i] of Object.entries(t)) {
|
|
682
682
|
const t = ge(l.gclass, s, !1);
|
|
683
|
-
t ? (-1 === n || t.flag & n) && (t.flag &
|
|
683
|
+
t ? (-1 === n || t.flag & n) && (t.flag & E.SDF_DEPRECATED && yn(`${et(l)}: Deprecated attribute used in gobj creation: ${s}`), o += ue(l, e, t, i)) : r && (r(l, s), o--);
|
|
684
684
|
}
|
|
685
685
|
return o;
|
|
686
686
|
})(ce(e), r, -1, e.gclass.gclass_flag & w.gcflag_ignore_unknown_attrs ? 0 : ke, e) < 0 && (hn(`${et(e)} json2data() FAILED`), Un(r));
|
|
@@ -694,7 +694,7 @@ var gobjJs = function(e) {
|
|
|
694
694
|
if (!("string" == typeof l || l instanceof S)) return hn(`BAD TYPE of parent: ${l}`), null;
|
|
695
695
|
if (tr(l)) {
|
|
696
696
|
const e = l;
|
|
697
|
-
if (!(l = we(e))) return
|
|
697
|
+
if (!(l = we(e))) return yn(`parent service not found: ${e}`), null;
|
|
698
698
|
}
|
|
699
699
|
}
|
|
700
700
|
if (o & N.gobj_flag_service && we(e, !1)) return hn(`service ALREADY registered: ${t}^${e}`), null;
|
|
@@ -714,14 +714,14 @@ var gobjJs = function(e) {
|
|
|
714
714
|
_.jn_attrs = _e(_, s.attrs_table);
|
|
715
715
|
for (const [e, t] of Object.entries(_.jn_attrs)) e in _.priv && (_.priv[e] = t);
|
|
716
716
|
let a = Y(_);
|
|
717
|
-
return a && L(n("💙💙⏩ creating: %s^%s", s.gclass_name, e)), _.gobj_flag & N.gobj_flag_service && Ne(_), _.gobj_flag & N.gobj_flag_yuno && (p = _), _.gobj_flag & N.gobj_flag_default_service && (m = _), _.gobj_flag & N.gobj_flag_yuno ||
|
|
717
|
+
return a && L(n("💙💙⏩ creating: %s^%s", s.gclass_name, e)), _.gobj_flag & N.gobj_flag_service && Ne(_), _.gobj_flag & N.gobj_flag_yuno && (p = _), _.gobj_flag & N.gobj_flag_default_service && (m = _), _.gobj_flag & N.gobj_flag_yuno || $e(l, _), _.obflag |= $.obflag_created, _.gclass.instances++, Ae(_, r), _.gobj_flag & N.gobj_flag_service && i && i(_, null), _.gclass.gmt.mt_create2 ? _.gclass.gmt.mt_create2(_, r) : _.gclass.gmt.mt_create && _.gclass.gmt.mt_create(_), l && l.gclass.gmt.mt_child_added && (a && L(n("👦👦🔵 child_added(%s): %s", tt(l), et(_))), l.gclass.gmt.mt_child_added(l, _)), a && L(n("💙💙⏪ created: %s", tt(_))), _;
|
|
718
718
|
}
|
|
719
719
|
function Ce(e, t, n, r) {
|
|
720
720
|
return Ie(e, t, n, r, N.gobj_flag_pure_child);
|
|
721
721
|
}
|
|
722
722
|
function Le(e) {
|
|
723
723
|
if (ot(e)) return void hn("gobj NULL or DESTROYED");
|
|
724
|
-
e.__refs__ > 0 && hn(`${et(e)}: gobj DESTROYING with references: ${e.__refs__}`), e.playing && (hn(`Destroying a PLAYING gobj: ${tt(e)}`), xe(e)), e.running && (hn(`Destroying a RUNNING gobj: ${tt(e)}`), Ve(e)), e.obflag |=
|
|
724
|
+
e.__refs__ > 0 && hn(`${et(e)}: gobj DESTROYING with references: ${e.__refs__}`), e.playing && (hn(`Destroying a PLAYING gobj: ${tt(e)}`), xe(e)), e.running && (hn(`Destroying a RUNNING gobj: ${tt(e)}`), Ve(e)), e.obflag |= $.obflag_destroying, function(e) {
|
|
725
725
|
if (0 === Lt.length) return;
|
|
726
726
|
for (let t of Lt) t.src === e && (t.src = null);
|
|
727
727
|
Lt = Lt.filter((t) => t.dst !== e);
|
|
@@ -732,13 +732,13 @@ var gobjJs = function(e) {
|
|
|
732
732
|
r && r.gclass.gmt.mt_child_removed && (t && L(n("👦👦🔴 child_removed(%s): %s", tt(r), et(e))), r.gclass.gmt.mt_child_removed(r, e)), e.gobj_flag & N.gobj_flag_service && function(e) {
|
|
733
733
|
let t = Xe(e);
|
|
734
734
|
t = t.toLowerCase(), b[t] ? delete b[t] : hn(`"service NOT found in register": ${t}`);
|
|
735
|
-
}(e), e === m && (m = null), Ht(e, e.dl_subscriptions, !0), Ht(e, e.dl_subscribings, !0), r && (
|
|
735
|
+
}(e), e === m && (m = null), Ht(e, e.dl_subscriptions, !0), Ht(e, e.dl_subscribings, !0), r && (Re(r, e), rt(e) && (st(r) !== e || ot(r) || it(r, null))), function(e) {
|
|
736
736
|
let t = e.dl_children.slice();
|
|
737
737
|
for (let e = 0; e < t.length; e++) {
|
|
738
738
|
let n = t[e];
|
|
739
739
|
ot(n) || Le(n);
|
|
740
740
|
}
|
|
741
|
-
}(e), e.obflag &
|
|
741
|
+
}(e), e.obflag & $.obflag_created && e.gclass.gmt.mt_destroy && e.gclass.gmt.mt_destroy(e), t && L(n("💔💔⏪ destroyed: %s", tt(e))), e.obflag |= $.obflag_destroyed, e.obflag & $.obflag_created && e.gclass.instances--;
|
|
742
742
|
}
|
|
743
743
|
function Pe(e) {
|
|
744
744
|
if (ot(e)) return hn("gobj NULL or DESTROYED"), -1;
|
|
@@ -757,7 +757,7 @@ var gobjJs = function(e) {
|
|
|
757
757
|
function Ve(e) {
|
|
758
758
|
if (ot(e)) return hn("gobj NULL or DESTROYED"), -1;
|
|
759
759
|
if (!e.running) return hn(`${et(e)}: GObj NOT RUNNING`), -1;
|
|
760
|
-
e.playing && (
|
|
760
|
+
e.playing && (yn(`${et(e)}: GObj stopping without previous pause`), xe(e)), J(e) && L(n("⏹ ⏹ stop: %s", tt(e))), e.running = !1;
|
|
761
761
|
let t = 0;
|
|
762
762
|
return e.gclass.gmt.mt_stop && (t = e.gclass.gmt.mt_stop(e)), t;
|
|
763
763
|
}
|
|
@@ -773,7 +773,7 @@ var gobjJs = function(e) {
|
|
|
773
773
|
if (e.disabled) return hn(`${et(e)}: GObj DISABLED`), -1;
|
|
774
774
|
if (!Ke(e)) {
|
|
775
775
|
if (e.gclass.gclass_flag & w.gcflag_required_start_to_play) return hn(`${et(e)}: Cannot play, start not done`), -1;
|
|
776
|
-
|
|
776
|
+
yn(`${et(e)}: GObj playing without previous start`), Pe(e);
|
|
777
777
|
}
|
|
778
778
|
J(e) && L(n("⏯ ⏯ play: %s", tt(e))), e.playing = !0;
|
|
779
779
|
let t = 0;
|
|
@@ -795,7 +795,7 @@ var gobjJs = function(e) {
|
|
|
795
795
|
return !ot(e) && e.playing;
|
|
796
796
|
}
|
|
797
797
|
function qe() {
|
|
798
|
-
return !p || p.obflag &
|
|
798
|
+
return !p || p.obflag & $.obflag_destroyed ? null : p;
|
|
799
799
|
}
|
|
800
800
|
function He() {
|
|
801
801
|
let e = qe();
|
|
@@ -834,14 +834,14 @@ var gobjJs = function(e) {
|
|
|
834
834
|
return sr(e) ? !!(e.gobj_flag & N.gobj_flag_pure_child) : (hn("gobj NULL of bad type"), null);
|
|
835
835
|
}
|
|
836
836
|
function ot(e) {
|
|
837
|
-
return !sr(e) || !!(e.obflag & (
|
|
837
|
+
return !sr(e) || !!(e.obflag & ($.obflag_destroyed | $.obflag_destroying));
|
|
838
838
|
}
|
|
839
839
|
function st(e) {
|
|
840
840
|
return sr(e) ? e.bottom_gobj : (hn("gobj NULL of bad type"), null);
|
|
841
841
|
}
|
|
842
842
|
function it(e, t) {
|
|
843
843
|
if (!sr(e)) return hn("gobj NULL of bad type"), null;
|
|
844
|
-
e.bottom_gobj && t &&
|
|
844
|
+
e.bottom_gobj && t && yn(`${et(e)}: bottom_gobj already set`), e.bottom_gobj = t;
|
|
845
845
|
}
|
|
846
846
|
function _t(e, t, n) {
|
|
847
847
|
return sr(e) ? t ? ge(e.gclass, t, n) : e.gclass.attrs_table : (hn("gobj NULL of bad type"), null);
|
|
@@ -937,7 +937,7 @@ var gobjJs = function(e) {
|
|
|
937
937
|
function ht(e, t) {
|
|
938
938
|
return !ir(t) && !!ge(e.gclass, t, !1);
|
|
939
939
|
}
|
|
940
|
-
function
|
|
940
|
+
function yt(e, t, n) {
|
|
941
941
|
let r = e.jn_attrs;
|
|
942
942
|
if (t in r && Object.prototype.hasOwnProperty.call(r, t)) {
|
|
943
943
|
let n = r[t];
|
|
@@ -945,13 +945,13 @@ var gobjJs = function(e) {
|
|
|
945
945
|
}
|
|
946
946
|
return hn(`${et(e)}: GClass Attribute NOT FOUND, attr ${t}`), null;
|
|
947
947
|
}
|
|
948
|
-
function
|
|
948
|
+
function Et(e, t, n) {
|
|
949
949
|
let r = {}, l = e.gclass.attrs_table;
|
|
950
950
|
for (let n = 0; n < l.length; n++) {
|
|
951
951
|
const o = l[n];
|
|
952
952
|
if (o.name && (-1 === t || o.flag & t)) {
|
|
953
953
|
let t;
|
|
954
|
-
!e.gclass.gmt.mt_reading || e.obflag &
|
|
954
|
+
!e.gclass.gmt.mt_reading || e.obflag & $.obflag_destroyed ? t = xn(e.jn_attrs, o.name) : (t = e.gclass.gmt.mt_reading(e, o.name), void 0 === t && (t = xn(e.jn_attrs, o.name))), Yn(r, o.name, t);
|
|
955
955
|
}
|
|
956
956
|
}
|
|
957
957
|
return r;
|
|
@@ -964,28 +964,28 @@ var gobjJs = function(e) {
|
|
|
964
964
|
if (0 === ur(t, "__service__")) return Be(e);
|
|
965
965
|
}
|
|
966
966
|
let n = fe(e, t, !1);
|
|
967
|
-
return n ? !e.gclass.gmt.mt_reading || e.obflag &
|
|
967
|
+
return n ? !e.gclass.gmt.mt_reading || e.obflag & $.obflag_destroyed ? xn(n, t) : e.gclass.gmt.mt_reading(e, t) : (hn(`${et(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
|
|
968
968
|
}
|
|
969
969
|
function vt(e, t) {
|
|
970
970
|
t && ur(t, "__trace_level__");
|
|
971
971
|
let n = fe(e, t, !1);
|
|
972
|
-
return n ? !e.gclass.gmt.mt_reading || e.obflag &
|
|
972
|
+
return n ? !e.gclass.gmt.mt_reading || e.obflag & $.obflag_destroyed ? xn(n, t) : e.gclass.gmt.mt_reading(e, t) : (hn(`${et(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
|
|
973
973
|
}
|
|
974
974
|
function jt(e, t) {
|
|
975
975
|
if (t && 0 === ur(t, "__state__")) return kt(e);
|
|
976
976
|
let n = fe(e, t, !1);
|
|
977
|
-
return n ? !e.gclass.gmt.mt_reading || e.obflag &
|
|
977
|
+
return n ? !e.gclass.gmt.mt_reading || e.obflag & $.obflag_destroyed ? xn(n, t) : e.gclass.gmt.mt_reading(e, t) : (hn(`${et(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
|
|
978
978
|
}
|
|
979
979
|
function Ot(e, t) {
|
|
980
980
|
let n = fe(e, t, !1);
|
|
981
|
-
return n ? !e.gclass.gmt.mt_reading || e.obflag &
|
|
981
|
+
return n ? !e.gclass.gmt.mt_reading || e.obflag & $.obflag_destroyed ? xn(n, t) : e.gclass.gmt.mt_reading(e, t) : (hn(`${et(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
|
|
982
982
|
}
|
|
983
983
|
function St(e, t, r, l) {
|
|
984
984
|
if (!tr(t)) return hn(n("gobj_write_attr(%s): path must be a string", et(e))), -1;
|
|
985
985
|
let o, s = e.jn_attrs, i = t.split("`");
|
|
986
986
|
if (i.length <= 1) {
|
|
987
987
|
let l = t;
|
|
988
|
-
return l in s && Object.prototype.hasOwnProperty.call(s, l) ? (s[l] = r, Zn(e.priv) && Object.prototype.hasOwnProperty.call(e.priv, l) && (e.priv[l] = r), e.obflag &
|
|
988
|
+
return l in s && Object.prototype.hasOwnProperty.call(s, l) ? (s[l] = r, Zn(e.priv) && Object.prototype.hasOwnProperty.call(e.priv, l) && (e.priv[l] = r), e.obflag & $.obflag_created && !(e.obflag & $.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, l), 0) : (hn(n("gobj_write_attr(%s): attr not found '%s'", et(e), l)), -1);
|
|
989
989
|
}
|
|
990
990
|
let _ = i.length;
|
|
991
991
|
for (let t = 0; t < _; t++) {
|
|
@@ -996,7 +996,7 @@ var gobjJs = function(e) {
|
|
|
996
996
|
continue;
|
|
997
997
|
}
|
|
998
998
|
let l = e.jn_attrs;
|
|
999
|
-
if (o in l && Object.prototype.hasOwnProperty.call(l, o)) return l[o] = r, Zn(e.priv) && Object.prototype.hasOwnProperty.call(e.priv, o) && (e.priv[o] = r), e.obflag &
|
|
999
|
+
if (o in l && Object.prototype.hasOwnProperty.call(l, o)) return l[o] = r, Zn(e.priv) && Object.prototype.hasOwnProperty.call(e.priv, o) && (e.priv[o] = r), e.obflag & $.obflag_created && !(e.obflag & $.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, o), 0;
|
|
1000
1000
|
break;
|
|
1001
1001
|
}
|
|
1002
1002
|
return hn(n("gobj_write_attr(%s): attr not found '%s'", et(e), o)), -1;
|
|
@@ -1011,15 +1011,15 @@ var gobjJs = function(e) {
|
|
|
1011
1011
|
}
|
|
1012
1012
|
function Nt(e, t, n) {
|
|
1013
1013
|
let r = fe(e, t, !1);
|
|
1014
|
-
return r ? (r[t] = _r(n), Zn(e.priv) && Object.prototype.hasOwnProperty.call(e.priv, t) && (e.priv[t] = r[t]), e.obflag &
|
|
1014
|
+
return r ? (r[t] = _r(n), Zn(e.priv) && Object.prototype.hasOwnProperty.call(e.priv, t) && (e.priv[t] = r[t]), e.obflag & $.obflag_created && !(e.obflag & $.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (hn(`${et(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
|
|
1015
1015
|
}
|
|
1016
|
-
function
|
|
1016
|
+
function $t(e, t, n) {
|
|
1017
1017
|
let r = fe(e, t, !1);
|
|
1018
|
-
return r ? (r[t] = parseInt(n), Zn(e.priv) && Object.prototype.hasOwnProperty.call(e.priv, t) && (e.priv[t] = r[t]), e.obflag &
|
|
1018
|
+
return r ? (r[t] = parseInt(n), Zn(e.priv) && Object.prototype.hasOwnProperty.call(e.priv, t) && (e.priv[t] = r[t]), e.obflag & $.obflag_created && !(e.obflag & $.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (hn(`${et(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
|
|
1019
1019
|
}
|
|
1020
|
-
function
|
|
1020
|
+
function Rt(e, t, n) {
|
|
1021
1021
|
let r = fe(e, t, !1);
|
|
1022
|
-
return r ? (r[t] = String(n), Zn(e.priv) && Object.prototype.hasOwnProperty.call(e.priv, t) && (e.priv[t] = r[t]), e.obflag &
|
|
1022
|
+
return r ? (r[t] = String(n), Zn(e.priv) && Object.prototype.hasOwnProperty.call(e.priv, t) && (e.priv[t] = r[t]), e.obflag & $.obflag_created && !(e.obflag & $.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (hn(`${et(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
|
|
1023
1023
|
}
|
|
1024
1024
|
function Dt(e, t) {
|
|
1025
1025
|
if (ot(e)) return hn("gobj NULL or DESTROYED"), null;
|
|
@@ -1054,11 +1054,11 @@ var gobjJs = function(e) {
|
|
|
1054
1054
|
}
|
|
1055
1055
|
function Ct(e, t, n) {
|
|
1056
1056
|
let r = At(e, t, !1);
|
|
1057
|
-
return !!r && !(n && !(r.event_flag & n)) && !!(r.event_flag &
|
|
1057
|
+
return !!r && !(n && !(r.event_flag & n)) && !!(r.event_flag & R.EVF_OUTPUT_EVENT);
|
|
1058
1058
|
}
|
|
1059
1059
|
var Lt = [], Pt = !1;
|
|
1060
1060
|
function Ut(e, t, r, l) {
|
|
1061
|
-
return e && e instanceof S ? e.obflag & (
|
|
1061
|
+
return e && e instanceof S ? e.obflag & ($.obflag_destroyed | $.obflag_destroying) ? (hn(`gobj_post_event(): gobj dst DESTROYING, event ${t}`), -1) : ir(t) ? (hn("gobj_post_event(): event EMPTY"), -1) : It(e, t, 0) ? Lt.length >= 1e4 ? (hn(`gobj_post_event(): too many posted events, this is NOT a work queue, event ${t}, pending ${Lt.length}`), -1) : (Lt.push({
|
|
1062
1062
|
dst: e,
|
|
1063
1063
|
event: t,
|
|
1064
1064
|
kw: r,
|
|
@@ -1072,7 +1072,7 @@ var gobjJs = function(e) {
|
|
|
1072
1072
|
let t = 0;
|
|
1073
1073
|
for (let n = 0; n < e.length; n++) {
|
|
1074
1074
|
const r = e[n];
|
|
1075
|
-
if (!(r.dst.obflag & (
|
|
1075
|
+
if (!(r.dst.obflag & ($.obflag_destroyed | $.obflag_destroying))) {
|
|
1076
1076
|
try {
|
|
1077
1077
|
Vt(r.dst, r.event, r.kw, r.src);
|
|
1078
1078
|
} catch (t) {
|
|
@@ -1085,7 +1085,7 @@ var gobjJs = function(e) {
|
|
|
1085
1085
|
}
|
|
1086
1086
|
function Vt(e, t, r, l) {
|
|
1087
1087
|
if (!(e && e instanceof S)) return hn("gobj dst NULL"), -1;
|
|
1088
|
-
if (e.obflag & (
|
|
1088
|
+
if (e.obflag & ($.obflag_destroyed | $.obflag_destroying)) return hn("gobj dst DESTROYED"), -1;
|
|
1089
1089
|
let o = e.current_state;
|
|
1090
1090
|
if (!o) return hn(`${et(e)}: current_state NULL`), -1;
|
|
1091
1091
|
let s = H(e, t) && !z(l, t);
|
|
@@ -1113,7 +1113,7 @@ var gobjJs = function(e) {
|
|
|
1113
1113
|
}
|
|
1114
1114
|
throw n;
|
|
1115
1115
|
}
|
|
1116
|
-
return !s || 1 === C || e.obflag &
|
|
1116
|
+
return !s || 1 === C || e.obflag & $.obflag_destroyed || L(n("<- mach(%s%s^%s), st: %s, ev: %s, ret: %d", e.running ? "" : "!!", Ze(e), Xe(e), e.current_state.state_name, t || "", nr(_) ? _ : 0)), h--, _;
|
|
1117
1117
|
}
|
|
1118
1118
|
var Gt = Object.freeze({
|
|
1119
1119
|
__rename_event_name__: 1,
|
|
@@ -1132,16 +1132,16 @@ var gobjJs = function(e) {
|
|
|
1132
1132
|
return null;
|
|
1133
1133
|
}
|
|
1134
1134
|
var Wt = [
|
|
1135
|
-
j(
|
|
1136
|
-
j(
|
|
1137
|
-
j(
|
|
1138
|
-
j(
|
|
1139
|
-
j(
|
|
1140
|
-
j(
|
|
1141
|
-
j(
|
|
1142
|
-
j(
|
|
1143
|
-
j(
|
|
1144
|
-
j(
|
|
1135
|
+
j(y.DTP_POINTER, "publisher", 0, null, "publisher gobj"),
|
|
1136
|
+
j(y.DTP_POINTER, "subscriber", 0, null, "subscriber gobj"),
|
|
1137
|
+
j(y.DTP_STRING, "event", 0, "", "event name subscribed"),
|
|
1138
|
+
j(y.DTP_STRING, "renamed_event", 0, "", "rename event name"),
|
|
1139
|
+
j(y.DTP_INTEGER, "subs_flag", 0, 0, "subscription flag"),
|
|
1140
|
+
j(y.DTP_JSON, "__config__", 0, null, "subscription config"),
|
|
1141
|
+
j(y.DTP_JSON, "__global__", 0, null, "global kw, merge in publishing"),
|
|
1142
|
+
j(y.DTP_JSON, "__local__", 0, null, "local kw, remove in publishing"),
|
|
1143
|
+
j(y.DTP_JSON, "__filter__", 0, null, "filter kw, filter in publishing"),
|
|
1144
|
+
j(y.DTP_STRING, "__service__", 0, "", "subscription service"),
|
|
1145
1145
|
v()
|
|
1146
1146
|
];
|
|
1147
1147
|
function xt(e, t) {
|
|
@@ -1191,10 +1191,10 @@ var gobjJs = function(e) {
|
|
|
1191
1191
|
}
|
|
1192
1192
|
function Jt(e, t, r, l) {
|
|
1193
1193
|
let o = vr(e, t, "publisher", null, Zt.KW_REQUIRED), s = vr(e, t, "subscriber", null, Zt.KW_REQUIRED), i = Tr(e, t, "event", "", Zt.KW_REQUIRED);
|
|
1194
|
-
if (!!(
|
|
1194
|
+
if (!!(Er(e, t, "subs_flag", null, Zt.KW_REQUIRED) & Gt.__hard_subscription__) && !r) return -1;
|
|
1195
1195
|
let _ = B(s) || B(o);
|
|
1196
1196
|
if (Bt(o.dl_subscriptions, t) < 0) return _ && L(n("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s', ALREADY REMOVED", i || "", et(o), et(s))), 1;
|
|
1197
|
-
_ && (L(n("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s'", i || "", et(o), et(s))), vn(t)), o.obflag &
|
|
1197
|
+
_ && (L(n("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s'", i || "", et(o), et(s))), vn(t)), o.obflag & $.obflag_destroyed || l || o.gclass.gmt.mt_subscription_deleted && o.gclass.gmt.mt_subscription_deleted(o, t);
|
|
1198
1198
|
let a = Bt(o.dl_subscriptions, t);
|
|
1199
1199
|
return a >= 0 ? Hn(o.dl_subscriptions, a) : (hn(`${et(e)}: subscription in publisher not found`), vn(t)), a = Bt(s.dl_subscribings, t), a >= 0 ? Hn(s.dl_subscribings, a) : (hn(`${et(e)}: subscription in subscriber not found`), vn(t)), 0;
|
|
1200
1200
|
}
|
|
@@ -1211,13 +1211,13 @@ var gobjJs = function(e) {
|
|
|
1211
1211
|
if (Object.keys(r).forEach((n) => {
|
|
1212
1212
|
o.has(n) || hn(`${et(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
|
|
1213
1213
|
}), ir(t)) t = "";
|
|
1214
|
-
else if (!(Ct(e, t,
|
|
1214
|
+
else if (!(Ct(e, t, R.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & w.gcflag_no_check_output_events)) return hn(`event NOT in output event list: ${et(e)}, ${t}`), 0;
|
|
1215
1215
|
let s = xt(r, t), i = Yt(e.dl_subscriptions, e, t, s.renamed_event, s.kw, l), _ = null;
|
|
1216
|
-
for (let t = 0; t < i.length; t++) if (
|
|
1216
|
+
for (let t = 0; t < i.length; t++) if (Er(e, i[t], "subs_flag", 0, Zt.KW_REQUIRED) & Gt.__hard_subscription__) {
|
|
1217
1217
|
_ = i[t];
|
|
1218
1218
|
break;
|
|
1219
1219
|
}
|
|
1220
|
-
if (_) return
|
|
1220
|
+
if (_) return yn(`${et(e)}: Hard subscription REPEATED, the one there is kept and returned (event: ${t}, subscriber: ${et(l)})`), _;
|
|
1221
1221
|
Qn(i) > 0 && (hn(`${et(e)}: ${Qn(i)} subscription(s) REPEATED, will be deleted and override`), vn(i, "subscription REPEATED"), Ht(e, i, !1));
|
|
1222
1222
|
let a = function(e, t, n, r) {
|
|
1223
1223
|
let l = _e(e, Wt);
|
|
@@ -1238,11 +1238,11 @@ var gobjJs = function(e) {
|
|
|
1238
1238
|
} else hn(`${et(e)}: EVENT NOT FOUND (__rename_event_name__: ${s})`);
|
|
1239
1239
|
}
|
|
1240
1240
|
if (gr(n, "__hard_subscription__")) {
|
|
1241
|
-
let t =
|
|
1241
|
+
let t = yr(e, n, "__hard_subscription__", !1);
|
|
1242
1242
|
Kn(n, "__hard_subscription__"), t && (o |= Gt.__hard_subscription__);
|
|
1243
1243
|
}
|
|
1244
1244
|
if (gr(n, "__own_event__")) {
|
|
1245
|
-
let t =
|
|
1245
|
+
let t = yr(e, n, "__own_event__", !1);
|
|
1246
1246
|
Kn(n, "__own_event__"), t && (o |= Gt.__own_event__);
|
|
1247
1247
|
}
|
|
1248
1248
|
}
|
|
@@ -1260,7 +1260,7 @@ var gobjJs = function(e) {
|
|
|
1260
1260
|
function Ht(e, t, n) {
|
|
1261
1261
|
let r = [...t], l = 0;
|
|
1262
1262
|
for (let t = 0; t < r.length; t++) Jt(e, r[t], n, !1) > 0 && l++;
|
|
1263
|
-
return l &&
|
|
1263
|
+
return l && yn(`${et(e)}: Subscription(s) already removed, nothing to remove (count: ${l})`), 0;
|
|
1264
1264
|
}
|
|
1265
1265
|
function zt(e, t, n, r) {
|
|
1266
1266
|
return null == n && (n = {}), Yt(e.dl_subscriptions, e, t, null, n, r);
|
|
@@ -1269,10 +1269,10 @@ var gobjJs = function(e) {
|
|
|
1269
1269
|
return Yt(e.dl_subscribings, r, t, null, n, e);
|
|
1270
1270
|
}
|
|
1271
1271
|
function Xt(e, t, r) {
|
|
1272
|
-
if (Zn(r) || (r = {}), !e || e.obflag & (
|
|
1272
|
+
if (Zn(r) || (r = {}), !e || e.obflag & ($.obflag_destroyed | $.obflag_destroying)) return hn("gobj NULL or DESTROYED"), -1;
|
|
1273
1273
|
if (ir(t)) return hn(`${et(e)}: event EMPTY`), -1;
|
|
1274
1274
|
let l = At(e, t, !0);
|
|
1275
|
-
if (!(l && l.event_flag & (
|
|
1275
|
+
if (!(l && l.event_flag & (R.EVF_SYSTEM_EVENT | R.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & w.gcflag_no_check_output_events)) return hn(`event NOT in output event list: ${et(e)}, ev ${t}`), -1;
|
|
1276
1276
|
let o = (B(e) || H(e, t)) && !z(e, t);
|
|
1277
1277
|
if (o && (L(1 === C ? n("🔝🔝 %s %s%s %s", t || "", e.running ? "" : "!!", et(e), e.current_state.state_name) : n("🔝🔝 mach(%s%s^%s), st: %s, ev: %s%s%s", e.running ? "" : "!!", Ze(e), Xe(e), e.current_state.state_name, "", t || "", "")), q(e) && zn(r) && Un(r)), e.gclass.gmt.mt_publish_event) {
|
|
1278
1278
|
let n = e.gclass.gmt.mt_publish_event(e, t, r);
|
|
@@ -1288,16 +1288,16 @@ var gobjJs = function(e) {
|
|
|
1288
1288
|
}
|
|
1289
1289
|
let u = vr(e, a, "subscriber", null, Zt.KW_REQUIRED);
|
|
1290
1290
|
if (!u || ot(u)) continue;
|
|
1291
|
-
let c =
|
|
1291
|
+
let c = Er(e, a, "subs_flag", 0, Zt.KW_REQUIRED), f = Tr(e, a, "event", "", Zt.KW_REQUIRED);
|
|
1292
1292
|
if (ir(f) || 0 === ur(f, t)) {
|
|
1293
1293
|
jr(e, a, "__config__", null, 0);
|
|
1294
1294
|
let l = jr(e, a, "__global__", null, 0), s = jr(e, a, "__local__", null, 0), f = Or(e, a, "__filter__", null, 0), g = a.renamed_event;
|
|
1295
1295
|
ir(g) && (g = t);
|
|
1296
1296
|
let d = 1;
|
|
1297
|
-
if (e.gclass.gmt.mt_publication_filter ? d = e.gclass.gmt.mt_publication_filter(e, t, r, u) : Xn(f) > 0 && (d =
|
|
1297
|
+
if (e.gclass.gmt.mt_publication_filter ? d = e.gclass.gmt.mt_publication_filter(e, t, r, u) : Xn(f) > 0 && (d = $r(r, f) ? 1 : 0, o && (L(n("💜💜🔄%s publishing with filter, event '%s', subscriber'%s', publisher %s", d ? "👍" : "👎", t || "", et(u), et(e))), vn(f))), d < 0) break;
|
|
1298
1298
|
if (!d) continue;
|
|
1299
1299
|
let b = At(u, t, !0);
|
|
1300
|
-
if (b && b.event_flag &
|
|
1300
|
+
if (b && b.event_flag & R.EVF_SYSTEM_EVENT && !It(u, b.event_name, 0)) continue;
|
|
1301
1301
|
let p = r;
|
|
1302
1302
|
(Xn(s) > 0 || Xn(l) > 0) && (p = Gn({}, r)), Xn(s) > 0 && fr(p, s), Xn(l) > 0 && Gn(p, Fn(l)), o && (L(1 === C ? n("🔝🔄 %s (%s) %s%s", t || "", g || "", u.running ? "" : "!!", et(u)) : n("🔝🔄 mach(%s%s), st: %s, ev: %s (%s), from(%s%s)", u.running ? "" : "!!", et(u), kt(u), t || "", g || "", e && !e.running ? "!!" : "", et(e))), q(e) && zn(p) && Un(p));
|
|
1303
1303
|
let m = Vt(u, g, p, e);
|
|
@@ -1308,7 +1308,7 @@ var gobjJs = function(e) {
|
|
|
1308
1308
|
if (_ += m, i++, ot(e)) break;
|
|
1309
1309
|
}
|
|
1310
1310
|
}
|
|
1311
|
-
return i || l && l.event_flag &
|
|
1311
|
+
return i || l && l.event_flag & R.EVF_NO_WARN_SUBS || yn(`${et(e)}: Publish event WITHOUT subscribers, ev ${t}`), _;
|
|
1312
1312
|
}
|
|
1313
1313
|
var Zt = Object.freeze({
|
|
1314
1314
|
KW_REQUIRED: 1,
|
|
@@ -1405,11 +1405,11 @@ var gobjJs = function(e) {
|
|
|
1405
1405
|
let n = mn(e, ...t), r = el();
|
|
1406
1406
|
tn && (tn === en.error ? cn("error", n) && tn("%c" + r + " ERROR: " + String(n), "color:red") : (cn("error", n) && en.error("%c" + r + " ERROR: " + String(n), "color:red"), tn(`${r} ERROR: ${String(n)}`))), gn("error", n, r);
|
|
1407
1407
|
}
|
|
1408
|
-
function
|
|
1408
|
+
function yn(e, ...t) {
|
|
1409
1409
|
let n = mn(e, ...t), r = el();
|
|
1410
1410
|
nn && (nn === en.warn ? cn("warning", n) && nn("%c" + r + " WARNING: " + String(n), "color:yellow") : (cn("warning", n) && en.warn("%c" + r + " WARNING: " + String(n), "color:yellow"), nn(`${r} WARNING: ${String(n)}`))), gn("warning", n, r);
|
|
1411
1411
|
}
|
|
1412
|
-
function
|
|
1412
|
+
function En(e, ...t) {
|
|
1413
1413
|
let n = mn(e, ...t), r = el();
|
|
1414
1414
|
ln && cn("debug", n) && ln("%c" + r + " DEBUG: " + String(n), "color:silver"), gn("debug", n, r);
|
|
1415
1415
|
}
|
|
@@ -1495,10 +1495,10 @@ var gobjJs = function(e) {
|
|
|
1495
1495
|
o = t;
|
|
1496
1496
|
}
|
|
1497
1497
|
}
|
|
1498
|
-
var
|
|
1498
|
+
var $n = 128, Rn = 4194304, Dn = "<not shown: too large to mask>";
|
|
1499
1499
|
function kn(e) {
|
|
1500
1500
|
if ("string" != typeof e || e.indexOf("=") < 0) return null;
|
|
1501
|
-
if (e.length >
|
|
1501
|
+
if (e.length > Rn) return Dn;
|
|
1502
1502
|
let t, n = !1, r = /(^|[ \t])attribute=["']?([^ \t"']*)/g;
|
|
1503
1503
|
for (; null !== (t = r.exec(e));) wn(t[2].slice(-128)) && (n = !0);
|
|
1504
1504
|
let l = [], o = 0, s = !1, i = "", _ = 0, a = 0;
|
|
@@ -1513,7 +1513,7 @@ var gobjJs = function(e) {
|
|
|
1513
1513
|
a++;
|
|
1514
1514
|
continue;
|
|
1515
1515
|
}
|
|
1516
|
-
let r = e.substring(Math.max(_, a -
|
|
1516
|
+
let r = e.substring(Math.max(_, a - $n), a);
|
|
1517
1517
|
if (_ = a + 1, !(wn(r) || n && "value" === r.toLowerCase())) {
|
|
1518
1518
|
a++;
|
|
1519
1519
|
continue;
|
|
@@ -1582,7 +1582,7 @@ var gobjJs = function(e) {
|
|
|
1582
1582
|
}
|
|
1583
1583
|
function Pn(e) {
|
|
1584
1584
|
try {
|
|
1585
|
-
return Ln(e, /* @__PURE__ */ new WeakMap(), 0, { left:
|
|
1585
|
+
return Ln(e, /* @__PURE__ */ new WeakMap(), 0, { left: Rn });
|
|
1586
1586
|
} catch (e) {
|
|
1587
1587
|
return In;
|
|
1588
1588
|
}
|
|
@@ -1764,7 +1764,7 @@ var gobjJs = function(e) {
|
|
|
1764
1764
|
else if (s = mr(e, t, l, !0), void 0 === s) return -1;
|
|
1765
1765
|
return er(s) ? (hn(`${r}kw_delete(): cannot delete an item of a list: '${n}'`), -1) : Zn(s) && Object.prototype.hasOwnProperty.call(s, o) ? (delete s[o], 0) : (hn(`${r}kw_delete(): path not found: '${n}'`), -1);
|
|
1766
1766
|
}
|
|
1767
|
-
function
|
|
1767
|
+
function yr(e, t, n, r, l) {
|
|
1768
1768
|
e && !sr(e) && hn("GObj bad instanceof");
|
|
1769
1769
|
let o = mr(e, t, n, !1);
|
|
1770
1770
|
const s = l && l & Zt.KW_REQUIRED, i = l && l & Zt.KW_CREATE, _ = l && l & Zt.KW_EXTRACT, a = l && l & Zt.KW_WILD_NUMBER;
|
|
@@ -1785,7 +1785,7 @@ var gobjJs = function(e) {
|
|
|
1785
1785
|
}
|
|
1786
1786
|
return _ && hr(e, t, n), u;
|
|
1787
1787
|
}
|
|
1788
|
-
function
|
|
1788
|
+
function Er(e, t, n, r, l) {
|
|
1789
1789
|
e && !sr(e) && hn("GObj bad instanceof");
|
|
1790
1790
|
let o = mr(e, t, n, !1);
|
|
1791
1791
|
const s = l && l & Zt.KW_REQUIRED, i = l && l & Zt.KW_CREATE, _ = l && l & Zt.KW_EXTRACT, a = l && l & Zt.KW_WILD_NUMBER;
|
|
@@ -1932,10 +1932,10 @@ var gobjJs = function(e) {
|
|
|
1932
1932
|
}
|
|
1933
1933
|
return o;
|
|
1934
1934
|
}
|
|
1935
|
-
function
|
|
1935
|
+
function $r(e, t) {
|
|
1936
1936
|
return 0 === Xn(t) || Nr(e, t, "");
|
|
1937
1937
|
}
|
|
1938
|
-
function
|
|
1938
|
+
function Rr(e, t, n, r) {
|
|
1939
1939
|
e && !sr(e) && hn("GObj bad instanceof");
|
|
1940
1940
|
let l = {};
|
|
1941
1941
|
if (tr(n) && !ir(n)) {
|
|
@@ -2005,7 +2005,7 @@ var gobjJs = function(e) {
|
|
|
2005
2005
|
}
|
|
2006
2006
|
function Lr(e, t, n, r, l) {
|
|
2007
2007
|
if (e && !sr(e) && hn("GObj bad instanceof"), !t) return null;
|
|
2008
|
-
l || (l =
|
|
2008
|
+
l || (l = $r);
|
|
2009
2009
|
let o = [];
|
|
2010
2010
|
if (er(t)) for (let s = 0; s < t.length; s++) {
|
|
2011
2011
|
let i, _ = t[s];
|
|
@@ -2337,9 +2337,9 @@ var gobjJs = function(e) {
|
|
|
2337
2337
|
return t.is_file && (t.type = "file"), t;
|
|
2338
2338
|
}
|
|
2339
2339
|
var bl = [
|
|
2340
|
-
j(
|
|
2341
|
-
j(
|
|
2342
|
-
j(
|
|
2340
|
+
j(y.DTP_POINTER, "subscriber", 0, null, "Subscriber of output events"),
|
|
2341
|
+
j(y.DTP_BOOLEAN, "periodic", 0, 0, "True for periodic timeouts"),
|
|
2342
|
+
j(y.DTP_INTEGER, "msec", 0, 0, "Timeout in milliseconds"),
|
|
2343
2343
|
v()
|
|
2344
2344
|
], pl = {
|
|
2345
2345
|
periodic: !1,
|
|
@@ -2352,7 +2352,7 @@ var gobjJs = function(e) {
|
|
|
2352
2352
|
Vt(e, "EV_TIMEOUT", {}, e);
|
|
2353
2353
|
}, l.msec) : l.timer_id = -1, lt(e) ? Vt(nt(e), o, {}, e) : Xt(e, o, {}), l.periodic || -1 !== l.timer_id || Ke(e) && Ve(e), 0;
|
|
2354
2354
|
}
|
|
2355
|
-
var
|
|
2355
|
+
var yl = {
|
|
2356
2356
|
mt_create: function(e) {
|
|
2357
2357
|
let t = e.priv;
|
|
2358
2358
|
const n = Ot(e, "subscriber");
|
|
@@ -2373,42 +2373,42 @@ var gobjJs = function(e) {
|
|
|
2373
2373
|
return 0;
|
|
2374
2374
|
},
|
|
2375
2375
|
mt_stop: function(e) {
|
|
2376
|
-
return
|
|
2376
|
+
return $t(e, "msec", -1), 0;
|
|
2377
2377
|
},
|
|
2378
2378
|
mt_destroy: function(e) {}
|
|
2379
2379
|
};
|
|
2380
|
-
function
|
|
2381
|
-
return e instanceof S ? "C_TIMER" !== Ze(e) ? (hn("not C_TIMER GObj"), -1) : (Nt(e, "periodic", !1), void
|
|
2380
|
+
function El(e, t) {
|
|
2381
|
+
return e instanceof S ? "C_TIMER" !== Ze(e) ? (hn("not C_TIMER GObj"), -1) : (Nt(e, "periodic", !1), void $t(e, "msec", t)) : (hn("not GObj TYPE"), -1);
|
|
2382
2382
|
}
|
|
2383
2383
|
function Tl(e, t) {
|
|
2384
|
-
return e instanceof S ? "C_TIMER" !== Ze(e) ? (hn("not C_TIMER GObj"), -1) : (Nt(e, "periodic", !0), void
|
|
2384
|
+
return e instanceof S ? "C_TIMER" !== Ze(e) ? (hn("not C_TIMER GObj"), -1) : (Nt(e, "periodic", !0), void $t(e, "msec", t)) : (hn("not GObj TYPE"), -1);
|
|
2385
2385
|
}
|
|
2386
2386
|
function vl(e) {
|
|
2387
|
-
return e instanceof S ? "C_TIMER" !== Ze(e) ? (hn("not C_TIMER GObj"), -1) : void
|
|
2387
|
+
return e instanceof S ? "C_TIMER" !== Ze(e) ? (hn("not C_TIMER GObj"), -1) : void $t(e, "msec", -1) : (hn("not GObj TYPE"), -1);
|
|
2388
2388
|
}
|
|
2389
2389
|
var jl = [
|
|
2390
|
-
j(
|
|
2391
|
-
j(
|
|
2392
|
-
j(
|
|
2393
|
-
j(
|
|
2394
|
-
j(
|
|
2395
|
-
j(
|
|
2396
|
-
j(
|
|
2397
|
-
j(
|
|
2398
|
-
j(
|
|
2399
|
-
j(
|
|
2400
|
-
j(
|
|
2401
|
-
j(
|
|
2402
|
-
j(
|
|
2403
|
-
j(
|
|
2404
|
-
j(
|
|
2405
|
-
j(
|
|
2406
|
-
j(
|
|
2407
|
-
j(
|
|
2390
|
+
j(y.DTP_BOOLEAN, "changesLost", 0, !1, "Set true to warn about leaving page"),
|
|
2391
|
+
j(y.DTP_BOOLEAN, "browser_beforeunload", 0, !1, "Set true to refreshing browser"),
|
|
2392
|
+
j(y.DTP_STRING, "__username__", 0, "", "Username"),
|
|
2393
|
+
j(y.DTP_STRING, "start_date", 0, "", "Yuno starting date"),
|
|
2394
|
+
j(y.DTP_STRING, "node_uuid", 0, "", "uuid of node"),
|
|
2395
|
+
j(y.DTP_STRING, "yuno_role", 0, "", "Yuno role"),
|
|
2396
|
+
j(y.DTP_STRING, "yuno_id", 0, "", "Yuno Id. Set by agent"),
|
|
2397
|
+
j(y.DTP_STRING, "yuno_name", 0, "", "Yuno name. Set by agent"),
|
|
2398
|
+
j(y.DTP_STRING, "yuno_tag", 0, "", "Tags of yuno. Set by agent"),
|
|
2399
|
+
j(y.DTP_STRING, "yuno_release", 0, "", "Yuno Release. Set by agent"),
|
|
2400
|
+
j(y.DTP_STRING, "yuno_version", 0, "", "Yuno version (APP_VERSION)"),
|
|
2401
|
+
j(y.DTP_STRING, "yuneta_version", 0, s, "Yuneta version"),
|
|
2402
|
+
j(y.DTP_LIST, "required_services", 0, "[]", "Required services"),
|
|
2403
|
+
j(y.DTP_DICT, "trace_levels", E.SDF_PERSIST, "{}", "Trace levels"),
|
|
2404
|
+
j(y.DTP_DICT, "no_trace_levels", E.SDF_PERSIST, "{}", "No trace levels"),
|
|
2405
|
+
j(y.DTP_POINTER, "trace_ievent_callback", 0, null, "Where the traffic trace goes (C_IEVENT_CLI levels ievents/ievents2); console when null"),
|
|
2406
|
+
j(y.DTP_BOOLEAN, "developer", 0, !1, "Developer mode enabled"),
|
|
2407
|
+
j(y.DTP_INTEGER, "periodic_timeout", 0, "1000", "Timeout periodic, in miliseconds."),
|
|
2408
2408
|
v()
|
|
2409
2409
|
], Ol = { gobj_timer: null }, Sl = null;
|
|
2410
2410
|
function wl(e, t, n, r) {
|
|
2411
|
-
let l =
|
|
2411
|
+
let l = yt(e, t);
|
|
2412
2412
|
return Zn(l) || (l = {}), l[n] = r, St(e, t, l), De(e, t);
|
|
2413
2413
|
}
|
|
2414
2414
|
function Nl(e) {
|
|
@@ -2416,17 +2416,17 @@ var gobjJs = function(e) {
|
|
|
2416
2416
|
let t = String(null == e ? "" : e).toLowerCase();
|
|
2417
2417
|
return "true" === t || "set" === t || "false" !== t && "reset" !== t && ("" === t || isNaN(Number(t)) ? null : !!Number(t));
|
|
2418
2418
|
}
|
|
2419
|
-
function
|
|
2419
|
+
function $l() {
|
|
2420
2420
|
return `${ze()}^${He()}`;
|
|
2421
2421
|
}
|
|
2422
|
-
function
|
|
2422
|
+
function Rl(e, t, n, r) {
|
|
2423
2423
|
return Xt(e, t, n), 0;
|
|
2424
2424
|
}
|
|
2425
2425
|
var Dl = {
|
|
2426
2426
|
mt_create: function(e) {
|
|
2427
2427
|
let t = e.priv;
|
|
2428
|
-
|
|
2429
|
-
let t =
|
|
2428
|
+
Rt(e, "start_date", el()), Rt(e, "node_uuid", nl()), e.priv.gobj_timer = Ce(Xe(e), "C_TIMER", {}, e), t.periodic_timeout = yt(e, "periodic_timeout"), function(e) {
|
|
2429
|
+
let t = yt(e, "trace_levels");
|
|
2430
2430
|
if (!Zn(t)) return 0;
|
|
2431
2431
|
let n = t.__global_trace__;
|
|
2432
2432
|
if (er(n)) {
|
|
@@ -2441,7 +2441,7 @@ var gobjJs = function(e) {
|
|
|
2441
2441
|
} else hn(`${Xe(e)}: trace_levels of ${n} MUST be a list`);
|
|
2442
2442
|
}
|
|
2443
2443
|
}(e), function(e) {
|
|
2444
|
-
let t =
|
|
2444
|
+
let t = yt(e, "no_trace_levels");
|
|
2445
2445
|
if (!Zn(t)) return 0;
|
|
2446
2446
|
let n = t.__global_no_trace__;
|
|
2447
2447
|
if (er(n)) {
|
|
@@ -2480,38 +2480,38 @@ var gobjJs = function(e) {
|
|
|
2480
2480
|
case "set-global-trace":
|
|
2481
2481
|
case "set-global-no-trace": {
|
|
2482
2482
|
let r = "set-global-no-trace" === t, o = n.level, s = Nl(n.set);
|
|
2483
|
-
return o ? null === s ? l(0, -1, `${
|
|
2483
|
+
return o ? null === s ? l(0, -1, `${$l()}: bitmask set or re-set?`, null, null) : (r ? X(o, s) : Q(o, s)) < 0 ? l(0, -1, `${$l()}: global trace level not found: ${o}`, null, null) : r ? (wl(e, "no_trace_levels", "__global_no_trace__", ne()), l(0, 0, null, null, ne())) : (wl(e, "trace_levels", "__global_trace__", te()), l(0, 0, null, null, te())) : l(0, -1, `${$l()}: what level?`, null, null);
|
|
2484
2484
|
}
|
|
2485
2485
|
case "get-gclass-trace":
|
|
2486
2486
|
case "get-gclass-no-trace":
|
|
2487
2487
|
case "set-gclass-trace":
|
|
2488
2488
|
case "set-gclass-no-trace": {
|
|
2489
2489
|
let r = t.indexOf("no-trace") >= 0, o = n.gclass_name || n.gclass || "", s = Oe(o);
|
|
2490
|
-
if (!s) return l(0, -1, `${
|
|
2490
|
+
if (!s) return l(0, -1, `${$l()}: what gclass is '${o}'?`, null, null);
|
|
2491
2491
|
if (0 === t.indexOf("get-")) return l(0, 0, null, null, r ? oe(s) : re(s));
|
|
2492
2492
|
let i = n.level, _ = Nl(n.set);
|
|
2493
|
-
return i ? null === _ ? l(0, -1, `${
|
|
2493
|
+
return i ? null === _ ? l(0, -1, `${$l()}: bitmask set or re-set?`, null, null) : (r ? ie(s, i, _) : se(s, i, _)) < 0 ? l(0, -1, `${$l()}: trace level of ${o} not found: ${i}`, null, null) : r ? (wl(e, "no_trace_levels", o, oe(s)), l(0, 0, null, null, oe(s))) : (wl(e, "trace_levels", o, le(s)), l(0, 0, null, null, re(s))) : l(0, -1, `${$l()}: what level?`, null, null);
|
|
2494
2494
|
}
|
|
2495
|
-
default: return l(0, -1, `${
|
|
2495
|
+
default: return l(0, -1, `${$l()}: command not available: ${t}`, null, null);
|
|
2496
2496
|
}
|
|
2497
2497
|
}
|
|
2498
2498
|
};
|
|
2499
2499
|
var kl = "ievent_gate_stack", Al = [
|
|
2500
|
-
j(
|
|
2501
|
-
j(
|
|
2502
|
-
j(
|
|
2503
|
-
j(
|
|
2504
|
-
j(
|
|
2505
|
-
j(
|
|
2506
|
-
j(
|
|
2507
|
-
j(
|
|
2508
|
-
j(
|
|
2509
|
-
j(
|
|
2510
|
-
j(
|
|
2511
|
-
j(
|
|
2512
|
-
j(
|
|
2513
|
-
j(
|
|
2514
|
-
j(
|
|
2500
|
+
j(y.DTP_STRING, "wanted_yuno_role", E.SDF_RD, "", "wanted yuno role"),
|
|
2501
|
+
j(y.DTP_STRING, "wanted_yuno_name", E.SDF_RD, "", "wanted yuno name"),
|
|
2502
|
+
j(y.DTP_STRING, "wanted_yuno_service", E.SDF_RD, "", "wanted yuno service"),
|
|
2503
|
+
j(y.DTP_STRING, "remote_yuno_role", E.SDF_RD, "", "confirmed remote yuno role"),
|
|
2504
|
+
j(y.DTP_STRING, "remote_yuno_name", E.SDF_RD, "", "confirmed remote yuno name"),
|
|
2505
|
+
j(y.DTP_STRING, "remote_yuno_service", E.SDF_RD, "", "confirmed remote yuno service"),
|
|
2506
|
+
j(y.DTP_STRING, "url", E.SDF_RD, "", "Url to connect"),
|
|
2507
|
+
j(y.DTP_STRING, "jwt", E.SDF_PERSIST, "", "JWT"),
|
|
2508
|
+
j(y.DTP_STRING, "cert_pem", E.SDF_PERSIST, "", "SSL server certification, PEM str format"),
|
|
2509
|
+
j(y.DTP_JSON, "extra_info", E.SDF_RD, "{}", "dict data set by user, added to the identity card msg."),
|
|
2510
|
+
j(y.DTP_LIST, "required_services", E.SDF_RD, "[]", "Services this LINK requires (identity card). Empty = the yuno's `required_services`, as before. A yuno with several links to DIFFERENT backends must set it per link: the yuno-wide list is the union, so every backend is told the service names of all the others."),
|
|
2511
|
+
j(y.DTP_INTEGER, "timeout_retry", E.SDF_RD, "5000", "First reconnect delay (ms). It BACKS OFF from here, doubling up to timeout_retry_max, and resets when a session is reached"),
|
|
2512
|
+
j(y.DTP_INTEGER, "timeout_retry_max", E.SDF_RD, "60000", "Cap of the reconnect backoff (ms). Set it equal to timeout_retry for the old fixed-interval behaviour"),
|
|
2513
|
+
j(y.DTP_INTEGER, "timeout_idack", E.SDF_RD, "5000", "timeout waiting idAck"),
|
|
2514
|
+
j(y.DTP_POINTER, "subscriber", 0, 0, "subscriber of output-events. If null then subscriber is the parent"),
|
|
2515
2515
|
v()
|
|
2516
2516
|
], Il = [
|
|
2517
2517
|
["ievents", "Trace inter-events with metadata of kw"],
|
|
@@ -2535,7 +2535,7 @@ var gobjJs = function(e) {
|
|
|
2535
2535
|
function Ul(e) {
|
|
2536
2536
|
e.priv.websocket && hn("Websocket ALREADY setup");
|
|
2537
2537
|
const t = jt(e, "url");
|
|
2538
|
-
|
|
2538
|
+
En(`====> Starting WebSocket to '${t}' (${et(e)})`);
|
|
2539
2539
|
const n = ++e.priv.ws_seq;
|
|
2540
2540
|
let r;
|
|
2541
2541
|
try {
|
|
@@ -2547,7 +2547,7 @@ var gobjJs = function(e) {
|
|
|
2547
2547
|
code: 1006,
|
|
2548
2548
|
reason: r.message,
|
|
2549
2549
|
was_clean: !1
|
|
2550
|
-
}, e) < 0 &&
|
|
2550
|
+
}, e) < 0 && El(e.priv.gobj_timer, ql(e)), null;
|
|
2551
2551
|
}
|
|
2552
2552
|
return r ? (r.onopen = () => {
|
|
2553
2553
|
n !== e.priv.ws_seq || ot(e) || Vt(e, "EV_ON_OPEN", {
|
|
@@ -2560,7 +2560,7 @@ var gobjJs = function(e) {
|
|
|
2560
2560
|
data: r.data
|
|
2561
2561
|
}, e);
|
|
2562
2562
|
}, r.onclose = (r) => {
|
|
2563
|
-
ot(e) || n === e.priv.ws_seq && (Tt(qe(), "browser_beforeunload") ?
|
|
2563
|
+
ot(e) || n === e.priv.ws_seq && (Tt(qe(), "browser_beforeunload") ? yn("Close websocket by unload page") : Vt(e, "EV_ON_CLOSE", {
|
|
2564
2564
|
url: t,
|
|
2565
2565
|
ws_seq: n,
|
|
2566
2566
|
code: r.code,
|
|
@@ -2572,20 +2572,20 @@ var gobjJs = function(e) {
|
|
|
2572
2572
|
function Fl(e, t = 1e3, n = "") {
|
|
2573
2573
|
let r = e.priv, l = r.websocket;
|
|
2574
2574
|
if (r.websocket = null, l && l.readyState !== WebSocket.CLOSED && l.readyState !== WebSocket.CLOSING) {
|
|
2575
|
-
|
|
2575
|
+
En(`Closing WebSocket (Code: ${t}, Reason: "${n}")`);
|
|
2576
2576
|
try {
|
|
2577
2577
|
l.close(t, n);
|
|
2578
2578
|
} catch (t) {
|
|
2579
2579
|
hn(`${et(e)}: Error closing WebSocket: ${t.message}`);
|
|
2580
2580
|
}
|
|
2581
|
-
} else
|
|
2581
|
+
} else yn("WebSocket is already closed or in the process of closing.");
|
|
2582
2582
|
}
|
|
2583
2583
|
function Vl(e, t, n) {
|
|
2584
2584
|
let r = el();
|
|
2585
2585
|
try {
|
|
2586
|
-
|
|
2586
|
+
En("\n" + r + " " + t + "\n"), Un(n);
|
|
2587
2587
|
} catch (e) {
|
|
2588
|
-
|
|
2588
|
+
En("ERROR in trace_inter_event: " + e);
|
|
2589
2589
|
}
|
|
2590
2590
|
}
|
|
2591
2591
|
var Gl = class {
|
|
@@ -2597,10 +2597,10 @@ var gobjJs = function(e) {
|
|
|
2597
2597
|
return function(e, t) {
|
|
2598
2598
|
let n = e.priv, r = JSON.stringify(t);
|
|
2599
2599
|
if (Cl(e)) {
|
|
2600
|
-
let n = jt(e, "url"), l = Xe(qe()) + " ==> " + n, o =
|
|
2600
|
+
let n = jt(e, "url"), l = Xe(qe()) + " ==> " + n, o = yt(qe(), "trace_ievent_callback");
|
|
2601
2601
|
o ? o(l, t, 1, r.length) : Vl(0, l, t);
|
|
2602
2602
|
}
|
|
2603
|
-
if (!n.websocket || n.websocket.readyState !== WebSocket.OPEN) return
|
|
2603
|
+
if (!n.websocket || n.websocket.readyState !== WebSocket.OPEN) return yn(`${et(e)}: send_iev(): websocket not open, message lost`), -1;
|
|
2604
2604
|
try {
|
|
2605
2605
|
n.websocket.send(r);
|
|
2606
2606
|
} catch (t) {
|
|
@@ -2623,8 +2623,8 @@ var gobjJs = function(e) {
|
|
|
2623
2623
|
};
|
|
2624
2624
|
}
|
|
2625
2625
|
function xl(e) {
|
|
2626
|
-
let t = e.priv, n = Je(qe()), r = jt(qe(), "yuno_version"), l = jt(qe(), "yuno_release"), o = jt(qe(), "yuno_tag"), i =
|
|
2627
|
-
i && i.length || (i =
|
|
2626
|
+
let t = e.priv, n = Je(qe()), r = jt(qe(), "yuno_version"), l = jt(qe(), "yuno_release"), o = jt(qe(), "yuno_tag"), i = yt(e, "required_services");
|
|
2627
|
+
i && i.length || (i = yt(qe(), "required_services"));
|
|
2628
2628
|
let _ = {
|
|
2629
2629
|
yuno_role: ze(),
|
|
2630
2630
|
yuno_id: Qe(),
|
|
@@ -2645,7 +2645,7 @@ var gobjJs = function(e) {
|
|
|
2645
2645
|
language: "undefined" != typeof window ? window.navigator.language : "",
|
|
2646
2646
|
required_services: i
|
|
2647
2647
|
};
|
|
2648
|
-
return Gr(e, _, kl, Wl(e, Xe(nt(e)), null)), Wr(e, _, "__identity__"),
|
|
2648
|
+
return Gr(e, _, kl, Wl(e, Xe(nt(e)), null)), Wr(e, _, "__identity__"), El(t.gobj_timer, vt(e, "timeout_idack")), Ml(e, "EV_IDENTITY_CARD", _);
|
|
2649
2649
|
}
|
|
2650
2650
|
function Kl(e, t) {
|
|
2651
2651
|
if (ir(t.event)) return -1;
|
|
@@ -2658,16 +2658,16 @@ var gobjJs = function(e) {
|
|
|
2658
2658
|
return Ke(e) && (l.websocket = Ul(e)), 0;
|
|
2659
2659
|
}
|
|
2660
2660
|
function Bl(e, t, n, r) {
|
|
2661
|
-
return
|
|
2661
|
+
return En("Websocket opened: " + e.priv.url), xl(e), 0;
|
|
2662
2662
|
}
|
|
2663
2663
|
function Jl(e, t, n, r) {
|
|
2664
2664
|
let l = e.priv, o = n.url;
|
|
2665
|
-
return void 0 !== n.ws_seq && n.ws_seq !== l.ws_seq || (bn(),
|
|
2665
|
+
return void 0 !== n.ws_seq && n.ws_seq !== l.ws_seq || (bn(), yn(`${et(e)}: WebSocket closed ${o} (Code: ${n.code}, Reason: "${n.reason}", Clean: ${n.was_clean})`), l.websocket && (l.websocket.onopen = null, l.websocket.onmessage = null, l.websocket.onerror = null, l.websocket.onclose = null, l.websocket = null), l.inform_on_close ? (l.inform_on_close = !1, Xt(e, "EV_ON_CLOSE", {
|
|
2666
2666
|
url: o,
|
|
2667
2667
|
remote_yuno_name: l.remote_yuno_name,
|
|
2668
2668
|
remote_yuno_role: l.remote_yuno_role,
|
|
2669
2669
|
remote_yuno_service: l.remote_yuno_service
|
|
2670
|
-
})) : Ke(e) && (
|
|
2670
|
+
})) : Ke(e) && (yn(`${et(e)}: EV_ON_OPEN_ERROR cannot open ${o} (Code: ${n.code}, Reason: "${n.reason}", Clean: ${n.was_clean})`), Xt(e, "EV_ON_OPEN_ERROR", {
|
|
2671
2671
|
url: o,
|
|
2672
2672
|
remote_yuno_name: l.remote_yuno_name,
|
|
2673
2673
|
remote_yuno_role: l.remote_yuno_role,
|
|
@@ -2675,7 +2675,7 @@ var gobjJs = function(e) {
|
|
|
2675
2675
|
code: n.code,
|
|
2676
2676
|
reason: n.reason,
|
|
2677
2677
|
was_clean: n.was_clean
|
|
2678
|
-
})), Ke(e) &&
|
|
2678
|
+
})), Ke(e) && El(l.gobj_timer, ql(e))), 0;
|
|
2679
2679
|
}
|
|
2680
2680
|
function ql(e) {
|
|
2681
2681
|
let t = e.priv, n = vt(e, "timeout_retry"), r = vt(e, "timeout_retry_max");
|
|
@@ -2690,8 +2690,8 @@ var gobjJs = function(e) {
|
|
|
2690
2690
|
let l = e.priv;
|
|
2691
2691
|
vl(l.gobj_timer);
|
|
2692
2692
|
let o = Mr(e, n, kl, !0), s = Tr(e, o, "src_yuno", ""), i = Tr(e, o, "src_role", ""), _ = Tr(e, o, "src_service", "");
|
|
2693
|
-
|
|
2694
|
-
let a =
|
|
2693
|
+
Rt(e, "remote_yuno_name", s), Rt(e, "remote_yuno_role", i), Rt(e, "remote_yuno_service", _);
|
|
2694
|
+
let a = Er(e, n, "result", -1, 0), u = Tr(e, n, "comment", "", 0), c = Tr(e, n, "username", "", 0), f = Or(e, n, "services_roles", {});
|
|
2695
2695
|
if (a < 0) {
|
|
2696
2696
|
Fl(e);
|
|
2697
2697
|
let t = {
|
|
@@ -2729,26 +2729,26 @@ var gobjJs = function(e) {
|
|
|
2729
2729
|
try {
|
|
2730
2730
|
n = JSON.parse(t);
|
|
2731
2731
|
} catch (t) {
|
|
2732
|
-
return
|
|
2732
|
+
return yn(`${et(e)}: parsing inter_event json: ${t}`), null;
|
|
2733
2733
|
}
|
|
2734
|
-
if (!(n instanceof Object)) return
|
|
2734
|
+
if (!(n instanceof Object)) return yn(`${et(e)}: parsing inter_event: websocket data not a json object`), null;
|
|
2735
2735
|
let r = n.event;
|
|
2736
|
-
if (!r) return
|
|
2737
|
-
if ("string" != typeof r) return
|
|
2736
|
+
if (!r) return yn(`${et(e)}: parsing inter_event: no event`), null;
|
|
2737
|
+
if ("string" != typeof r) return yn(`${et(e)}: parsing inter_event: event not a string`), null;
|
|
2738
2738
|
let l = n.kw;
|
|
2739
2739
|
return l ? l instanceof Object ? {
|
|
2740
2740
|
event: r,
|
|
2741
2741
|
kw: l || {}
|
|
2742
|
-
} : (
|
|
2742
|
+
} : (yn(`${et(e)}: parsing inter_event: kw not a json object`), null) : (yn(`${et(e)}: parsing inter_kw: no kw`), null);
|
|
2743
2743
|
}(e, n.data);
|
|
2744
|
-
if (!o) return
|
|
2744
|
+
if (!o) return yn(`${et(e)}: frame dropped from ${l}: ${String(n.data).substring(0, 256)}`), -1;
|
|
2745
2745
|
if (Cl(e)) {
|
|
2746
|
-
let e = Xe(qe()) + " <== " + l, t = n.data.length, r =
|
|
2746
|
+
let e = Xe(qe()) + " <== " + l, t = n.data.length, r = yt(qe(), "trace_ievent_callback");
|
|
2747
2747
|
r ? r(e, o, 2, t) : Vl(0, e, o);
|
|
2748
2748
|
}
|
|
2749
2749
|
let s = o.event, i = o.kw;
|
|
2750
2750
|
if ("ST_SESSION" !== kt(e)) {
|
|
2751
|
-
if (It(e, s,
|
|
2751
|
+
if (It(e, s, R.EVF_PUBLIC_EVENT)) {
|
|
2752
2752
|
if (!(Vt(e, s, i, e) < 0)) return 0;
|
|
2753
2753
|
} else hn(`${et(e)}: event UNKNOWN in not-session state ${s}`);
|
|
2754
2754
|
return Fl(e), -1;
|
|
@@ -2757,12 +2757,12 @@ var gobjJs = function(e) {
|
|
|
2757
2757
|
let _ = xr(e, i), a = Mr(e, i, kl), u = Tr(e, a, "dst_role", "");
|
|
2758
2758
|
if (u.toLowerCase() !== ze().toLowerCase()) return hn(`"It's not my role, dst_role: ${u}, my_role: ${ze()}`), 0;
|
|
2759
2759
|
let c = Tr(e, a, "dst_service", "");
|
|
2760
|
-
if ("__subscribing__" === _) return
|
|
2761
|
-
if ("__unsubscribing__" === _) return
|
|
2762
|
-
if (It(e, s,
|
|
2760
|
+
if ("__subscribing__" === _) return yn(`${et(e)}: subscription event ignored, I'm client (service: ${c}, event: ${s})`), -1;
|
|
2761
|
+
if ("__unsubscribing__" === _) return yn(`${et(e)}: unsubscription event ignored, I'm client (service: ${c}, event: ${s})`), -1;
|
|
2762
|
+
if (It(e, s, R.EVF_PUBLIC_EVENT)) return Vt(e, s, i, e), 0;
|
|
2763
2763
|
if (!ir(c)) {
|
|
2764
2764
|
let t = we(c, !1);
|
|
2765
|
-
return t ? It(t, s,
|
|
2765
|
+
return t ? It(t, s, R.EVF_PUBLIC_EVENT) ? (Vt(t, s, i, e), 0) : (hn(`${et(e)}: Service found but no event or not public, service '${et(t)}', ev '${s}'`), -1) : (yn(`${et(e)}: event for a service that is gone, DROPPED: service '${c}', ev '${s}'`), 0);
|
|
2766
2766
|
}
|
|
2767
2767
|
return lt(e) ? Vt(nt(e), s, i, e) : Xt(e, s, i), 0;
|
|
2768
2768
|
}
|
|
@@ -2775,7 +2775,7 @@ var gobjJs = function(e) {
|
|
|
2775
2775
|
var eo = {
|
|
2776
2776
|
mt_create: function(e) {
|
|
2777
2777
|
let t = e.priv;
|
|
2778
|
-
t.gobj_timer = Ce(Xe(e), "C_TIMER", {}, e), t.ws_seq = 0, t.url = jt(e, "url"), t.remote_yuno_name = jt(e, "remote_yuno_name"), t.remote_yuno_role = jt(e, "remote_yuno_role"), t.remote_yuno_service = jt(e, "remote_yuno_service"),
|
|
2778
|
+
t.gobj_timer = Ce(Xe(e), "C_TIMER", {}, e), t.ws_seq = 0, t.url = jt(e, "url"), t.remote_yuno_name = jt(e, "remote_yuno_name"), t.remote_yuno_role = jt(e, "remote_yuno_role"), t.remote_yuno_service = jt(e, "remote_yuno_service"), Rt(e, "wanted_yuno_name", t.remote_yuno_name), Rt(e, "wanted_yuno_role", t.remote_yuno_role), Rt(e, "wanted_yuno_service", t.remote_yuno_service);
|
|
2779
2779
|
const n = Ot(e, "subscriber");
|
|
2780
2780
|
n && qt(e, null, {}, n);
|
|
2781
2781
|
},
|
|
@@ -2875,7 +2875,7 @@ var gobjJs = function(e) {
|
|
|
2875
2875
|
else if (o.length > 0 && "<" === o[0] && function(e) {
|
|
2876
2876
|
if (Xr.size >= 100) return;
|
|
2877
2877
|
const t = e.slice(0, 80);
|
|
2878
|
-
Xr.has(t) || (Xr.add(t),
|
|
2878
|
+
Xr.has(t) || (Xr.add(t), yn(`createElement2: a string that starts with '<' is TEXT (set_strings_are_text): use html_markup() if it is markup: ${JSON.stringify(t)}`));
|
|
2879
2879
|
}(o), n && _) i.textContent = n(_) || o;
|
|
2880
2880
|
else i.textContent = o;
|
|
2881
2881
|
else if (er(o)) {
|
|
@@ -2895,20 +2895,20 @@ var gobjJs = function(e) {
|
|
|
2895
2895
|
let o = Or(null, t, e, l);
|
|
2896
2896
|
Yn(n, e, o);
|
|
2897
2897
|
}), n;
|
|
2898
|
-
}, e.current_timestamp = el, e.data_type_t =
|
|
2898
|
+
}, e.current_timestamp = el, e.data_type_t = y, e.db_list_persistent_attrs = function(e, t) {
|
|
2899
2899
|
let n = kr(al(e), null, !1), r = {};
|
|
2900
|
-
return n && Zn(n) && (r =
|
|
2900
|
+
return n && Zn(n) && (r = Rr(e, n, t, !1)), r;
|
|
2901
2901
|
}, e.db_load_persistent_attrs = function(e, t) {
|
|
2902
|
-
let n =
|
|
2902
|
+
let n = Et(e, E.SDF_PERSIST), r = kr(al(e), null, !1);
|
|
2903
2903
|
if (r && Zn(r)) {
|
|
2904
|
-
let l =
|
|
2905
|
-
l =
|
|
2904
|
+
let l = Rr(e, r, t, !1);
|
|
2905
|
+
l = Rr(e, l, n, !1), wt(e, l, E.SDF_PERSIST);
|
|
2906
2906
|
}
|
|
2907
2907
|
}, e.db_remove_persistent_attrs = function(e, t) {
|
|
2908
2908
|
let n = Dr(e, kr(al(e), null, !1), t, !1);
|
|
2909
2909
|
0 === zn(n) ? Ir(al(e)) : Ar(al(e), n);
|
|
2910
2910
|
}, e.db_save_persistent_attrs = function(e, t) {
|
|
2911
|
-
let n =
|
|
2911
|
+
let n = Rr(e, Et(e, E.SDF_PERSIST), t, !1), r = kr(al(e), null, !1);
|
|
2912
2912
|
return r && Zn(r) && Wn(n, r), Ar(al(e), n);
|
|
2913
2913
|
}, e.debounce = function(e, t = 0, n = !1) {
|
|
2914
2914
|
let r = null, l = null, o = null;
|
|
@@ -2933,7 +2933,7 @@ var gobjJs = function(e) {
|
|
|
2933
2933
|
return t;
|
|
2934
2934
|
}, e.empty_json = function(e) {
|
|
2935
2935
|
return 0 === Xn(e);
|
|
2936
|
-
}, e.empty_string = ir, e.escapeHtml = Jr, e.event_flag_t =
|
|
2936
|
+
}, e.empty_string = ir, e.escapeHtml = Jr, e.event_flag_t = R, e.flat2json = function(e) {
|
|
2937
2937
|
if (null === e || "object" != typeof e || Array.isArray(e)) throw new Error("flat2json: a flat json is an object of id -> value");
|
|
2938
2938
|
let t = null;
|
|
2939
2939
|
for (const n of Object.keys(e)) {
|
|
@@ -2994,7 +2994,7 @@ var gobjJs = function(e) {
|
|
|
2994
2994
|
return l;
|
|
2995
2995
|
}, e.flat_key_join = function(e) {
|
|
2996
2996
|
return Array.isArray(e) && 0 !== e.length ? e.map((e) => "number" == typeof e ? `[${e}]` : sl(e)).join("`") : "";
|
|
2997
|
-
}, e.flat_key_split = il, e.gclass_add_ev_action =
|
|
2997
|
+
}, e.flat_key_split = il, e.gclass_add_ev_action = ye, e.gclass_add_event_type = Te, e.gclass_add_state = he, e.gclass_check_fsm = je, e.gclass_create = de, e.gclass_event_type = ve, e.gclass_find_by_name = Oe, e.gclass_flag_t = w, e.gclass_unregister = be, e.getPositionRelativeToBody = function(e) {
|
|
2998
2998
|
if (!e) return {
|
|
2999
2999
|
top: 0,
|
|
3000
3000
|
left: 0,
|
|
@@ -3016,7 +3016,7 @@ var gobjJs = function(e) {
|
|
|
3016
3016
|
}, e.get_function_name = rl, e.get_now = function() {
|
|
3017
3017
|
return Math.floor(Date.now() / 1e3);
|
|
3018
3018
|
}, e.gobj_bottom_gobj = st, e.gobj_change_parent = function(e, t) {
|
|
3019
|
-
return ot(e) ? (hn("gobj NULL or DESTROYED"), null) : t instanceof S ? (e.parent && e.parent.gclass.gmt.mt_child_removed && e.parent.gclass.gmt.mt_child_removed(e.parent, e), e.parent && (
|
|
3019
|
+
return ot(e) ? (hn("gobj NULL or DESTROYED"), null) : t instanceof S ? (e.parent && e.parent.gclass.gmt.mt_child_removed && e.parent.gclass.gmt.mt_child_removed(e.parent, e), e.parent && (Re(e.parent, e), e.parent = null), $e(t, e), t.gclass.gmt.mt_child_added && (Y(e) && En(n("👦👦🔵 child_added(%s): %s", tt(t), et(e))), t.gclass.gmt.mt_child_added(t, e)), 0) : (hn(`${et(e)}: gobj_change_parent() BAD TYPE of parent`), -1);
|
|
3020
3020
|
}, e.gobj_change_state = Dt, e.gobj_command = function(e, t, r, o) {
|
|
3021
3021
|
if (ot(e)) return hn("gobj NULL or DESTROYED"), -1;
|
|
3022
3022
|
if (function(e) {
|
|
@@ -3087,7 +3087,7 @@ var gobjJs = function(e) {
|
|
|
3087
3087
|
}(n, e), n;
|
|
3088
3088
|
}, e.gobj_match_gobj = bt, e.gobj_name = Xe, e.gobj_parent = nt, e.gobj_pause = xe, e.gobj_play = We, e.gobj_post_event = Ut, e.gobj_posted_events_size = function() {
|
|
3089
3089
|
return Lt.length;
|
|
3090
|
-
}, e.gobj_publish_event = Xt, e.gobj_read_attr =
|
|
3090
|
+
}, e.gobj_publish_event = Xt, e.gobj_read_attr = yt, e.gobj_read_attrs = Et, e.gobj_read_bool_attr = Tt, e.gobj_read_integer_attr = vt, e.gobj_read_pointer_attr = Ot, e.gobj_read_str_attr = jt, e.gobj_remove_persistent_attrs = function(e, t) {
|
|
3091
3091
|
return Be(e) ? a ? a(e, t) : -1 : (hn(`${et(e)}: Only gobj services can load/save writable-persistent`), -1);
|
|
3092
3092
|
}, e.gobj_repr_global_trace_levels = function() {
|
|
3093
3093
|
return U.map(([e, t, n]) => ({
|
|
@@ -3105,7 +3105,7 @@ var gobjJs = function(e) {
|
|
|
3105
3105
|
o.name && (n && o.flag & n || (-1 === t || o.flag & t) && (ae(e, e.jn_attrs, o), Zn(e.priv) && Object.prototype.hasOwnProperty.call(e.priv, o.name) && (e.priv[o.name] = e.jn_attrs[o.name]), e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, o.name)));
|
|
3106
3106
|
}
|
|
3107
3107
|
return 0;
|
|
3108
|
-
}(e,
|
|
3108
|
+
}(e, E.SDF_VOLATIL, 0);
|
|
3109
3109
|
}, e.gobj_save_persistent_attrs = De, e.gobj_search_path = mt, e.gobj_send_event = Vt, e.gobj_services = function() {
|
|
3110
3110
|
let e = [];
|
|
3111
3111
|
for (const t of Object.keys(b)) qn(e, t);
|
|
@@ -3128,10 +3128,10 @@ var gobjJs = function(e) {
|
|
|
3128
3128
|
return ot(e) ? (hn("gobj NULL or DESTROYED"), -1) : (J(e) && L(n("⏺ ⏺ ⏺ ⏺ start_tree: %s", tt(e))), e.gclass.gclass_flag & w.gcflag_manual_start || e.disabled ? 0 : (e.running || Pe(e), ut(e, D.WALK_TOP2BOTTOM, Fe, 0, 0)));
|
|
3129
3129
|
}, e.gobj_start_up = function(e, t, n, r, l, o, s) {
|
|
3130
3130
|
i = t, _ = n, a = r, u = l, c = o, f = s;
|
|
3131
|
-
const d = [["EV_STATE_CHANGED",
|
|
3131
|
+
const d = [["EV_STATE_CHANGED", R.EVF_SYSTEM_EVENT | R.EVF_OUTPUT_EVENT | R.EVF_NO_WARN_SUBS], [0, 0]];
|
|
3132
3132
|
for (let e = 0; e < d.length; e++) {
|
|
3133
3133
|
let t = d[e][0], n = d[e][1];
|
|
3134
|
-
|
|
3134
|
+
Ee(g, t, n);
|
|
3135
3135
|
}
|
|
3136
3136
|
return 0;
|
|
3137
3137
|
}, e.gobj_stats = function(e, t, r, l) {
|
|
@@ -3153,14 +3153,14 @@ var gobjJs = function(e) {
|
|
|
3153
3153
|
if (Object.keys(n).forEach((n) => {
|
|
3154
3154
|
l.has(n) || hn(`${et(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
|
|
3155
3155
|
}), ir(t)) t = "";
|
|
3156
|
-
else if (!(Ct(e, t,
|
|
3156
|
+
else if (!(Ct(e, t, R.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & w.gcflag_no_check_output_events)) return hn(`event NOT in output event list: ${et(e)}, ev ${t}`), 0;
|
|
3157
3157
|
let o = xt(n, t), s = Yt(e.dl_subscriptions, e, t, o.renamed_event, o.kw, r), i = 0, _ = 0, a = 0;
|
|
3158
3158
|
for (let t = 0; t < s.length; t++) {
|
|
3159
3159
|
let n = s[t], r = Jt(e, n, !1, !1);
|
|
3160
3160
|
0 === r ? i++ : r < 0 ? _++ : a++;
|
|
3161
3161
|
}
|
|
3162
|
-
return _ ?
|
|
3163
|
-
}, e.gobj_unsubscribe_list = Ht, e.gobj_walk_gobj_children = at, e.gobj_walk_gobj_children_tree = ut, e.gobj_write_attr = St, e.gobj_write_attrs = wt, e.gobj_write_bool_attr = Nt, e.gobj_write_integer_attr =
|
|
3162
|
+
return _ ? yn(`${et(e)}: Hard subscription not removed, only gobj_unsubscribe_list() with force removes it (event: ${t}, hard: ${_})`) : i || a || (yn(`${et(e)}: No subscription found`), Un(n, "No subscription found")), 0;
|
|
3163
|
+
}, e.gobj_unsubscribe_list = Ht, e.gobj_walk_gobj_children = at, e.gobj_walk_gobj_children_tree = ut, e.gobj_write_attr = St, e.gobj_write_attrs = wt, e.gobj_write_bool_attr = Nt, e.gobj_write_integer_attr = $t, e.gobj_write_str_attr = Rt, e.gobj_yuno = qe, e.gobj_yuno_id = Qe, e.gobj_yuno_name = He, e.gobj_yuno_role = ze, e.html_markup = function(e) {
|
|
3164
3164
|
return "string" != typeof e ? (hn("html_markup: not a string, type " + typeof e), new qr("")) : new qr(e);
|
|
3165
3165
|
}, e.id_index_in_obj_list = Pr, e.index_in_list = tl, e.is_array = er, e.is_boolean = rr, e.is_date = function(e) {
|
|
3166
3166
|
return e instanceof Date && !isNaN(e);
|
|
@@ -3182,8 +3182,9 @@ var gobjJs = function(e) {
|
|
|
3182
3182
|
}, e.is_secret_name = wn, e.is_string = tr, e.jdb_delete = function(e, t, n, r) {
|
|
3183
3183
|
let l = Or(null, Or(null, e, "topics", null, 0), t, null, 0);
|
|
3184
3184
|
if (!l) return hn("jdb_delete: topic not found: " + t), null;
|
|
3185
|
-
if (ir(r.id)) return hn(
|
|
3185
|
+
if (!Zn(r) || ir(r.id)) return hn(`jdb_delete: record without id: ${JSON.stringify(r)}`), null;
|
|
3186
3186
|
if (!tr(n)) return hn(`jdb_delete: path must be a string: ${String(n)}`), null;
|
|
3187
|
+
if ("" !== n && n.split("`").includes("")) return hn(`jdb_delete: empty segment in path: '${n}'`), null;
|
|
3187
3188
|
let o, s = n.split("`"), i = l;
|
|
3188
3189
|
for (; (o = s.shift()) && !ir(o) && i;) Zn(i) && (i = Or(null, i, e.hook, null, 0)), i = Yr(i, null, o, !1);
|
|
3189
3190
|
if (!i || 0 !== s.length) return hn(`jdb_delete: path not found in topic '${t}': '${n}'`), null;
|
|
@@ -3210,18 +3211,20 @@ var gobjJs = function(e) {
|
|
|
3210
3211
|
}, e.jdb_update = function(e, t, n, r) {
|
|
3211
3212
|
let l = Or(null, Or(null, e, "topics", null, 0), t, null, 0);
|
|
3212
3213
|
if (!l) return hn("jdb_update: topic not found: " + t), null;
|
|
3213
|
-
if (ir(r.id)) return hn(
|
|
3214
|
+
if (!Zn(r) || ir(r.id)) return hn(`jdb_update: record without id: ${JSON.stringify(r)}`), null;
|
|
3214
3215
|
if (!tr(n)) return hn(`jdb_update: path must be a string: ${String(n)}`), null;
|
|
3215
|
-
|
|
3216
|
-
|
|
3217
|
-
|
|
3218
|
-
if (0
|
|
3219
|
-
|
|
3216
|
+
if ("" !== n && n.split("`").includes("")) return hn(`jdb_update: empty segment in path: '${n}'`), null;
|
|
3217
|
+
let o, s, i = n.split("`"), _ = l;
|
|
3218
|
+
for (; (o = i.shift()) && !ir(o) && _;) Zn(_) && (_ = Or(null, _, e.hook, null, 0)), _ = Yr(_, null, o, !1);
|
|
3219
|
+
if (!_ || 0 !== i.length) return hn(`jdb_update: path not found in topic '${t}': '${n}'`), null;
|
|
3220
|
+
if (er(_)) s = _;
|
|
3220
3221
|
else {
|
|
3221
|
-
|
|
3222
|
-
|
|
3222
|
+
if (_.id === r.id) return Gn(_, r), l;
|
|
3223
|
+
if (s = Or(null, _, e.hook, null, 0), null == s) s = [], Yn(_, e.hook, s);
|
|
3224
|
+
else if (!er(s)) return hn(`jdb_update: the hook '${e.hook}' of '${n}' is not a list in topic '${t}'`), null;
|
|
3223
3225
|
}
|
|
3224
|
-
|
|
3226
|
+
let a = Yr(s, e.hook, r.id, !1);
|
|
3227
|
+
return a ? Gn(a, r) : s.push(r), l;
|
|
3225
3228
|
}, e.json2flat = function(e) {
|
|
3226
3229
|
const t = {}, n = (e, r, l) => {
|
|
3227
3230
|
if (l > ll) throw new Error("json2flat: deeper than 256");
|
|
@@ -3256,9 +3259,9 @@ var gobjJs = function(e) {
|
|
|
3256
3259
|
} catch (e) {
|
|
3257
3260
|
return null;
|
|
3258
3261
|
}
|
|
3259
|
-
}, e.jwtDecode = Br, e.kw_clone_by_keys =
|
|
3262
|
+
}, e.jwtDecode = Br, e.kw_clone_by_keys = Rr, e.kw_clone_by_not_keys = Dr, e.kw_collect = function(e, t, n, r) {
|
|
3260
3263
|
if (e && !sr(e) && hn("GObj bad instanceof"), !t) return null;
|
|
3261
|
-
r || (r =
|
|
3264
|
+
r || (r = $r);
|
|
3262
3265
|
let l = [];
|
|
3263
3266
|
if (er(t)) for (let e = 0; e < t.length; e++) {
|
|
3264
3267
|
let o = t[e];
|
|
@@ -3273,7 +3276,7 @@ var gobjJs = function(e) {
|
|
|
3273
3276
|
if (!n || !er(t)) return r && hn("item NULL or kw_list is not a list"), -1;
|
|
3274
3277
|
for (let e = 0; e < t.length; e++) if (Vn(n, t[e])) return e;
|
|
3275
3278
|
return r && hn("item not found in this list"), -1;
|
|
3276
|
-
}, e.kw_find_path = mr, e.kw_flag_t = Zt, e.kw_get_bool =
|
|
3279
|
+
}, e.kw_find_path = mr, e.kw_flag_t = Zt, e.kw_get_bool = yr, e.kw_get_dict = jr, e.kw_get_dict_value = Or, e.kw_get_int = Er, e.kw_get_list = function(e, t, n, r, l) {
|
|
3277
3280
|
e && !sr(e) && hn("GObj bad instanceof");
|
|
3278
3281
|
let o = mr(e, t, n, !1);
|
|
3279
3282
|
const s = l && l & Zt.KW_REQUIRED, i = l && l & Zt.KW_CREATE, _ = l && l & Zt.KW_EXTRACT;
|
|
@@ -3301,9 +3304,9 @@ var gobjJs = function(e) {
|
|
|
3301
3304
|
}
|
|
3302
3305
|
}
|
|
3303
3306
|
return _ && hr(e, t, n), u;
|
|
3304
|
-
}, e.kw_get_str = Tr, e.kw_has_key = gr, e.kw_match_simple =
|
|
3307
|
+
}, e.kw_get_str = Tr, e.kw_has_key = gr, e.kw_match_simple = $r, e.kw_pop = fr, e.kw_remove_local_storage_value = Ir, e.kw_select = function(e, t, n, r) {
|
|
3305
3308
|
if (e && !sr(e) && hn("GObj bad instanceof"), !t) return null;
|
|
3306
|
-
r || (r =
|
|
3309
|
+
r || (r = $r);
|
|
3307
3310
|
let l = [];
|
|
3308
3311
|
if (er(t)) for (let e = 0; e < t.length; e++) {
|
|
3309
3312
|
let o = t[e];
|
|
@@ -3399,10 +3402,10 @@ var gobjJs = function(e) {
|
|
|
3399
3402
|
else n && n(r.status);
|
|
3400
3403
|
var e;
|
|
3401
3404
|
}, r.send();
|
|
3402
|
-
}, e.log_debug =
|
|
3405
|
+
}, e.log_debug = En, e.log_error = hn, e.log_info = function(e, ...t) {
|
|
3403
3406
|
let n = mn(e, ...t), r = el();
|
|
3404
3407
|
rn && cn("info", n) && rn("%c" + r + " INFO: " + String(n), "color:cyan"), gn("info", n, r);
|
|
3405
|
-
}, e.log_warning =
|
|
3408
|
+
}, e.log_warning = yn, e.mask_secrets_inline = kn, e.msg_iev_get_msg_type = xr, e.msg_iev_get_stack = Mr, e.msg_iev_push_stack = Gr, e.msg_iev_read_key = Fr, e.msg_iev_set_msg_type = Wr, e.msg_iev_write_key = Vr, e.node_uuid = nl, e.parseBoolean = _r, e.parseSVG = function(e) {
|
|
3406
3409
|
return new DOMParser().parseFromString(e, "image/svg+xml").firstChild;
|
|
3407
3410
|
}, e.refresh_language = function(e, t) {
|
|
3408
3411
|
if (!or(t)) return void hn("You must supply a translation function");
|
|
@@ -3510,14 +3513,14 @@ var gobjJs = function(e) {
|
|
|
3510
3513
|
[null, null]
|
|
3511
3514
|
];
|
|
3512
3515
|
return (Pl = de(e, [
|
|
3513
|
-
["EV_ON_MESSAGE",
|
|
3514
|
-
["EV_IDENTITY_CARD_ACK",
|
|
3515
|
-
["EV_ON_ID_NAK",
|
|
3516
|
-
["EV_MT_STATS",
|
|
3517
|
-
["EV_MT_COMMAND",
|
|
3518
|
-
["EV_ON_OPEN",
|
|
3519
|
-
["EV_ON_CLOSE",
|
|
3520
|
-
["EV_ON_OPEN_ERROR",
|
|
3516
|
+
["EV_ON_MESSAGE", R.EVF_OUTPUT_EVENT],
|
|
3517
|
+
["EV_IDENTITY_CARD_ACK", R.EVF_PUBLIC_EVENT],
|
|
3518
|
+
["EV_ON_ID_NAK", R.EVF_PUBLIC_EVENT | R.EVF_OUTPUT_EVENT],
|
|
3519
|
+
["EV_MT_STATS", R.EVF_PUBLIC_EVENT],
|
|
3520
|
+
["EV_MT_COMMAND", R.EVF_PUBLIC_EVENT],
|
|
3521
|
+
["EV_ON_OPEN", R.EVF_OUTPUT_EVENT | R.EVF_NO_WARN_SUBS],
|
|
3522
|
+
["EV_ON_CLOSE", R.EVF_OUTPUT_EVENT | R.EVF_NO_WARN_SUBS],
|
|
3523
|
+
["EV_ON_OPEN_ERROR", R.EVF_OUTPUT_EVENT | R.EVF_NO_WARN_SUBS],
|
|
3521
3524
|
["EV_TIMEOUT", 0],
|
|
3522
3525
|
[null, 0]
|
|
3523
3526
|
], t, eo, 0, Al, Ll, 0, 0, Il, w.gcflag_no_check_output_events)) ? 0 : -1;
|
|
@@ -3531,26 +3534,26 @@ var gobjJs = function(e) {
|
|
|
3531
3534
|
null
|
|
3532
3535
|
]]]];
|
|
3533
3536
|
return (ml = de(e, [
|
|
3534
|
-
["EV_TIMEOUT",
|
|
3535
|
-
["EV_TIMEOUT_PERIODIC",
|
|
3537
|
+
["EV_TIMEOUT", R.EVF_OUTPUT_EVENT],
|
|
3538
|
+
["EV_TIMEOUT_PERIODIC", R.EVF_OUTPUT_EVENT],
|
|
3536
3539
|
[0, 0]
|
|
3537
|
-
], t,
|
|
3540
|
+
], t, yl, 0, bl, pl, 0, 0, 0, w.gcflag_manual_start)) ? 0 : -1;
|
|
3538
3541
|
}("C_TIMER");
|
|
3539
3542
|
}, e.register_c_yuno = function() {
|
|
3540
3543
|
return function(e) {
|
|
3541
3544
|
if (Sl) return hn(`GClass ALREADY created: ${e}`), -1;
|
|
3542
3545
|
const t = [["ST_IDLE", [[
|
|
3543
3546
|
"EV_TIMEOUT_PERIODIC",
|
|
3544
|
-
|
|
3547
|
+
Rl,
|
|
3545
3548
|
null
|
|
3546
3549
|
]]]];
|
|
3547
|
-
return (Sl = de(e, [["EV_TIMEOUT_PERIODIC",
|
|
3550
|
+
return (Sl = de(e, [["EV_TIMEOUT_PERIODIC", R.EVF_OUTPUT_EVENT | R.EVF_NO_WARN_SUBS], [0, 0]], t, Dl, 0, jl, Ol, 0, 0, 0, 0)) ? 0 : -1;
|
|
3548
3551
|
}("C_YUNO");
|
|
3549
3552
|
}, e.safeSrc = function(e) {
|
|
3550
3553
|
if (!e) return "";
|
|
3551
3554
|
const t = String(e).trim();
|
|
3552
3555
|
return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : Jr(t);
|
|
3553
|
-
}, e.sdata_flag_t =
|
|
3556
|
+
}, e.sdata_flag_t = E, e.send_http_json_post = function(e, t, n) {
|
|
3554
3557
|
let r = new XMLHttpRequest();
|
|
3555
3558
|
r.open("POST", e), r.setRequestHeader("Accept", "application/json"), r.setRequestHeader("Content-Type", "application/json"), r.onreadystatechange = function() {
|
|
3556
3559
|
4 === r.readyState && n(r.status, r.responseText);
|
|
@@ -3574,7 +3577,7 @@ var gobjJs = function(e) {
|
|
|
3574
3577
|
} else on = e;
|
|
3575
3578
|
}, e.set_remote_log_functions = bn, e.set_strings_are_text = function(e) {
|
|
3576
3579
|
Qr = !!e;
|
|
3577
|
-
}, e.set_timeout =
|
|
3580
|
+
}, e.set_timeout = El, e.set_timeout_periodic = Tl, e.sprintf = n, e.stats_parser = function(e, t, n, r) {}, e.str_in_list = Ur, e.strcasecmp = ur, e.strcmp = ar, e.strings_are_text = function() {
|
|
3578
3581
|
return Qr;
|
|
3579
3582
|
}, e.strncmp = function(e, t, n) {
|
|
3580
3583
|
var r = (e + "").substring(0, n), l = (t + "").substring(0, n);
|
|
@@ -3624,9 +3627,9 @@ var gobjJs = function(e) {
|
|
|
3624
3627
|
}, e.timeTracker = function(e = "Time Tracker", t = !1) {
|
|
3625
3628
|
const n = e, r = performance.now();
|
|
3626
3629
|
let l = r;
|
|
3627
|
-
return t &&
|
|
3630
|
+
return t && yn(`--\x3e ${n} - starting`), { mark: (e = "Intermediate", o = "") => {
|
|
3628
3631
|
const s = performance.now(), i = (s - l) / 1e3, _ = (s - r) / 1e3;
|
|
3629
|
-
return t &&
|
|
3632
|
+
return t && yn(`--\x3e ${n} ${e} - partial: ${i} sec, total: ${_} sec, ${o}`), l = s, {
|
|
3630
3633
|
partial: i,
|
|
3631
3634
|
total: _
|
|
3632
3635
|
};
|