@yuneta/gobj-js 7.13.8 → 7.16.0
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 +234 -0
- package/dist/gobj-js.cjs.js.map +1 -1
- package/dist/gobj-js.cjs.min.js +699 -588
- package/dist/gobj-js.cjs.min.js.map +1 -1
- package/dist/gobj-js.es.js +229 -1
- package/dist/gobj-js.es.js.map +1 -1
- package/dist/gobj-js.es.min.js +956 -840
- package/dist/gobj-js.es.min.js.map +1 -1
- package/dist/gobj-js.iife.js +234 -0
- package/dist/gobj-js.iife.js.map +1 -1
- package/dist/gobj-js.iife.min.js +794 -683
- package/dist/gobj-js.iife.min.js.map +1 -1
- package/dist/gobj-js.umd.js +234 -0
- package/dist/gobj-js.umd.js.map +1 -1
- package/dist/gobj-js.umd.min.js +794 -683
- package/dist/gobj-js.umd.min.js.map +1 -1
- package/package.json +1 -1
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,38 @@
|
|
|
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,
|
|
2241
|
+
if (Et(e, i, D.EVF_PUBLIC_EVENT)) return vt(e, i, s, e), 0;
|
|
2213
2242
|
let f = ge(c, !0);
|
|
2214
2243
|
if (f) {
|
|
2215
|
-
if (!Et(f,
|
|
2216
|
-
|
|
2217
|
-
} else xe(e) ?
|
|
2244
|
+
if (!Et(f, i, D.EVF_PUBLIC_EVENT)) return Ht(`${Ve(e)}: Service found but no event or not public, service '${Ve(f)}', ev '${i}'`), -1;
|
|
2245
|
+
vt(f, i, s, e);
|
|
2246
|
+
} else xe(e) ? vt(We(e), i, s, e) : Ct(e, i, s);
|
|
2218
2247
|
return 0;
|
|
2219
2248
|
}
|
|
2220
|
-
function
|
|
2249
|
+
function to(e, t, n, r) {
|
|
2221
2250
|
return 0;
|
|
2222
2251
|
}
|
|
2223
|
-
function
|
|
2252
|
+
function no(e, t, n, r) {
|
|
2224
2253
|
return 0;
|
|
2225
2254
|
}
|
|
2226
|
-
var
|
|
2255
|
+
var ro = {
|
|
2227
2256
|
mt_create: function(e) {
|
|
2228
2257
|
let t = e.priv;
|
|
2229
2258
|
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 +2276,55 @@
|
|
|
2247
2276
|
},
|
|
2248
2277
|
mt_start: function(e) {
|
|
2249
2278
|
let t = e.priv;
|
|
2250
|
-
return t.retry_ms = 0, t.websocket =
|
|
2279
|
+
return t.retry_ms = 0, t.websocket = Mr(e), 0;
|
|
2251
2280
|
},
|
|
2252
2281
|
mt_stop: function(e) {
|
|
2253
2282
|
let t = e.priv;
|
|
2254
|
-
return
|
|
2283
|
+
return kr(t.gobj_timer), t.websocket && Wr(e), 0;
|
|
2255
2284
|
},
|
|
2256
2285
|
mt_destroy: function(e) {},
|
|
2257
2286
|
mt_stats: function(e, t, n, r) {
|
|
2258
2287
|
if ("ST_SESSION" !== pt(e)) return Ht("Not in session"), null;
|
|
2259
2288
|
n || (n = {});
|
|
2260
|
-
let o =
|
|
2261
|
-
return
|
|
2289
|
+
let o = Br(e, Fe(r), Ln(e, n, "service", null, 0)), l = Fn(e, n, "__md_stats__", null, Lt.KW_EXTRACT);
|
|
2290
|
+
return l || (l = {}), er(e, n, "stats_stack", {
|
|
2262
2291
|
stats: t,
|
|
2263
|
-
kw:
|
|
2264
|
-
}), er(e, n,
|
|
2292
|
+
kw: l
|
|
2293
|
+
}), er(e, n, Ur, o), n.__stats__ = t, nr(e, n, "__stats__"), Yr(e, "EV_MT_STATS", n, r), null;
|
|
2265
2294
|
},
|
|
2266
2295
|
mt_command_parser: function(e, t, n, r) {
|
|
2267
2296
|
if ("ST_SESSION" !== pt(e)) return Ht("Not in session"), null;
|
|
2268
2297
|
n || (n = {});
|
|
2269
|
-
let o =
|
|
2270
|
-
return
|
|
2298
|
+
let o = Br(e, Fe(r), Ln(e, n, "service", "", 0)), l = Fn(e, n, "__md_command__", null, Lt.KW_EXTRACT);
|
|
2299
|
+
return l || (l = {}), er(e, n, "command_stack", {
|
|
2271
2300
|
command: t,
|
|
2272
|
-
kw:
|
|
2273
|
-
}), er(e, n,
|
|
2301
|
+
kw: l
|
|
2302
|
+
}), er(e, n, Ur, o), n.__command__ = t, nr(e, n, "__command__"), Yr(e, "EV_MT_COMMAND", n, r), null;
|
|
2274
2303
|
},
|
|
2275
2304
|
mt_inject_event: function(e, t, n, r) {
|
|
2276
2305
|
if ("ST_SESSION" !== pt(e)) return window.console.error("Not in session"), -1;
|
|
2277
|
-
if (n || (n = {}), tr(e, n,
|
|
2306
|
+
if (n || (n = {}), tr(e, n, Ur));
|
|
2278
2307
|
else {
|
|
2279
|
-
let o =
|
|
2280
|
-
|
|
2308
|
+
let o = Br(e, Fe(r), Ln(e, n, "__service__", 0, 0));
|
|
2309
|
+
sn(n, "__service__"), er(e, n, "__message__", t), er(e, n, Ur, o);
|
|
2281
2310
|
}
|
|
2282
|
-
return nr(e, n, "__message__"),
|
|
2311
|
+
return nr(e, n, "__message__"), Yr(e, t, n, r);
|
|
2283
2312
|
},
|
|
2284
2313
|
mt_subscription_added: function(e, t) {
|
|
2285
2314
|
let n = e.priv;
|
|
2286
|
-
return "ST_SESSION" === pt(e) && n.websocket ? n.inside_on_open ? 0 :
|
|
2315
|
+
return "ST_SESSION" === pt(e) && n.websocket ? n.inside_on_open ? 0 : qr(e, t) : 0;
|
|
2287
2316
|
},
|
|
2288
2317
|
mt_subscription_deleted: function(e, t) {
|
|
2289
2318
|
let n = e.priv;
|
|
2290
2319
|
if ("ST_SESSION" !== pt(e) || !n.websocket) return 0;
|
|
2291
2320
|
if (n.inside_on_open) return 0;
|
|
2292
2321
|
if (Sn(t.event)) return 0;
|
|
2293
|
-
let r = {}, o = t.__global__,
|
|
2294
|
-
|
|
2295
|
-
return er(e, r,
|
|
2322
|
+
let r = {}, o = t.__global__, l = t.__config__, i = t.__filter__, s = t.__service__, _ = t.subscriber;
|
|
2323
|
+
l && (r.__config__ = l), o && (r.__global__ = o), i && (r.__filter__ = i);
|
|
2324
|
+
return er(e, r, Ur, Br(e, Fe(_), s)), nr(e, r, "__unsubscribing__"), Yr(e, t.event, r, e);
|
|
2296
2325
|
}
|
|
2297
2326
|
};
|
|
2298
|
-
e.GObj = O, e.SDATA =
|
|
2327
|
+
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
2328
|
enumerable: !0,
|
|
2300
2329
|
get: function() {
|
|
2301
2330
|
return p;
|
|
@@ -2304,26 +2333,26 @@
|
|
|
2304
2333
|
let t = "", n = 0;
|
|
2305
2334
|
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
2335
|
return t;
|
|
2307
|
-
}, e.build_stats_response =
|
|
2336
|
+
}, e.build_stats_response = l, e.clean_name = function(e) {
|
|
2308
2337
|
return e.replace(/[?# ^:]/g, "_");
|
|
2309
|
-
}, e.clear_timeout =
|
|
2310
|
-
let [r, o,
|
|
2338
|
+
}, e.clear_timeout = kr, e.cmp_two_simple_json = Rn, e.command_parser = function(e, t, n, r) {}, e.createElement2 = function e(t, n) {
|
|
2339
|
+
let [r, o, l, i] = t;
|
|
2311
2340
|
if (!r) return void Ht("Tag must be a valid HTML element.");
|
|
2312
|
-
let
|
|
2341
|
+
let s = document.createElement(r), _ = "";
|
|
2313
2342
|
if (o && "object" == typeof o) for (let e of Object.keys(o)) if ("style" === e && "object" == typeof o[e]) {
|
|
2314
2343
|
let t = "";
|
|
2315
2344
|
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
|
|
2345
|
+
s.style.cssText = t;
|
|
2346
|
+
} 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]);
|
|
2347
|
+
if (En(l)) if (l = l.trim(), l.length > 0 && "<" === l[0]) s.appendChild(_r(l));
|
|
2348
|
+
else if (n && _) s.textContent = n(_) || l;
|
|
2349
|
+
else s.textContent = l;
|
|
2350
|
+
else if (mn(l)) {
|
|
2351
|
+
if (l.length > 0) if (En(l[0])) s.appendChild(e(l, n));
|
|
2352
|
+
else for (let t of l) Array.isArray(t) && t.length > 0 ? s.appendChild(e(t, n)) : t instanceof HTMLElement && s.appendChild(t);
|
|
2353
|
+
} else l instanceof HTMLElement || l instanceof Text || l instanceof SVGElement ? s.appendChild(l) : null != l && (Ht("content ignored"), Zt(l));
|
|
2354
|
+
if (i && "object" == typeof i) for (const e of Object.keys(i)) s.addEventListener(e, i[e]);
|
|
2355
|
+
return s;
|
|
2327
2356
|
}, e.createOneHtml = _r, e.create_json_record = function(e, t) {
|
|
2328
2357
|
let n = en(e);
|
|
2329
2358
|
return rn(n, t), n;
|
|
@@ -2332,38 +2361,38 @@
|
|
|
2332
2361
|
return t || (t = {}), Object.entries(e).forEach(([e, r]) => {
|
|
2333
2362
|
let o;
|
|
2334
2363
|
pn(r) && (o = r.default);
|
|
2335
|
-
let
|
|
2336
|
-
n[e] =
|
|
2364
|
+
let l = Fn(null, t, e, o);
|
|
2365
|
+
n[e] = l;
|
|
2337
2366
|
}), n;
|
|
2338
2367
|
}, e.current_timestamp = ar, e.data_type_t = T, e.db_list_persistent_attrs = function(e, t) {
|
|
2339
|
-
let n = Yn(
|
|
2368
|
+
let n = Yn(Er(e), null, !1), r = {};
|
|
2340
2369
|
return n && pn(n) && (r = Kn(e, n, t, !1)), r;
|
|
2341
2370
|
}, e.db_load_persistent_attrs = function(e, t) {
|
|
2342
|
-
let n =
|
|
2371
|
+
let n = it(e, h.SDF_PERSIST), r = Yn(Er(e), null, !1);
|
|
2343
2372
|
if (r && pn(r)) {
|
|
2344
2373
|
let o = Kn(e, r, t, !1);
|
|
2345
2374
|
o = Kn(e, o, n, !1), ct(e, o, h.SDF_PERSIST);
|
|
2346
2375
|
}
|
|
2347
2376
|
}, e.db_remove_persistent_attrs = function(e, t) {
|
|
2348
|
-
let n = xn(e, Yn(
|
|
2349
|
-
0 === gn(n) ? Jn(
|
|
2377
|
+
let n = xn(e, Yn(Er(e), null, !1), t, !1);
|
|
2378
|
+
0 === gn(n) ? Jn(Er(e)) : Bn(Er(e), n);
|
|
2350
2379
|
}, e.db_save_persistent_attrs = function(e, t) {
|
|
2351
|
-
let n = Kn(e,
|
|
2352
|
-
return r && pn(r) && on(n, r), Bn(
|
|
2380
|
+
let n = Kn(e, it(e, h.SDF_PERSIST), t, !1), r = Yn(Er(e), null, !1);
|
|
2381
|
+
return r && pn(r) && on(n, r), Bn(Er(e), n);
|
|
2353
2382
|
}, e.debounce = function(e, t = 0, n = !1) {
|
|
2354
|
-
let r = null, o = null,
|
|
2355
|
-
const
|
|
2356
|
-
|
|
2357
|
-
const
|
|
2383
|
+
let r = null, o = null, l = null;
|
|
2384
|
+
const i = (...i) => {
|
|
2385
|
+
l = this, o = i;
|
|
2386
|
+
const s = n && !r;
|
|
2358
2387
|
clearTimeout(r), r = setTimeout(() => {
|
|
2359
|
-
r = null, n || e.apply(
|
|
2360
|
-
}, t),
|
|
2388
|
+
r = null, n || e.apply(l, o);
|
|
2389
|
+
}, t), s && e.apply(l, o);
|
|
2361
2390
|
};
|
|
2362
|
-
return
|
|
2363
|
-
r && (clearTimeout(r), r = null, e.apply(
|
|
2364
|
-
},
|
|
2365
|
-
clearTimeout(r), r = null, o = null,
|
|
2366
|
-
},
|
|
2391
|
+
return i.flush = () => {
|
|
2392
|
+
r && (clearTimeout(r), r = null, e.apply(l, o));
|
|
2393
|
+
}, i.cancel = () => {
|
|
2394
|
+
clearTimeout(r), r = null, o = null, l = null;
|
|
2395
|
+
}, i;
|
|
2367
2396
|
}, e.delete_from_list = function(e, t) {
|
|
2368
2397
|
for (let n = 0; n < e.length; n++) if (t === e[n]) return e.splice(n, 1), !0;
|
|
2369
2398
|
return !1;
|
|
@@ -2374,7 +2403,68 @@
|
|
|
2374
2403
|
Object.assign(t, e);
|
|
2375
2404
|
}
|
|
2376
2405
|
return t;
|
|
2377
|
-
}, e.empty_string = Sn, e.escapeHtml =
|
|
2406
|
+
}, e.empty_string = Sn, e.escapeHtml = sr, e.event_flag_t = D, e.flat2json = function(e) {
|
|
2407
|
+
if (null === e || "object" != typeof e || Array.isArray(e)) throw new Error("flat2json: a flat json is an object of id -> value");
|
|
2408
|
+
let t = null;
|
|
2409
|
+
for (const n of Object.keys(e)) {
|
|
2410
|
+
const r = pr(n);
|
|
2411
|
+
if (!r || 0 === r.length) throw new Error(`flat2json: malformed flat id: '${n}'`);
|
|
2412
|
+
if (r.length > gr) throw new Error(`flat2json: '${n}' deeper than 256`);
|
|
2413
|
+
const o = "number" == typeof r[0];
|
|
2414
|
+
if (null === t) t = o ? [] : {};
|
|
2415
|
+
else if (o !== Array.isArray(t)) throw new Error(`flat2json: '${n}' does not fit a ${Array.isArray(t) ? "array" : "object"} root`);
|
|
2416
|
+
let l = t;
|
|
2417
|
+
for (let t = 0; t < r.length; t++) {
|
|
2418
|
+
const o = r[t], i = "number" == typeof o, s = t === r.length - 1, _ = !s && "number" == typeof r[t + 1];
|
|
2419
|
+
if (i && o > dr) throw new Error(`flat2json: array index ${o} over the limit (100000) in '${n}'`);
|
|
2420
|
+
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"}`);
|
|
2421
|
+
if (s) {
|
|
2422
|
+
if (Array.isArray(l)) {
|
|
2423
|
+
for (; l.length <= o;) l.push(null);
|
|
2424
|
+
l[o] = e[n];
|
|
2425
|
+
} else {
|
|
2426
|
+
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`);
|
|
2427
|
+
l[o] = e[n];
|
|
2428
|
+
}
|
|
2429
|
+
break;
|
|
2430
|
+
}
|
|
2431
|
+
let a;
|
|
2432
|
+
if (Array.isArray(l)) {
|
|
2433
|
+
for (; l.length <= o;) l.push(null);
|
|
2434
|
+
a = l[o], null == a && (a = _ ? [] : {}, l[o] = a);
|
|
2435
|
+
} else a = l[o], void 0 === a && (a = _ ? [] : {}, l[o] = a);
|
|
2436
|
+
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`);
|
|
2437
|
+
if (_ !== Array.isArray(a)) throw new Error(`flat2json: '${n}' needs a ${_ ? "array" : "object"} where the tree already has a ${Array.isArray(a) ? "array" : "object"}`);
|
|
2438
|
+
l = a;
|
|
2439
|
+
}
|
|
2440
|
+
}
|
|
2441
|
+
return null === t ? {} : t;
|
|
2442
|
+
}, e.flat_apply = function(e, t) {
|
|
2443
|
+
if (null === e || "object" != typeof e || Array.isArray(e)) throw new Error("flat_apply: a flat json is an object of id -> value");
|
|
2444
|
+
if (null === t || "object" != typeof t) throw new Error("flat_apply: a diff is the object flat_diff() answers");
|
|
2445
|
+
for (const n of Object.keys(t.removed || {})) delete e[n];
|
|
2446
|
+
for (const n of Object.keys(t.added || {})) e[n] = t.added[n];
|
|
2447
|
+
for (const n of Object.keys(t.changed || {})) {
|
|
2448
|
+
const r = t.changed[n];
|
|
2449
|
+
if (!r || !Object.prototype.hasOwnProperty.call(r, "to")) throw new Error(`flat_apply: changed '${n}' without a 'to'`);
|
|
2450
|
+
e[n] = r.to;
|
|
2451
|
+
}
|
|
2452
|
+
return e;
|
|
2453
|
+
}, e.flat_diff = function(e, t) {
|
|
2454
|
+
const n = e && "object" == typeof e ? e : {}, r = t && "object" == typeof t ? t : {}, o = {
|
|
2455
|
+
added: {},
|
|
2456
|
+
removed: {},
|
|
2457
|
+
changed: {}
|
|
2458
|
+
};
|
|
2459
|
+
for (const e of Object.keys(n)) Object.prototype.hasOwnProperty.call(r, e) ? mr(n[e], r[e]) || (o.changed[e] = {
|
|
2460
|
+
from: n[e],
|
|
2461
|
+
to: r[e]
|
|
2462
|
+
}) : o.removed[e] = n[e];
|
|
2463
|
+
for (const e of Object.keys(r)) Object.prototype.hasOwnProperty.call(n, e) || (o.added[e] = r[e]);
|
|
2464
|
+
return o;
|
|
2465
|
+
}, e.flat_key_join = function(e) {
|
|
2466
|
+
return Array.isArray(e) && 0 !== e.length ? e.map((e) => "number" == typeof e ? `[${e}]` : br(e)).join("`") : "";
|
|
2467
|
+
}, 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
2468
|
if (!e) return {
|
|
2379
2469
|
top: 0,
|
|
2380
2470
|
left: 0,
|
|
@@ -2386,49 +2476,49 @@
|
|
|
2386
2476
|
left: 0,
|
|
2387
2477
|
width: 0,
|
|
2388
2478
|
height: 0
|
|
2389
|
-
},
|
|
2479
|
+
}, 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
2480
|
return {
|
|
2391
|
-
top: t +
|
|
2392
|
-
left: n +
|
|
2393
|
-
right: n +
|
|
2394
|
-
bottom: t +
|
|
2481
|
+
top: t + i,
|
|
2482
|
+
left: n + s,
|
|
2483
|
+
right: n + s + r,
|
|
2484
|
+
bottom: t + i + o
|
|
2395
2485
|
};
|
|
2396
2486
|
}, e.get_function_name = fr, e.get_now = function() {
|
|
2397
2487
|
return Math.floor(Date.now() / 1e3);
|
|
2398
2488
|
}, e.gobj_bottom_gobj = Be, e.gobj_change_parent = function(e, t) {
|
|
2399
2489
|
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,
|
|
2490
|
+
}, e.gobj_change_state = bt, e.gobj_command = function(e, t, r, l) {
|
|
2401
2491
|
if (Ye(e)) return Ht("gobj NULL or DESTROYED"), -1;
|
|
2402
|
-
let
|
|
2403
|
-
return
|
|
2492
|
+
let i = p && _t(p, "tracing");
|
|
2493
|
+
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
2494
|
}, e.gobj_create = function(e, t, n, r) {
|
|
2405
2495
|
return Te(e, t, n, r, 0);
|
|
2406
2496
|
}, e.gobj_create2 = Te, e.gobj_create_default_service = function(e, t, n, r) {
|
|
2407
|
-
return Te(e, t, n, r,
|
|
2497
|
+
return Te(e, t, n, r, w.gobj_flag_default_service | w.gobj_flag_autostart);
|
|
2408
2498
|
}, e.gobj_create_pure_child = he, e.gobj_create_service = function(e, t, n, r) {
|
|
2409
|
-
return Te(e, t, n, r,
|
|
2499
|
+
return Te(e, t, n, r, w.gobj_flag_service);
|
|
2410
2500
|
}, e.gobj_create_volatil = function(e, t, n, r) {
|
|
2411
|
-
return Te(e, t, n, r,
|
|
2501
|
+
return Te(e, t, n, r, w.gobj_flag_volatil);
|
|
2412
2502
|
}, 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 =
|
|
2503
|
+
return Te(e, t, n, null, w.gobj_flag_yuno);
|
|
2504
|
+
}, 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
2505
|
if (Sn(t)) return null;
|
|
2416
2506
|
const n = t.toLowerCase();
|
|
2417
2507
|
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 =
|
|
2508
|
+
}, 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
2509
|
return F;
|
|
2420
2510
|
}, 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
2511
|
return u ? u(e, t) : null;
|
|
2422
2512
|
}, e.gobj_list_subscriptions = function(e) {
|
|
2423
2513
|
let t = It(e, null, null, null);
|
|
2424
2514
|
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(
|
|
2515
|
+
let r = t[n], o = Pn(e, r, "publisher", null, Lt.KW_REQUIRED), l = Pn(e, r, "subscriber", null, Lt.KW_REQUIRED);
|
|
2516
|
+
an(r, "s_event", Ln(e, r, "event", "", Lt.KW_REQUIRED)), an(r, "s_publisher", Ve(o)), an(r, "s_subscriber", Ve(l));
|
|
2427
2517
|
}
|
|
2428
2518
|
let n = $t(e, 0, null, 0);
|
|
2429
2519
|
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(
|
|
2520
|
+
let r = n[t], o = Pn(e, r, "publisher", null, Lt.KW_REQUIRED), l = Pn(e, r, "subscriber", null, Lt.KW_REQUIRED);
|
|
2521
|
+
an(r, "s_event", Ln(e, r, "event", "", Lt.KW_REQUIRED)), an(r, "s_publisher", Ve(o)), an(r, "s_subscriber", Ve(l));
|
|
2432
2522
|
}
|
|
2433
2523
|
return {
|
|
2434
2524
|
subscriptions: t,
|
|
@@ -2437,7 +2527,7 @@
|
|
|
2437
2527
|
total_subscribings: dn(n)
|
|
2438
2528
|
};
|
|
2439
2529
|
}, e.gobj_load_persistent_attrs = function(e, t) {
|
|
2440
|
-
return Ie(e) ?
|
|
2530
|
+
return Ie(e) ? s ? s(e, t) : -1 : (Ht(`${Ve(e)}: Only gobj services can load/save writable-persistent`), -1);
|
|
2441
2531
|
}, e.gobj_match_children = function(e, t) {
|
|
2442
2532
|
if (Ye(e)) return Ht("gobj NULL or DESTROYED"), null;
|
|
2443
2533
|
t = t || {};
|
|
@@ -2454,20 +2544,20 @@
|
|
|
2454
2544
|
return function e(n, r) {
|
|
2455
2545
|
let o = r.dl_children;
|
|
2456
2546
|
for (let r = 0; r < o.length; r++) {
|
|
2457
|
-
let
|
|
2458
|
-
tt(
|
|
2547
|
+
let l = o[r];
|
|
2548
|
+
tt(l, t) && n.push(l), e(n, l);
|
|
2459
2549
|
}
|
|
2460
2550
|
}(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 & (
|
|
2551
|
+
}, 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) {
|
|
2552
|
+
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
2553
|
dst: e,
|
|
2464
2554
|
event: t,
|
|
2465
2555
|
kw: r,
|
|
2466
2556
|
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(
|
|
2557
|
+
}), 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
2558
|
}, e.gobj_posted_events_size = function() {
|
|
2469
2559
|
return ht.length;
|
|
2470
|
-
}, e.gobj_publish_event = Ct, e.gobj_read_attr =
|
|
2560
|
+
}, 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
2561
|
return Ie(e) ? a ? a(e, t) : -1 : (Ht(`${Ve(e)}: Only gobj services can load/save writable-persistent`), -1);
|
|
2472
2562
|
}, e.gobj_repr_global_trace_levels = function() {
|
|
2473
2563
|
return U.map(([e, t, n]) => ({
|
|
@@ -2481,17 +2571,17 @@
|
|
|
2481
2571
|
if (Ye(e)) return Ht("gobj NULL or DESTROYED"), -1;
|
|
2482
2572
|
let r = e.gclass.attrs_table;
|
|
2483
2573
|
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(
|
|
2574
|
+
const l = r[o];
|
|
2575
|
+
if (l.name && !(n && l.flag & n) && (-1 === t || l.flag & t)) {
|
|
2576
|
+
const t = z(e, e.jn_attrs, l);
|
|
2577
|
+
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
2578
|
}
|
|
2489
2579
|
}
|
|
2490
2580
|
return 0;
|
|
2491
2581
|
}(e, h.SDF_VOLATIL, 0);
|
|
2492
2582
|
}, e.gobj_save_persistent_attrs = function(e, t) {
|
|
2493
2583
|
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 =
|
|
2584
|
+
}, e.gobj_search_path = rt, e.gobj_send_event = vt, e.gobj_services = function() {
|
|
2495
2585
|
let e = [];
|
|
2496
2586
|
for (const t of Object.keys(b)) cn(e, t);
|
|
2497
2587
|
return e;
|
|
@@ -2523,21 +2613,21 @@
|
|
|
2523
2613
|
return r ? (n ? e.trace_level |= r : e.trace_level &= ~r, 0) : -1;
|
|
2524
2614
|
}, e.gobj_set_trace_machine_format = function(e) {
|
|
2525
2615
|
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,
|
|
2616
|
+
}, e.gobj_short_name = Ve, e.gobj_start = je, e.gobj_start_children = function(e) {
|
|
2617
|
+
return Ye(e) ? (Ht("gobj NULL or DESTROYED"), -1) : He(e, A.WALK_FIRST2LAST, ve, 0, 0);
|
|
2528
2618
|
}, 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
|
-
|
|
2619
|
+
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)));
|
|
2620
|
+
}, e.gobj_start_up = function(e, t, n, r, o, l, i) {
|
|
2621
|
+
s = t, _ = n, a = r, u = o, c = l, f = i;
|
|
2532
2622
|
const d = [["EV_STATE_CHANGED", D.EVF_SYSTEM_EVENT | D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS], [0, 0]];
|
|
2533
2623
|
for (let e = 0; e < d.length; e++) {
|
|
2534
2624
|
let t = d[e][0], n = d[e][1];
|
|
2535
|
-
|
|
2625
|
+
se(g, t, n);
|
|
2536
2626
|
}
|
|
2537
2627
|
return 0;
|
|
2538
2628
|
}, 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 =
|
|
2629
|
+
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);
|
|
2630
|
+
}, e.gobj_stop = Oe, e.gobj_stop_children = we, e.gobj_stop_tree = function(e) {
|
|
2541
2631
|
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
2632
|
}, e.gobj_subscribe_event = At, e.gobj_trace_level = W, e.gobj_trace_machine_format = function() {
|
|
2543
2633
|
return C;
|
|
@@ -2555,35 +2645,35 @@
|
|
|
2555
2645
|
o.has(n) || Ht(`${Ve(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
|
|
2556
2646
|
}), Sn(t)) t = "";
|
|
2557
2647
|
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),
|
|
2648
|
+
let l = wt(e.dl_subscriptions, e, t, n, r), i = 0;
|
|
2649
|
+
for (let t = 0; t < l.length; t++) {
|
|
2650
|
+
let n = l[t];
|
|
2651
|
+
Dt(e, n, !1, !1), i++;
|
|
2562
2652
|
}
|
|
2563
|
-
return
|
|
2653
|
+
return i || (zt(`${Ve(e)}: No subscription found`), Zt(n, "No subscription found")), 0;
|
|
2564
2654
|
}, 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
2655
|
if (!En(t)) return Ht(n("gobj_write_attr(%s): path must be a string", Ve(e))), -1;
|
|
2566
|
-
let
|
|
2567
|
-
if (
|
|
2656
|
+
let l, i = e.jn_attrs, s = t.split("`");
|
|
2657
|
+
if (s.length <= 1) {
|
|
2568
2658
|
let o = t;
|
|
2569
|
-
return o in
|
|
2659
|
+
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
2660
|
}
|
|
2571
|
-
let _ =
|
|
2661
|
+
let _ = s.length;
|
|
2572
2662
|
for (let t = 0; t < _; t++) {
|
|
2573
|
-
|
|
2574
|
-
let n = nt(e, { __gobj_name__:
|
|
2663
|
+
l = s[t];
|
|
2664
|
+
let n = nt(e, { __gobj_name__: l });
|
|
2575
2665
|
if (n && t < _ - 1) {
|
|
2576
2666
|
e = n;
|
|
2577
2667
|
continue;
|
|
2578
2668
|
}
|
|
2579
2669
|
let o = e.jn_attrs;
|
|
2580
|
-
if (
|
|
2670
|
+
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
2671
|
break;
|
|
2582
2672
|
}
|
|
2583
|
-
return Ht(n("gobj_write_attr(%s): attr not found '%s'", Ve(e),
|
|
2673
|
+
return Ht(n("gobj_write_attr(%s): attr not found '%s'", Ve(e), l)), -1;
|
|
2584
2674
|
}, 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
2675
|
return e instanceof Date && !isNaN(e);
|
|
2586
|
-
}, e.is_function =
|
|
2676
|
+
}, e.is_function = jn, e.is_gobj = vn, e.is_metadata_key = function(e) {
|
|
2587
2677
|
if (!En(e)) return !1;
|
|
2588
2678
|
let t;
|
|
2589
2679
|
for (t = 0; t < e.length && "_" === e[t] && !(t > 2); t++);
|
|
@@ -2602,19 +2692,19 @@
|
|
|
2602
2692
|
let o = Fn(null, Fn(null, e, "topics", null, 0), t, null, 0);
|
|
2603
2693
|
if (!o) return Ht("jdb_delete: topic not found: " + t), null;
|
|
2604
2694
|
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 &&
|
|
2695
|
+
let l, i = n.split("`"), s = o;
|
|
2696
|
+
for (; (l = i.shift()) && !Sn(l) && s;) pn(s) && (s = Fn(null, s, e.hook, null, 0)), s = lr(s, null, l, !1);
|
|
2697
|
+
if (0 === i.length && s) if (mn(s)) {
|
|
2698
|
+
let e = zn(s, r.id);
|
|
2699
|
+
e >= 0 && s.splice(e, 1);
|
|
2610
2700
|
} else {
|
|
2611
|
-
let t = Fn(null,
|
|
2701
|
+
let t = Fn(null, s, e.hook, null, 0), n = zn(t, r.id);
|
|
2612
2702
|
n >= 0 && t.splice(n, 1);
|
|
2613
2703
|
}
|
|
2614
2704
|
return o;
|
|
2615
2705
|
}, e.jdb_get = function(e, t, n, r) {
|
|
2616
2706
|
let o = Fn(null, Fn(null, e, "topics", null, 0), t, null, 0);
|
|
2617
|
-
return o ? (void 0 === r && (r = !0),
|
|
2707
|
+
return o ? (void 0 === r && (r = !0), lr(o, e.hook, n, r)) : (Ht("jdb_get: topic not found: " + t), null);
|
|
2618
2708
|
}, e.jdb_get_by_idx = function(e, t, n) {
|
|
2619
2709
|
let r = Fn(null, Fn(null, e, "topics", null, 0), t, null, 0);
|
|
2620
2710
|
return r ? n < r.length ? r[n] : {} : (Ht("jdb_get_by_idx: topic not found: " + t), null);
|
|
@@ -2626,28 +2716,49 @@
|
|
|
2626
2716
|
n && (e = en(e));
|
|
2627
2717
|
let r = Fn(null, e, "type", [], 1);
|
|
2628
2718
|
Ln(null, e, "hook", "data", 1);
|
|
2629
|
-
let o = Fn(null, e, "schema", {}, 1),
|
|
2719
|
+
let o = Fn(null, e, "schema", {}, 1), l = Fn(null, e, "topics", {}, 1);
|
|
2630
2720
|
return or(o, function(e, t, n, o) {
|
|
2631
|
-
"__" !== t.substring(0, 2) && Fn(null,
|
|
2721
|
+
"__" !== t.substring(0, 2) && Fn(null, l, o, en(r), 1);
|
|
2632
2722
|
}, t), e;
|
|
2633
2723
|
}, e.jdb_update = function(e, t, n, r) {
|
|
2634
2724
|
let o = Fn(null, Fn(null, e, "topics", null, 0), t, null, 0);
|
|
2635
2725
|
if (!o) return Ht("jdb_update: topic not found: " + t), null;
|
|
2636
2726
|
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 (
|
|
2727
|
+
let l, i = n.split("`"), s = o;
|
|
2728
|
+
for (; (l = i.shift()) && !Sn(l) && s;) pn(s) && (s = Fn(null, s, e.hook, [], 1)), s = lr(s, null, l, !1);
|
|
2729
|
+
if (0 === i.length && s) if (mn(s)) s.push(r);
|
|
2730
|
+
else if (s.id === r.id) Object.assign(s, r);
|
|
2641
2731
|
else {
|
|
2642
|
-
let t = Fn(null,
|
|
2732
|
+
let t = Fn(null, s, e.hook, [], 1), n = lr(t, e.hook, r.id, !1);
|
|
2643
2733
|
n ? Object.assign(n, r) : t.push(r);
|
|
2644
2734
|
}
|
|
2645
2735
|
return o;
|
|
2736
|
+
}, e.json2flat = function(e) {
|
|
2737
|
+
const t = {}, n = (e, r, o) => {
|
|
2738
|
+
if (o > gr) throw new Error("json2flat: deeper than 256");
|
|
2739
|
+
if (null === e || "object" != typeof e || Array.isArray(e)) {
|
|
2740
|
+
if (Array.isArray(e) && e.length > 0) return void e.forEach((e, t) => {
|
|
2741
|
+
const l = `[${t}]`;
|
|
2742
|
+
n(e, 0 === o ? l : r + "`" + l, o + 1);
|
|
2743
|
+
});
|
|
2744
|
+
} else {
|
|
2745
|
+
const t = Object.keys(e);
|
|
2746
|
+
if (t.length > 0) {
|
|
2747
|
+
for (const l of t) {
|
|
2748
|
+
const t = br(l);
|
|
2749
|
+
n(e[l], 0 === o ? t : r + "`" + t, o + 1);
|
|
2750
|
+
}
|
|
2751
|
+
return;
|
|
2752
|
+
}
|
|
2753
|
+
}
|
|
2754
|
+
0 !== o && (t[r] = e);
|
|
2755
|
+
};
|
|
2756
|
+
return null == e || n(e, "", 0), t;
|
|
2646
2757
|
}, e.json_array_append = un, e.json_array_append_new = cn, e.json_array_extend = function(e, t) {
|
|
2647
2758
|
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 =
|
|
2759
|
+
}, 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
2760
|
try {
|
|
2650
|
-
let n =
|
|
2761
|
+
let n = ir(e);
|
|
2651
2762
|
switch (t) {
|
|
2652
2763
|
case "header": return JSON.parse(n.header);
|
|
2653
2764
|
case "signature": return JSON.parse(n.signature);
|
|
@@ -2656,13 +2767,13 @@
|
|
|
2656
2767
|
} catch (e) {
|
|
2657
2768
|
return null;
|
|
2658
2769
|
}
|
|
2659
|
-
}, e.jwtDecode =
|
|
2660
|
-
if (e && !
|
|
2770
|
+
}, e.jwtDecode = ir, e.kw_clone_by_keys = Kn, e.kw_clone_by_not_keys = xn, e.kw_collect = function(e, t, n, r) {
|
|
2771
|
+
if (e && !vn(e) && Ht("GObj bad instanceof"), !t) return null;
|
|
2661
2772
|
r || (r = Wn);
|
|
2662
2773
|
let o = [];
|
|
2663
2774
|
if (mn(t)) for (let e = 0; e < t.length; e++) {
|
|
2664
|
-
let
|
|
2665
|
-
r(
|
|
2775
|
+
let l = t[e];
|
|
2776
|
+
r(l, n) && o.push(l);
|
|
2666
2777
|
}
|
|
2667
2778
|
else {
|
|
2668
2779
|
if (!pn(t)) return Ht("kw_select() BAD kw parameter"), null;
|
|
@@ -2674,36 +2785,36 @@
|
|
|
2674
2785
|
for (let e = 0; e < t.length; e++) if (tn(n, t[e])) return e;
|
|
2675
2786
|
return r && Ht("item not found in this list"), -1;
|
|
2676
2787
|
}, 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 (
|
|
2788
|
+
e && !vn(e) && Ht("GObj bad instanceof");
|
|
2789
|
+
let l = kn(e, t, n, !1);
|
|
2790
|
+
const i = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
|
|
2791
|
+
if (void 0 === l) {
|
|
2792
|
+
if (s) {
|
|
2682
2793
|
let o = Array(r);
|
|
2683
2794
|
return Gn(e, t, n, o), o;
|
|
2684
2795
|
}
|
|
2685
|
-
return
|
|
2796
|
+
return i && (Ht(`path not found: '${n}'`), Zt(t)), Array(r);
|
|
2686
2797
|
}
|
|
2687
|
-
return _ && In(e, t, n), mn(
|
|
2798
|
+
return _ && In(e, t, n), mn(l) ? Array(l) : (i && (Ht(`path value MUST BE an array: ${n}`), Xt(t)), Array(r));
|
|
2688
2799
|
}, 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 (
|
|
2800
|
+
e && !vn(e) && Ht("GObj bad instanceof");
|
|
2801
|
+
let l = kn(e, t, n, !1);
|
|
2802
|
+
const i = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
|
|
2803
|
+
if (void 0 === l) {
|
|
2804
|
+
if (s) {
|
|
2694
2805
|
let o = Number(r);
|
|
2695
2806
|
return Gn(e, t, n, o), o;
|
|
2696
2807
|
}
|
|
2697
|
-
return
|
|
2808
|
+
return i && (Ht(`path not found: '${n}'`), Zt(t)), Number(r);
|
|
2698
2809
|
}
|
|
2699
|
-
return _ && In(e, t, n), Tn(
|
|
2810
|
+
return _ && In(e, t, n), Tn(l) ? Number(l) : (i && (Ht(`path value MUST BE a number: ${n}`), Xt(t)), Number(r));
|
|
2700
2811
|
}, 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 && !
|
|
2812
|
+
if (e && !vn(e) && Ht("GObj bad instanceof"), !t) return null;
|
|
2702
2813
|
r || (r = Wn);
|
|
2703
2814
|
let o = [];
|
|
2704
2815
|
if (mn(t)) for (let e = 0; e < t.length; e++) {
|
|
2705
|
-
let
|
|
2706
|
-
r(
|
|
2816
|
+
let l = t[e];
|
|
2817
|
+
r(l, n) && o.push(en(l));
|
|
2707
2818
|
}
|
|
2708
2819
|
else {
|
|
2709
2820
|
if (!pn(t)) return Ht("kw_select() BAD kw parameter"), null;
|
|
@@ -2711,11 +2822,11 @@
|
|
|
2711
2822
|
}
|
|
2712
2823
|
return o;
|
|
2713
2824
|
}, 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
|
|
2825
|
+
e && !vn(e) && Ht("GObj bad instanceof");
|
|
2826
|
+
let l = Hn(e, t, n, r, o);
|
|
2827
|
+
return l.length > 0 ? l[0] : null;
|
|
2717
2828
|
}, e.kwid_get_ids = function(e, t) {
|
|
2718
|
-
if (e && !
|
|
2829
|
+
if (e && !vn(e) && Ht("GObj bad instanceof"), !t) return [];
|
|
2719
2830
|
let n = [];
|
|
2720
2831
|
if (En(t)) n.push(t);
|
|
2721
2832
|
else if (pn(t)) for (let e in t) t.hasOwnProperty(e) && n.push(e);
|
|
@@ -2728,12 +2839,12 @@
|
|
|
2728
2839
|
});
|
|
2729
2840
|
return n;
|
|
2730
2841
|
}, e.kwid_match_id = qn, e.kwid_new_dict = function(e, t, n) {
|
|
2731
|
-
e && !
|
|
2842
|
+
e && !vn(e) && Ht("GObj bad instanceof");
|
|
2732
2843
|
let r = {};
|
|
2733
2844
|
if (Sn(n) || (t = kn(e, t, n)), pn(t)) r = t;
|
|
2734
2845
|
else if (mn(t)) for (let n = 0; n < t.length; n++) {
|
|
2735
|
-
let o = t[n],
|
|
2736
|
-
Sn(
|
|
2846
|
+
let o = t[n], l = Ln(e, o, "id", "", 0);
|
|
2847
|
+
Sn(l) || (r[l] = o);
|
|
2737
2848
|
}
|
|
2738
2849
|
else Ht(`${Ve(e)} kwid_new_dict: data type unknown`);
|
|
2739
2850
|
return r;
|
|
@@ -2741,28 +2852,28 @@
|
|
|
2741
2852
|
t = t || "id", n = n || "value";
|
|
2742
2853
|
let r = [];
|
|
2743
2854
|
if (mn(e)) for (let o = 0; o < e.length; o++) {
|
|
2744
|
-
let
|
|
2745
|
-
if (En(
|
|
2855
|
+
let l = e[o];
|
|
2856
|
+
if (En(l)) r.push({
|
|
2746
2857
|
id: e[o],
|
|
2747
2858
|
value: e[o]
|
|
2748
2859
|
});
|
|
2749
|
-
else if (pn(
|
|
2860
|
+
else if (pn(l)) {
|
|
2750
2861
|
let e = {};
|
|
2751
|
-
if (An(
|
|
2752
|
-
if (!An(
|
|
2753
|
-
if (!(bn(
|
|
2862
|
+
if (An(l, t)) {
|
|
2863
|
+
if (!An(l, n)) {
|
|
2864
|
+
if (!(bn(l) > 0)) {
|
|
2754
2865
|
Ht("list2options(): object without field value: " + n);
|
|
2755
2866
|
continue;
|
|
2756
2867
|
}
|
|
2757
|
-
n = Object.keys(
|
|
2868
|
+
n = Object.keys(l)[0];
|
|
2758
2869
|
}
|
|
2759
|
-
e.id =
|
|
2870
|
+
e.id = l[t], e.value = l[n];
|
|
2760
2871
|
} else {
|
|
2761
|
-
if (!(bn(
|
|
2872
|
+
if (!(bn(l) > 0)) {
|
|
2762
2873
|
Ht("list2options(): object without field id: " + t);
|
|
2763
2874
|
continue;
|
|
2764
2875
|
}
|
|
2765
|
-
t = Object.keys(
|
|
2876
|
+
t = Object.keys(l)[0], e.id = t, e.value = l[t];
|
|
2766
2877
|
}
|
|
2767
2878
|
r.push(e);
|
|
2768
2879
|
} else Ht("list2options(): case1 not implemented");
|
|
@@ -2790,7 +2901,7 @@
|
|
|
2790
2901
|
}, 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
2902
|
return new DOMParser().parseFromString(e, "image/svg+xml").firstChild;
|
|
2792
2903
|
}, e.refresh_language = function(e, t) {
|
|
2793
|
-
|
|
2904
|
+
jn(t) ? (e || (e = document), e.querySelectorAll("[data-i18n]").forEach(function(e) {
|
|
2794
2905
|
let n = e.getAttribute("data-i18n");
|
|
2795
2906
|
for (let r of e.childNodes) if (r.nodeType === Node.TEXT_NODE) {
|
|
2796
2907
|
n || (n = r.nodeValue), r.nodeValue = t(n);
|
|
@@ -2808,22 +2919,22 @@
|
|
|
2808
2919
|
})) : Ht("You must supply a translation function");
|
|
2809
2920
|
}, e.register_c_ievent_cli = function() {
|
|
2810
2921
|
return function(e) {
|
|
2811
|
-
if (
|
|
2922
|
+
if (Vr) return Ht(`GClass ALREADY created: ${e}`), -1;
|
|
2812
2923
|
const t = [
|
|
2813
2924
|
["ST_DISCONNECTED", [
|
|
2814
2925
|
[
|
|
2815
2926
|
"EV_ON_OPEN",
|
|
2816
|
-
|
|
2927
|
+
zr,
|
|
2817
2928
|
"ST_WAIT_IDENTITY_CARD_ACK"
|
|
2818
2929
|
],
|
|
2819
2930
|
[
|
|
2820
2931
|
"EV_ON_CLOSE",
|
|
2821
|
-
|
|
2932
|
+
Qr,
|
|
2822
2933
|
null
|
|
2823
2934
|
],
|
|
2824
2935
|
[
|
|
2825
2936
|
"EV_TIMEOUT",
|
|
2826
|
-
|
|
2937
|
+
Hr,
|
|
2827
2938
|
null
|
|
2828
2939
|
],
|
|
2829
2940
|
[
|
|
@@ -2835,22 +2946,22 @@
|
|
|
2835
2946
|
["ST_WAIT_IDENTITY_CARD_ACK", [
|
|
2836
2947
|
[
|
|
2837
2948
|
"EV_ON_MESSAGE",
|
|
2838
|
-
|
|
2949
|
+
eo,
|
|
2839
2950
|
null
|
|
2840
2951
|
],
|
|
2841
2952
|
[
|
|
2842
2953
|
"EV_IDENTITY_CARD_ACK",
|
|
2843
|
-
|
|
2954
|
+
Zr,
|
|
2844
2955
|
null
|
|
2845
2956
|
],
|
|
2846
2957
|
[
|
|
2847
2958
|
"EV_ON_CLOSE",
|
|
2848
|
-
|
|
2959
|
+
Qr,
|
|
2849
2960
|
"ST_DISCONNECTED"
|
|
2850
2961
|
],
|
|
2851
2962
|
[
|
|
2852
2963
|
"EV_TIMEOUT",
|
|
2853
|
-
|
|
2964
|
+
Xr,
|
|
2854
2965
|
null
|
|
2855
2966
|
],
|
|
2856
2967
|
[
|
|
@@ -2862,22 +2973,22 @@
|
|
|
2862
2973
|
["ST_SESSION", [
|
|
2863
2974
|
[
|
|
2864
2975
|
"EV_ON_MESSAGE",
|
|
2865
|
-
|
|
2976
|
+
eo,
|
|
2866
2977
|
null
|
|
2867
2978
|
],
|
|
2868
2979
|
[
|
|
2869
2980
|
"EV_MT_STATS",
|
|
2870
|
-
|
|
2981
|
+
to,
|
|
2871
2982
|
null
|
|
2872
2983
|
],
|
|
2873
2984
|
[
|
|
2874
2985
|
"EV_MT_COMMAND",
|
|
2875
|
-
|
|
2986
|
+
no,
|
|
2876
2987
|
null
|
|
2877
2988
|
],
|
|
2878
2989
|
[
|
|
2879
2990
|
"EV_ON_CLOSE",
|
|
2880
|
-
|
|
2991
|
+
Qr,
|
|
2881
2992
|
"ST_DISCONNECTED"
|
|
2882
2993
|
],
|
|
2883
2994
|
[
|
|
@@ -2888,7 +2999,7 @@
|
|
|
2888
2999
|
]],
|
|
2889
3000
|
[null, null]
|
|
2890
3001
|
];
|
|
2891
|
-
return (
|
|
3002
|
+
return (Vr = te(e, [
|
|
2892
3003
|
["EV_ON_MESSAGE", D.EVF_OUTPUT_EVENT],
|
|
2893
3004
|
["EV_IDENTITY_CARD_ACK", D.EVF_PUBLIC_EVENT],
|
|
2894
3005
|
["EV_ON_ID_NAK", D.EVF_PUBLIC_EVENT | D.EVF_OUTPUT_EVENT],
|
|
@@ -2899,36 +3010,36 @@
|
|
|
2899
3010
|
["EV_ON_OPEN_ERROR", D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS],
|
|
2900
3011
|
["EV_TIMEOUT", 0],
|
|
2901
3012
|
[null, 0]
|
|
2902
|
-
], t,
|
|
3013
|
+
], t, ro, 0, Fr, Gr, 0, 0, 0, N.gcflag_no_check_output_events)) ? 0 : -1;
|
|
2903
3014
|
}("C_IEVENT_CLI");
|
|
2904
3015
|
}, e.register_c_timer = function() {
|
|
2905
3016
|
return function(e) {
|
|
2906
|
-
if (
|
|
3017
|
+
if (Nr) return Ht(`GClass ALREADY created: ${e}`), -1;
|
|
2907
3018
|
const t = [["ST_IDLE", [[
|
|
2908
3019
|
"EV_TIMEOUT",
|
|
2909
|
-
|
|
3020
|
+
wr,
|
|
2910
3021
|
null
|
|
2911
3022
|
]]]];
|
|
2912
|
-
return (
|
|
3023
|
+
return (Nr = te(e, [
|
|
2913
3024
|
["EV_TIMEOUT", D.EVF_OUTPUT_EVENT],
|
|
2914
3025
|
["EV_TIMEOUT_PERIODIC", D.EVF_OUTPUT_EVENT],
|
|
2915
3026
|
[0, 0]
|
|
2916
|
-
], t,
|
|
3027
|
+
], t, Rr, 0, Sr, Or, 0, 0, 0, N.gcflag_manual_start)) ? 0 : -1;
|
|
2917
3028
|
}("C_TIMER");
|
|
2918
3029
|
}, e.register_c_yuno = function() {
|
|
2919
3030
|
return function(e) {
|
|
2920
|
-
if (
|
|
3031
|
+
if (Cr) return Ht(`GClass ALREADY created: ${e}`), -1;
|
|
2921
3032
|
const t = [["ST_IDLE", [[
|
|
2922
3033
|
"EV_TIMEOUT_PERIODIC",
|
|
2923
|
-
|
|
3034
|
+
Lr,
|
|
2924
3035
|
null
|
|
2925
3036
|
]]]];
|
|
2926
|
-
return (
|
|
3037
|
+
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
3038
|
}("C_YUNO");
|
|
2928
3039
|
}, e.safeSrc = function(e) {
|
|
2929
3040
|
if (!e) return "";
|
|
2930
3041
|
const t = String(e).trim();
|
|
2931
|
-
return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" :
|
|
3042
|
+
return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : sr(t);
|
|
2932
3043
|
}, e.sdata_flag_t = h, e.send_http_json_post = function(e, t, n) {
|
|
2933
3044
|
let r = new XMLHttpRequest();
|
|
2934
3045
|
r.open("POST", e), r.setRequestHeader("Accept", "application/json"), r.setRequestHeader("Content-Type", "application/json"), r.onreadystatechange = function() {
|
|
@@ -2940,7 +3051,7 @@
|
|
|
2940
3051
|
Kt = "function" == typeof e ? e : null;
|
|
2941
3052
|
}, e.set_log_callback = function(e) {
|
|
2942
3053
|
Mt = "function" == typeof e ? e : null;
|
|
2943
|
-
}, e.set_remote_log_functions = Jt, e.set_timeout =
|
|
3054
|
+
}, 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
3055
|
var r = (e + "").substring(0, n), o = (t + "").substring(0, n);
|
|
2945
3056
|
return r === o ? 0 : r > o ? 1 : -1;
|
|
2946
3057
|
}, e.strs_in_list = function(e, t, n) {
|
|
@@ -2969,9 +3080,9 @@
|
|
|
2969
3080
|
let e = t.split(".");
|
|
2970
3081
|
for (let t = 0; t < e.length; t++) {
|
|
2971
3082
|
let r = e[t];
|
|
2972
|
-
if (Qn(
|
|
2973
|
-
else if (Qn(
|
|
2974
|
-
else if (Qn(
|
|
3083
|
+
if (Qn(hr, r)) n.real_type || (n.real_type = r);
|
|
3084
|
+
else if (Qn(jr, r)) n.type || (n.type = r);
|
|
3085
|
+
else if (Qn(yr, r)) switch (r) {
|
|
2975
3086
|
case "writable":
|
|
2976
3087
|
n.is_writable = !0;
|
|
2977
3088
|
break;
|
|
@@ -2983,19 +3094,19 @@
|
|
|
2983
3094
|
}
|
|
2984
3095
|
}
|
|
2985
3096
|
n.real_type || (n.real_type = "string");
|
|
2986
|
-
} else pn(t) ? (n =
|
|
3097
|
+
} 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
3098
|
return n.type || (n.type = n.real_type), n;
|
|
2988
3099
|
}, e.timeTracker = function(e = "Time Tracker", t = !1) {
|
|
2989
3100
|
const n = e, r = performance.now();
|
|
2990
3101
|
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:
|
|
3102
|
+
return t && zt(`--\x3e ${n} - starting`), { mark: (e = "Intermediate", l = "") => {
|
|
3103
|
+
const i = performance.now(), s = (i - o) / 1e3, _ = (i - r) / 1e3;
|
|
3104
|
+
return t && zt(`--\x3e ${n} ${e} - partial: ${s} sec, total: ${_} sec, ${l}`), o = i, {
|
|
3105
|
+
partial: s,
|
|
2995
3106
|
total: _
|
|
2996
3107
|
};
|
|
2997
3108
|
} };
|
|
2998
|
-
}, e.trace_json = Zt, e.trace_level_t = P, e.trace_msg = Xt, e.treedb_decoder_fkey =
|
|
3109
|
+
}, 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
3110
|
if (En(t)) {
|
|
3000
3111
|
if (-1 === t.indexOf("^")) {
|
|
3001
3112
|
let n, r = e.hook;
|
|
@@ -3022,9 +3133,9 @@
|
|
|
3022
3133
|
id: t.id
|
|
3023
3134
|
} : (Ht("bad hook 3"), Ht(e), Ht(t), null);
|
|
3024
3135
|
}, e.treedb_encoder_fkey = function(e, t) {
|
|
3025
|
-
let n =
|
|
3136
|
+
let n = Tr(e, t);
|
|
3026
3137
|
return n ? n.topic_name + "^" + n.id + "^" + n.hook_name : null;
|
|
3027
|
-
}, e.treedb_get_field_desc =
|
|
3138
|
+
}, e.treedb_get_field_desc = vr, e.treedb_hook_data_size = function(e) {
|
|
3028
3139
|
if (mn(e) && 1 === bn(e)) {
|
|
3029
3140
|
let t = e[0];
|
|
3030
3141
|
return An(t, "size") ? t.size : 1;
|