@yuneta/gobj-js 7.13.8 → 7.16.1
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 +245 -5
- package/dist/gobj-js.cjs.js.map +1 -1
- package/dist/gobj-js.cjs.min.js +660 -550
- package/dist/gobj-js.cjs.min.js.map +1 -1
- package/dist/gobj-js.es.js +240 -6
- package/dist/gobj-js.es.js.map +1 -1
- package/dist/gobj-js.es.min.js +958 -843
- package/dist/gobj-js.es.min.js.map +1 -1
- package/dist/gobj-js.iife.js +245 -5
- package/dist/gobj-js.iife.js.map +1 -1
- package/dist/gobj-js.iife.min.js +796 -686
- package/dist/gobj-js.iife.min.js.map +1 -1
- package/dist/gobj-js.umd.js +245 -5
- package/dist/gobj-js.umd.js.map +1 -1
- package/dist/gobj-js.umd.min.js +796 -686
- package/dist/gobj-js.umd.min.js.map +1 -1
- package/package.json +2 -2
package/dist/gobj-js.umd.min.js
CHANGED
|
@@ -21,16 +21,16 @@
|
|
|
21
21
|
};
|
|
22
22
|
function n(e) {
|
|
23
23
|
return function(e, r) {
|
|
24
|
-
var o, i, s,
|
|
25
|
-
for (
|
|
26
|
-
else if ("object" == typeof e[
|
|
27
|
-
if ((
|
|
28
|
-
if (null == o) throw new Error(n("[sprintf] Cannot access property \"%s\" of undefined value \"%s\"",
|
|
29
|
-
o = o[
|
|
24
|
+
var o, l, i, s, _, a, u, c, f, g = 1, d = e.length, b = "";
|
|
25
|
+
for (l = 0; l < d; l++) if ("string" == typeof e[l]) b += e[l];
|
|
26
|
+
else if ("object" == typeof e[l]) {
|
|
27
|
+
if ((s = e[l]).keys) for (o = r[g], i = 0; i < s.keys.length; i++) {
|
|
28
|
+
if (null == o) throw new Error(n("[sprintf] Cannot access property \"%s\" of undefined value \"%s\"", s.keys[i], s.keys[i - 1]));
|
|
29
|
+
o = o[s.keys[i]];
|
|
30
30
|
}
|
|
31
|
-
else o =
|
|
32
|
-
if (t.not_type.test(
|
|
33
|
-
switch (t.number.test(
|
|
31
|
+
else o = s.param_no ? r[s.param_no] : r[g++];
|
|
32
|
+
if (t.not_type.test(s.type) && t.not_primitive.test(s.type) && o instanceof Function && (o = o()), t.numeric_arg.test(s.type) && "number" != typeof o && isNaN(o)) throw new TypeError(n("[sprintf] expecting number but found %T", o));
|
|
33
|
+
switch (t.number.test(s.type) && (c = o >= 0), s.type) {
|
|
34
34
|
case "b":
|
|
35
35
|
o = parseInt(o, 10).toString(2);
|
|
36
36
|
break;
|
|
@@ -42,64 +42,64 @@
|
|
|
42
42
|
o = parseInt(o, 10);
|
|
43
43
|
break;
|
|
44
44
|
case "j":
|
|
45
|
-
o = JSON.stringify(o, null,
|
|
45
|
+
o = JSON.stringify(o, null, s.width ? parseInt(s.width) : 0);
|
|
46
46
|
break;
|
|
47
47
|
case "e":
|
|
48
|
-
o =
|
|
48
|
+
o = s.precision ? parseFloat(o).toExponential(s.precision) : parseFloat(o).toExponential();
|
|
49
49
|
break;
|
|
50
50
|
case "f":
|
|
51
|
-
o =
|
|
51
|
+
o = s.precision ? parseFloat(o).toFixed(s.precision) : parseFloat(o);
|
|
52
52
|
break;
|
|
53
53
|
case "g":
|
|
54
|
-
o =
|
|
54
|
+
o = s.precision ? String(Number(o.toPrecision(s.precision))) : parseFloat(o);
|
|
55
55
|
break;
|
|
56
56
|
case "o":
|
|
57
57
|
o = (parseInt(o, 10) >>> 0).toString(8);
|
|
58
58
|
break;
|
|
59
59
|
case "s":
|
|
60
|
-
o = String(o), o =
|
|
60
|
+
o = String(o), o = s.precision ? o.substring(0, s.precision) : o;
|
|
61
61
|
break;
|
|
62
62
|
case "t":
|
|
63
|
-
o = String(!!o), o =
|
|
63
|
+
o = String(!!o), o = s.precision ? o.substring(0, s.precision) : o;
|
|
64
64
|
break;
|
|
65
65
|
case "T":
|
|
66
|
-
o = Object.prototype.toString.call(o).slice(8, -1).toLowerCase(), o =
|
|
66
|
+
o = Object.prototype.toString.call(o).slice(8, -1).toLowerCase(), o = s.precision ? o.substring(0, s.precision) : o;
|
|
67
67
|
break;
|
|
68
68
|
case "u":
|
|
69
69
|
o = parseInt(o, 10) >>> 0;
|
|
70
70
|
break;
|
|
71
71
|
case "v":
|
|
72
|
-
o = o.valueOf(), o =
|
|
72
|
+
o = o.valueOf(), o = s.precision ? o.substring(0, s.precision) : o;
|
|
73
73
|
break;
|
|
74
74
|
case "x":
|
|
75
75
|
o = (parseInt(o, 10) >>> 0).toString(16);
|
|
76
76
|
break;
|
|
77
77
|
case "X": o = (parseInt(o, 10) >>> 0).toString(16).toUpperCase();
|
|
78
78
|
}
|
|
79
|
-
t.json.test(
|
|
79
|
+
t.json.test(s.type) ? b += o : (!t.number.test(s.type) || c && !s.sign ? f = "" : (f = c ? "+" : "-", o = o.toString().replace(t.sign, "")), a = s.pad_char ? "0" === s.pad_char ? "0" : s.pad_char.charAt(1) : " ", u = s.width - (f + o).length, _ = s.width && u > 0 ? a.repeat(u) : "", b += s.align ? f + o + _ : "0" === a ? f + _ + o : _ + f + o);
|
|
80
80
|
}
|
|
81
81
|
return b;
|
|
82
82
|
}(function(e) {
|
|
83
83
|
if (r[e]) return r[e];
|
|
84
|
-
let n, o = e,
|
|
84
|
+
let n, o = e, l = [], i = 0;
|
|
85
85
|
for (; o;) {
|
|
86
|
-
if (null !== (n = t.text.exec(o)))
|
|
87
|
-
else if (null !== (n = t.modulo.exec(o)))
|
|
86
|
+
if (null !== (n = t.text.exec(o))) l.push(n[0]);
|
|
87
|
+
else if (null !== (n = t.modulo.exec(o))) l.push("%");
|
|
88
88
|
else {
|
|
89
89
|
if (null === (n = t.placeholder.exec(o))) throw new SyntaxError("[sprintf] unexpected placeholder");
|
|
90
90
|
if (n[2]) {
|
|
91
|
-
|
|
92
|
-
var
|
|
91
|
+
i |= 1;
|
|
92
|
+
var s = [], _ = n[2], a = [];
|
|
93
93
|
if (null === (a = t.key.exec(_))) throw new SyntaxError("[sprintf] failed to parse named argument key");
|
|
94
|
-
for (
|
|
94
|
+
for (s.push(a[1]); "" !== (_ = _.substring(a[0].length));) if (null !== (a = t.key_access.exec(_))) s.push(a[1]);
|
|
95
95
|
else {
|
|
96
96
|
if (null === (a = t.index_access.exec(_))) throw new SyntaxError("[sprintf] failed to parse named argument key");
|
|
97
|
-
|
|
97
|
+
s.push(a[1]);
|
|
98
98
|
}
|
|
99
|
-
n[2] =
|
|
100
|
-
} else
|
|
101
|
-
if (3 ===
|
|
102
|
-
|
|
99
|
+
n[2] = s;
|
|
100
|
+
} else i |= 2;
|
|
101
|
+
if (3 === i) throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");
|
|
102
|
+
l.push({
|
|
103
103
|
placeholder: n[0],
|
|
104
104
|
param_no: n[1],
|
|
105
105
|
keys: n[2],
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
}
|
|
114
114
|
o = o.substring(n[0].length);
|
|
115
115
|
}
|
|
116
|
-
return r[e] =
|
|
116
|
+
return r[e] = l;
|
|
117
117
|
}(e), arguments);
|
|
118
118
|
}
|
|
119
119
|
var r = Object.create(null);
|
|
@@ -125,7 +125,7 @@
|
|
|
125
125
|
data: o || []
|
|
126
126
|
};
|
|
127
127
|
}
|
|
128
|
-
function
|
|
128
|
+
function l(e, t, n, r, o) {
|
|
129
129
|
return {
|
|
130
130
|
result: t,
|
|
131
131
|
comment: n || {},
|
|
@@ -133,7 +133,7 @@
|
|
|
133
133
|
data: o || []
|
|
134
134
|
};
|
|
135
135
|
}
|
|
136
|
-
var
|
|
136
|
+
var i = "7.0.0a", s = null, _ = null, a = null, u = null, c = null, f = null, g = [], d = Object.create(null), b = {}, p = null, m = null, E = 0, T = Object.freeze({
|
|
137
137
|
DTP_STRING: 1,
|
|
138
138
|
DTP_BOOLEAN: 2,
|
|
139
139
|
DTP_INTEGER: 3,
|
|
@@ -169,12 +169,12 @@
|
|
|
169
169
|
});
|
|
170
170
|
h.SDF_RD, h.SDF_WR, h.SDF_STATS, h.SDF_PERSIST, h.SDF_VOLATIL, h.SDF_RSTATS, h.SDF_PSTATS, h.SDF_WR, h.SDF_PERSIST;
|
|
171
171
|
var y = class {
|
|
172
|
-
constructor(e, t, n = 0, r = null, o = "",
|
|
173
|
-
this.type = e, this.name = t, this.alias =
|
|
172
|
+
constructor(e, t, n = 0, r = null, o = "", l = null, i = null, s = 0, _ = null, a = null, u = null) {
|
|
173
|
+
this.type = e, this.name = t, this.alias = l, this.flag = n, this.default_value = r, this.header = i, this.fillspace = s, this.description = o, this.json_fn = _, this.schema = a, this.authpth = u;
|
|
174
174
|
}
|
|
175
|
-
},
|
|
176
|
-
constructor(e, t, n, r, o, i, s,
|
|
177
|
-
this.gclass_name = e, this.dl_states = [], this.dl_events = [], this.gmt = t, this.lmt = n, this.attrs_table = r, this.priv = o, this.authz_table =
|
|
175
|
+
}, j = () => new y(0, null), v = (e, t, n, r, o) => new y(e, t, n, r, o), S = class {
|
|
176
|
+
constructor(e, t, n, r, o, l, i, s, _) {
|
|
177
|
+
this.gclass_name = e, this.dl_states = [], this.dl_events = [], this.gmt = t, this.lmt = n, this.attrs_table = r, this.priv = o, this.authz_table = l, this.command_table = i, this.s_user_trace_level = s, this.gclass_flag = Number(_) || 0, this.instances = 0, this.trace_level = 0, this.no_trace_level = 0, this.jn_trace_filter = null, this.fsm_checked = !1;
|
|
178
178
|
}
|
|
179
179
|
}, O = class {
|
|
180
180
|
constructor(e, t, n, r, o) {
|
|
@@ -186,7 +186,7 @@
|
|
|
186
186
|
gcflag_ignore_unknown_attrs: 4,
|
|
187
187
|
gcflag_required_start_to_play: 8,
|
|
188
188
|
gcflag_singleton: 16
|
|
189
|
-
}),
|
|
189
|
+
}), w = Object.freeze({
|
|
190
190
|
gobj_flag_yuno: 1,
|
|
191
191
|
gobj_flag_default_service: 2,
|
|
192
192
|
gobj_flag_service: 4,
|
|
@@ -194,7 +194,7 @@
|
|
|
194
194
|
gobj_flag_pure_child: 16,
|
|
195
195
|
gobj_flag_autostart: 32,
|
|
196
196
|
gobj_flag_autoplay: 64
|
|
197
|
-
}),
|
|
197
|
+
}), R = Object.freeze({
|
|
198
198
|
obflag_destroying: 1,
|
|
199
199
|
obflag_destroyed: 2,
|
|
200
200
|
obflag_created: 4
|
|
@@ -343,10 +343,10 @@
|
|
|
343
343
|
if (!p || !p.jn_attrs) return 0;
|
|
344
344
|
let e = 0;
|
|
345
345
|
if (ot(p, "tracing")) {
|
|
346
|
-
const t = Number(
|
|
346
|
+
const t = Number(lt(p, "tracing")) || 0;
|
|
347
347
|
t >= 1 && (e |= P.TRACE_MACHINE), t >= 2 && (e |= P.TRACE_EV_KW);
|
|
348
348
|
}
|
|
349
|
-
return ot(p, "trace_timer") &&
|
|
349
|
+
return ot(p, "trace_timer") && lt(p, "trace_timer") && (e |= P.TRACE_TIMER), ot(p, "trace_creation") && lt(p, "trace_creation") && (e |= P.TRACE_CREATE_DELETE), ot(p, "trace_start_stop") && lt(p, "trace_start_stop") && (e |= P.TRACE_START_STOP), e;
|
|
350
350
|
}
|
|
351
351
|
function Y(e) {
|
|
352
352
|
return (W(e) | x()) & P.TRACE_CREATE_DELETE;
|
|
@@ -469,7 +469,7 @@
|
|
|
469
469
|
break;
|
|
470
470
|
case T.DTP_POINTER: o = r;
|
|
471
471
|
}
|
|
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 &
|
|
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 & R.obflag_created && !(e.obflag & R.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;
|
|
@@ -486,11 +486,11 @@
|
|
|
486
486
|
}
|
|
487
487
|
return n && Ht(`${e.gclass_name}: GClass Attribute NOT FOUND: ${t}`), null;
|
|
488
488
|
}
|
|
489
|
-
function te(e, t, n, r, o, i, s,
|
|
489
|
+
function te(e, t, n, r, o, l, i, s, _, a, u) {
|
|
490
490
|
if (Sn(e)) return Ht("gclass_name EMPTY"), null;
|
|
491
491
|
if (e.includes("`") || e.includes("^") || e.includes(".")) return Ht(`GClass name CANNOT have '.' or '^' or '\`' char: ${e}`), null;
|
|
492
492
|
if (ce(e)) return Ht(`GClass ALREADY exists: ${e}`), null;
|
|
493
|
-
let c = new S(e, r, o, i, s,
|
|
493
|
+
let c = new S(e, r, o, l, i, s, _, a, u);
|
|
494
494
|
(function(e, t) {
|
|
495
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);
|
|
@@ -498,11 +498,11 @@
|
|
|
498
498
|
for (let e = 0; e < f; e++) {
|
|
499
499
|
let t = n[e][0], r = n[e][1];
|
|
500
500
|
if (Sn(t)) continue;
|
|
501
|
-
if (
|
|
501
|
+
if (le(c, t) < 0) return ne(c), null;
|
|
502
502
|
const o = r.length;
|
|
503
503
|
for (let e = 0; e < o; e++) {
|
|
504
|
-
let n = r[e][0], o = r[e][1],
|
|
505
|
-
Sn(n) ||
|
|
504
|
+
let n = r[e][0], o = r[e][1], l = r[e][2];
|
|
505
|
+
Sn(n) || ie(c, t, n, o, l);
|
|
506
506
|
}
|
|
507
507
|
}
|
|
508
508
|
for (let e = 0; e < t.length; e++) {
|
|
@@ -544,20 +544,20 @@
|
|
|
544
544
|
}
|
|
545
545
|
return null;
|
|
546
546
|
}
|
|
547
|
-
function
|
|
547
|
+
function le(e, t) {
|
|
548
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
|
-
function
|
|
550
|
+
function ie(e, t, n, r, o) {
|
|
551
551
|
if (!(e instanceof S)) return Ht("Cannot add state, typeof not GClass"), -1;
|
|
552
552
|
if (Sn(t)) return Ht("state_name EMPTY"), -1;
|
|
553
|
-
let
|
|
554
|
-
return
|
|
553
|
+
let l = re(e, t);
|
|
554
|
+
return l ? oe(l, n) ? (Ht(`event already exists: gclass ${e.gclass_name}, state ${t}, event ${n}`), -1) : (l.dl_actions.push(new k(n, r, o)), 0) : (Ht(`state not found: ${t}`), -1);
|
|
555
555
|
}
|
|
556
|
-
function
|
|
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 ?
|
|
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
563
|
if (!(e instanceof S)) return Ht("Cannot add state, typeof not GClass"), 0;
|
|
@@ -600,7 +600,7 @@
|
|
|
600
600
|
return n || (t && Ht(`gclass not found: ${e}`), null);
|
|
601
601
|
}
|
|
602
602
|
function fe() {
|
|
603
|
-
return !m || m.obflag &
|
|
603
|
+
return !m || m.obflag & R.obflag_destroyed ? null : m;
|
|
604
604
|
}
|
|
605
605
|
function ge(e, t) {
|
|
606
606
|
e = e.toLowerCase();
|
|
@@ -624,48 +624,48 @@
|
|
|
624
624
|
let r = t;
|
|
625
625
|
(function(e, t, n, r, o) {
|
|
626
626
|
if (!e || !t) return Ht("hsdata or kw NULL"), -1;
|
|
627
|
-
let
|
|
628
|
-
for (const [
|
|
629
|
-
const t = ee(o.gclass,
|
|
630
|
-
t ? (-1 === n || t.flag & n) && (t.flag & h.SDF_DEPRECATED && zt(`${Ve(o)}: Deprecated attribute used in gobj creation: ${
|
|
627
|
+
let l = 0;
|
|
628
|
+
for (const [i, s] of Object.entries(t)) {
|
|
629
|
+
const t = ee(o.gclass, i, !1);
|
|
630
|
+
t ? (-1 === n || t.flag & n) && (t.flag & h.SDF_DEPRECATED && zt(`${Ve(o)}: Deprecated attribute used in gobj creation: ${i}`), l += Q(o, e, t, s)) : r && (r(o, i), l--);
|
|
631
631
|
}
|
|
632
|
-
return
|
|
632
|
+
return l;
|
|
633
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
|
-
function Te(e, t, r, o,
|
|
636
|
-
if (
|
|
635
|
+
function Te(e, t, r, o, l) {
|
|
636
|
+
if (l & w.gobj_flag_yuno) {
|
|
637
637
|
if (p) return Ht("__yuno__ already created"), null;
|
|
638
|
-
|
|
638
|
+
l |= w.gobj_flag_service;
|
|
639
639
|
} else {
|
|
640
640
|
if (!o) return Ht("gobj NEEDS a parent!"), null;
|
|
641
641
|
if (!("string" == typeof o || o instanceof O)) return Ht(`BAD TYPE of parent: ${o}`), null;
|
|
642
642
|
if (En(o) && !(o = ge(o))) return zt(`parent service not found: ${o}`), null;
|
|
643
643
|
}
|
|
644
|
-
if (
|
|
645
|
-
if (
|
|
644
|
+
if (l & w.gobj_flag_service && ge(e, !1)) return Ht(`service ALREADY registered: ${t}^${e}`), null;
|
|
645
|
+
if (l & w.gobj_flag_default_service) {
|
|
646
646
|
if (m) return Ht(`default service ALREADY registered: ${t}^${e}`), null;
|
|
647
|
-
|
|
647
|
+
l |= w.gobj_flag_service;
|
|
648
648
|
}
|
|
649
649
|
if (Sn(t)) return Ht("gclass_name must be a string"), null;
|
|
650
|
-
let
|
|
651
|
-
if (!
|
|
650
|
+
let i = ce(t, !1);
|
|
651
|
+
if (!i) return Ht(`GClass not registered: ${t}^${e}`), null;
|
|
652
652
|
if (!En(e)) return Ht(`gobj_name must be a string: ${t}`), null;
|
|
653
653
|
if (!Sn(e)) {
|
|
654
654
|
if (e.includes("`")) return Ht(`gobj_name cannot contain char ': ${t}^${e}`), null;
|
|
655
655
|
if (e.includes("^")) return Ht(`gobj_name cannot contain char ^: ${t}^${e}`), null;
|
|
656
656
|
}
|
|
657
|
-
let _ = new O(e,
|
|
658
|
-
_.jn_attrs = H(_,
|
|
657
|
+
let _ = new O(e, i, r, o, l);
|
|
658
|
+
_.jn_attrs = H(_, i.attrs_table);
|
|
659
659
|
for (const [e, t] of Object.entries(_.jn_attrs)) e in _.priv && (_.priv[e] = t);
|
|
660
660
|
let a = Y(_);
|
|
661
|
-
return a && L(n("💙💙⏩ creating: %s^%s",
|
|
661
|
+
return a && L(n("💙💙⏩ creating: %s^%s", i.gclass_name, e)), _.gobj_flag & w.gobj_flag_service && de(_), _.gobj_flag & w.gobj_flag_yuno && (p = _), _.gobj_flag & w.gobj_flag_default_service && (m = _), _.gobj_flag & w.gobj_flag_yuno || be(o, _), _.obflag |= R.obflag_created, _.gclass.instances++, Ee(_, r), _.gobj_flag & w.gobj_flag_service && s && s(_, null), _.gclass.gmt.mt_create2 ? _.gclass.gmt.mt_create2(_, r) : _.gclass.gmt.mt_create && _.gclass.gmt.mt_create(_), o && o.gclass.gmt.mt_child_added && (a && L(n("👦👦🔵 child_added(%s): %s", Me(o), Ve(_))), o.gclass.gmt.mt_child_added(o, _)), a && L(n("💙💙⏪ created: %s", Me(_))), _;
|
|
662
662
|
}
|
|
663
663
|
function he(e, t, n, r) {
|
|
664
|
-
return Te(e, t, n, r,
|
|
664
|
+
return Te(e, t, n, r, w.gobj_flag_pure_child);
|
|
665
665
|
}
|
|
666
666
|
function ye(e) {
|
|
667
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 |=
|
|
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 |= R.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);
|
|
@@ -673,7 +673,7 @@
|
|
|
673
673
|
let t = Y(e);
|
|
674
674
|
t && L(n("💔💔⏩ destroying: %s", Me(e)));
|
|
675
675
|
let r = We(e);
|
|
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 &
|
|
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 & w.gobj_flag_service && function(e) {
|
|
677
677
|
let t = Fe(e);
|
|
678
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) {
|
|
@@ -682,9 +682,9 @@
|
|
|
682
682
|
let n = t[e];
|
|
683
683
|
Ye(n) || ye(n);
|
|
684
684
|
}
|
|
685
|
-
}(e), e.obflag &
|
|
685
|
+
}(e), e.obflag & R.obflag_created && e.gclass.gmt.mt_destroy && e.gclass.gmt.mt_destroy(e), t && L(n("💔💔⏪ destroyed: %s", Me(e))), e.obflag |= R.obflag_destroyed, e.obflag & R.obflag_created && e.gclass.instances--;
|
|
686
686
|
}
|
|
687
|
-
function
|
|
687
|
+
function je(e) {
|
|
688
688
|
if (Ye(e)) return Ht("gobj NULL or DESTROYED"), -1;
|
|
689
689
|
if (e.running) return Ht(`${Ve(e)}: GObj ALREADY RUNNING`), -1;
|
|
690
690
|
if (e.disabled) return Ht(`${Ve(e)}: GObj DISABLED`), -1;
|
|
@@ -692,11 +692,11 @@
|
|
|
692
692
|
let t = 0;
|
|
693
693
|
return e.gclass.gmt.mt_start && (t = e.gclass.gmt.mt_start(e)), t;
|
|
694
694
|
}
|
|
695
|
-
function
|
|
696
|
-
return e.gclass.gclass_flag & N.gcflag_manual_start || Ye(e) || Ae(e) || ke(e) ||
|
|
695
|
+
function ve(e, t, n) {
|
|
696
|
+
return e.gclass.gclass_flag & N.gcflag_manual_start || Ye(e) || Ae(e) || ke(e) || je(e), 0;
|
|
697
697
|
}
|
|
698
698
|
function Se(e, t, n) {
|
|
699
|
-
return e.gclass.gclass_flag & N.gcflag_manual_start || ke(e) ? 1 : (Ae(e) ||
|
|
699
|
+
return e.gclass.gclass_flag & N.gcflag_manual_start || ke(e) ? 1 : (Ae(e) || je(e), 0);
|
|
700
700
|
}
|
|
701
701
|
function Oe(e) {
|
|
702
702
|
if (Ye(e)) return Ht("gobj NULL or DESTROYED"), -1;
|
|
@@ -708,16 +708,16 @@
|
|
|
708
708
|
function Ne(e, t, n) {
|
|
709
709
|
return Ae(e) && Oe(e), 0;
|
|
710
710
|
}
|
|
711
|
-
function
|
|
711
|
+
function we(e) {
|
|
712
712
|
return Ye(e) ? (Ht("gobj NULL or DESTROYED"), -1) : He(e, A.WALK_FIRST2LAST, Ne, 0, 0);
|
|
713
713
|
}
|
|
714
|
-
function
|
|
714
|
+
function Re(e) {
|
|
715
715
|
if (Ye(e)) return Ht(`gobj NULL or DESTROYED: ${Ve(e)}`), -1;
|
|
716
716
|
if (e.playing) return Ht(`${Ve(e)}: GObj ALREADY PLAYING`), -1;
|
|
717
717
|
if (e.disabled) return Ht(`${Ve(e)}: GObj DISABLED`), -1;
|
|
718
718
|
if (!Ae(e)) {
|
|
719
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`),
|
|
720
|
+
zt(`${Ve(e)}: GObj playing without previous start`), je(e);
|
|
721
721
|
}
|
|
722
722
|
B(e) && L(n("⏯ ⏯ play: %s", Me(e))), e.playing = !0;
|
|
723
723
|
let t = 0;
|
|
@@ -733,13 +733,13 @@
|
|
|
733
733
|
return !!Ye(e) || e.disabled;
|
|
734
734
|
}
|
|
735
735
|
function Ie(e) {
|
|
736
|
-
return !!(e && e.gobj_flag &
|
|
736
|
+
return !!(e && e.gobj_flag & w.gobj_flag_service);
|
|
737
737
|
}
|
|
738
738
|
function $e(e) {
|
|
739
739
|
return !Ye(e) && e.playing;
|
|
740
740
|
}
|
|
741
741
|
function Ce() {
|
|
742
|
-
return !p || p.obflag &
|
|
742
|
+
return !p || p.obflag & R.obflag_destroyed ? null : p;
|
|
743
743
|
}
|
|
744
744
|
function Le() {
|
|
745
745
|
let e = Ce();
|
|
@@ -754,41 +754,41 @@
|
|
|
754
754
|
return e ? at(e, "yuno_id") : "";
|
|
755
755
|
}
|
|
756
756
|
function Fe(e) {
|
|
757
|
-
return
|
|
757
|
+
return vn(e) ? e.gobj_name : (Ht("gobj bad type"), null);
|
|
758
758
|
}
|
|
759
759
|
function Ge(e) {
|
|
760
|
-
return
|
|
760
|
+
return vn(e) ? e.gclass.gclass_name : (Ht("gobj NULL of bad type"), null);
|
|
761
761
|
}
|
|
762
762
|
function Ve(e) {
|
|
763
|
-
return
|
|
763
|
+
return vn(e) ? e.gclass.gclass_name + "^" + Fe(e) : (Ht("gobj bad type"), null);
|
|
764
764
|
}
|
|
765
765
|
function Me(e) {
|
|
766
|
-
if (!
|
|
766
|
+
if (!vn(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 vn(e) ? e.parent : (Ht("gobj NULL of bad type"), null);
|
|
773
773
|
}
|
|
774
774
|
function Ke(e) {
|
|
775
|
-
return
|
|
775
|
+
return vn(e) ? !!(e.gobj_flag & w.gobj_flag_volatil) : (Ht("gobj NULL of bad type"), null);
|
|
776
776
|
}
|
|
777
777
|
function xe(e) {
|
|
778
|
-
return
|
|
778
|
+
return vn(e) ? !!(e.gobj_flag & w.gobj_flag_pure_child) : (Ht("gobj NULL of bad type"), null);
|
|
779
779
|
}
|
|
780
780
|
function Ye(e) {
|
|
781
|
-
return !
|
|
781
|
+
return !vn(e) || !!(e.obflag & (R.obflag_destroyed | R.obflag_destroying));
|
|
782
782
|
}
|
|
783
783
|
function Be(e) {
|
|
784
|
-
return
|
|
784
|
+
return vn(e) ? e.bottom_gobj : (Ht("gobj NULL of bad type"), null);
|
|
785
785
|
}
|
|
786
786
|
function Je(e, t) {
|
|
787
|
-
if (!
|
|
787
|
+
if (!vn(e)) return Ht("gobj NULL of bad type"), null;
|
|
788
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 vn(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
794
|
return Ye(e) ? (Ht("gobj NULL, destroying, or bad type"), 0) : Xe(e.dl_children, t, n, r, o);
|
|
@@ -800,54 +800,54 @@
|
|
|
800
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
|
-
let
|
|
804
|
-
if (t & A.WALK_LAST2FIRST) for (let e =
|
|
805
|
-
|
|
806
|
-
let t = Qe(n(
|
|
803
|
+
let l, i = [...e];
|
|
804
|
+
if (t & A.WALK_LAST2FIRST) for (let e = i.length; e > 0; e--) {
|
|
805
|
+
l = i[e - 1];
|
|
806
|
+
let t = Qe(n(l, r, o));
|
|
807
807
|
if (t < 0) return t;
|
|
808
808
|
}
|
|
809
|
-
else for (let e = 0; e <
|
|
810
|
-
|
|
811
|
-
let t = Qe(n(
|
|
809
|
+
else for (let e = 0; e < i.length; e++) {
|
|
810
|
+
l = i[e];
|
|
811
|
+
let t = Qe(n(l, r, o));
|
|
812
812
|
if (t < 0) return t;
|
|
813
813
|
}
|
|
814
814
|
return 0;
|
|
815
815
|
}
|
|
816
816
|
function Ze(e, t, n, r, o) {
|
|
817
|
-
let
|
|
818
|
-
if (
|
|
817
|
+
let l, i = Xe(e, t, n, r, o);
|
|
818
|
+
if (i < 0) return i;
|
|
819
819
|
if (t & A.WALK_LAST2FIRST) {
|
|
820
|
-
for (let
|
|
821
|
-
} else for (let
|
|
822
|
-
return
|
|
820
|
+
for (let s = e.length; s > 0; s--) if (l = e[s - 1], i = Ze([...l.dl_children], t, n, r, o), i < 0) return i;
|
|
821
|
+
} else for (let s = 0; s < e.length; s++) if (l = e[s], i = Ze([...l.dl_children], t, n, r, o), i < 0) return i;
|
|
822
|
+
return i;
|
|
823
823
|
}
|
|
824
824
|
function et(e, t, n, r, o) {
|
|
825
825
|
if (t & A.WALK_BYLEVEL) return Ze(e, t, n, r, o);
|
|
826
|
-
let
|
|
827
|
-
if (t & A.WALK_BOTTOM2TOP) for (let
|
|
828
|
-
if (
|
|
829
|
-
if (
|
|
826
|
+
let l, i;
|
|
827
|
+
if (t & A.WALK_BOTTOM2TOP) for (let s = e.length; s > 0; s--) {
|
|
828
|
+
if (i = e[s - 1], l = et([...i.dl_children], t, n, r, o), l < 0) return l;
|
|
829
|
+
if (l = Qe(n(i, r, o)), l < 0) return l;
|
|
830
830
|
}
|
|
831
|
-
else for (let
|
|
832
|
-
if (
|
|
833
|
-
if (0 ===
|
|
831
|
+
else for (let s = 0; s < e.length; s++) {
|
|
832
|
+
if (i = e[s], l = Qe(n(i, r, o)), l < 0) return l;
|
|
833
|
+
if (0 === l && (l = et([...i.dl_children], t, n, r, o), l < 0)) return l;
|
|
834
834
|
}
|
|
835
835
|
return 0;
|
|
836
836
|
}
|
|
837
837
|
function tt(e, t) {
|
|
838
|
-
if (!
|
|
838
|
+
if (!vn(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
|
-
let
|
|
841
|
+
let l = t.__state__;
|
|
842
842
|
if (n && n !== Ge(e)) return !1;
|
|
843
843
|
if (r && r !== Fe(e)) return !1;
|
|
844
844
|
if (o) {
|
|
845
845
|
let t = o.length;
|
|
846
846
|
if (o !== Fe(e).substring(0, t)) return !1;
|
|
847
847
|
}
|
|
848
|
-
if (
|
|
849
|
-
let
|
|
850
|
-
for (const n of Object.keys(t)) if ("__gclass_name__" !== n && "__gobj_name__" !== n && "__prefix_gobj_name__" !== n && "__disabled__" !== n && "__state__" !== n && ot(e, n) &&
|
|
848
|
+
if (l && l !== pt(e)) return !1;
|
|
849
|
+
let i = e.jn_attrs;
|
|
850
|
+
for (const n of Object.keys(t)) if ("__gclass_name__" !== n && "__gobj_name__" !== n && "__prefix_gobj_name__" !== n && "__disabled__" !== n && "__state__" !== n && ot(e, n) && i[n] !== t[n]) return !1;
|
|
851
851
|
return !0;
|
|
852
852
|
}
|
|
853
853
|
function nt(e, t) {
|
|
@@ -875,13 +875,13 @@
|
|
|
875
875
|
if (1 === n.length) return e;
|
|
876
876
|
let r = n[1].split("^"), o = {};
|
|
877
877
|
1 === r.length ? o.__gobj_name__ = r : (o.__gclass_name__ = r[0], o.__gobj_name__ = r[1]);
|
|
878
|
-
let
|
|
879
|
-
return
|
|
878
|
+
let l = nt(e, o);
|
|
879
|
+
return l ? (n.splice(0, 1), n = n.join("`"), rt(l, n)) : null;
|
|
880
880
|
}
|
|
881
881
|
function ot(e, t) {
|
|
882
882
|
return !Sn(t) && !!ee(e.gclass, t, !1);
|
|
883
883
|
}
|
|
884
|
-
function
|
|
884
|
+
function lt(e, t, n) {
|
|
885
885
|
let r = e.jn_attrs;
|
|
886
886
|
if (t in r && r.hasOwnProperty(t)) {
|
|
887
887
|
let n = r[t];
|
|
@@ -889,60 +889,60 @@
|
|
|
889
889
|
}
|
|
890
890
|
return Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), null;
|
|
891
891
|
}
|
|
892
|
-
function
|
|
892
|
+
function it(e, t, n) {
|
|
893
893
|
let r = {}, o = e.gclass.attrs_table;
|
|
894
894
|
for (let n = 0; n < o.length; n++) {
|
|
895
|
-
const
|
|
896
|
-
if (
|
|
895
|
+
const l = o[n];
|
|
896
|
+
if (l.name && (-1 === t || l.flag & t)) {
|
|
897
897
|
let t;
|
|
898
|
-
!e.gclass.gmt.mt_reading || e.obflag &
|
|
898
|
+
!e.gclass.gmt.mt_reading || e.obflag & R.obflag_destroyed ? t = ln(e.jn_attrs, l.name) : (t = e.gclass.gmt.mt_reading(e, l.name), void 0 === t && (t = ln(e.jn_attrs, l.name))), _n(r, l.name, t);
|
|
899
899
|
}
|
|
900
900
|
}
|
|
901
901
|
return r;
|
|
902
902
|
}
|
|
903
|
-
function
|
|
903
|
+
function st(e, t) {
|
|
904
904
|
if (t) {
|
|
905
|
-
if (0 ===
|
|
906
|
-
if (0 ===
|
|
907
|
-
if (0 ===
|
|
908
|
-
if (0 ===
|
|
905
|
+
if (0 === wn(t, "__disabled__")) return ke(e);
|
|
906
|
+
if (0 === wn(t, "__running__")) return Ae(e);
|
|
907
|
+
if (0 === wn(t, "__playing__")) return $e(e);
|
|
908
|
+
if (0 === wn(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 &
|
|
911
|
+
return n ? !e.gclass.gmt.mt_reading || e.obflag & R.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 && wn(t, "__trace_level__");
|
|
915
915
|
let n = Z(e, t, !1);
|
|
916
|
-
return n ? !e.gclass.gmt.mt_reading || e.obflag &
|
|
916
|
+
return n ? !e.gclass.gmt.mt_reading || e.obflag & R.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 === wn(t, "__state__")) return pt(e);
|
|
920
920
|
let n = Z(e, t, !1);
|
|
921
|
-
return n ? !e.gclass.gmt.mt_reading || e.obflag &
|
|
921
|
+
return n ? !e.gclass.gmt.mt_reading || e.obflag & R.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 &
|
|
925
|
+
return n ? !e.gclass.gmt.mt_reading || e.obflag & R.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
|
-
let o = X(e),
|
|
929
|
-
for (const [r,
|
|
928
|
+
let o = X(e), l = 0;
|
|
929
|
+
for (const [r, i] of Object.entries(t)) {
|
|
930
930
|
let t = qe(e, r, !0);
|
|
931
|
-
t && (-1 === n || t.flag & n) && (
|
|
931
|
+
t && (-1 === n || t.flag & n) && (l += Q(e, o, t, i));
|
|
932
932
|
}
|
|
933
|
-
return
|
|
933
|
+
return l;
|
|
934
934
|
}
|
|
935
935
|
function ft(e, t, n) {
|
|
936
936
|
let r = Z(e, t, !1);
|
|
937
|
-
return r ? (r[t] = On(n), pn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag &
|
|
937
|
+
return r ? (r[t] = On(n), pn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & R.obflag_created && !(e.obflag & R.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), pn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag &
|
|
941
|
+
return r ? (r[t] = parseInt(n), pn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & R.obflag_created && !(e.obflag & R.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), pn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag &
|
|
945
|
+
return r ? (r[t] = String(n), pn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & R.obflag_created && !(e.obflag & R.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
948
|
if (Ye(e)) return Ht("gobj NULL or DESTROYED"), null;
|
|
@@ -950,16 +950,16 @@
|
|
|
950
950
|
let r = re(e.gclass, t);
|
|
951
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
|
-
let o = J(e, "EV_STATE_CHANGED"),
|
|
953
|
+
let o = J(e, "EV_STATE_CHANGED"), l = !!function(e) {
|
|
954
954
|
return W(e) & P.TRACE_STATES;
|
|
955
955
|
}(e);
|
|
956
|
-
return (o ||
|
|
956
|
+
return (o || l) && (1 === C || 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 vn(e) ? e.current_state.state_name : (Ht("hgobj NULL"), "");
|
|
960
960
|
}
|
|
961
961
|
function mt(e, t, n) {
|
|
962
|
-
if (!
|
|
962
|
+
if (!vn(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) {
|
|
@@ -980,67 +980,67 @@
|
|
|
980
980
|
return !!r && !(n && !(r.event_flag & n)) && !!(r.event_flag & D.EVF_OUTPUT_EVENT);
|
|
981
981
|
}
|
|
982
982
|
var ht = [], yt = !1;
|
|
983
|
-
function
|
|
983
|
+
function jt() {
|
|
984
984
|
yt = !1;
|
|
985
985
|
let e = ht;
|
|
986
986
|
ht = [];
|
|
987
987
|
let t = 0;
|
|
988
|
-
for (let n of e) n.dst.obflag & (
|
|
989
|
-
return ht.length > 0 && !yt && (yt = !0, setTimeout(
|
|
988
|
+
for (let n of e) n.dst.obflag & (R.obflag_destroyed | R.obflag_destroying) || (vt(n.dst, n.event, n.kw, n.src), t++);
|
|
989
|
+
return ht.length > 0 && !yt && (yt = !0, setTimeout(jt, 0)), t;
|
|
990
990
|
}
|
|
991
|
-
function
|
|
991
|
+
function vt(e, t, r, o) {
|
|
992
992
|
if (!(e && e instanceof O)) return Ht("gobj dst NULL"), -1;
|
|
993
|
-
if (e.obflag & (
|
|
994
|
-
let
|
|
995
|
-
if (!
|
|
996
|
-
let
|
|
993
|
+
if (e.obflag & (R.obflag_destroyed | R.obflag_destroying)) return Ht("gobj dst DESTROYED"), -1;
|
|
994
|
+
let l = e.current_state;
|
|
995
|
+
if (!l) return Ht(`${Ve(e)}: current_state NULL`), -1;
|
|
996
|
+
let i = J(e, t) && !q(o, t);
|
|
997
997
|
E++;
|
|
998
|
-
let
|
|
999
|
-
if (!
|
|
1000
|
-
if (
|
|
1001
|
-
if (1 === C) L(n("🔄 %s %s%s %s from %s%s", t || "", e.running ? "" : "!!", Ve(e),
|
|
998
|
+
let s = oe(l, t);
|
|
999
|
+
if (!s) return e.gclass.gmt.mt_inject_event ? (E--, i && (L(1 === C ? n("🔜 %s %s%s %s", t || "", e.running ? "" : "!!", Ve(e), l.state_name) : n("🔃 mach(%s%s), st: %s, ev: %s, from(%s%s)", e.running ? "" : "!!", Ve(e), l.state_name, t || "", o && !o.running ? "!!" : "", Ve(o))), r && i > 1 && gn(r) && Zt(r)), e.gclass.gmt.mt_inject_event(e, t, r, o)) : (i && 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), l.state_name, t || "", o && !o.running ? "!!" : "", Ge(o), Fe(o))), Ht(`📛📛 Event NOT DEFINED in state 📛📛: ${Ve(e)}, ${l.state_name}, ${t}`), E--, -1);
|
|
1000
|
+
if (i) {
|
|
1001
|
+
if (1 === C) L(n("🔄 %s %s%s %s from %s%s", t || "", e.running ? "" : "!!", Ve(e), l.state_name, o && !o.running ? "!!" : "", Ve(o)));
|
|
1002
1002
|
else {
|
|
1003
1003
|
let r = "";
|
|
1004
|
-
|
|
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), l.state_name, "", t || "", "", r, o && !o.running ? "!!" : "", Ge(o), Fe(o)));
|
|
1005
1005
|
}
|
|
1006
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 !
|
|
1013
|
+
return !i || 1 === C || e.obflag & R.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,
|
|
1017
1017
|
__own_event__: 2
|
|
1018
1018
|
}), Ot = [
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1019
|
+
v(T.DTP_POINTER, "publisher", 0, null, "publisher gobj"),
|
|
1020
|
+
v(T.DTP_POINTER, "subscriber", 0, null, "subscriber gobj"),
|
|
1021
|
+
v(T.DTP_STRING, "event", 0, "", "event name subscribed"),
|
|
1022
|
+
v(T.DTP_STRING, "renamed_event", 0, "", "rename event name"),
|
|
1023
|
+
v(T.DTP_INTEGER, "subs_flag", 0, 0, "subscription flag"),
|
|
1024
|
+
v(T.DTP_JSON, "__config__", 0, null, "subscription config"),
|
|
1025
|
+
v(T.DTP_JSON, "__global__", 0, null, "global kw, merge in publishing"),
|
|
1026
|
+
v(T.DTP_JSON, "__local__", 0, null, "local kw, remove in publishing"),
|
|
1027
|
+
v(T.DTP_JSON, "__filter__", 0, null, "filter kw, filter in publishing"),
|
|
1028
|
+
v(T.DTP_STRING, "__service__", 0, "", "subscription service"),
|
|
1029
|
+
j()
|
|
1030
1030
|
];
|
|
1031
1031
|
function Nt(e, t, n, r, o) {
|
|
1032
|
-
let
|
|
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(
|
|
1032
|
+
let l = Un(t, r, "__config__", null), i = 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(l) > 0) {
|
|
1034
1034
|
let t = Un(null, e, "__config__", null);
|
|
1035
|
-
bn(t) > 0 && tn(t,
|
|
1035
|
+
bn(t) > 0 && tn(t, l) || (a = !1);
|
|
1036
1036
|
}
|
|
1037
|
-
if (bn(
|
|
1037
|
+
if (bn(i) > 0) {
|
|
1038
1038
|
let t = Un(null, e, "__global__", null);
|
|
1039
|
-
bn(t) > 0 && tn(t,
|
|
1039
|
+
bn(t) > 0 && tn(t, i) || (a = !1);
|
|
1040
1040
|
}
|
|
1041
|
-
if (bn(
|
|
1041
|
+
if (bn(s) > 0) {
|
|
1042
1042
|
let t = Un(null, e, "__local__", null);
|
|
1043
|
-
bn(t) > 0 && tn(t,
|
|
1043
|
+
bn(t) > 0 && tn(t, s) || (a = !1);
|
|
1044
1044
|
}
|
|
1045
1045
|
if (bn(_) > 0) {
|
|
1046
1046
|
let t = Fn(null, e, "__filter__", null);
|
|
@@ -1048,29 +1048,29 @@
|
|
|
1048
1048
|
}
|
|
1049
1049
|
return a;
|
|
1050
1050
|
}
|
|
1051
|
-
function
|
|
1052
|
-
let
|
|
1053
|
-
for (let
|
|
1054
|
-
let
|
|
1055
|
-
Nt(
|
|
1051
|
+
function wt(e, t, n, r, o) {
|
|
1052
|
+
let l = [];
|
|
1053
|
+
for (let i = 0; i < e.length; i++) {
|
|
1054
|
+
let s = e[i];
|
|
1055
|
+
Nt(s, t, n, r, o) && un(l, s);
|
|
1056
1056
|
}
|
|
1057
|
-
return
|
|
1057
|
+
return l;
|
|
1058
1058
|
}
|
|
1059
|
-
function
|
|
1060
|
-
for (let
|
|
1059
|
+
function Rt(e, t, n, r, o) {
|
|
1060
|
+
for (let l = 0; l < e.length; l++) if (Nt(e[l], t, n, r, o)) return l;
|
|
1061
1061
|
return -1;
|
|
1062
1062
|
}
|
|
1063
1063
|
function Dt(e, t, r, o) {
|
|
1064
|
-
let
|
|
1064
|
+
let l = Pn(e, t, "publisher", null, Lt.KW_REQUIRED), i = Pn(e, t, "subscriber", null, Lt.KW_REQUIRED), s = Ln(e, t, "event", "", Lt.KW_REQUIRED);
|
|
1065
1065
|
if (!!(Cn(e, t, "subs_flag", null, Lt.KW_REQUIRED) & St.__hard_subscription__) && !r) return -1;
|
|
1066
|
-
p &&
|
|
1067
|
-
let _ =
|
|
1068
|
-
return _ >= 0 ? fn(
|
|
1066
|
+
p && st(p, "trace_subscriptions") && (L(n("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s'", s || "", Ve(l), Ve(i))), Zt(t)), l.obflag & R.obflag_destroyed || o || l.gclass.gmt.mt_subscription_deleted && l.gclass.gmt.mt_subscription_deleted(l, t);
|
|
1067
|
+
let _ = Rt(l.dl_subscriptions, l, s, t, i);
|
|
1068
|
+
return _ >= 0 ? fn(l.dl_subscriptions, _) : (Ht(`${Ve(e)}: subscription in publisher not found`), Zt(t)), _ = Rt(i.dl_subscribings, l, s, t, i), _ >= 0 ? fn(i.dl_subscribings, _) : (Ht(`${Ve(e)}: subscription in subscriber not found`), Zt(t)), 0;
|
|
1069
1069
|
}
|
|
1070
1070
|
function At(e, t, r, o) {
|
|
1071
1071
|
if (null == r && (r = {}), !e) return Ht(`publisher NULL: ev ${t}`), 0;
|
|
1072
1072
|
if (!o) return Ht(`subscriber NULL: ev ${t}`), 0;
|
|
1073
|
-
const
|
|
1073
|
+
const l = /* @__PURE__ */ new Set([
|
|
1074
1074
|
"__config__",
|
|
1075
1075
|
"__global__",
|
|
1076
1076
|
"__local__",
|
|
@@ -1078,38 +1078,38 @@
|
|
|
1078
1078
|
"__service__"
|
|
1079
1079
|
]);
|
|
1080
1080
|
if (Object.keys(r).forEach((n) => {
|
|
1081
|
-
|
|
1081
|
+
l.has(n) || Ht(`${Ve(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
|
|
1082
1082
|
}), Sn(t)) t = "";
|
|
1083
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
|
-
let
|
|
1085
|
-
dn(
|
|
1086
|
-
let
|
|
1084
|
+
let i = wt(e.dl_subscriptions, e, t, r, o);
|
|
1085
|
+
dn(i) > 0 && (Ht(`${Ve(e)}: ${dn(i)} subscription(s) REPEATED, will be deleted and override`), Zt(i, "subscription REPEATED"), kt(e, i, !1));
|
|
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
|
-
let
|
|
1089
|
+
let l = 0;
|
|
1090
1090
|
if (n) {
|
|
1091
|
-
let t = Un(e, n, "__config__", null), r = Un(e, n, "__global__", null),
|
|
1091
|
+
let t = Un(e, n, "__config__", null), r = Un(e, n, "__global__", null), i = Un(e, n, "__local__", null), s = Fn(e, n, "__filter__", null), _ = Ln(e, n, "__service__", "");
|
|
1092
1092
|
if (bn(r) > 0 && an(o, "__global__", en(r)), bn(t) > 0) {
|
|
1093
1093
|
let n = en(t);
|
|
1094
1094
|
if (an(o, "__config__", n), An(n, "__hard_subscription__")) {
|
|
1095
1095
|
let t = $n(e, n, "__hard_subscription__", !1);
|
|
1096
|
-
|
|
1096
|
+
sn(n, "__hard_subscription__"), t && (l |= St.__hard_subscription__);
|
|
1097
1097
|
}
|
|
1098
1098
|
if (An(n, "__own_event__")) {
|
|
1099
1099
|
let t = $n(e, n, "__own_event__", !1);
|
|
1100
|
-
|
|
1100
|
+
sn(n, "__own_event__"), t && (l |= St.__own_event__);
|
|
1101
1101
|
}
|
|
1102
1102
|
}
|
|
1103
|
-
bn(
|
|
1103
|
+
bn(i) > 0 && an(o, "__local__", en(i)), bn(s) > 0 && an(o, "__filter__", en(s)), Sn(_) || an(o, "__service__", _);
|
|
1104
1104
|
}
|
|
1105
|
-
return an(o, "subs_flag",
|
|
1105
|
+
return an(o, "subs_flag", l), o;
|
|
1106
1106
|
}(e, t, r, o);
|
|
1107
|
-
if (!
|
|
1108
|
-
if (un(e.dl_subscriptions,
|
|
1109
|
-
let t = e.gclass.gmt.mt_subscription_added(e,
|
|
1110
|
-
(t < 0 || !1 === t) && (Dt(e,
|
|
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
|
+
let t = e.gclass.gmt.mt_subscription_added(e, s);
|
|
1110
|
+
(t < 0 || !1 === t) && (Dt(e, s, !0, !0), s = 0);
|
|
1111
1111
|
}
|
|
1112
|
-
return
|
|
1112
|
+
return s;
|
|
1113
1113
|
}
|
|
1114
1114
|
function kt(e, t, n) {
|
|
1115
1115
|
let r = [...t];
|
|
@@ -1117,24 +1117,24 @@
|
|
|
1117
1117
|
return 0;
|
|
1118
1118
|
}
|
|
1119
1119
|
function It(e, t, n, r) {
|
|
1120
|
-
return null == n && (n = {}),
|
|
1120
|
+
return null == n && (n = {}), wt(e.dl_subscriptions, e, t, n, r);
|
|
1121
1121
|
}
|
|
1122
1122
|
function $t(e, t, n, r) {
|
|
1123
|
-
return
|
|
1123
|
+
return wt(e.dl_subscribings, r, t, n, e);
|
|
1124
1124
|
}
|
|
1125
1125
|
function Ct(e, t, r) {
|
|
1126
|
-
if (pn(r) || (r = {}), !e || e.obflag & (
|
|
1126
|
+
if (pn(r) || (r = {}), !e || e.obflag & (R.obflag_destroyed | R.obflag_destroying)) return Ht("gobj NULL or DESTROYED"), -1;
|
|
1127
1127
|
if (Sn(t)) return Ht(`${Ve(e)}: event EMPTY`), -1;
|
|
1128
1128
|
let o = mt(e, t, !0);
|
|
1129
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
|
-
let
|
|
1131
|
-
if (
|
|
1130
|
+
let l = p && st(p, "trace_subscriptions");
|
|
1131
|
+
if (l && (L(1 === C ? n("🔝🔝 %s %s%s %s", t || "", e.running ? "" : "!!", Ve(e), e.current_state.state_name) : n("🔝🔝 mach(%s%s^%s), st: %s, ev: %s%s%s", e.running ? "" : "!!", Ge(e), Fe(e), e.current_state.state_name, "", t || "", "")), gn(r) && 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
|
}
|
|
1135
|
-
let
|
|
1136
|
-
for (let o = 0; o <
|
|
1137
|
-
let a =
|
|
1135
|
+
let i = [...e.dl_subscriptions], s = 0, _ = 0;
|
|
1136
|
+
for (let o = 0; o < i.length; o++) {
|
|
1137
|
+
let a = i[o];
|
|
1138
1138
|
if (e.gclass.gmt.mt_publication_pre_filter) {
|
|
1139
1139
|
let n = e.gclass.gmt.mt_publication_pre_filter(e, a, t, r);
|
|
1140
1140
|
if (n < 0) break;
|
|
@@ -1143,23 +1143,23 @@
|
|
|
1143
1143
|
let u = Pn(e, a, "subscriber", null, Lt.KW_REQUIRED);
|
|
1144
1144
|
if (!u || Ye(u)) continue;
|
|
1145
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 ===
|
|
1146
|
+
if (Sn(f) || 0 === wn(f, t)) {
|
|
1147
1147
|
Un(e, a, "__config__", null, 0);
|
|
1148
|
-
let o = Un(e, a, "__global__", null, 0),
|
|
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,
|
|
1148
|
+
let o = Un(e, a, "__global__", null, 0), i = 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, l && (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
|
-
|
|
1154
|
-
let p =
|
|
1153
|
+
i && Dn(g, i), o && nn(g, o), l && (L(1 === C ? n("🔝🔄 %s (%s) %s%s", t || "", t || "", u.running ? "" : "!!", Ve(u)) : n("🔝🔄 mach(%s%s), st: %s, ev: %s, from(%s%s)", u.running ? "" : "!!", Ve(u), pt(u), t || "", e && !e.running ? "!!" : "", Ve(e))), gn(g) && Zt(g));
|
|
1154
|
+
let p = vt(u, t, g, e);
|
|
1155
1155
|
if (p < 0 && c & St.__own_event__) {
|
|
1156
|
-
|
|
1156
|
+
s = -1;
|
|
1157
1157
|
break;
|
|
1158
1158
|
}
|
|
1159
|
-
if (_ += p,
|
|
1159
|
+
if (_ += p, s++, Ye(e)) break;
|
|
1160
1160
|
}
|
|
1161
1161
|
}
|
|
1162
|
-
return
|
|
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,
|
|
@@ -1287,10 +1287,10 @@
|
|
|
1287
1287
|
for (let n in t) t.hasOwnProperty(n) && !e.hasOwnProperty(n) && (e[n] = t[n]);
|
|
1288
1288
|
return e;
|
|
1289
1289
|
}
|
|
1290
|
-
function
|
|
1290
|
+
function ln(e, t) {
|
|
1291
1291
|
if (e && e.hasOwnProperty(t)) return e[t];
|
|
1292
1292
|
}
|
|
1293
|
-
function
|
|
1293
|
+
function sn(e, t) {
|
|
1294
1294
|
e && e.hasOwnProperty(t) && delete e[t];
|
|
1295
1295
|
}
|
|
1296
1296
|
function _n(e, t, n) {
|
|
@@ -1335,10 +1335,10 @@
|
|
|
1335
1335
|
function yn(e) {
|
|
1336
1336
|
return null == e;
|
|
1337
1337
|
}
|
|
1338
|
-
function
|
|
1338
|
+
function jn(e) {
|
|
1339
1339
|
return "function" == typeof e;
|
|
1340
1340
|
}
|
|
1341
|
-
function
|
|
1341
|
+
function vn(e) {
|
|
1342
1342
|
return e instanceof O;
|
|
1343
1343
|
}
|
|
1344
1344
|
function Sn(e) {
|
|
@@ -1350,11 +1350,11 @@
|
|
|
1350
1350
|
function Nn(e, t) {
|
|
1351
1351
|
return e === t ? 0 : e > t ? 1 : -1;
|
|
1352
1352
|
}
|
|
1353
|
-
function
|
|
1353
|
+
function wn(e, t) {
|
|
1354
1354
|
let n = e.toLowerCase(), r = t.toLowerCase();
|
|
1355
1355
|
return n === r ? 0 : n > r ? 1 : -1;
|
|
1356
1356
|
}
|
|
1357
|
-
function
|
|
1357
|
+
function Rn(e, t) {
|
|
1358
1358
|
if (pn(e) || pn(t) || mn(e) || mn(t)) return 0;
|
|
1359
1359
|
if (Tn(e) || Tn(t)) {
|
|
1360
1360
|
let n = Number(e), r = Number(t);
|
|
@@ -1375,161 +1375,161 @@
|
|
|
1375
1375
|
return !(!(t in e) || !e.hasOwnProperty(t));
|
|
1376
1376
|
}
|
|
1377
1377
|
function kn(e, t, n, r) {
|
|
1378
|
-
if (e && !
|
|
1378
|
+
if (e && !vn(e) && Ht("GObj bad instanceof"), !pn(t) && !mn(t)) return Ht(`${Ve(e)}: kw must be list or dict`), 0;
|
|
1379
1379
|
if (!En(n)) return Ht(`${Ve(e)}: path must be a string: ${String(n)}`), 0;
|
|
1380
1380
|
let o = n.split("`");
|
|
1381
1381
|
if (o.length <= 1) return t[n];
|
|
1382
|
-
let
|
|
1383
|
-
for (let
|
|
1382
|
+
let l = o.length;
|
|
1383
|
+
for (let i = 0; i < l; i++) if (void 0 === (t = t[o[i]])) return void (r && Ht(`${Ve(e)}: path not found: ${String(n)}`));
|
|
1384
1384
|
return t;
|
|
1385
1385
|
}
|
|
1386
1386
|
function In(e, t, n) {
|
|
1387
|
-
e && !
|
|
1387
|
+
e && !vn(e) && Ht("GObj bad instanceof");
|
|
1388
1388
|
let [r, o] = function(e, t) {
|
|
1389
1389
|
let n = e.lastIndexOf(t);
|
|
1390
1390
|
return -1 === n ? [e, ""] : [e.substring(0, n), e.substring(n + 1)];
|
|
1391
1391
|
}(n, "`");
|
|
1392
|
-
return Sn(o) ?
|
|
1392
|
+
return Sn(o) ? sn(t, n) : sn(kn(e, t, r, !0), o), 0;
|
|
1393
1393
|
}
|
|
1394
1394
|
function $n(e, t, n, r, o) {
|
|
1395
|
-
e && !
|
|
1396
|
-
let
|
|
1397
|
-
const
|
|
1398
|
-
if (void 0 ===
|
|
1399
|
-
if (
|
|
1395
|
+
e && !vn(e) && Ht("GObj bad instanceof");
|
|
1396
|
+
let l = kn(e, t, n, !1);
|
|
1397
|
+
const i = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
|
|
1398
|
+
if (void 0 === l) {
|
|
1399
|
+
if (s) {
|
|
1400
1400
|
let o = Boolean(r);
|
|
1401
1401
|
return Gn(e, t, n, o), o;
|
|
1402
1402
|
}
|
|
1403
|
-
return
|
|
1403
|
+
return i && (Ht(`path not found: '${n}'`), Zt(t)), Boolean(r);
|
|
1404
1404
|
}
|
|
1405
|
-
return _ && In(e, t, n), Boolean(
|
|
1405
|
+
return _ && In(e, t, n), Boolean(l);
|
|
1406
1406
|
}
|
|
1407
1407
|
function Cn(e, t, n, r, o) {
|
|
1408
|
-
e && !
|
|
1409
|
-
let
|
|
1410
|
-
const
|
|
1411
|
-
if (void 0 ===
|
|
1412
|
-
if (
|
|
1408
|
+
e && !vn(e) && Ht("GObj bad instanceof");
|
|
1409
|
+
let l = kn(e, t, n, !1);
|
|
1410
|
+
const i = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
|
|
1411
|
+
if (void 0 === l) {
|
|
1412
|
+
if (s) {
|
|
1413
1413
|
let o = parseInt(r);
|
|
1414
1414
|
return Gn(e, t, n, o), o;
|
|
1415
1415
|
}
|
|
1416
|
-
return
|
|
1416
|
+
return i && (Ht(`path not found: '${n}'`), Zt(t)), parseInt(r);
|
|
1417
1417
|
}
|
|
1418
|
-
return _ && In(e, t, n), Tn(
|
|
1418
|
+
return _ && In(e, t, n), Tn(l) ? parseInt(l) : (i && (Ht(`path value MUST BE a number: ${n}`), Xt(t)), parseInt(r));
|
|
1419
1419
|
}
|
|
1420
1420
|
function Ln(e, t, n, r, o) {
|
|
1421
|
-
e && !
|
|
1422
|
-
let
|
|
1423
|
-
const
|
|
1424
|
-
if (void 0 ===
|
|
1425
|
-
if (
|
|
1421
|
+
e && !vn(e) && Ht("GObj bad instanceof");
|
|
1422
|
+
let l = kn(e, t, n, !1);
|
|
1423
|
+
const i = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
|
|
1424
|
+
if (void 0 === l) {
|
|
1425
|
+
if (s) {
|
|
1426
1426
|
let o = String(r);
|
|
1427
1427
|
return Gn(e, t, n, o), o;
|
|
1428
1428
|
}
|
|
1429
|
-
return
|
|
1429
|
+
return i && (Ht(`path not found: '${n}'`), Zt(t)), String(r);
|
|
1430
1430
|
}
|
|
1431
|
-
return _ && In(e, t, n), En(
|
|
1431
|
+
return _ && In(e, t, n), En(l) ? String(l) : (i && (Ht(`${Ve(e)}: path value MUST BE a string: ${n}`), Xt(t)), String(r));
|
|
1432
1432
|
}
|
|
1433
1433
|
function Pn(e, t, n, r, o) {
|
|
1434
|
-
e && !
|
|
1435
|
-
let
|
|
1436
|
-
const
|
|
1437
|
-
if (void 0 ===
|
|
1438
|
-
if (
|
|
1434
|
+
e && !vn(e) && Ht("GObj bad instanceof");
|
|
1435
|
+
let l = kn(e, t, n, !1);
|
|
1436
|
+
const i = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
|
|
1437
|
+
if (void 0 === l) {
|
|
1438
|
+
if (s) {
|
|
1439
1439
|
let o = r;
|
|
1440
1440
|
return Gn(e, t, n, o), o;
|
|
1441
1441
|
}
|
|
1442
|
-
return
|
|
1442
|
+
return i && (Ht(`path not found: '${n}'`), Zt(t)), r;
|
|
1443
1443
|
}
|
|
1444
|
-
return _ && In(e, t, n),
|
|
1444
|
+
return _ && In(e, t, n), l;
|
|
1445
1445
|
}
|
|
1446
1446
|
function Un(e, t, n, r, o) {
|
|
1447
|
-
e && !
|
|
1448
|
-
let
|
|
1449
|
-
const
|
|
1450
|
-
if (void 0 ===
|
|
1451
|
-
if (
|
|
1447
|
+
e && !vn(e) && Ht("GObj bad instanceof");
|
|
1448
|
+
let l = kn(e, t, n, !1);
|
|
1449
|
+
const i = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
|
|
1450
|
+
if (void 0 === l) {
|
|
1451
|
+
if (s) {
|
|
1452
1452
|
let o = Object(r);
|
|
1453
1453
|
return Gn(e, t, n, o), o;
|
|
1454
1454
|
}
|
|
1455
|
-
return
|
|
1455
|
+
return i && (Ht(`path not found: '${n}'`), Zt(t)), Object(r);
|
|
1456
1456
|
}
|
|
1457
|
-
return _ && In(e, t, n), pn(
|
|
1457
|
+
return _ && In(e, t, n), pn(l) ? Object(l) : (i && (Ht(`path value MUST BE a dict: ${n}`), Xt(t)), Object(r));
|
|
1458
1458
|
}
|
|
1459
1459
|
function Fn(e, t, n, r, o) {
|
|
1460
|
-
e && !
|
|
1461
|
-
let
|
|
1462
|
-
const
|
|
1463
|
-
if (void 0 ===
|
|
1464
|
-
if (
|
|
1460
|
+
e && !vn(e) && Ht("GObj bad instanceof");
|
|
1461
|
+
let l = kn(e, t, n, !1);
|
|
1462
|
+
const i = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
|
|
1463
|
+
if (void 0 === l) {
|
|
1464
|
+
if (s) {
|
|
1465
1465
|
let o = r;
|
|
1466
1466
|
return Gn(e, t, n, o), o;
|
|
1467
1467
|
}
|
|
1468
|
-
return
|
|
1468
|
+
return i && (Ht(`path not found: '${n}'`), Zt(t)), r;
|
|
1469
1469
|
}
|
|
1470
|
-
return _ && In(e, t, n),
|
|
1470
|
+
return _ && In(e, t, n), l;
|
|
1471
1471
|
}
|
|
1472
1472
|
function Gn(e, t, n, r) {
|
|
1473
|
-
if (e && !
|
|
1473
|
+
if (e && !vn(e) && Ht("GObj bad instanceof"), !pn(t)) return Ht("kw is not an object"), -1;
|
|
1474
1474
|
let o = n.split("`");
|
|
1475
1475
|
if (o.length <= 1) return t[n] = r, 0;
|
|
1476
|
-
let
|
|
1477
|
-
for (let e = 0; e <
|
|
1476
|
+
let l = o.length;
|
|
1477
|
+
for (let e = 0; e < l; e++) {
|
|
1478
1478
|
let n = o[e];
|
|
1479
|
-
e ===
|
|
1479
|
+
e === l - 1 ? t[n] = r : (void 0 === t[n] && (t[n] = {}), t = t[n]);
|
|
1480
1480
|
}
|
|
1481
1481
|
return 0;
|
|
1482
1482
|
}
|
|
1483
1483
|
function Vn(e, t, n, r, o) {
|
|
1484
|
-
if (e && !
|
|
1485
|
-
let
|
|
1486
|
-
return pn(
|
|
1484
|
+
if (e && !vn(e) && Ht("GObj bad instanceof"), !pn(t)) return Ht("kw is not an object"), -1;
|
|
1485
|
+
let l = Un(e, t, n, {}, !0);
|
|
1486
|
+
return pn(l) ? (l[r] = o, 0) : (Ht("subdict is not an object"), -1);
|
|
1487
1487
|
}
|
|
1488
1488
|
function Mn(e, t, r) {
|
|
1489
|
-
let o = "",
|
|
1489
|
+
let o = "", l = !1;
|
|
1490
1490
|
if (mn(t)) {
|
|
1491
|
-
|
|
1492
|
-
for (let
|
|
1493
|
-
let
|
|
1494
|
-
if (o = Sn(r) ? n("%s", r) : n("%s`%d", r,
|
|
1491
|
+
l = !1;
|
|
1492
|
+
for (let i = 0; i < t.length; i++) {
|
|
1493
|
+
let s = t[i];
|
|
1494
|
+
if (o = Sn(r) ? n("%s", r) : n("%s`%d", r, i), l = Mn(e, s, o), l) break;
|
|
1495
1495
|
}
|
|
1496
1496
|
} else if (pn(t)) {
|
|
1497
|
-
|
|
1498
|
-
let
|
|
1499
|
-
for (let
|
|
1500
|
-
let _ = s
|
|
1497
|
+
l = !0;
|
|
1498
|
+
let i = Object.keys(t);
|
|
1499
|
+
for (let s = 0; s < i.length; s++) {
|
|
1500
|
+
let _ = i[s], a = t[_];
|
|
1501
1501
|
if (o = Sn(r) ? n("%s", _) : n("%s`%s", r, _), mn(a) || pn(a)) {
|
|
1502
|
-
if (
|
|
1502
|
+
if (l = Mn(e, a, o), !l) break;
|
|
1503
1503
|
continue;
|
|
1504
1504
|
}
|
|
1505
1505
|
let u = Fn(0, e, o, 0, 0);
|
|
1506
|
-
if (u || (u =
|
|
1507
|
-
|
|
1506
|
+
if (u || (u = ln(e, o)), !u) {
|
|
1507
|
+
l = !1;
|
|
1508
1508
|
break;
|
|
1509
1509
|
}
|
|
1510
|
-
if (0 !==
|
|
1511
|
-
|
|
1510
|
+
if (0 !== Rn(u, a)) {
|
|
1511
|
+
l = !1;
|
|
1512
1512
|
break;
|
|
1513
1513
|
}
|
|
1514
1514
|
}
|
|
1515
1515
|
}
|
|
1516
|
-
return
|
|
1516
|
+
return l;
|
|
1517
1517
|
}
|
|
1518
1518
|
function Wn(e, t) {
|
|
1519
1519
|
return 0 === bn(t) || Mn(e, t, "");
|
|
1520
1520
|
}
|
|
1521
1521
|
function Kn(e, t, n, r) {
|
|
1522
|
-
e && !
|
|
1522
|
+
e && !vn(e) && Ht("GObj bad instanceof");
|
|
1523
1523
|
let o = {};
|
|
1524
1524
|
if (En(n) && !Sn(n)) {
|
|
1525
|
-
let
|
|
1526
|
-
t.hasOwnProperty(
|
|
1527
|
-
} else if (pn(n) && gn(n) > 0) for (let
|
|
1525
|
+
let l = n;
|
|
1526
|
+
t.hasOwnProperty(l) ? o[l] = t[l] : r && Ht(`${Ve(e)}: key not found: ${l}`);
|
|
1527
|
+
} else if (pn(n) && gn(n) > 0) for (let l of Object.keys(n)) t.hasOwnProperty(l) ? o[l] = t[l] : r && Ht(`${Ve(e)}: key not found: ${l}`);
|
|
1528
1528
|
else {
|
|
1529
1529
|
if (!(mn(n) && dn(n) > 0)) return t;
|
|
1530
|
-
for (let
|
|
1531
|
-
let
|
|
1532
|
-
t.hasOwnProperty(
|
|
1530
|
+
for (let l = 0; l < n.length; l++) {
|
|
1531
|
+
let i = n[l];
|
|
1532
|
+
t.hasOwnProperty(i) ? o[i] = t[i] : r && Ht(`${Ve(e)}: key not found: ${i}`);
|
|
1533
1533
|
}
|
|
1534
1534
|
}
|
|
1535
1535
|
return o;
|
|
@@ -1537,14 +1537,14 @@
|
|
|
1537
1537
|
function xn(e, t, n, r) {
|
|
1538
1538
|
let o = {};
|
|
1539
1539
|
if (nn(o, t), En(n) && !Sn(n)) {
|
|
1540
|
-
let
|
|
1541
|
-
Fn(e, t,
|
|
1542
|
-
} else if (pn(n) && gn(n) > 0) for (let
|
|
1540
|
+
let l = n;
|
|
1541
|
+
Fn(e, t, l, 0, 0) ? sn(o, l) : r && Ht(`${Ve(e)}: key not found: ${l}`);
|
|
1542
|
+
} else if (pn(n) && gn(n) > 0) for (let l of Object.keys(n)) t.hasOwnProperty(l) ? sn(o, l) : r && Ht(`${Ve(e)}: key not found: ${l}`);
|
|
1543
1543
|
else {
|
|
1544
1544
|
if (!(mn(n) && dn(n) > 0)) return {};
|
|
1545
|
-
for (let
|
|
1546
|
-
let
|
|
1547
|
-
t.hasOwnProperty(
|
|
1545
|
+
for (let l = 0; l < n.length; l++) {
|
|
1546
|
+
let i = n[l];
|
|
1547
|
+
t.hasOwnProperty(i) ? sn(o, i) : r && Ht(`${Ve(e)}: key not found: ${i}`);
|
|
1548
1548
|
}
|
|
1549
1549
|
}
|
|
1550
1550
|
return o;
|
|
@@ -1586,26 +1586,26 @@
|
|
|
1586
1586
|
return !1;
|
|
1587
1587
|
}
|
|
1588
1588
|
function Hn(e, t, n, r, o) {
|
|
1589
|
-
if (e && !
|
|
1589
|
+
if (e && !vn(e) && Ht("GObj bad instanceof"), !t) return null;
|
|
1590
1590
|
o || (o = Wn);
|
|
1591
|
-
let
|
|
1592
|
-
if (mn(t)) for (let
|
|
1593
|
-
let
|
|
1594
|
-
if (pn(_))
|
|
1591
|
+
let l = [];
|
|
1592
|
+
if (mn(t)) for (let i = 0; i < t.length; i++) {
|
|
1593
|
+
let s, _ = t[i];
|
|
1594
|
+
if (pn(_)) s = Ln(e, _, "id", "", 0);
|
|
1595
1595
|
else {
|
|
1596
1596
|
if (!En(_)) continue;
|
|
1597
|
-
|
|
1597
|
+
s = _;
|
|
1598
1598
|
}
|
|
1599
|
-
qn(n,
|
|
1599
|
+
qn(n, s) && o(_, r) && l.push(_);
|
|
1600
1600
|
}
|
|
1601
1601
|
else {
|
|
1602
1602
|
if (!pn(t)) return Ht("kw_collect() BAD kw parameter"), null;
|
|
1603
1603
|
for (let e of Object.keys(t)) {
|
|
1604
|
-
let
|
|
1605
|
-
qn(n, e) && o(
|
|
1604
|
+
let i = t[e];
|
|
1605
|
+
qn(n, e) && o(i, r) && l.push(i);
|
|
1606
1606
|
}
|
|
1607
1607
|
}
|
|
1608
|
-
return
|
|
1608
|
+
return l;
|
|
1609
1609
|
}
|
|
1610
1610
|
function zn(e, t) {
|
|
1611
1611
|
if (!e) return -1;
|
|
@@ -1637,7 +1637,7 @@
|
|
|
1637
1637
|
r || (r = {}, e.__md_iev__ = r), r[t] = n;
|
|
1638
1638
|
}
|
|
1639
1639
|
function er(e, t, n, r) {
|
|
1640
|
-
if (!
|
|
1640
|
+
if (!vn(e)) return Ht("gobj is not a GObj"), null;
|
|
1641
1641
|
if (!t) return;
|
|
1642
1642
|
let o = Xn(t, n);
|
|
1643
1643
|
o || (o = [], Zn(t, n, o));
|
|
@@ -1648,7 +1648,7 @@
|
|
|
1648
1648
|
}
|
|
1649
1649
|
}
|
|
1650
1650
|
function tr(e, t, n, r) {
|
|
1651
|
-
if (!
|
|
1651
|
+
if (!vn(e)) return Ht("gobj is not a GObj"), null;
|
|
1652
1652
|
if (!pn(t)) return Ht("kw is not a dict"), null;
|
|
1653
1653
|
let o = Xn(t, n);
|
|
1654
1654
|
return o ? 0 === o.length ? (r && Ht(`stack empty: ${n}`), null) : o[0] : (r && Ht(`stack NOT FOUND: ${n}`), null);
|
|
@@ -1672,23 +1672,23 @@
|
|
|
1672
1672
|
]), pn(e[r]) && or(e[r], t, n), n = n.slice(0, -o.length);
|
|
1673
1673
|
}
|
|
1674
1674
|
}
|
|
1675
|
-
function
|
|
1675
|
+
function lr(e, t, n, r) {
|
|
1676
1676
|
if (!e) return null;
|
|
1677
|
-
let o,
|
|
1678
|
-
for (o = 0; o <
|
|
1679
|
-
let
|
|
1680
|
-
if (
|
|
1681
|
-
let e =
|
|
1682
|
-
if (e && e === n) return
|
|
1683
|
-
if (r && An(
|
|
1684
|
-
let e =
|
|
1677
|
+
let o, l = e.length;
|
|
1678
|
+
for (o = 0; o < l; o++) {
|
|
1679
|
+
let l = e[o];
|
|
1680
|
+
if (l) {
|
|
1681
|
+
let e = l.id;
|
|
1682
|
+
if (e && e === n) return l;
|
|
1683
|
+
if (r && An(l, t)) {
|
|
1684
|
+
let e = lr(l[t], t, n, r);
|
|
1685
1685
|
if (e) return e;
|
|
1686
1686
|
}
|
|
1687
1687
|
}
|
|
1688
1688
|
}
|
|
1689
1689
|
return null;
|
|
1690
1690
|
}
|
|
1691
|
-
function
|
|
1691
|
+
function ir(e) {
|
|
1692
1692
|
function t(e) {
|
|
1693
1693
|
let t = e.replace(/-/g, "+").replace(/_/g, "/");
|
|
1694
1694
|
switch (t.length % 4) {
|
|
@@ -1719,7 +1719,7 @@
|
|
|
1719
1719
|
signature: t(n[2])
|
|
1720
1720
|
};
|
|
1721
1721
|
}
|
|
1722
|
-
function
|
|
1722
|
+
function sr(e) {
|
|
1723
1723
|
return null == e ? "" : String(e).replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
|
1724
1724
|
}
|
|
1725
1725
|
function _r(e) {
|
|
@@ -1743,10 +1743,39 @@
|
|
|
1743
1743
|
let t = null;
|
|
1744
1744
|
return "function" != typeof e && "object" != typeof e || (t = ("" + e).match(/function\s*([\w\$]*)\s*\(/)), null !== t ? t[1] + "()" : "";
|
|
1745
1745
|
}
|
|
1746
|
-
|
|
1746
|
+
var gr = 256, dr = 1e5;
|
|
1747
|
+
function br(e) {
|
|
1748
|
+
const t = String(e).replace(/`/g, "``");
|
|
1749
|
+
return "[" === t[0] ? "[" + t : t;
|
|
1750
|
+
}
|
|
1751
|
+
function pr(e) {
|
|
1752
|
+
if ("string" != typeof e) return null;
|
|
1753
|
+
let t = [], n = "";
|
|
1754
|
+
for (let r = 0; r < e.length; r++) if ("`" !== e[r]) n += e[r];
|
|
1755
|
+
else {
|
|
1756
|
+
if ("`" === e[r + 1]) {
|
|
1757
|
+
n += "`", r++;
|
|
1758
|
+
continue;
|
|
1759
|
+
}
|
|
1760
|
+
t.push(n), n = "";
|
|
1761
|
+
}
|
|
1762
|
+
return t.push(n), t.map((e) => {
|
|
1763
|
+
const t = function(e) {
|
|
1764
|
+
if ("string" != typeof e || e.length < 3 || "[" !== e[0]) return null;
|
|
1765
|
+
if ("]" !== e[e.length - 1]) return null;
|
|
1766
|
+
const t = e.slice(1, -1);
|
|
1767
|
+
return /^[0-9]+$/.test(t) ? t.length > 1 && "0" === t[0] ? null : parseInt(t, 10) : null;
|
|
1768
|
+
}(e);
|
|
1769
|
+
return null !== t ? t : "[" === e[0] && "[" === e[1] ? e.slice(1) : e;
|
|
1770
|
+
});
|
|
1771
|
+
}
|
|
1772
|
+
function mr(e, t) {
|
|
1773
|
+
return e === t || null !== e && null !== t && "object" == typeof e && "object" == typeof t && JSON.stringify(e) === JSON.stringify(t);
|
|
1774
|
+
}
|
|
1775
|
+
function Er(e) {
|
|
1747
1776
|
return "persistent-attrs-" + Ve(e);
|
|
1748
1777
|
}
|
|
1749
|
-
function
|
|
1778
|
+
function Tr(e, t) {
|
|
1750
1779
|
if (En(t)) {
|
|
1751
1780
|
if (-1 === t.indexOf("^")) {
|
|
1752
1781
|
let n, r, o = e.fkey;
|
|
@@ -1776,7 +1805,7 @@
|
|
|
1776
1805
|
hook_name: t.hook_name
|
|
1777
1806
|
} : (Ht("bad fkey 3"), Ht(e), Ht(t), null);
|
|
1778
1807
|
}
|
|
1779
|
-
var
|
|
1808
|
+
var hr = [
|
|
1780
1809
|
"string",
|
|
1781
1810
|
"integer",
|
|
1782
1811
|
"object",
|
|
@@ -1786,7 +1815,7 @@
|
|
|
1786
1815
|
"real",
|
|
1787
1816
|
"boolean",
|
|
1788
1817
|
"blob"
|
|
1789
|
-
],
|
|
1818
|
+
], yr = [
|
|
1790
1819
|
"persistent",
|
|
1791
1820
|
"required",
|
|
1792
1821
|
"notnull",
|
|
@@ -1798,7 +1827,7 @@
|
|
|
1798
1827
|
"stats",
|
|
1799
1828
|
"rstats",
|
|
1800
1829
|
"pstats"
|
|
1801
|
-
],
|
|
1830
|
+
], jr = [
|
|
1802
1831
|
"hook",
|
|
1803
1832
|
"fkey",
|
|
1804
1833
|
"enum",
|
|
@@ -1825,7 +1854,7 @@
|
|
|
1825
1854
|
"coordinates",
|
|
1826
1855
|
"gbuffer"
|
|
1827
1856
|
];
|
|
1828
|
-
function
|
|
1857
|
+
function vr(e) {
|
|
1829
1858
|
let t = {
|
|
1830
1859
|
name: e.id,
|
|
1831
1860
|
header: e.header,
|
|
@@ -1843,7 +1872,7 @@
|
|
|
1843
1872
|
if (!e.flag) return t;
|
|
1844
1873
|
for (let n = 0; n < e.flag.length; n++) {
|
|
1845
1874
|
let r = e.flag[n];
|
|
1846
|
-
if (Qn(
|
|
1875
|
+
if (Qn(jr, r)) {
|
|
1847
1876
|
switch (r) {
|
|
1848
1877
|
case "enum":
|
|
1849
1878
|
t.enum_list = e.enum;
|
|
@@ -1854,7 +1883,7 @@
|
|
|
1854
1883
|
case "table": t.enum_list = e.table;
|
|
1855
1884
|
}
|
|
1856
1885
|
t.type = r;
|
|
1857
|
-
} else if (Qn(
|
|
1886
|
+
} else if (Qn(yr, r)) switch (r) {
|
|
1858
1887
|
case "writable":
|
|
1859
1888
|
t.is_writable = !0;
|
|
1860
1889
|
break;
|
|
@@ -1867,37 +1896,37 @@
|
|
|
1867
1896
|
}
|
|
1868
1897
|
return t;
|
|
1869
1898
|
}
|
|
1870
|
-
var
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
],
|
|
1899
|
+
var Sr = [
|
|
1900
|
+
v(T.DTP_POINTER, "subscriber", 0, null, "Subscriber of output events"),
|
|
1901
|
+
v(T.DTP_BOOLEAN, "periodic", 0, 0, "True for periodic timeouts"),
|
|
1902
|
+
v(T.DTP_INTEGER, "msec", 0, 0, "Timeout in milliseconds"),
|
|
1903
|
+
j()
|
|
1904
|
+
], Or = {
|
|
1876
1905
|
periodic: !1,
|
|
1877
1906
|
msec: 0,
|
|
1878
1907
|
timer_id: -1
|
|
1879
|
-
},
|
|
1880
|
-
function
|
|
1881
|
-
let o = e.priv,
|
|
1908
|
+
}, Nr = null;
|
|
1909
|
+
function wr(e, t, n, r) {
|
|
1910
|
+
let o = e.priv, l = o.periodic ? "EV_TIMEOUT_PERIODIC" : "EV_TIMEOUT";
|
|
1882
1911
|
return o.periodic && o.msec > 0 ? o.timer_id = setTimeout(function() {
|
|
1883
|
-
|
|
1884
|
-
}, o.msec) : o.timer_id = -1, xe(e) ?
|
|
1912
|
+
vt(e, "EV_TIMEOUT", {}, e);
|
|
1913
|
+
}, o.msec) : o.timer_id = -1, xe(e) ? vt(We(e), l, {}, e) : Ct(e, l, {}), o.periodic || -1 !== o.timer_id || Ae(e) && Oe(e), 0;
|
|
1885
1914
|
}
|
|
1886
|
-
var
|
|
1915
|
+
var Rr = {
|
|
1887
1916
|
mt_create: function(e) {
|
|
1888
1917
|
let t = e.priv;
|
|
1889
1918
|
const n = ut(e, "subscriber");
|
|
1890
|
-
n && At(e, null, {}, n), t.periodic =
|
|
1919
|
+
n && At(e, null, {}, n), t.periodic = st(e, "periodic"), t.msec = _t(e, "msec");
|
|
1891
1920
|
},
|
|
1892
1921
|
mt_writing: function(e, t) {
|
|
1893
1922
|
let n = e.priv;
|
|
1894
1923
|
switch (t) {
|
|
1895
1924
|
case "periodic":
|
|
1896
|
-
n.periodic =
|
|
1925
|
+
n.periodic = st(e, "periodic");
|
|
1897
1926
|
break;
|
|
1898
1927
|
case "msec": n.msec = _t(e, "msec"), -1 !== n.timer_id && (clearTimeout(n.timer_id), n.timer_id = -1), n.msec > 0 && (n.timer_id = setTimeout(function() {
|
|
1899
|
-
|
|
1900
|
-
}, n.msec)), n.msec > 0 ? Ae(e) ||
|
|
1928
|
+
vt(e, "EV_TIMEOUT", {}, e);
|
|
1929
|
+
}, n.msec)), n.msec > 0 ? Ae(e) || je(e) : Ae(e) && Oe(e);
|
|
1901
1930
|
}
|
|
1902
1931
|
},
|
|
1903
1932
|
mt_start: function(e) {
|
|
@@ -1908,84 +1937,84 @@
|
|
|
1908
1937
|
},
|
|
1909
1938
|
mt_destroy: function(e) {}
|
|
1910
1939
|
};
|
|
1911
|
-
function
|
|
1940
|
+
function Dr(e, t) {
|
|
1912
1941
|
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);
|
|
1913
1942
|
}
|
|
1914
|
-
function
|
|
1943
|
+
function Ar(e, t) {
|
|
1915
1944
|
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);
|
|
1916
1945
|
}
|
|
1917
|
-
function
|
|
1946
|
+
function kr(e) {
|
|
1918
1947
|
return e instanceof O ? "C_TIMER" !== Ge(e) ? (Ht("not C_TIMER GObj"), -1) : void gt(e, "msec", -1) : (Ht("not GObj TYPE"), -1);
|
|
1919
1948
|
}
|
|
1920
|
-
var
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
],
|
|
1947
|
-
function
|
|
1949
|
+
var Ir = [
|
|
1950
|
+
v(T.DTP_BOOLEAN, "changesLost", 0, !1, "Set true to warn about leaving page"),
|
|
1951
|
+
v(T.DTP_BOOLEAN, "browser_beforeunload", 0, !1, "Set true to refreshing browser"),
|
|
1952
|
+
v(T.DTP_STRING, "__username__", 0, "", "Username"),
|
|
1953
|
+
v(T.DTP_STRING, "start_date", 0, "", "Yuno starting date"),
|
|
1954
|
+
v(T.DTP_STRING, "node_uuid", 0, "", "uuid of node"),
|
|
1955
|
+
v(T.DTP_STRING, "yuno_role", 0, "", "Yuno role"),
|
|
1956
|
+
v(T.DTP_STRING, "yuno_id", 0, "", "Yuno Id. Set by agent"),
|
|
1957
|
+
v(T.DTP_STRING, "yuno_name", 0, "", "Yuno name. Set by agent"),
|
|
1958
|
+
v(T.DTP_STRING, "yuno_tag", 0, "", "Tags of yuno. Set by agent"),
|
|
1959
|
+
v(T.DTP_STRING, "yuno_release", 0, "", "Yuno Release. Set by agent"),
|
|
1960
|
+
v(T.DTP_STRING, "yuno_version", 0, "", "Yuno version (APP_VERSION)"),
|
|
1961
|
+
v(T.DTP_STRING, "yuneta_version", 0, i, "Yuneta version"),
|
|
1962
|
+
v(T.DTP_LIST, "required_services", 0, "[]", "Required services"),
|
|
1963
|
+
v(T.DTP_INTEGER, "tracing", 0, 0, "Tracing level"),
|
|
1964
|
+
v(T.DTP_BOOLEAN, "trace_timer", 0, 0, "Trace timers"),
|
|
1965
|
+
v(T.DTP_BOOLEAN, "trace_inter_event", 0, 0, "Trace traffic"),
|
|
1966
|
+
v(T.DTP_POINTER, "trace_ievent_callback", 0, null, "Trace traffic callback"),
|
|
1967
|
+
v(T.DTP_BOOLEAN, "trace_creation", 0, 0, "Trace creation"),
|
|
1968
|
+
v(T.DTP_BOOLEAN, "trace_start_stop", 0, 0, "Trace start/stop"),
|
|
1969
|
+
v(T.DTP_BOOLEAN, "trace_subscriptions", 0, 0, "Trace subscription"),
|
|
1970
|
+
v(T.DTP_BOOLEAN, "trace_i18n", 0, 0, "Trace i18n"),
|
|
1971
|
+
v(T.DTP_BOOLEAN, "no_poll", 0, 0, "no poll"),
|
|
1972
|
+
v(T.DTP_BOOLEAN, "developer", 0, !1, "Developer mode enabled"),
|
|
1973
|
+
v(T.DTP_INTEGER, "periodic_timeout", 0, "1000", "Timeout periodic, in miliseconds."),
|
|
1974
|
+
j()
|
|
1975
|
+
], $r = { gobj_timer: null }, Cr = null;
|
|
1976
|
+
function Lr(e, t, n, r) {
|
|
1948
1977
|
return Ct(e, t, n), 0;
|
|
1949
1978
|
}
|
|
1950
|
-
var
|
|
1979
|
+
var Pr = {
|
|
1951
1980
|
mt_create: function(e) {
|
|
1952
1981
|
let t = e.priv;
|
|
1953
|
-
dt(e, "start_date", ar()), dt(e, "node_uuid", cr()), e.priv.gobj_timer = he(Fe(e), "C_TIMER", {}, e), t.periodic_timeout =
|
|
1982
|
+
dt(e, "start_date", ar()), dt(e, "node_uuid", cr()), e.priv.gobj_timer = he(Fe(e), "C_TIMER", {}, e), t.periodic_timeout = lt(e, "periodic_timeout");
|
|
1954
1983
|
},
|
|
1955
1984
|
mt_writing: function(e, t) {},
|
|
1956
1985
|
mt_start: function(e) {
|
|
1957
|
-
return
|
|
1986
|
+
return Ar(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
|
|
1958
1987
|
},
|
|
1959
1988
|
mt_stop: function(e) {
|
|
1960
|
-
return
|
|
1989
|
+
return kr(e.priv.gobj_timer), we(e), 0;
|
|
1961
1990
|
},
|
|
1962
1991
|
mt_destroy: function(e) {},
|
|
1963
1992
|
mt_play: function(e) {
|
|
1964
1993
|
let t = fe();
|
|
1965
|
-
return Ae(t) ||
|
|
1994
|
+
return Ae(t) || je(t), $e(t) || Re(t), 0;
|
|
1966
1995
|
},
|
|
1967
1996
|
mt_pause: function(e) {
|
|
1968
1997
|
return De(fe()), 0;
|
|
1969
1998
|
}
|
|
1970
1999
|
};
|
|
1971
|
-
var
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
|
|
1975
|
-
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
|
|
1980
|
-
|
|
1981
|
-
|
|
1982
|
-
|
|
1983
|
-
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
|
|
1987
|
-
|
|
1988
|
-
],
|
|
2000
|
+
var Ur = "ievent_gate_stack", Fr = [
|
|
2001
|
+
v(T.DTP_STRING, "wanted_yuno_role", h.SDF_RD, "", "wanted yuno role"),
|
|
2002
|
+
v(T.DTP_STRING, "wanted_yuno_name", h.SDF_RD, "", "wanted yuno name"),
|
|
2003
|
+
v(T.DTP_STRING, "wanted_yuno_service", h.SDF_RD, "", "wanted yuno service"),
|
|
2004
|
+
v(T.DTP_STRING, "remote_yuno_role", h.SDF_RD, "", "confirmed remote yuno role"),
|
|
2005
|
+
v(T.DTP_STRING, "remote_yuno_name", h.SDF_RD, "", "confirmed remote yuno name"),
|
|
2006
|
+
v(T.DTP_STRING, "remote_yuno_service", h.SDF_RD, "", "confirmed remote yuno service"),
|
|
2007
|
+
v(T.DTP_STRING, "url", h.SDF_RD, "", "Url to connect"),
|
|
2008
|
+
v(T.DTP_STRING, "jwt", h.SDF_PERSIST, "", "JWT"),
|
|
2009
|
+
v(T.DTP_STRING, "cert_pem", h.SDF_PERSIST, "", "SSL server certification, PEM str format"),
|
|
2010
|
+
v(T.DTP_JSON, "extra_info", h.SDF_RD, "{}", "dict data set by user, added to the identity card msg."),
|
|
2011
|
+
v(T.DTP_LIST, "required_services", h.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."),
|
|
2012
|
+
v(T.DTP_INTEGER, "timeout_retry", h.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"),
|
|
2013
|
+
v(T.DTP_INTEGER, "timeout_retry_max", h.SDF_RD, "60000", "Cap of the reconnect backoff (ms). Set it equal to timeout_retry for the old fixed-interval behaviour"),
|
|
2014
|
+
v(T.DTP_INTEGER, "timeout_idack", h.SDF_RD, "5000", "timeout waiting idAck"),
|
|
2015
|
+
v(T.DTP_POINTER, "subscriber", 0, 0, "subscriber of output-events. If null then subscriber is the parent"),
|
|
2016
|
+
j()
|
|
2017
|
+
], Gr = {
|
|
1989
2018
|
url: null,
|
|
1990
2019
|
remote_yuno_name: null,
|
|
1991
2020
|
remote_yuno_role: null,
|
|
@@ -1995,8 +2024,8 @@
|
|
|
1995
2024
|
websocket: null,
|
|
1996
2025
|
inside_on_open: !1,
|
|
1997
2026
|
retry_ms: 0
|
|
1998
|
-
},
|
|
1999
|
-
function
|
|
2027
|
+
}, Vr = null;
|
|
2028
|
+
function Mr(e) {
|
|
2000
2029
|
e.priv.websocket && Ht("Websocket ALREADY setup");
|
|
2001
2030
|
const t = at(e, "url");
|
|
2002
2031
|
let n;
|
|
@@ -2007,20 +2036,20 @@
|
|
|
2007
2036
|
return Ht(`${Ve(e)}: Cannot open WebSocket to '${t}', Error: ${n.message}`), null;
|
|
2008
2037
|
}
|
|
2009
2038
|
return n ? (n.onopen = () => {
|
|
2010
|
-
|
|
2039
|
+
vt(e, "EV_ON_OPEN", { url: t }, e);
|
|
2011
2040
|
}, n.onmessage = (n) => {
|
|
2012
|
-
|
|
2041
|
+
vt(e, "EV_ON_MESSAGE", {
|
|
2013
2042
|
url: t,
|
|
2014
2043
|
data: n.data
|
|
2015
2044
|
}, e);
|
|
2016
2045
|
}, n.onclose = (n) => {
|
|
2017
|
-
Ye(e) || (
|
|
2046
|
+
Ye(e) || (st(Ce(), "browser_beforeunload") ? zt("Close websocket by unload page") : vt(e, "EV_ON_CLOSE", {
|
|
2018
2047
|
url: t,
|
|
2019
2048
|
e: n
|
|
2020
2049
|
}, e));
|
|
2021
2050
|
}, n) : (Ht(`${Ve(e)}: Failed to initialize WebSocket.`), null);
|
|
2022
2051
|
}
|
|
2023
|
-
function
|
|
2052
|
+
function Wr(e, t = 1e3, n = "") {
|
|
2024
2053
|
let r = e.priv, o = r.websocket;
|
|
2025
2054
|
if (r.websocket = null, o && o.readyState !== WebSocket.CLOSED && o.readyState !== WebSocket.CLOSING) {
|
|
2026
2055
|
Qt(`Closing WebSocket (Code: ${t}, Reason: "${n}")`);
|
|
@@ -2031,7 +2060,7 @@
|
|
|
2031
2060
|
}
|
|
2032
2061
|
} else zt("WebSocket is already closed or in the process of closing.");
|
|
2033
2062
|
}
|
|
2034
|
-
function
|
|
2063
|
+
function Kr(e, t, n) {
|
|
2035
2064
|
let r = ar();
|
|
2036
2065
|
try {
|
|
2037
2066
|
Qt("\n" + r + " " + t + "\n"), Zt(n);
|
|
@@ -2039,17 +2068,17 @@
|
|
|
2039
2068
|
Qt("ERROR in trace_inter_event: " + e);
|
|
2040
2069
|
}
|
|
2041
2070
|
}
|
|
2042
|
-
var
|
|
2071
|
+
var xr = class {
|
|
2043
2072
|
constructor(e, t) {
|
|
2044
2073
|
this.event = e, this.kw = t || {};
|
|
2045
2074
|
}
|
|
2046
2075
|
};
|
|
2047
|
-
function
|
|
2076
|
+
function Yr(e, t, n, r) {
|
|
2048
2077
|
return function(e, t) {
|
|
2049
2078
|
let n = e.priv, r = JSON.stringify(t);
|
|
2050
|
-
if (
|
|
2051
|
-
let n = at(e, "url"), o = Fe(Ce()) + " ==> " + n,
|
|
2052
|
-
|
|
2079
|
+
if (st(Ce(), "trace_inter_event")) {
|
|
2080
|
+
let n = at(e, "url"), o = Fe(Ce()) + " ==> " + n, l = lt(Ce(), "trace_ievent_callback");
|
|
2081
|
+
l ? l(o, t, 1, r.length) : Kr(0, o, t);
|
|
2053
2082
|
}
|
|
2054
2083
|
if (!n.websocket || n.websocket.readyState !== WebSocket.OPEN) return zt(`${Ve(e)}: send_iev(): websocket not open, message lost`), -1;
|
|
2055
2084
|
try {
|
|
@@ -2059,10 +2088,10 @@
|
|
|
2059
2088
|
}
|
|
2060
2089
|
return 0;
|
|
2061
2090
|
}(e, function(e, t) {
|
|
2062
|
-
return Sn(e) ? (Ht("iev_create() event NULL"), null) : new
|
|
2091
|
+
return Sn(e) ? (Ht("iev_create() event NULL"), null) : new xr(e, t);
|
|
2063
2092
|
}(t, n));
|
|
2064
2093
|
}
|
|
2065
|
-
function
|
|
2094
|
+
function Br(e, t, n) {
|
|
2066
2095
|
return Sn(n) && (n = at(e, "wanted_yuno_service")), {
|
|
2067
2096
|
dst_yuno: at(e, "wanted_yuno_name"),
|
|
2068
2097
|
dst_role: at(e, "wanted_yuno_role"),
|
|
@@ -2073,17 +2102,17 @@
|
|
|
2073
2102
|
host: cr()
|
|
2074
2103
|
};
|
|
2075
2104
|
}
|
|
2076
|
-
function
|
|
2077
|
-
let t = e.priv, n = $e(Ce()), r = at(Ce(), "yuno_version"), o = at(Ce(), "yuno_release"),
|
|
2078
|
-
|
|
2105
|
+
function Jr(e) {
|
|
2106
|
+
let t = e.priv, n = $e(Ce()), r = at(Ce(), "yuno_version"), o = at(Ce(), "yuno_release"), l = at(Ce(), "yuno_tag"), s = lt(e, "required_services");
|
|
2107
|
+
s && s.length || (s = lt(Ce(), "required_services"));
|
|
2079
2108
|
let _ = {
|
|
2080
2109
|
yuno_role: Pe(),
|
|
2081
2110
|
yuno_id: Ue(),
|
|
2082
2111
|
yuno_name: Le(),
|
|
2083
|
-
yuno_tag:
|
|
2112
|
+
yuno_tag: l,
|
|
2084
2113
|
yuno_version: r,
|
|
2085
2114
|
yuno_release: o,
|
|
2086
|
-
yuneta_version:
|
|
2115
|
+
yuneta_version: i,
|
|
2087
2116
|
playing: n,
|
|
2088
2117
|
pid: 0,
|
|
2089
2118
|
watcher_pid: 0,
|
|
@@ -2094,88 +2123,88 @@
|
|
|
2094
2123
|
id: cr(),
|
|
2095
2124
|
user_agent: "undefined" != typeof window ? window.navigator.userAgent : "",
|
|
2096
2125
|
language: "undefined" != typeof window ? window.navigator.language : "",
|
|
2097
|
-
required_services:
|
|
2126
|
+
required_services: s
|
|
2098
2127
|
};
|
|
2099
|
-
return er(e, _,
|
|
2128
|
+
return er(e, _, Ur, Br(e, Fe(We(e)), null)), nr(e, _, "__identity__"), Dr(t.gobj_timer, _t(e, "timeout_idack")), Yr(e, "EV_IDENTITY_CARD", _);
|
|
2100
2129
|
}
|
|
2101
|
-
function
|
|
2130
|
+
function qr(e, t) {
|
|
2102
2131
|
if (Sn(t.event)) return -1;
|
|
2103
|
-
let n = {}, r = t.__global__, o = t.__config__,
|
|
2104
|
-
o && (n.__config__ = o), r && (n.__global__ = r),
|
|
2105
|
-
return er(e, n,
|
|
2132
|
+
let n = {}, r = t.__global__, o = t.__config__, l = t.__filter__, i = t.__service__, s = t.subscriber;
|
|
2133
|
+
o && (n.__config__ = o), r && (n.__global__ = r), l && (n.__filter__ = l);
|
|
2134
|
+
return er(e, n, Ur, Br(e, Fe(s), i)), nr(e, n, "__subscribing__"), Yr(e, t.event, n);
|
|
2106
2135
|
}
|
|
2107
|
-
function
|
|
2136
|
+
function Hr(e, t, n, r) {
|
|
2108
2137
|
let o = e.priv;
|
|
2109
|
-
return Ae(e) && (o.websocket =
|
|
2138
|
+
return Ae(e) && (o.websocket = Mr(e)), 0;
|
|
2110
2139
|
}
|
|
2111
|
-
function
|
|
2112
|
-
return Qt("Websocket opened: " + e.priv.url),
|
|
2140
|
+
function zr(e, t, n, r) {
|
|
2141
|
+
return Qt("Websocket opened: " + e.priv.url), Jr(e), 0;
|
|
2113
2142
|
}
|
|
2114
|
-
function
|
|
2115
|
-
let o = e.priv,
|
|
2116
|
-
return Jt(), zt(`${Ve(e)}: WebSocket closed ${
|
|
2117
|
-
url:
|
|
2143
|
+
function Qr(e, t, n, r) {
|
|
2144
|
+
let o = e.priv, l = n.e, i = n.url;
|
|
2145
|
+
return Jt(), zt(`${Ve(e)}: WebSocket closed ${i} (Code: ${l.code}, Reason: "${l.reason}", Clean: ${l.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", {
|
|
2146
|
+
url: i,
|
|
2118
2147
|
remote_yuno_name: o.remote_yuno_name,
|
|
2119
2148
|
remote_yuno_role: o.remote_yuno_role,
|
|
2120
2149
|
remote_yuno_service: o.remote_yuno_service
|
|
2121
|
-
})) : (zt(`${Ve(e)}: EV_ON_OPEN_ERROR cannot open ${
|
|
2122
|
-
url:
|
|
2150
|
+
})) : (zt(`${Ve(e)}: EV_ON_OPEN_ERROR cannot open ${i} (Code: ${l.code}, Reason: "${l.reason}", Clean: ${l.wasClean})`), Ct(e, "EV_ON_OPEN_ERROR", {
|
|
2151
|
+
url: i,
|
|
2123
2152
|
remote_yuno_name: o.remote_yuno_name,
|
|
2124
2153
|
remote_yuno_role: o.remote_yuno_role,
|
|
2125
2154
|
remote_yuno_service: o.remote_yuno_service,
|
|
2126
|
-
code:
|
|
2127
|
-
reason:
|
|
2128
|
-
was_clean:
|
|
2129
|
-
})), Ae(e) &&
|
|
2155
|
+
code: l.code,
|
|
2156
|
+
reason: l.reason,
|
|
2157
|
+
was_clean: l.wasClean
|
|
2158
|
+
})), Ae(e) && Dr(o.gobj_timer, function(e) {
|
|
2130
2159
|
let t = e.priv, n = _t(e, "timeout_retry"), r = _t(e, "timeout_retry_max");
|
|
2131
2160
|
r < n && (r = n);
|
|
2132
2161
|
t.retry_ms = t.retry_ms ? Math.min(2 * t.retry_ms, r) : n;
|
|
2133
|
-
let o = .2 * t.retry_ms,
|
|
2134
|
-
return Math.max(1, Math.round(
|
|
2162
|
+
let o = .2 * t.retry_ms, l = t.retry_ms - o + 2 * Math.random() * o;
|
|
2163
|
+
return Math.max(1, Math.round(l));
|
|
2135
2164
|
}(e)), 0;
|
|
2136
2165
|
}
|
|
2137
|
-
function
|
|
2138
|
-
return
|
|
2166
|
+
function Xr(e, t, n, r) {
|
|
2167
|
+
return Jr(e), 0;
|
|
2139
2168
|
}
|
|
2140
|
-
function
|
|
2169
|
+
function Zr(e, t, n, r) {
|
|
2141
2170
|
let o = e.priv;
|
|
2142
|
-
|
|
2143
|
-
let
|
|
2144
|
-
dt(e, "remote_yuno_name",
|
|
2171
|
+
kr(o.gobj_timer);
|
|
2172
|
+
let l = tr(e, n, Ur, !0), i = Ln(e, l, "src_yuno", ""), s = Ln(e, l, "src_role", ""), _ = Ln(e, l, "src_service", "");
|
|
2173
|
+
dt(e, "remote_yuno_name", i), dt(e, "remote_yuno_role", s), dt(e, "remote_yuno_service", _);
|
|
2145
2174
|
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", {});
|
|
2146
2175
|
if (a < 0) {
|
|
2147
|
-
|
|
2176
|
+
Wr(e);
|
|
2148
2177
|
let t = {
|
|
2149
2178
|
url: at(e, "url"),
|
|
2150
2179
|
result: a,
|
|
2151
2180
|
comment: u,
|
|
2152
2181
|
username: c,
|
|
2153
|
-
remote_yuno_name:
|
|
2154
|
-
remote_yuno_role:
|
|
2182
|
+
remote_yuno_name: i,
|
|
2183
|
+
remote_yuno_role: s,
|
|
2155
2184
|
remote_yuno_service: _
|
|
2156
2185
|
};
|
|
2157
|
-
xe(e) ?
|
|
2186
|
+
xe(e) ? vt(We(e), "EV_ON_ID_NAK", t, e) : Ct(e, "EV_ON_ID_NAK", t);
|
|
2158
2187
|
} else {
|
|
2159
2188
|
if (bt(e, "ST_SESSION"), o.inside_on_open = !0, o.retry_ms = 0, !o.inform_on_close) {
|
|
2160
2189
|
o.inform_on_close = !0;
|
|
2161
2190
|
let t = {
|
|
2162
2191
|
username: c,
|
|
2163
|
-
remote_yuno_name:
|
|
2164
|
-
remote_yuno_role:
|
|
2192
|
+
remote_yuno_name: i,
|
|
2193
|
+
remote_yuno_role: s,
|
|
2165
2194
|
remote_yuno_service: _,
|
|
2166
2195
|
services_roles: f
|
|
2167
2196
|
};
|
|
2168
|
-
xe(e) ?
|
|
2197
|
+
xe(e) ? vt(We(e), "EV_ON_OPEN", t, e) : Ct(e, "EV_ON_OPEN", t);
|
|
2169
2198
|
}
|
|
2170
2199
|
o.inside_on_open = !1, function(e) {
|
|
2171
2200
|
let t = It(e, null, null, null);
|
|
2172
|
-
for (let n = 0; n < t.length; n++)
|
|
2201
|
+
for (let n = 0; n < t.length; n++) qr(e, t[n]);
|
|
2173
2202
|
}(e);
|
|
2174
2203
|
}
|
|
2175
2204
|
return 0;
|
|
2176
2205
|
}
|
|
2177
|
-
function
|
|
2178
|
-
let o = e.priv.url,
|
|
2206
|
+
function eo(e, t, n, r) {
|
|
2207
|
+
let o = e.priv.url, l = function(e, t) {
|
|
2179
2208
|
let n;
|
|
2180
2209
|
try {
|
|
2181
2210
|
n = JSON.parse(t);
|
|
@@ -2192,38 +2221,37 @@
|
|
|
2192
2221
|
kw: o || {}
|
|
2193
2222
|
} : (Ht("parsing inter_event: kw not a json object"), null) : (Ht("parsing inter_kw: no kw"), null);
|
|
2194
2223
|
}(0, n.data);
|
|
2195
|
-
if (
|
|
2196
|
-
let e = Fe(Ce()) + " <== " + o, t = n.data.length, r =
|
|
2197
|
-
r ? r(e,
|
|
2224
|
+
if (st(Ce(), "trace_inter_event")) {
|
|
2225
|
+
let e = Fe(Ce()) + " <== " + o, t = n.data.length, r = lt(Ce(), "trace_ievent_callback");
|
|
2226
|
+
r ? r(e, l, 2, t) : Kr(0, e, l);
|
|
2198
2227
|
}
|
|
2199
|
-
let
|
|
2228
|
+
let i = l.event, s = l.kw;
|
|
2200
2229
|
if ("ST_SESSION" !== pt(e)) {
|
|
2201
|
-
if (Et(e,
|
|
2202
|
-
if (!(
|
|
2203
|
-
} else Ht(`${Ve(e)}: event UNKNOWN in not-session state ${
|
|
2204
|
-
return
|
|
2230
|
+
if (Et(e, i, D.EVF_PUBLIC_EVENT)) {
|
|
2231
|
+
if (!(vt(e, i, s, e) < 0)) return 0;
|
|
2232
|
+
} else Ht(`${Ve(e)}: event UNKNOWN in not-session state ${i}`);
|
|
2233
|
+
return Wr(e), -1;
|
|
2205
2234
|
}
|
|
2206
|
-
|
|
2207
|
-
let _ = rr(e,
|
|
2235
|
+
l = null;
|
|
2236
|
+
let _ = rr(e, s), a = tr(e, s, Ur), u = Ln(e, a, "dst_role", "");
|
|
2208
2237
|
if (u.toLowerCase() !== Pe().toLowerCase()) return Ht(`"It's not my role, dst_role: ${u}, my_role: ${Pe()}`), 0;
|
|
2209
2238
|
let c = Ln(e, a, "dst_service", "");
|
|
2210
2239
|
if ("__subscribing__" === _) return -1;
|
|
2211
2240
|
if ("__unsubscribing__" === _) return -1;
|
|
2212
|
-
if (Et(e,
|
|
2213
|
-
|
|
2214
|
-
|
|
2215
|
-
|
|
2216
|
-
|
|
2217
|
-
|
|
2218
|
-
return 0;
|
|
2241
|
+
if (Et(e, i, D.EVF_PUBLIC_EVENT)) return vt(e, i, s, e), 0;
|
|
2242
|
+
if (!Sn(c)) {
|
|
2243
|
+
let t = ge(c, !1);
|
|
2244
|
+
return t ? Et(t, i, D.EVF_PUBLIC_EVENT) ? (vt(t, i, s, e), 0) : (Ht(`${Ve(e)}: Service found but no event or not public, service '${Ve(t)}', ev '${i}'`), -1) : (zt(`${Ve(e)}: event for a service that is gone, DROPPED: service '${c}', ev '${i}'`), 0);
|
|
2245
|
+
}
|
|
2246
|
+
return xe(e) ? vt(We(e), i, s, e) : Ct(e, i, s), 0;
|
|
2219
2247
|
}
|
|
2220
|
-
function
|
|
2248
|
+
function to(e, t, n, r) {
|
|
2221
2249
|
return 0;
|
|
2222
2250
|
}
|
|
2223
|
-
function
|
|
2251
|
+
function no(e, t, n, r) {
|
|
2224
2252
|
return 0;
|
|
2225
2253
|
}
|
|
2226
|
-
var
|
|
2254
|
+
var ro = {
|
|
2227
2255
|
mt_create: function(e) {
|
|
2228
2256
|
let t = e.priv;
|
|
2229
2257
|
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);
|
|
@@ -2247,55 +2275,55 @@
|
|
|
2247
2275
|
},
|
|
2248
2276
|
mt_start: function(e) {
|
|
2249
2277
|
let t = e.priv;
|
|
2250
|
-
return t.retry_ms = 0, t.websocket =
|
|
2278
|
+
return t.retry_ms = 0, t.websocket = Mr(e), 0;
|
|
2251
2279
|
},
|
|
2252
2280
|
mt_stop: function(e) {
|
|
2253
2281
|
let t = e.priv;
|
|
2254
|
-
return
|
|
2282
|
+
return kr(t.gobj_timer), t.websocket && Wr(e), 0;
|
|
2255
2283
|
},
|
|
2256
2284
|
mt_destroy: function(e) {},
|
|
2257
2285
|
mt_stats: function(e, t, n, r) {
|
|
2258
2286
|
if ("ST_SESSION" !== pt(e)) return Ht("Not in session"), null;
|
|
2259
2287
|
n || (n = {});
|
|
2260
|
-
let o =
|
|
2261
|
-
return
|
|
2288
|
+
let o = Br(e, Fe(r), Ln(e, n, "service", null, 0)), l = Fn(e, n, "__md_stats__", null, Lt.KW_EXTRACT);
|
|
2289
|
+
return l || (l = {}), er(e, n, "stats_stack", {
|
|
2262
2290
|
stats: t,
|
|
2263
|
-
kw:
|
|
2264
|
-
}), er(e, n,
|
|
2291
|
+
kw: l
|
|
2292
|
+
}), er(e, n, Ur, o), n.__stats__ = t, nr(e, n, "__stats__"), Yr(e, "EV_MT_STATS", n, r), null;
|
|
2265
2293
|
},
|
|
2266
2294
|
mt_command_parser: function(e, t, n, r) {
|
|
2267
2295
|
if ("ST_SESSION" !== pt(e)) return Ht("Not in session"), null;
|
|
2268
2296
|
n || (n = {});
|
|
2269
|
-
let o =
|
|
2270
|
-
return
|
|
2297
|
+
let o = Br(e, Fe(r), Ln(e, n, "service", "", 0)), l = Fn(e, n, "__md_command__", null, Lt.KW_EXTRACT);
|
|
2298
|
+
return l || (l = {}), er(e, n, "command_stack", {
|
|
2271
2299
|
command: t,
|
|
2272
|
-
kw:
|
|
2273
|
-
}), er(e, n,
|
|
2300
|
+
kw: l
|
|
2301
|
+
}), er(e, n, Ur, o), n.__command__ = t, nr(e, n, "__command__"), Yr(e, "EV_MT_COMMAND", n, r), null;
|
|
2274
2302
|
},
|
|
2275
2303
|
mt_inject_event: function(e, t, n, r) {
|
|
2276
2304
|
if ("ST_SESSION" !== pt(e)) return window.console.error("Not in session"), -1;
|
|
2277
|
-
if (n || (n = {}), tr(e, n,
|
|
2305
|
+
if (n || (n = {}), tr(e, n, Ur));
|
|
2278
2306
|
else {
|
|
2279
|
-
let o =
|
|
2280
|
-
|
|
2307
|
+
let o = Br(e, Fe(r), Ln(e, n, "__service__", 0, 0));
|
|
2308
|
+
sn(n, "__service__"), er(e, n, "__message__", t), er(e, n, Ur, o);
|
|
2281
2309
|
}
|
|
2282
|
-
return nr(e, n, "__message__"),
|
|
2310
|
+
return nr(e, n, "__message__"), Yr(e, t, n, r);
|
|
2283
2311
|
},
|
|
2284
2312
|
mt_subscription_added: function(e, t) {
|
|
2285
2313
|
let n = e.priv;
|
|
2286
|
-
return "ST_SESSION" === pt(e) && n.websocket ? n.inside_on_open ? 0 :
|
|
2314
|
+
return "ST_SESSION" === pt(e) && n.websocket ? n.inside_on_open ? 0 : qr(e, t) : 0;
|
|
2287
2315
|
},
|
|
2288
2316
|
mt_subscription_deleted: function(e, t) {
|
|
2289
2317
|
let n = e.priv;
|
|
2290
2318
|
if ("ST_SESSION" !== pt(e) || !n.websocket) return 0;
|
|
2291
2319
|
if (n.inside_on_open) return 0;
|
|
2292
2320
|
if (Sn(t.event)) return 0;
|
|
2293
|
-
let r = {}, o = t.__global__,
|
|
2294
|
-
|
|
2295
|
-
return er(e, r,
|
|
2321
|
+
let r = {}, o = t.__global__, l = t.__config__, i = t.__filter__, s = t.__service__, _ = t.subscriber;
|
|
2322
|
+
l && (r.__config__ = l), o && (r.__global__ = o), i && (r.__filter__ = i);
|
|
2323
|
+
return er(e, r, Ur, Br(e, Fe(_), s)), nr(e, r, "__unsubscribing__"), Yr(e, t.event, r, e);
|
|
2296
2324
|
}
|
|
2297
2325
|
};
|
|
2298
|
-
e.GObj = O, e.SDATA =
|
|
2326
|
+
e.GObj = O, e.SDATA = v, e.SDATAAUTHZ = (e, t, n, r, o, l) => new y(e, t, n, null, l, r, null, 0, null, o, null), e.SDATACM = (e, t, n, r, o, l) => new y(e, t, 0, null, l, n, null, 0, o, r, null), e.SDATACM2 = (e, t, n, r, o, l, i) => new y(e, t, n, null, i, r, null, 0, l, o, null), e.SDATADF = (e, t, n, r, o, l) => new y(e, t, n, null, l, 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 = j, e.SDataDesc = y, e.YUNETA_VERSION = i, Object.defineProperty(e, "__yuno__", {
|
|
2299
2327
|
enumerable: !0,
|
|
2300
2328
|
get: function() {
|
|
2301
2329
|
return p;
|
|
@@ -2304,26 +2332,26 @@
|
|
|
2304
2332
|
let t = "", n = 0;
|
|
2305
2333
|
for (let r of e) null != r && "" !== r && (r = String(r), r = 0 === n ? r.replace(/\/+$/, "") : r.replace(/^\/+/, "").replace(/\/+$/, ""), "" !== r && (n > 0 && (t += "/"), t += r, n++));
|
|
2306
2334
|
return t;
|
|
2307
|
-
}, e.build_stats_response =
|
|
2335
|
+
}, e.build_stats_response = l, e.clean_name = function(e) {
|
|
2308
2336
|
return e.replace(/[?# ^:]/g, "_");
|
|
2309
|
-
}, e.clear_timeout =
|
|
2310
|
-
let [r, o,
|
|
2337
|
+
}, e.clear_timeout = kr, e.cmp_two_simple_json = Rn, e.command_parser = function(e, t, n, r) {}, e.createElement2 = function e(t, n) {
|
|
2338
|
+
let [r, o, l, i] = t;
|
|
2311
2339
|
if (!r) return void Ht("Tag must be a valid HTML element.");
|
|
2312
|
-
let
|
|
2340
|
+
let s = document.createElement(r), _ = "";
|
|
2313
2341
|
if (o && "object" == typeof o) for (let e of Object.keys(o)) if ("style" === e && "object" == typeof o[e]) {
|
|
2314
2342
|
let t = "";
|
|
2315
2343
|
for (const n of Object.keys(o[e])) t += `${n}: ${o[e][n]};`;
|
|
2316
|
-
|
|
2317
|
-
} else "style" === e ?
|
|
2318
|
-
if (En(
|
|
2319
|
-
else if (n && _)
|
|
2320
|
-
else
|
|
2321
|
-
else if (mn(
|
|
2322
|
-
if (
|
|
2323
|
-
else for (let t of
|
|
2324
|
-
} else
|
|
2325
|
-
if (
|
|
2326
|
-
return
|
|
2344
|
+
s.style.cssText = t;
|
|
2345
|
+
} 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]);
|
|
2346
|
+
if (En(l)) if (l = l.trim(), l.length > 0 && "<" === l[0]) s.appendChild(_r(l));
|
|
2347
|
+
else if (n && _) s.textContent = n(_) || l;
|
|
2348
|
+
else s.textContent = l;
|
|
2349
|
+
else if (mn(l)) {
|
|
2350
|
+
if (l.length > 0) if (En(l[0])) s.appendChild(e(l, n));
|
|
2351
|
+
else for (let t of l) Array.isArray(t) && t.length > 0 ? s.appendChild(e(t, n)) : t instanceof HTMLElement && s.appendChild(t);
|
|
2352
|
+
} else l instanceof HTMLElement || l instanceof Text || l instanceof SVGElement ? s.appendChild(l) : null != l && (Ht("content ignored"), Zt(l));
|
|
2353
|
+
if (i && "object" == typeof i) for (const e of Object.keys(i)) s.addEventListener(e, i[e]);
|
|
2354
|
+
return s;
|
|
2327
2355
|
}, e.createOneHtml = _r, e.create_json_record = function(e, t) {
|
|
2328
2356
|
let n = en(e);
|
|
2329
2357
|
return rn(n, t), n;
|
|
@@ -2332,38 +2360,38 @@
|
|
|
2332
2360
|
return t || (t = {}), Object.entries(e).forEach(([e, r]) => {
|
|
2333
2361
|
let o;
|
|
2334
2362
|
pn(r) && (o = r.default);
|
|
2335
|
-
let
|
|
2336
|
-
n[e] =
|
|
2363
|
+
let l = Fn(null, t, e, o);
|
|
2364
|
+
n[e] = l;
|
|
2337
2365
|
}), n;
|
|
2338
2366
|
}, e.current_timestamp = ar, e.data_type_t = T, e.db_list_persistent_attrs = function(e, t) {
|
|
2339
|
-
let n = Yn(
|
|
2367
|
+
let n = Yn(Er(e), null, !1), r = {};
|
|
2340
2368
|
return n && pn(n) && (r = Kn(e, n, t, !1)), r;
|
|
2341
2369
|
}, e.db_load_persistent_attrs = function(e, t) {
|
|
2342
|
-
let n =
|
|
2370
|
+
let n = it(e, h.SDF_PERSIST), r = Yn(Er(e), null, !1);
|
|
2343
2371
|
if (r && pn(r)) {
|
|
2344
2372
|
let o = Kn(e, r, t, !1);
|
|
2345
2373
|
o = Kn(e, o, n, !1), ct(e, o, h.SDF_PERSIST);
|
|
2346
2374
|
}
|
|
2347
2375
|
}, e.db_remove_persistent_attrs = function(e, t) {
|
|
2348
|
-
let n = xn(e, Yn(
|
|
2349
|
-
0 === gn(n) ? Jn(
|
|
2376
|
+
let n = xn(e, Yn(Er(e), null, !1), t, !1);
|
|
2377
|
+
0 === gn(n) ? Jn(Er(e)) : Bn(Er(e), n);
|
|
2350
2378
|
}, e.db_save_persistent_attrs = function(e, t) {
|
|
2351
|
-
let n = Kn(e,
|
|
2352
|
-
return r && pn(r) && on(n, r), Bn(
|
|
2379
|
+
let n = Kn(e, it(e, h.SDF_PERSIST), t, !1), r = Yn(Er(e), null, !1);
|
|
2380
|
+
return r && pn(r) && on(n, r), Bn(Er(e), n);
|
|
2353
2381
|
}, e.debounce = function(e, t = 0, n = !1) {
|
|
2354
|
-
let r = null, o = null,
|
|
2355
|
-
const
|
|
2356
|
-
|
|
2357
|
-
const
|
|
2382
|
+
let r = null, o = null, l = null;
|
|
2383
|
+
const i = (...i) => {
|
|
2384
|
+
l = this, o = i;
|
|
2385
|
+
const s = n && !r;
|
|
2358
2386
|
clearTimeout(r), r = setTimeout(() => {
|
|
2359
|
-
r = null, n || e.apply(
|
|
2360
|
-
}, t),
|
|
2387
|
+
r = null, n || e.apply(l, o);
|
|
2388
|
+
}, t), s && e.apply(l, o);
|
|
2361
2389
|
};
|
|
2362
|
-
return
|
|
2363
|
-
r && (clearTimeout(r), r = null, e.apply(
|
|
2364
|
-
},
|
|
2365
|
-
clearTimeout(r), r = null, o = null,
|
|
2366
|
-
},
|
|
2390
|
+
return i.flush = () => {
|
|
2391
|
+
r && (clearTimeout(r), r = null, e.apply(l, o));
|
|
2392
|
+
}, i.cancel = () => {
|
|
2393
|
+
clearTimeout(r), r = null, o = null, l = null;
|
|
2394
|
+
}, i;
|
|
2367
2395
|
}, e.delete_from_list = function(e, t) {
|
|
2368
2396
|
for (let n = 0; n < e.length; n++) if (t === e[n]) return e.splice(n, 1), !0;
|
|
2369
2397
|
return !1;
|
|
@@ -2374,7 +2402,68 @@
|
|
|
2374
2402
|
Object.assign(t, e);
|
|
2375
2403
|
}
|
|
2376
2404
|
return t;
|
|
2377
|
-
}, e.empty_string = Sn, e.escapeHtml =
|
|
2405
|
+
}, e.empty_string = Sn, e.escapeHtml = sr, e.event_flag_t = D, e.flat2json = function(e) {
|
|
2406
|
+
if (null === e || "object" != typeof e || Array.isArray(e)) throw new Error("flat2json: a flat json is an object of id -> value");
|
|
2407
|
+
let t = null;
|
|
2408
|
+
for (const n of Object.keys(e)) {
|
|
2409
|
+
const r = pr(n);
|
|
2410
|
+
if (!r || 0 === r.length) throw new Error(`flat2json: malformed flat id: '${n}'`);
|
|
2411
|
+
if (r.length > gr) throw new Error(`flat2json: '${n}' deeper than 256`);
|
|
2412
|
+
const o = "number" == typeof r[0];
|
|
2413
|
+
if (null === t) t = o ? [] : {};
|
|
2414
|
+
else if (o !== Array.isArray(t)) throw new Error(`flat2json: '${n}' does not fit a ${Array.isArray(t) ? "array" : "object"} root`);
|
|
2415
|
+
let l = t;
|
|
2416
|
+
for (let t = 0; t < r.length; t++) {
|
|
2417
|
+
const o = r[t], i = "number" == typeof o, s = t === r.length - 1, _ = !s && "number" == typeof r[t + 1];
|
|
2418
|
+
if (i && o > dr) throw new Error(`flat2json: array index ${o} over the limit (100000) in '${n}'`);
|
|
2419
|
+
if (i !== Array.isArray(l)) throw new Error(`flat2json: '${n}' uses a ${i ? "array index" : "key"} where the tree already has a ${Array.isArray(l) ? "array" : "object"}`);
|
|
2420
|
+
if (s) {
|
|
2421
|
+
if (Array.isArray(l)) {
|
|
2422
|
+
for (; l.length <= o;) l.push(null);
|
|
2423
|
+
l[o] = e[n];
|
|
2424
|
+
} else {
|
|
2425
|
+
if (Object.prototype.hasOwnProperty.call(l, o)) throw new Error(`flat2json: '${n}' is written twice, or once as a value and once as a container`);
|
|
2426
|
+
l[o] = e[n];
|
|
2427
|
+
}
|
|
2428
|
+
break;
|
|
2429
|
+
}
|
|
2430
|
+
let a;
|
|
2431
|
+
if (Array.isArray(l)) {
|
|
2432
|
+
for (; l.length <= o;) l.push(null);
|
|
2433
|
+
a = l[o], null == a && (a = _ ? [] : {}, l[o] = a);
|
|
2434
|
+
} else a = l[o], void 0 === a && (a = _ ? [] : {}, l[o] = a);
|
|
2435
|
+
if (null === a || "object" != typeof a) throw new Error(`flat2json: '${n}' walks through a value: the same id is a leaf and a container at once`);
|
|
2436
|
+
if (_ !== Array.isArray(a)) throw new Error(`flat2json: '${n}' needs a ${_ ? "array" : "object"} where the tree already has a ${Array.isArray(a) ? "array" : "object"}`);
|
|
2437
|
+
l = a;
|
|
2438
|
+
}
|
|
2439
|
+
}
|
|
2440
|
+
return null === t ? {} : t;
|
|
2441
|
+
}, e.flat_apply = function(e, t) {
|
|
2442
|
+
if (null === e || "object" != typeof e || Array.isArray(e)) throw new Error("flat_apply: a flat json is an object of id -> value");
|
|
2443
|
+
if (null === t || "object" != typeof t) throw new Error("flat_apply: a diff is the object flat_diff() answers");
|
|
2444
|
+
for (const n of Object.keys(t.removed || {})) delete e[n];
|
|
2445
|
+
for (const n of Object.keys(t.added || {})) e[n] = t.added[n];
|
|
2446
|
+
for (const n of Object.keys(t.changed || {})) {
|
|
2447
|
+
const r = t.changed[n];
|
|
2448
|
+
if (!r || !Object.prototype.hasOwnProperty.call(r, "to")) throw new Error(`flat_apply: changed '${n}' without a 'to'`);
|
|
2449
|
+
e[n] = r.to;
|
|
2450
|
+
}
|
|
2451
|
+
return e;
|
|
2452
|
+
}, e.flat_diff = function(e, t) {
|
|
2453
|
+
const n = e && "object" == typeof e ? e : {}, r = t && "object" == typeof t ? t : {}, o = {
|
|
2454
|
+
added: {},
|
|
2455
|
+
removed: {},
|
|
2456
|
+
changed: {}
|
|
2457
|
+
};
|
|
2458
|
+
for (const e of Object.keys(n)) Object.prototype.hasOwnProperty.call(r, e) ? mr(n[e], r[e]) || (o.changed[e] = {
|
|
2459
|
+
from: n[e],
|
|
2460
|
+
to: r[e]
|
|
2461
|
+
}) : o.removed[e] = n[e];
|
|
2462
|
+
for (const e of Object.keys(r)) Object.prototype.hasOwnProperty.call(n, e) || (o.added[e] = r[e]);
|
|
2463
|
+
return o;
|
|
2464
|
+
}, e.flat_key_join = function(e) {
|
|
2465
|
+
return Array.isArray(e) && 0 !== e.length ? e.map((e) => "number" == typeof e ? `[${e}]` : br(e)).join("`") : "";
|
|
2466
|
+
}, e.flat_key_split = pr, e.gclass_add_ev_action = ie, e.gclass_add_event_type = _e, e.gclass_add_state = le, 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) {
|
|
2378
2467
|
if (!e) return {
|
|
2379
2468
|
top: 0,
|
|
2380
2469
|
left: 0,
|
|
@@ -2386,49 +2475,49 @@
|
|
|
2386
2475
|
left: 0,
|
|
2387
2476
|
width: 0,
|
|
2388
2477
|
height: 0
|
|
2389
|
-
},
|
|
2478
|
+
}, l = "undefined" != typeof window, i = l && (window.scrollY || document.documentElement?.scrollTop || document.body?.scrollTop) || 0, s = l && (window.scrollX || document.documentElement?.scrollLeft || document.body?.scrollLeft) || 0;
|
|
2390
2479
|
return {
|
|
2391
|
-
top: t +
|
|
2392
|
-
left: n +
|
|
2393
|
-
right: n +
|
|
2394
|
-
bottom: t +
|
|
2480
|
+
top: t + i,
|
|
2481
|
+
left: n + s,
|
|
2482
|
+
right: n + s + r,
|
|
2483
|
+
bottom: t + i + o
|
|
2395
2484
|
};
|
|
2396
2485
|
}, e.get_function_name = fr, e.get_now = function() {
|
|
2397
2486
|
return Math.floor(Date.now() / 1e3);
|
|
2398
2487
|
}, e.gobj_bottom_gobj = Be, e.gobj_change_parent = function(e, t) {
|
|
2399
2488
|
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);
|
|
2400
|
-
}, e.gobj_change_state = bt, e.gobj_command = function(e, t, r,
|
|
2489
|
+
}, e.gobj_change_state = bt, e.gobj_command = function(e, t, r, l) {
|
|
2401
2490
|
if (Ye(e)) return Ht("gobj NULL or DESTROYED"), -1;
|
|
2402
|
-
let
|
|
2403
|
-
return
|
|
2491
|
+
let i = p && _t(p, "tracing");
|
|
2492
|
+
return i && (L(n("🌀🌀 mach(%s%s), cmd: %s, src: %s", Ae(e) ? "" : "!!", Ve(e), t, Ve(l))), i > 1 && Zt(r)), e.gclass.gmt.mt_command_parser ? e.gclass.gmt.mt_command_parser(e, t, r, l) : e.gclass.command_table ? c ? c(e, t, r, l) : 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);
|
|
2404
2493
|
}, e.gobj_create = function(e, t, n, r) {
|
|
2405
2494
|
return Te(e, t, n, r, 0);
|
|
2406
2495
|
}, e.gobj_create2 = Te, e.gobj_create_default_service = function(e, t, n, r) {
|
|
2407
|
-
return Te(e, t, n, r,
|
|
2496
|
+
return Te(e, t, n, r, w.gobj_flag_default_service | w.gobj_flag_autostart);
|
|
2408
2497
|
}, e.gobj_create_pure_child = he, e.gobj_create_service = function(e, t, n, r) {
|
|
2409
|
-
return Te(e, t, n, r,
|
|
2498
|
+
return Te(e, t, n, r, w.gobj_flag_service);
|
|
2410
2499
|
}, e.gobj_create_volatil = function(e, t, n, r) {
|
|
2411
|
-
return Te(e, t, n, r,
|
|
2500
|
+
return Te(e, t, n, r, w.gobj_flag_volatil);
|
|
2412
2501
|
}, e.gobj_create_yuno = function(e, t, n) {
|
|
2413
|
-
return Te(e, t, n, null,
|
|
2414
|
-
}, e.gobj_current_state = pt, e.gobj_default_service = fe, e.gobj_deliver_posted_events =
|
|
2502
|
+
return Te(e, t, n, null, w.gobj_flag_yuno);
|
|
2503
|
+
}, e.gobj_current_state = pt, e.gobj_default_service = fe, e.gobj_deliver_posted_events = jt, e.gobj_destroy = ye, e.gobj_find_child = nt, e.gobj_find_gobj = function(e, t) {
|
|
2415
2504
|
if (Sn(t)) return null;
|
|
2416
2505
|
const n = t.toLowerCase();
|
|
2417
2506
|
return "__default_service__" === n ? m : "__yuno__" === n || "__root__" === n ? p : rt(p, t);
|
|
2418
|
-
}, e.gobj_find_service = ge, e.gobj_find_subscribings = $t, e.gobj_find_subscriptions = It, e.gobj_flag_t =
|
|
2507
|
+
}, e.gobj_find_service = ge, e.gobj_find_subscribings = $t, e.gobj_find_subscriptions = It, e.gobj_flag_t = w, e.gobj_full_name = Me, e.gobj_gclass_name = Ge, e.gobj_global_trace_level = function() {
|
|
2419
2508
|
return F;
|
|
2420
2509
|
}, e.gobj_has_attr = ot, e.gobj_has_event = Et, e.gobj_has_output_event = Tt, e.gobj_hsdata = X, e.gobj_is_destroying = Ye, e.gobj_is_playing = $e, e.gobj_is_pure_child = xe, e.gobj_is_running = Ae, e.gobj_is_service = Ie, e.gobj_is_volatil = Ke, e.gobj_list_persistent_attrs = function(e, t) {
|
|
2421
2510
|
return u ? u(e, t) : null;
|
|
2422
2511
|
}, e.gobj_list_subscriptions = function(e) {
|
|
2423
2512
|
let t = It(e, null, null, null);
|
|
2424
2513
|
for (let n = 0; n < t.length; n++) {
|
|
2425
|
-
let r = t[n], o = Pn(e, r, "publisher", 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(
|
|
2514
|
+
let r = t[n], o = Pn(e, r, "publisher", null, Lt.KW_REQUIRED), l = Pn(e, r, "subscriber", null, Lt.KW_REQUIRED);
|
|
2515
|
+
an(r, "s_event", Ln(e, r, "event", "", Lt.KW_REQUIRED)), an(r, "s_publisher", Ve(o)), an(r, "s_subscriber", Ve(l));
|
|
2427
2516
|
}
|
|
2428
2517
|
let n = $t(e, 0, null, 0);
|
|
2429
2518
|
for (let t = 0; t < n.length; t++) {
|
|
2430
|
-
let r = n[t], o = Pn(e, r, "publisher", 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(
|
|
2519
|
+
let r = n[t], o = Pn(e, r, "publisher", null, Lt.KW_REQUIRED), l = Pn(e, r, "subscriber", null, Lt.KW_REQUIRED);
|
|
2520
|
+
an(r, "s_event", Ln(e, r, "event", "", Lt.KW_REQUIRED)), an(r, "s_publisher", Ve(o)), an(r, "s_subscriber", Ve(l));
|
|
2432
2521
|
}
|
|
2433
2522
|
return {
|
|
2434
2523
|
subscriptions: t,
|
|
@@ -2437,7 +2526,7 @@
|
|
|
2437
2526
|
total_subscribings: dn(n)
|
|
2438
2527
|
};
|
|
2439
2528
|
}, e.gobj_load_persistent_attrs = function(e, t) {
|
|
2440
|
-
return Ie(e) ?
|
|
2529
|
+
return Ie(e) ? s ? s(e, t) : -1 : (Ht(`${Ve(e)}: Only gobj services can load/save writable-persistent`), -1);
|
|
2441
2530
|
}, e.gobj_match_children = function(e, t) {
|
|
2442
2531
|
if (Ye(e)) return Ht("gobj NULL or DESTROYED"), null;
|
|
2443
2532
|
t = t || {};
|
|
@@ -2454,20 +2543,20 @@
|
|
|
2454
2543
|
return function e(n, r) {
|
|
2455
2544
|
let o = r.dl_children;
|
|
2456
2545
|
for (let r = 0; r < o.length; r++) {
|
|
2457
|
-
let
|
|
2458
|
-
tt(
|
|
2546
|
+
let l = o[r];
|
|
2547
|
+
tt(l, t) && n.push(l), e(n, l);
|
|
2459
2548
|
}
|
|
2460
2549
|
}(n, e), n;
|
|
2461
|
-
}, e.gobj_match_gobj = tt, e.gobj_name = Fe, e.gobj_parent = We, e.gobj_pause = De, e.gobj_play =
|
|
2462
|
-
return e && e instanceof O ? e.obflag & (
|
|
2550
|
+
}, e.gobj_match_gobj = tt, e.gobj_name = Fe, e.gobj_parent = We, e.gobj_pause = De, e.gobj_play = Re, e.gobj_post_event = function(e, t, r, o) {
|
|
2551
|
+
return e && e instanceof O ? e.obflag & (R.obflag_destroyed | R.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({
|
|
2463
2552
|
dst: e,
|
|
2464
2553
|
event: t,
|
|
2465
2554
|
kw: r,
|
|
2466
2555
|
src: o
|
|
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(
|
|
2556
|
+
}), 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(jt, 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);
|
|
2468
2557
|
}, e.gobj_posted_events_size = function() {
|
|
2469
2558
|
return ht.length;
|
|
2470
|
-
}, e.gobj_publish_event = Ct, e.gobj_read_attr =
|
|
2559
|
+
}, e.gobj_publish_event = Ct, e.gobj_read_attr = lt, e.gobj_read_attrs = it, 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) {
|
|
2471
2560
|
return Ie(e) ? a ? a(e, t) : -1 : (Ht(`${Ve(e)}: Only gobj services can load/save writable-persistent`), -1);
|
|
2472
2561
|
}, e.gobj_repr_global_trace_levels = function() {
|
|
2473
2562
|
return U.map(([e, t, n]) => ({
|
|
@@ -2481,17 +2570,17 @@
|
|
|
2481
2570
|
if (Ye(e)) return Ht("gobj NULL or DESTROYED"), -1;
|
|
2482
2571
|
let r = e.gclass.attrs_table;
|
|
2483
2572
|
for (let o = 0; o < r.length; o++) {
|
|
2484
|
-
const
|
|
2485
|
-
if (
|
|
2486
|
-
const t = z(e, e.jn_attrs,
|
|
2487
|
-
pn(e.priv) && e.priv.hasOwnProperty(
|
|
2573
|
+
const l = r[o];
|
|
2574
|
+
if (l.name && !(n && l.flag & n) && (-1 === t || l.flag & t)) {
|
|
2575
|
+
const t = z(e, e.jn_attrs, l);
|
|
2576
|
+
pn(e.priv) && e.priv.hasOwnProperty(l.name) && (e.priv[l.name] = t), e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, l.name);
|
|
2488
2577
|
}
|
|
2489
2578
|
}
|
|
2490
2579
|
return 0;
|
|
2491
2580
|
}(e, h.SDF_VOLATIL, 0);
|
|
2492
2581
|
}, e.gobj_save_persistent_attrs = function(e, t) {
|
|
2493
2582
|
return Ie(e) ? _ ? _(e, t) : -1 : (Ht(`${Ve(e)}: Only gobj services can load/save writable-persistent`), -1);
|
|
2494
|
-
}, e.gobj_search_path = rt, e.gobj_send_event =
|
|
2583
|
+
}, e.gobj_search_path = rt, e.gobj_send_event = vt, e.gobj_services = function() {
|
|
2495
2584
|
let e = [];
|
|
2496
2585
|
for (const t of Object.keys(b)) cn(e, t);
|
|
2497
2586
|
return e;
|
|
@@ -2523,21 +2612,21 @@
|
|
|
2523
2612
|
return r ? (n ? e.trace_level |= r : e.trace_level &= ~r, 0) : -1;
|
|
2524
2613
|
}, e.gobj_set_trace_machine_format = function(e) {
|
|
2525
2614
|
C = 1 === Number(e) ? 1 : 0;
|
|
2526
|
-
}, e.gobj_short_name = Ve, e.gobj_start =
|
|
2527
|
-
return Ye(e) ? (Ht("gobj NULL or DESTROYED"), -1) : He(e, A.WALK_FIRST2LAST,
|
|
2615
|
+
}, e.gobj_short_name = Ve, e.gobj_start = je, e.gobj_start_children = function(e) {
|
|
2616
|
+
return Ye(e) ? (Ht("gobj NULL or DESTROYED"), -1) : He(e, A.WALK_FIRST2LAST, ve, 0, 0);
|
|
2528
2617
|
}, e.gobj_start_tree = function(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 ||
|
|
2530
|
-
}, e.gobj_start_up = function(e, t, n, r, o,
|
|
2531
|
-
|
|
2618
|
+
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 || je(e), ze(e, A.WALK_TOP2BOTTOM, Se, 0, 0)));
|
|
2619
|
+
}, e.gobj_start_up = function(e, t, n, r, o, l, i) {
|
|
2620
|
+
s = t, _ = n, a = r, u = o, c = l, f = i;
|
|
2532
2621
|
const d = [["EV_STATE_CHANGED", D.EVF_SYSTEM_EVENT | D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS], [0, 0]];
|
|
2533
2622
|
for (let e = 0; e < d.length; e++) {
|
|
2534
2623
|
let t = d[e][0], n = d[e][1];
|
|
2535
|
-
|
|
2624
|
+
se(g, t, n);
|
|
2536
2625
|
}
|
|
2537
2626
|
return 0;
|
|
2538
2627
|
}, e.gobj_stats = function(e, t, r, o) {
|
|
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) :
|
|
2540
|
-
}, e.gobj_stop = Oe, e.gobj_stop_children =
|
|
2628
|
+
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) : l(0, -1, n("%s, stats parser not available", Ve(e)), 0, 0);
|
|
2629
|
+
}, e.gobj_stop = Oe, e.gobj_stop_children = we, e.gobj_stop_tree = function(e) {
|
|
2541
2630
|
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));
|
|
2542
2631
|
}, e.gobj_subscribe_event = At, e.gobj_trace_level = W, e.gobj_trace_machine_format = function() {
|
|
2543
2632
|
return C;
|
|
@@ -2555,35 +2644,35 @@
|
|
|
2555
2644
|
o.has(n) || Ht(`${Ve(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
|
|
2556
2645
|
}), Sn(t)) t = "";
|
|
2557
2646
|
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;
|
|
2558
|
-
let
|
|
2559
|
-
for (let t = 0; t <
|
|
2560
|
-
let n =
|
|
2561
|
-
Dt(e, n, !1, !1),
|
|
2647
|
+
let l = wt(e.dl_subscriptions, e, t, n, r), i = 0;
|
|
2648
|
+
for (let t = 0; t < l.length; t++) {
|
|
2649
|
+
let n = l[t];
|
|
2650
|
+
Dt(e, n, !1, !1), i++;
|
|
2562
2651
|
}
|
|
2563
|
-
return
|
|
2652
|
+
return i || (zt(`${Ve(e)}: No subscription found`), Zt(n, "No subscription found")), 0;
|
|
2564
2653
|
}, 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) {
|
|
2565
2654
|
if (!En(t)) return Ht(n("gobj_write_attr(%s): path must be a string", Ve(e))), -1;
|
|
2566
|
-
let
|
|
2567
|
-
if (
|
|
2655
|
+
let l, i = e.jn_attrs, s = t.split("`");
|
|
2656
|
+
if (s.length <= 1) {
|
|
2568
2657
|
let o = t;
|
|
2569
|
-
return o in
|
|
2658
|
+
return o in i && i.hasOwnProperty(o) ? (i[o] = r, pn(e.priv) && e.priv.hasOwnProperty(o) && (e.priv[o] = r), e.obflag & R.obflag_created && !(e.obflag & R.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);
|
|
2570
2659
|
}
|
|
2571
|
-
let _ =
|
|
2660
|
+
let _ = s.length;
|
|
2572
2661
|
for (let t = 0; t < _; t++) {
|
|
2573
|
-
|
|
2574
|
-
let n = nt(e, { __gobj_name__:
|
|
2662
|
+
l = s[t];
|
|
2663
|
+
let n = nt(e, { __gobj_name__: l });
|
|
2575
2664
|
if (n && t < _ - 1) {
|
|
2576
2665
|
e = n;
|
|
2577
2666
|
continue;
|
|
2578
2667
|
}
|
|
2579
2668
|
let o = e.jn_attrs;
|
|
2580
|
-
if (
|
|
2669
|
+
if (l in o && o.hasOwnProperty(l)) return o[l] = r, pn(e.priv) && e.priv.hasOwnProperty(l) && (e.priv[l] = r), e.obflag & R.obflag_created && !(e.obflag & R.obflag_destroyed) && e.mt_writing && e.mt_writing(e, l), 0;
|
|
2581
2670
|
break;
|
|
2582
2671
|
}
|
|
2583
|
-
return Ht(n("gobj_write_attr(%s): attr not found '%s'", Ve(e),
|
|
2672
|
+
return Ht(n("gobj_write_attr(%s): attr not found '%s'", Ve(e), l)), -1;
|
|
2584
2673
|
}, 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) {
|
|
2585
2674
|
return e instanceof Date && !isNaN(e);
|
|
2586
|
-
}, e.is_function =
|
|
2675
|
+
}, e.is_function = jn, e.is_gobj = vn, e.is_metadata_key = function(e) {
|
|
2587
2676
|
if (!En(e)) return !1;
|
|
2588
2677
|
let t;
|
|
2589
2678
|
for (t = 0; t < e.length && "_" === e[t] && !(t > 2); t++);
|
|
@@ -2602,19 +2691,19 @@
|
|
|
2602
2691
|
let o = Fn(null, Fn(null, e, "topics", null, 0), t, null, 0);
|
|
2603
2692
|
if (!o) return Ht("jdb_delete: topic not found: " + t), null;
|
|
2604
2693
|
if (Sn(r.id)) return Ht("jdb_delete: record without id: " + r), Xt(r), null;
|
|
2605
|
-
let
|
|
2606
|
-
for (; (
|
|
2607
|
-
if (0 ===
|
|
2608
|
-
let e = zn(
|
|
2609
|
-
e >= 0 &&
|
|
2694
|
+
let l, i = n.split("`"), s = o;
|
|
2695
|
+
for (; (l = i.shift()) && !Sn(l) && s;) pn(s) && (s = Fn(null, s, e.hook, null, 0)), s = lr(s, null, l, !1);
|
|
2696
|
+
if (0 === i.length && s) if (mn(s)) {
|
|
2697
|
+
let e = zn(s, r.id);
|
|
2698
|
+
e >= 0 && s.splice(e, 1);
|
|
2610
2699
|
} else {
|
|
2611
|
-
let t = Fn(null,
|
|
2700
|
+
let t = Fn(null, s, e.hook, null, 0), n = zn(t, r.id);
|
|
2612
2701
|
n >= 0 && t.splice(n, 1);
|
|
2613
2702
|
}
|
|
2614
2703
|
return o;
|
|
2615
2704
|
}, e.jdb_get = function(e, t, n, r) {
|
|
2616
2705
|
let o = Fn(null, Fn(null, e, "topics", null, 0), t, null, 0);
|
|
2617
|
-
return o ? (void 0 === r && (r = !0),
|
|
2706
|
+
return o ? (void 0 === r && (r = !0), lr(o, e.hook, n, r)) : (Ht("jdb_get: topic not found: " + t), null);
|
|
2618
2707
|
}, e.jdb_get_by_idx = function(e, t, n) {
|
|
2619
2708
|
let r = Fn(null, Fn(null, e, "topics", null, 0), t, null, 0);
|
|
2620
2709
|
return r ? n < r.length ? r[n] : {} : (Ht("jdb_get_by_idx: topic not found: " + t), null);
|
|
@@ -2626,28 +2715,49 @@
|
|
|
2626
2715
|
n && (e = en(e));
|
|
2627
2716
|
let r = Fn(null, e, "type", [], 1);
|
|
2628
2717
|
Ln(null, e, "hook", "data", 1);
|
|
2629
|
-
let o = Fn(null, e, "schema", {}, 1),
|
|
2718
|
+
let o = Fn(null, e, "schema", {}, 1), l = Fn(null, e, "topics", {}, 1);
|
|
2630
2719
|
return or(o, function(e, t, n, o) {
|
|
2631
|
-
"__" !== t.substring(0, 2) && Fn(null,
|
|
2720
|
+
"__" !== t.substring(0, 2) && Fn(null, l, o, en(r), 1);
|
|
2632
2721
|
}, t), e;
|
|
2633
2722
|
}, e.jdb_update = function(e, t, n, r) {
|
|
2634
2723
|
let o = Fn(null, Fn(null, e, "topics", null, 0), t, null, 0);
|
|
2635
2724
|
if (!o) return Ht("jdb_update: topic not found: " + t), null;
|
|
2636
2725
|
if (Sn(r.id)) return Ht("jdb_update: record without id: " + r), Xt(r), null;
|
|
2637
|
-
let
|
|
2638
|
-
for (; (
|
|
2639
|
-
if (0 ===
|
|
2640
|
-
else if (
|
|
2726
|
+
let l, i = n.split("`"), s = o;
|
|
2727
|
+
for (; (l = i.shift()) && !Sn(l) && s;) pn(s) && (s = Fn(null, s, e.hook, [], 1)), s = lr(s, null, l, !1);
|
|
2728
|
+
if (0 === i.length && s) if (mn(s)) s.push(r);
|
|
2729
|
+
else if (s.id === r.id) Object.assign(s, r);
|
|
2641
2730
|
else {
|
|
2642
|
-
let t = Fn(null,
|
|
2731
|
+
let t = Fn(null, s, e.hook, [], 1), n = lr(t, e.hook, r.id, !1);
|
|
2643
2732
|
n ? Object.assign(n, r) : t.push(r);
|
|
2644
2733
|
}
|
|
2645
2734
|
return o;
|
|
2735
|
+
}, e.json2flat = function(e) {
|
|
2736
|
+
const t = {}, n = (e, r, o) => {
|
|
2737
|
+
if (o > gr) throw new Error("json2flat: deeper than 256");
|
|
2738
|
+
if (null === e || "object" != typeof e || Array.isArray(e)) {
|
|
2739
|
+
if (Array.isArray(e) && e.length > 0) return void e.forEach((e, t) => {
|
|
2740
|
+
const l = `[${t}]`;
|
|
2741
|
+
n(e, 0 === o ? l : r + "`" + l, o + 1);
|
|
2742
|
+
});
|
|
2743
|
+
} else {
|
|
2744
|
+
const t = Object.keys(e);
|
|
2745
|
+
if (t.length > 0) {
|
|
2746
|
+
for (const l of t) {
|
|
2747
|
+
const t = br(l);
|
|
2748
|
+
n(e[l], 0 === o ? t : r + "`" + t, o + 1);
|
|
2749
|
+
}
|
|
2750
|
+
return;
|
|
2751
|
+
}
|
|
2752
|
+
}
|
|
2753
|
+
0 !== o && (t[r] = e);
|
|
2754
|
+
};
|
|
2755
|
+
return null == e || n(e, "", 0), t;
|
|
2646
2756
|
}, e.json_array_append = un, e.json_array_append_new = cn, e.json_array_extend = function(e, t) {
|
|
2647
2757
|
return t ? (Array.prototype.push.apply(e, t), e) : e;
|
|
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 =
|
|
2758
|
+
}, 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) {
|
|
2649
2759
|
try {
|
|
2650
|
-
let n =
|
|
2760
|
+
let n = ir(e);
|
|
2651
2761
|
switch (t) {
|
|
2652
2762
|
case "header": return JSON.parse(n.header);
|
|
2653
2763
|
case "signature": return JSON.parse(n.signature);
|
|
@@ -2656,13 +2766,13 @@
|
|
|
2656
2766
|
} catch (e) {
|
|
2657
2767
|
return null;
|
|
2658
2768
|
}
|
|
2659
|
-
}, e.jwtDecode =
|
|
2660
|
-
if (e && !
|
|
2769
|
+
}, e.jwtDecode = ir, e.kw_clone_by_keys = Kn, e.kw_clone_by_not_keys = xn, e.kw_collect = function(e, t, n, r) {
|
|
2770
|
+
if (e && !vn(e) && Ht("GObj bad instanceof"), !t) return null;
|
|
2661
2771
|
r || (r = Wn);
|
|
2662
2772
|
let o = [];
|
|
2663
2773
|
if (mn(t)) for (let e = 0; e < t.length; e++) {
|
|
2664
|
-
let
|
|
2665
|
-
r(
|
|
2774
|
+
let l = t[e];
|
|
2775
|
+
r(l, n) && o.push(l);
|
|
2666
2776
|
}
|
|
2667
2777
|
else {
|
|
2668
2778
|
if (!pn(t)) return Ht("kw_select() BAD kw parameter"), null;
|
|
@@ -2674,36 +2784,36 @@
|
|
|
2674
2784
|
for (let e = 0; e < t.length; e++) if (tn(n, t[e])) return e;
|
|
2675
2785
|
return r && Ht("item not found in this list"), -1;
|
|
2676
2786
|
}, 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 && !
|
|
2678
|
-
let
|
|
2679
|
-
const
|
|
2680
|
-
if (void 0 ===
|
|
2681
|
-
if (
|
|
2787
|
+
e && !vn(e) && Ht("GObj bad instanceof");
|
|
2788
|
+
let l = kn(e, t, n, !1);
|
|
2789
|
+
const i = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
|
|
2790
|
+
if (void 0 === l) {
|
|
2791
|
+
if (s) {
|
|
2682
2792
|
let o = Array(r);
|
|
2683
2793
|
return Gn(e, t, n, o), o;
|
|
2684
2794
|
}
|
|
2685
|
-
return
|
|
2795
|
+
return i && (Ht(`path not found: '${n}'`), Zt(t)), Array(r);
|
|
2686
2796
|
}
|
|
2687
|
-
return _ && In(e, t, n), mn(
|
|
2797
|
+
return _ && In(e, t, n), mn(l) ? Array(l) : (i && (Ht(`path value MUST BE an array: ${n}`), Xt(t)), Array(r));
|
|
2688
2798
|
}, e.kw_get_local_storage_value = Yn, e.kw_get_pointer = Pn, e.kw_get_real = function(e, t, n, r, o) {
|
|
2689
|
-
e && !
|
|
2690
|
-
let
|
|
2691
|
-
const
|
|
2692
|
-
if (void 0 ===
|
|
2693
|
-
if (
|
|
2799
|
+
e && !vn(e) && Ht("GObj bad instanceof");
|
|
2800
|
+
let l = kn(e, t, n, !1);
|
|
2801
|
+
const i = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
|
|
2802
|
+
if (void 0 === l) {
|
|
2803
|
+
if (s) {
|
|
2694
2804
|
let o = Number(r);
|
|
2695
2805
|
return Gn(e, t, n, o), o;
|
|
2696
2806
|
}
|
|
2697
|
-
return
|
|
2807
|
+
return i && (Ht(`path not found: '${n}'`), Zt(t)), Number(r);
|
|
2698
2808
|
}
|
|
2699
|
-
return _ && In(e, t, n), Tn(
|
|
2809
|
+
return _ && In(e, t, n), Tn(l) ? Number(l) : (i && (Ht(`path value MUST BE a number: ${n}`), Xt(t)), Number(r));
|
|
2700
2810
|
}, 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 && !
|
|
2811
|
+
if (e && !vn(e) && Ht("GObj bad instanceof"), !t) return null;
|
|
2702
2812
|
r || (r = Wn);
|
|
2703
2813
|
let o = [];
|
|
2704
2814
|
if (mn(t)) for (let e = 0; e < t.length; e++) {
|
|
2705
|
-
let
|
|
2706
|
-
r(
|
|
2815
|
+
let l = t[e];
|
|
2816
|
+
r(l, n) && o.push(en(l));
|
|
2707
2817
|
}
|
|
2708
2818
|
else {
|
|
2709
2819
|
if (!pn(t)) return Ht("kw_select() BAD kw parameter"), null;
|
|
@@ -2711,11 +2821,11 @@
|
|
|
2711
2821
|
}
|
|
2712
2822
|
return o;
|
|
2713
2823
|
}, 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 && !
|
|
2715
|
-
let
|
|
2716
|
-
return
|
|
2824
|
+
e && !vn(e) && Ht("GObj bad instanceof");
|
|
2825
|
+
let l = Hn(e, t, n, r, o);
|
|
2826
|
+
return l.length > 0 ? l[0] : null;
|
|
2717
2827
|
}, e.kwid_get_ids = function(e, t) {
|
|
2718
|
-
if (e && !
|
|
2828
|
+
if (e && !vn(e) && Ht("GObj bad instanceof"), !t) return [];
|
|
2719
2829
|
let n = [];
|
|
2720
2830
|
if (En(t)) n.push(t);
|
|
2721
2831
|
else if (pn(t)) for (let e in t) t.hasOwnProperty(e) && n.push(e);
|
|
@@ -2728,12 +2838,12 @@
|
|
|
2728
2838
|
});
|
|
2729
2839
|
return n;
|
|
2730
2840
|
}, e.kwid_match_id = qn, e.kwid_new_dict = function(e, t, n) {
|
|
2731
|
-
e && !
|
|
2841
|
+
e && !vn(e) && Ht("GObj bad instanceof");
|
|
2732
2842
|
let r = {};
|
|
2733
2843
|
if (Sn(n) || (t = kn(e, t, n)), pn(t)) r = t;
|
|
2734
2844
|
else if (mn(t)) for (let n = 0; n < t.length; n++) {
|
|
2735
|
-
let o = t[n],
|
|
2736
|
-
Sn(
|
|
2845
|
+
let o = t[n], l = Ln(e, o, "id", "", 0);
|
|
2846
|
+
Sn(l) || (r[l] = o);
|
|
2737
2847
|
}
|
|
2738
2848
|
else Ht(`${Ve(e)} kwid_new_dict: data type unknown`);
|
|
2739
2849
|
return r;
|
|
@@ -2741,28 +2851,28 @@
|
|
|
2741
2851
|
t = t || "id", n = n || "value";
|
|
2742
2852
|
let r = [];
|
|
2743
2853
|
if (mn(e)) for (let o = 0; o < e.length; o++) {
|
|
2744
|
-
let
|
|
2745
|
-
if (En(
|
|
2854
|
+
let l = e[o];
|
|
2855
|
+
if (En(l)) r.push({
|
|
2746
2856
|
id: e[o],
|
|
2747
2857
|
value: e[o]
|
|
2748
2858
|
});
|
|
2749
|
-
else if (pn(
|
|
2859
|
+
else if (pn(l)) {
|
|
2750
2860
|
let e = {};
|
|
2751
|
-
if (An(
|
|
2752
|
-
if (!An(
|
|
2753
|
-
if (!(bn(
|
|
2861
|
+
if (An(l, t)) {
|
|
2862
|
+
if (!An(l, n)) {
|
|
2863
|
+
if (!(bn(l) > 0)) {
|
|
2754
2864
|
Ht("list2options(): object without field value: " + n);
|
|
2755
2865
|
continue;
|
|
2756
2866
|
}
|
|
2757
|
-
n = Object.keys(
|
|
2867
|
+
n = Object.keys(l)[0];
|
|
2758
2868
|
}
|
|
2759
|
-
e.id =
|
|
2869
|
+
e.id = l[t], e.value = l[n];
|
|
2760
2870
|
} else {
|
|
2761
|
-
if (!(bn(
|
|
2871
|
+
if (!(bn(l) > 0)) {
|
|
2762
2872
|
Ht("list2options(): object without field id: " + t);
|
|
2763
2873
|
continue;
|
|
2764
2874
|
}
|
|
2765
|
-
t = Object.keys(
|
|
2875
|
+
t = Object.keys(l)[0], e.id = t, e.value = l[t];
|
|
2766
2876
|
}
|
|
2767
2877
|
r.push(e);
|
|
2768
2878
|
} else Ht("list2options(): case1 not implemented");
|
|
@@ -2790,7 +2900,7 @@
|
|
|
2790
2900
|
}, 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) {
|
|
2791
2901
|
return new DOMParser().parseFromString(e, "image/svg+xml").firstChild;
|
|
2792
2902
|
}, e.refresh_language = function(e, t) {
|
|
2793
|
-
|
|
2903
|
+
jn(t) ? (e || (e = document), e.querySelectorAll("[data-i18n]").forEach(function(e) {
|
|
2794
2904
|
let n = e.getAttribute("data-i18n");
|
|
2795
2905
|
for (let r of e.childNodes) if (r.nodeType === Node.TEXT_NODE) {
|
|
2796
2906
|
n || (n = r.nodeValue), r.nodeValue = t(n);
|
|
@@ -2808,22 +2918,22 @@
|
|
|
2808
2918
|
})) : Ht("You must supply a translation function");
|
|
2809
2919
|
}, e.register_c_ievent_cli = function() {
|
|
2810
2920
|
return function(e) {
|
|
2811
|
-
if (
|
|
2921
|
+
if (Vr) return Ht(`GClass ALREADY created: ${e}`), -1;
|
|
2812
2922
|
const t = [
|
|
2813
2923
|
["ST_DISCONNECTED", [
|
|
2814
2924
|
[
|
|
2815
2925
|
"EV_ON_OPEN",
|
|
2816
|
-
|
|
2926
|
+
zr,
|
|
2817
2927
|
"ST_WAIT_IDENTITY_CARD_ACK"
|
|
2818
2928
|
],
|
|
2819
2929
|
[
|
|
2820
2930
|
"EV_ON_CLOSE",
|
|
2821
|
-
|
|
2931
|
+
Qr,
|
|
2822
2932
|
null
|
|
2823
2933
|
],
|
|
2824
2934
|
[
|
|
2825
2935
|
"EV_TIMEOUT",
|
|
2826
|
-
|
|
2936
|
+
Hr,
|
|
2827
2937
|
null
|
|
2828
2938
|
],
|
|
2829
2939
|
[
|
|
@@ -2835,22 +2945,22 @@
|
|
|
2835
2945
|
["ST_WAIT_IDENTITY_CARD_ACK", [
|
|
2836
2946
|
[
|
|
2837
2947
|
"EV_ON_MESSAGE",
|
|
2838
|
-
|
|
2948
|
+
eo,
|
|
2839
2949
|
null
|
|
2840
2950
|
],
|
|
2841
2951
|
[
|
|
2842
2952
|
"EV_IDENTITY_CARD_ACK",
|
|
2843
|
-
|
|
2953
|
+
Zr,
|
|
2844
2954
|
null
|
|
2845
2955
|
],
|
|
2846
2956
|
[
|
|
2847
2957
|
"EV_ON_CLOSE",
|
|
2848
|
-
|
|
2958
|
+
Qr,
|
|
2849
2959
|
"ST_DISCONNECTED"
|
|
2850
2960
|
],
|
|
2851
2961
|
[
|
|
2852
2962
|
"EV_TIMEOUT",
|
|
2853
|
-
|
|
2963
|
+
Xr,
|
|
2854
2964
|
null
|
|
2855
2965
|
],
|
|
2856
2966
|
[
|
|
@@ -2862,22 +2972,22 @@
|
|
|
2862
2972
|
["ST_SESSION", [
|
|
2863
2973
|
[
|
|
2864
2974
|
"EV_ON_MESSAGE",
|
|
2865
|
-
|
|
2975
|
+
eo,
|
|
2866
2976
|
null
|
|
2867
2977
|
],
|
|
2868
2978
|
[
|
|
2869
2979
|
"EV_MT_STATS",
|
|
2870
|
-
|
|
2980
|
+
to,
|
|
2871
2981
|
null
|
|
2872
2982
|
],
|
|
2873
2983
|
[
|
|
2874
2984
|
"EV_MT_COMMAND",
|
|
2875
|
-
|
|
2985
|
+
no,
|
|
2876
2986
|
null
|
|
2877
2987
|
],
|
|
2878
2988
|
[
|
|
2879
2989
|
"EV_ON_CLOSE",
|
|
2880
|
-
|
|
2990
|
+
Qr,
|
|
2881
2991
|
"ST_DISCONNECTED"
|
|
2882
2992
|
],
|
|
2883
2993
|
[
|
|
@@ -2888,7 +2998,7 @@
|
|
|
2888
2998
|
]],
|
|
2889
2999
|
[null, null]
|
|
2890
3000
|
];
|
|
2891
|
-
return (
|
|
3001
|
+
return (Vr = te(e, [
|
|
2892
3002
|
["EV_ON_MESSAGE", D.EVF_OUTPUT_EVENT],
|
|
2893
3003
|
["EV_IDENTITY_CARD_ACK", D.EVF_PUBLIC_EVENT],
|
|
2894
3004
|
["EV_ON_ID_NAK", D.EVF_PUBLIC_EVENT | D.EVF_OUTPUT_EVENT],
|
|
@@ -2899,36 +3009,36 @@
|
|
|
2899
3009
|
["EV_ON_OPEN_ERROR", D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS],
|
|
2900
3010
|
["EV_TIMEOUT", 0],
|
|
2901
3011
|
[null, 0]
|
|
2902
|
-
], t,
|
|
3012
|
+
], t, ro, 0, Fr, Gr, 0, 0, 0, N.gcflag_no_check_output_events)) ? 0 : -1;
|
|
2903
3013
|
}("C_IEVENT_CLI");
|
|
2904
3014
|
}, e.register_c_timer = function() {
|
|
2905
3015
|
return function(e) {
|
|
2906
|
-
if (
|
|
3016
|
+
if (Nr) return Ht(`GClass ALREADY created: ${e}`), -1;
|
|
2907
3017
|
const t = [["ST_IDLE", [[
|
|
2908
3018
|
"EV_TIMEOUT",
|
|
2909
|
-
|
|
3019
|
+
wr,
|
|
2910
3020
|
null
|
|
2911
3021
|
]]]];
|
|
2912
|
-
return (
|
|
3022
|
+
return (Nr = te(e, [
|
|
2913
3023
|
["EV_TIMEOUT", D.EVF_OUTPUT_EVENT],
|
|
2914
3024
|
["EV_TIMEOUT_PERIODIC", D.EVF_OUTPUT_EVENT],
|
|
2915
3025
|
[0, 0]
|
|
2916
|
-
], t,
|
|
3026
|
+
], t, Rr, 0, Sr, Or, 0, 0, 0, N.gcflag_manual_start)) ? 0 : -1;
|
|
2917
3027
|
}("C_TIMER");
|
|
2918
3028
|
}, e.register_c_yuno = function() {
|
|
2919
3029
|
return function(e) {
|
|
2920
|
-
if (
|
|
3030
|
+
if (Cr) return Ht(`GClass ALREADY created: ${e}`), -1;
|
|
2921
3031
|
const t = [["ST_IDLE", [[
|
|
2922
3032
|
"EV_TIMEOUT_PERIODIC",
|
|
2923
|
-
|
|
3033
|
+
Lr,
|
|
2924
3034
|
null
|
|
2925
3035
|
]]]];
|
|
2926
|
-
return (
|
|
3036
|
+
return (Cr = te(e, [["EV_TIMEOUT_PERIODIC", D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS], [0, 0]], t, Pr, 0, Ir, $r, 0, 0, 0, 0)) ? 0 : -1;
|
|
2927
3037
|
}("C_YUNO");
|
|
2928
3038
|
}, e.safeSrc = function(e) {
|
|
2929
3039
|
if (!e) return "";
|
|
2930
3040
|
const t = String(e).trim();
|
|
2931
|
-
return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" :
|
|
3041
|
+
return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : sr(t);
|
|
2932
3042
|
}, e.sdata_flag_t = h, e.send_http_json_post = function(e, t, n) {
|
|
2933
3043
|
let r = new XMLHttpRequest();
|
|
2934
3044
|
r.open("POST", e), r.setRequestHeader("Accept", "application/json"), r.setRequestHeader("Content-Type", "application/json"), r.onreadystatechange = function() {
|
|
@@ -2940,7 +3050,7 @@
|
|
|
2940
3050
|
Kt = "function" == typeof e ? e : null;
|
|
2941
3051
|
}, e.set_log_callback = function(e) {
|
|
2942
3052
|
Mt = "function" == typeof e ? e : null;
|
|
2943
|
-
}, e.set_remote_log_functions = Jt, e.set_timeout =
|
|
3053
|
+
}, e.set_remote_log_functions = Jt, e.set_timeout = Dr, e.set_timeout_periodic = Ar, e.sprintf = n, e.stats_parser = function(e, t, n, r) {}, e.str_in_list = Qn, e.strcasecmp = wn, e.strcmp = Nn, e.strncmp = function(e, t, n) {
|
|
2944
3054
|
var r = (e + "").substring(0, n), o = (t + "").substring(0, n);
|
|
2945
3055
|
return r === o ? 0 : r > o ? 1 : -1;
|
|
2946
3056
|
}, e.strs_in_list = function(e, t, n) {
|
|
@@ -2969,9 +3079,9 @@
|
|
|
2969
3079
|
let e = t.split(".");
|
|
2970
3080
|
for (let t = 0; t < e.length; t++) {
|
|
2971
3081
|
let r = e[t];
|
|
2972
|
-
if (Qn(
|
|
2973
|
-
else if (Qn(
|
|
2974
|
-
else if (Qn(
|
|
3082
|
+
if (Qn(hr, r)) n.real_type || (n.real_type = r);
|
|
3083
|
+
else if (Qn(jr, r)) n.type || (n.type = r);
|
|
3084
|
+
else if (Qn(yr, r)) switch (r) {
|
|
2975
3085
|
case "writable":
|
|
2976
3086
|
n.is_writable = !0;
|
|
2977
3087
|
break;
|
|
@@ -2983,19 +3093,19 @@
|
|
|
2983
3093
|
}
|
|
2984
3094
|
}
|
|
2985
3095
|
n.real_type || (n.real_type = "string");
|
|
2986
|
-
} else pn(t) ? (n =
|
|
3096
|
+
} else pn(t) ? (n = vr(t), n.name || (n.name = e), n.header || (n.header = e)) : mn(t) && (n.real_type = "array", n.enum_list = t);
|
|
2987
3097
|
return n.type || (n.type = n.real_type), n;
|
|
2988
3098
|
}, e.timeTracker = function(e = "Time Tracker", t = !1) {
|
|
2989
3099
|
const n = e, r = performance.now();
|
|
2990
3100
|
let o = r;
|
|
2991
|
-
return t && zt(`--\x3e ${n} - starting`), { mark: (e = "Intermediate",
|
|
2992
|
-
const
|
|
2993
|
-
return t && zt(`--\x3e ${n} ${e} - partial: ${
|
|
2994
|
-
partial:
|
|
3101
|
+
return t && zt(`--\x3e ${n} - starting`), { mark: (e = "Intermediate", l = "") => {
|
|
3102
|
+
const i = performance.now(), s = (i - o) / 1e3, _ = (i - r) / 1e3;
|
|
3103
|
+
return t && zt(`--\x3e ${n} ${e} - partial: ${s} sec, total: ${_} sec, ${l}`), o = i, {
|
|
3104
|
+
partial: s,
|
|
2995
3105
|
total: _
|
|
2996
3106
|
};
|
|
2997
3107
|
} };
|
|
2998
|
-
}, e.trace_json = Zt, e.trace_level_t = P, e.trace_msg = Xt, e.treedb_decoder_fkey =
|
|
3108
|
+
}, e.trace_json = Zt, e.trace_level_t = P, e.trace_msg = Xt, e.treedb_decoder_fkey = Tr, e.treedb_decoder_hook = function(e, t) {
|
|
2999
3109
|
if (En(t)) {
|
|
3000
3110
|
if (-1 === t.indexOf("^")) {
|
|
3001
3111
|
let n, r = e.hook;
|
|
@@ -3022,9 +3132,9 @@
|
|
|
3022
3132
|
id: t.id
|
|
3023
3133
|
} : (Ht("bad hook 3"), Ht(e), Ht(t), null);
|
|
3024
3134
|
}, e.treedb_encoder_fkey = function(e, t) {
|
|
3025
|
-
let n =
|
|
3135
|
+
let n = Tr(e, t);
|
|
3026
3136
|
return n ? n.topic_name + "^" + n.id + "^" + n.hook_name : null;
|
|
3027
|
-
}, e.treedb_get_field_desc =
|
|
3137
|
+
}, e.treedb_get_field_desc = vr, e.treedb_hook_data_size = function(e) {
|
|
3028
3138
|
if (mn(e) && 1 === bn(e)) {
|
|
3029
3139
|
let t = e[0];
|
|
3030
3140
|
return An(t, "size") ? t.size : 1;
|