@yuneta/gobj-js 7.3.4 → 7.6.6
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 +16 -6
- package/dist/gobj-js.cjs.js.map +1 -1
- package/dist/gobj-js.cjs.min.js +248 -248
- package/dist/gobj-js.cjs.min.js.map +1 -1
- package/dist/gobj-js.es.js +16 -6
- package/dist/gobj-js.es.js.map +1 -1
- package/dist/gobj-js.es.min.js +45 -45
- package/dist/gobj-js.es.min.js.map +1 -1
- package/dist/gobj-js.iife.js +16 -6
- package/dist/gobj-js.iife.js.map +1 -1
- package/dist/gobj-js.iife.min.js +595 -595
- package/dist/gobj-js.iife.min.js.map +1 -1
- package/dist/gobj-js.umd.js +16 -6
- package/dist/gobj-js.umd.js.map +1 -1
- package/dist/gobj-js.umd.min.js +523 -523
- package/dist/gobj-js.umd.min.js.map +1 -1
- package/package.json +4 -4
package/dist/gobj-js.umd.min.js
CHANGED
|
@@ -21,72 +21,72 @@
|
|
|
21
21
|
};
|
|
22
22
|
function n(e) {
|
|
23
23
|
return function(e, r) {
|
|
24
|
-
var
|
|
25
|
-
for (
|
|
26
|
-
else if ("object" == typeof e[
|
|
27
|
-
if ((s = e[
|
|
28
|
-
if (null ==
|
|
29
|
-
|
|
24
|
+
var o, i, l, s, _, a, u, c, f, g = 1, d = e.length, b = "";
|
|
25
|
+
for (i = 0; i < d; i++) if ("string" == typeof e[i]) b += e[i];
|
|
26
|
+
else if ("object" == typeof e[i]) {
|
|
27
|
+
if ((s = e[i]).keys) for (o = r[g], l = 0; l < s.keys.length; l++) {
|
|
28
|
+
if (null == o) throw new Error(n("[sprintf] Cannot access property \"%s\" of undefined value \"%s\"", s.keys[l], s.keys[l - 1]));
|
|
29
|
+
o = o[s.keys[l]];
|
|
30
30
|
}
|
|
31
|
-
else
|
|
32
|
-
if (t.not_type.test(s.type) && t.not_primitive.test(s.type) &&
|
|
33
|
-
switch (t.number.test(s.type) && (c =
|
|
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;
|
|
37
37
|
case "c":
|
|
38
|
-
|
|
38
|
+
o = String.fromCharCode(parseInt(o, 10));
|
|
39
39
|
break;
|
|
40
40
|
case "d":
|
|
41
41
|
case "i":
|
|
42
|
-
|
|
42
|
+
o = parseInt(o, 10);
|
|
43
43
|
break;
|
|
44
44
|
case "j":
|
|
45
|
-
|
|
45
|
+
o = JSON.stringify(o, null, s.width ? parseInt(s.width) : 0);
|
|
46
46
|
break;
|
|
47
47
|
case "e":
|
|
48
|
-
|
|
48
|
+
o = s.precision ? parseFloat(o).toExponential(s.precision) : parseFloat(o).toExponential();
|
|
49
49
|
break;
|
|
50
50
|
case "f":
|
|
51
|
-
|
|
51
|
+
o = s.precision ? parseFloat(o).toFixed(s.precision) : parseFloat(o);
|
|
52
52
|
break;
|
|
53
53
|
case "g":
|
|
54
|
-
|
|
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
|
-
|
|
60
|
+
o = String(o), o = s.precision ? o.substring(0, s.precision) : o;
|
|
61
61
|
break;
|
|
62
62
|
case "t":
|
|
63
|
-
|
|
63
|
+
o = String(!!o), o = s.precision ? o.substring(0, s.precision) : o;
|
|
64
64
|
break;
|
|
65
65
|
case "T":
|
|
66
|
-
|
|
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
|
-
|
|
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
|
-
case "X":
|
|
77
|
+
case "X": o = (parseInt(o, 10) >>> 0).toString(16).toUpperCase();
|
|
78
78
|
}
|
|
79
|
-
t.json.test(s.type) ? b +=
|
|
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,
|
|
85
|
-
for (;
|
|
86
|
-
if (null !== (n = t.text.exec(
|
|
87
|
-
else if (null !== (n = t.modulo.exec(
|
|
84
|
+
let n, o = e, i = [], l = 0;
|
|
85
|
+
for (; o;) {
|
|
86
|
+
if (null !== (n = t.text.exec(o))) i.push(n[0]);
|
|
87
|
+
else if (null !== (n = t.modulo.exec(o))) i.push("%");
|
|
88
88
|
else {
|
|
89
|
-
if (null === (n = t.placeholder.exec(
|
|
89
|
+
if (null === (n = t.placeholder.exec(o))) throw new SyntaxError("[sprintf] unexpected placeholder");
|
|
90
90
|
if (n[2]) {
|
|
91
91
|
l |= 1;
|
|
92
92
|
var s = [], _ = n[2], a = [];
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
n[2] = s;
|
|
100
100
|
} else l |= 2;
|
|
101
101
|
if (3 === l) throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");
|
|
102
|
-
|
|
102
|
+
i.push({
|
|
103
103
|
placeholder: n[0],
|
|
104
104
|
param_no: n[1],
|
|
105
105
|
keys: n[2],
|
|
@@ -111,26 +111,26 @@
|
|
|
111
111
|
type: n[8]
|
|
112
112
|
});
|
|
113
113
|
}
|
|
114
|
-
|
|
114
|
+
o = o.substring(n[0].length);
|
|
115
115
|
}
|
|
116
|
-
return r[e] =
|
|
116
|
+
return r[e] = i;
|
|
117
117
|
}(e), arguments);
|
|
118
118
|
}
|
|
119
119
|
var r = Object.create(null);
|
|
120
|
-
function
|
|
120
|
+
function o(e, t, n, r, o) {
|
|
121
121
|
return {
|
|
122
122
|
result: t,
|
|
123
123
|
comment: n || {},
|
|
124
124
|
schema: r || {},
|
|
125
|
-
data:
|
|
125
|
+
data: o || []
|
|
126
126
|
};
|
|
127
127
|
}
|
|
128
|
-
function
|
|
128
|
+
function i(e, t, n, r, o) {
|
|
129
129
|
return {
|
|
130
130
|
result: t,
|
|
131
131
|
comment: n || {},
|
|
132
132
|
schema: r || {},
|
|
133
|
-
data:
|
|
133
|
+
data: o || []
|
|
134
134
|
};
|
|
135
135
|
}
|
|
136
136
|
var l = "7.0.0a", s = null, _ = null, a = null, u = null, c = null, f = null, g = [], d = Object.create(null), b = {}, p = null, m = null, h = 0, E = Object.freeze({
|
|
@@ -169,16 +169,16 @@
|
|
|
169
169
|
});
|
|
170
170
|
T.SDF_RD, T.SDF_WR, T.SDF_STATS, T.SDF_PERSIST, T.SDF_VOLATIL, T.SDF_RSTATS, T.SDF_PSTATS, T.SDF_WR, T.SDF_PERSIST;
|
|
171
171
|
var y = class {
|
|
172
|
-
constructor(e, t, n = 0, r = null,
|
|
173
|
-
this.type = e, this.name = t, this.alias =
|
|
172
|
+
constructor(e, t, n = 0, r = null, o = "", i = null, l = null, s = 0, _ = null, a = null, u = null) {
|
|
173
|
+
this.type = e, this.name = t, this.alias = i, this.flag = n, this.default_value = r, this.header = l, this.fillspace = s, this.description = o, this.json_fn = _, this.schema = a, this.authpth = u;
|
|
174
174
|
}
|
|
175
|
-
}, v = () => new y(0, null), j = (e, t, n, r,
|
|
176
|
-
constructor(e, t, n, r,
|
|
177
|
-
this.gclass_name = e, this.dl_states = [], this.dl_events = [], this.gmt = t, this.lmt = n, this.attrs_table = r, this.priv =
|
|
175
|
+
}, v = () => new y(0, null), j = (e, t, n, r, o) => new y(e, t, n, r, o), S = class {
|
|
176
|
+
constructor(e, t, n, r, o, i, l, 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 = i, this.command_table = l, 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
|
-
constructor(e, t, n, r,
|
|
181
|
-
this.__refs__ = 0, this.gclass = t, this.parent = null, this.dl_children = [], this.dl_subscriptions = [], this.dl_subscribings = [], this.current_state = t.dl_states[0], this.last_state = null, this.obflag = 0, this.gobj_flag = Number(
|
|
180
|
+
constructor(e, t, n, r, o) {
|
|
181
|
+
this.__refs__ = 0, this.gclass = t, this.parent = null, this.dl_children = [], this.dl_subscriptions = [], this.dl_subscribings = [], this.current_state = t.dl_states[0], this.last_state = null, this.obflag = 0, this.gobj_flag = Number(o) || 0, this.gobj_name = e, this.jn_attrs = null, this.jn_stats = {}, this.jn_user_data = {}, this.full_name = null, this.short_name = null, this.priv = kt(t.priv), this.running = !1, this.playing = !1, this.disabled = !1, this.bottom_gobj = null, this.trace_level = 0, this.no_trace_level = 0;
|
|
182
182
|
}
|
|
183
183
|
}, N = Object.freeze({
|
|
184
184
|
gcflag_manual_start: 1,
|
|
@@ -229,106 +229,106 @@
|
|
|
229
229
|
let n = {};
|
|
230
230
|
if (!Bt(t)) return Ot("sdata_desc MUST be an array"), Rt(t), n;
|
|
231
231
|
for (let r = 0; r < t.length; r++) {
|
|
232
|
-
const
|
|
233
|
-
|
|
232
|
+
const o = t[r];
|
|
233
|
+
o.name && U(e, n, o);
|
|
234
234
|
}
|
|
235
235
|
return n;
|
|
236
236
|
}
|
|
237
237
|
function U(e, t, n) {
|
|
238
|
-
let r,
|
|
238
|
+
let r, o = n.default_value;
|
|
239
239
|
switch (n.type) {
|
|
240
240
|
case E.DTP_STRING:
|
|
241
|
-
r = String(
|
|
241
|
+
r = String(o);
|
|
242
242
|
break;
|
|
243
243
|
case E.DTP_BOOLEAN:
|
|
244
|
-
r = en(
|
|
244
|
+
r = en(o);
|
|
245
245
|
break;
|
|
246
246
|
case E.DTP_INTEGER:
|
|
247
|
-
r = parseInt(
|
|
247
|
+
r = parseInt(o), isNaN(r) && Ot(`${Ne(e)}: attr NaN: ${n.name}`);
|
|
248
248
|
break;
|
|
249
249
|
case E.DTP_REAL:
|
|
250
|
-
r = Number(
|
|
250
|
+
r = Number(o), isNaN(r) && Ot(`${Ne(e)}: attr NaN: ${n.name}`);
|
|
251
251
|
break;
|
|
252
252
|
case E.DTP_LIST:
|
|
253
|
-
if (Jt(
|
|
254
|
-
r = JSON.parse(
|
|
253
|
+
if (Jt(o)) try {
|
|
254
|
+
r = JSON.parse(o);
|
|
255
255
|
} catch (e) {
|
|
256
256
|
Ot(`JSON parse error: ${e.message}`);
|
|
257
257
|
}
|
|
258
|
-
else r =
|
|
258
|
+
else r = o;
|
|
259
259
|
Bt(r) || (r = []);
|
|
260
260
|
break;
|
|
261
261
|
case E.DTP_DICT:
|
|
262
|
-
if (Jt(
|
|
263
|
-
r = JSON.parse(
|
|
262
|
+
if (Jt(o)) try {
|
|
263
|
+
r = JSON.parse(o);
|
|
264
264
|
} catch (e) {
|
|
265
265
|
Ot(`JSON parse error: ${e.message}`);
|
|
266
266
|
}
|
|
267
|
-
else r =
|
|
267
|
+
else r = o;
|
|
268
268
|
Yt(r) || (r = {});
|
|
269
269
|
break;
|
|
270
270
|
case E.DTP_JSON:
|
|
271
|
-
if (Jt(
|
|
272
|
-
r = JSON.parse(
|
|
271
|
+
if (Jt(o)) try {
|
|
272
|
+
r = JSON.parse(o);
|
|
273
273
|
} catch (e) {
|
|
274
274
|
Ot(`JSON parse error: ${e.message}`);
|
|
275
275
|
}
|
|
276
|
-
else r =
|
|
276
|
+
else r = o;
|
|
277
277
|
break;
|
|
278
|
-
case E.DTP_POINTER: r =
|
|
278
|
+
case E.DTP_POINTER: r = o;
|
|
279
279
|
}
|
|
280
280
|
return void 0 === r && (Ot(`default_value WRONG, it: ${n.name}, value: ${n.default_value}`), r = null), t[n.name] = r, 0;
|
|
281
281
|
}
|
|
282
282
|
function C(e, t, n, r) {
|
|
283
|
-
let
|
|
283
|
+
let o;
|
|
284
284
|
switch (n.type) {
|
|
285
285
|
case E.DTP_STRING:
|
|
286
|
-
if (null == r)
|
|
287
|
-
else if (Jt(r))
|
|
286
|
+
if (null == r) o = "";
|
|
287
|
+
else if (Jt(r)) o = String(r);
|
|
288
288
|
else {
|
|
289
289
|
let e = JSON.stringify(r);
|
|
290
|
-
e && (
|
|
290
|
+
e && (o = String(e));
|
|
291
291
|
}
|
|
292
292
|
break;
|
|
293
293
|
case E.DTP_BOOLEAN:
|
|
294
|
-
|
|
294
|
+
o = en(r);
|
|
295
295
|
break;
|
|
296
296
|
case E.DTP_INTEGER:
|
|
297
|
-
|
|
297
|
+
o = parseInt(r), isNaN(o) && Ot(`${Ne(e)}: attr NaN: ${n.name}`);
|
|
298
298
|
break;
|
|
299
299
|
case E.DTP_REAL:
|
|
300
|
-
|
|
300
|
+
o = Number(r), isNaN(o) && Ot(`${Ne(e)}: attr NaN: ${n.name}`);
|
|
301
301
|
break;
|
|
302
302
|
case E.DTP_LIST:
|
|
303
303
|
if (Jt(r)) try {
|
|
304
|
-
|
|
304
|
+
o = JSON.parse(r);
|
|
305
305
|
} catch (e) {
|
|
306
306
|
Ot(`JSON parse error: ${e.message}`);
|
|
307
307
|
}
|
|
308
|
-
else
|
|
309
|
-
if (!Bt(
|
|
308
|
+
else o = r;
|
|
309
|
+
if (!Bt(o)) return Ot(`attr must be an array: ${n.name}`), -1;
|
|
310
310
|
break;
|
|
311
311
|
case E.DTP_DICT:
|
|
312
312
|
if (Jt(r)) try {
|
|
313
|
-
|
|
313
|
+
o = JSON.parse(r);
|
|
314
314
|
} catch (e) {
|
|
315
315
|
Ot(`JSON parse error: ${e.message}`);
|
|
316
316
|
}
|
|
317
|
-
else
|
|
318
|
-
if (!Yt(
|
|
317
|
+
else o = r;
|
|
318
|
+
if (!Yt(o)) return Ot(`attr must be an object: ${n.name}`), -1;
|
|
319
319
|
break;
|
|
320
320
|
case E.DTP_JSON:
|
|
321
321
|
if (Jt(r)) try {
|
|
322
|
-
|
|
322
|
+
o = JSON.parse(r);
|
|
323
323
|
} catch (e) {
|
|
324
324
|
Ot(`JSON parse error: ${e.message}`);
|
|
325
325
|
}
|
|
326
|
-
else
|
|
327
|
-
if (!Bt(
|
|
326
|
+
else o = r;
|
|
327
|
+
if (!Bt(o) && !Yt(o)) return Ot(`attr must be a json dict/list: ${n.name}`), -1;
|
|
328
328
|
break;
|
|
329
|
-
case E.DTP_POINTER:
|
|
329
|
+
case E.DTP_POINTER: o = r;
|
|
330
330
|
}
|
|
331
|
-
return void 0 ===
|
|
331
|
+
return void 0 === o && Ot(`${Ne(e)}: attr undefined: ${n.name}`), t[n.name] = o, Yt(e.priv) && e.priv.hasOwnProperty(n.name) && (e.priv[n.name] = o), e.obflag & D.obflag_created && !(e.obflag & D.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, n.name), 0;
|
|
332
332
|
}
|
|
333
333
|
function F(e) {
|
|
334
334
|
return e.jn_attrs;
|
|
@@ -345,11 +345,11 @@
|
|
|
345
345
|
}
|
|
346
346
|
return n && Ot(`${e.gclass_name}: GClass Attribute NOT FOUND: ${t}`), null;
|
|
347
347
|
}
|
|
348
|
-
function W(e, t, n, r,
|
|
348
|
+
function W(e, t, n, r, o, i, l, s, _, a, u) {
|
|
349
349
|
if (Zt(e)) return Ot("gclass_name EMPTY"), null;
|
|
350
350
|
if (e.includes("`") || e.includes("^") || e.includes(".")) return Ot(`GClass name CANNOT have '.' or '^' or '\`' char: ${e}`), null;
|
|
351
351
|
if (H(e)) return Ot(`GClass ALREADY exists: ${e}`), null;
|
|
352
|
-
let c = new S(e, r,
|
|
352
|
+
let c = new S(e, r, o, i, l, s, _, a, u);
|
|
353
353
|
(function(e, t) {
|
|
354
354
|
e && e instanceof S ? t ? d[t] ? Ot(`gclass ALREADY REGISTERED: ${t}`) : d[t] = e : Ot("gclass_name undefined") : Ot("gclass undefined");
|
|
355
355
|
})(c, e);
|
|
@@ -358,10 +358,10 @@
|
|
|
358
358
|
let t = n[e][0], r = n[e][1];
|
|
359
359
|
if (Zt(t)) continue;
|
|
360
360
|
if (Y(c, t) < 0) return M(c), null;
|
|
361
|
-
const
|
|
362
|
-
for (let e = 0; e <
|
|
363
|
-
let n = r[e][0],
|
|
364
|
-
Zt(n) || B(c, t, n,
|
|
361
|
+
const o = r.length;
|
|
362
|
+
for (let e = 0; e < o; e++) {
|
|
363
|
+
let n = r[e][0], o = r[e][1], i = r[e][2];
|
|
364
|
+
Zt(n) || B(c, t, n, o, i);
|
|
365
365
|
}
|
|
366
366
|
}
|
|
367
367
|
for (let e = 0; e < t.length; e++) {
|
|
@@ -406,11 +406,11 @@
|
|
|
406
406
|
function Y(e, t) {
|
|
407
407
|
return e instanceof S ? K(e, t) ? (Ot(`state already exists: ${t}`), -1) : (e.dl_states.push(new A(t)), 0) : (Ot("Cannot add state, typeof not GClass"), -1);
|
|
408
408
|
}
|
|
409
|
-
function B(e, t, n, r,
|
|
409
|
+
function B(e, t, n, r, o) {
|
|
410
410
|
if (!(e instanceof S)) return Ot("Cannot add state, typeof not GClass"), -1;
|
|
411
411
|
if (Zt(t)) return Ot("state_name EMPTY"), -1;
|
|
412
|
-
let
|
|
413
|
-
return
|
|
412
|
+
let i = K(e, t);
|
|
413
|
+
return i ? x(i, n) ? (Ot(`event already exists: gclass ${e.gclass_name}, state ${t}, event ${n}`), -1) : (i.dl_actions.push(new $(n, r, o)), 0) : (Ot(`state not found: ${t}`), -1);
|
|
414
414
|
}
|
|
415
415
|
function J(e, t, n) {
|
|
416
416
|
Zt(t) || e.push(new I(t, n));
|
|
@@ -434,8 +434,8 @@
|
|
|
434
434
|
for (let n = 0; n < e.dl_states.length; n++) {
|
|
435
435
|
let r = e.dl_states[n];
|
|
436
436
|
if (!Zt(r.state_name)) for (let n = 0; n < r.dl_actions.length; n++) {
|
|
437
|
-
let
|
|
438
|
-
Zt(
|
|
437
|
+
let o = r.dl_actions[n];
|
|
438
|
+
Zt(o.event_name) || (Q(e, o.event_name) || (Ot(`SMachine: state's event NOT in input_events: gclass ${e.gclass_name}, state ${r.state_name}, event ${o.event_name}`), t += -1), o.next_state && (K(e, o.next_state) || (Ot(`SMachine: next state NOT in state names: gclass ${e.gclass_name}, state ${r.state_name}, next_state ${o.next_state}`), t += -1)));
|
|
439
439
|
}
|
|
440
440
|
}
|
|
441
441
|
for (let n = 0; n < e.dl_events.length; n++) {
|
|
@@ -443,8 +443,8 @@
|
|
|
443
443
|
if (!Zt(r.event_name) && (zt(r.event_flag) || (Ot(`SMachine: event flag is NOT number: gclass ${e.gclass_name}, event ${r.event_name}`), t += -1), !(r.event_flag & R.EVF_OUTPUT_EVENT))) {
|
|
444
444
|
let n = !1;
|
|
445
445
|
for (let t = 0; t < e.dl_states.length; t++) {
|
|
446
|
-
let
|
|
447
|
-
Zt(
|
|
446
|
+
let o = e.dl_states[t];
|
|
447
|
+
Zt(o.state_name) || x(o, r.event_name) && (n = !0);
|
|
448
448
|
}
|
|
449
449
|
n || (Ot(`SMachine: input_list's event NOT in state: gclass ${e.gclass_name}, event ${r.event_name}`), t += -1);
|
|
450
450
|
}
|
|
@@ -480,31 +480,31 @@
|
|
|
480
480
|
function re(e, t) {
|
|
481
481
|
"__json_config_variables__" !== t && Ot(`GClass Attribute NOT FOUND: ${Ne(e)}, attr ${t}`);
|
|
482
482
|
}
|
|
483
|
-
function
|
|
483
|
+
function oe(e, t, n) {
|
|
484
484
|
let r = t;
|
|
485
|
-
(function(e, t, n, r,
|
|
485
|
+
(function(e, t, n, r, o) {
|
|
486
486
|
if (!e || !t) return Ot("hsdata or kw NULL"), -1;
|
|
487
|
-
let
|
|
487
|
+
let i = 0;
|
|
488
488
|
for (const [l, s] of Object.entries(t)) {
|
|
489
|
-
const t = V(
|
|
490
|
-
t ? (-1 === n || t.flag & n) && (t.flag & T.SDF_DEPRECATED && Nt(`${Ne(
|
|
489
|
+
const t = V(o.gclass, l, !1);
|
|
490
|
+
t ? (-1 === n || t.flag & n) && (t.flag & T.SDF_DEPRECATED && Nt(`${Ne(o)}: Deprecated attribute used in gobj creation: ${l}`), i += C(o, e, t, s)) : r && (r(o, l), i--);
|
|
491
491
|
}
|
|
492
|
-
return
|
|
492
|
+
return i;
|
|
493
493
|
})(F(e), r, -1, e.gclass.gclass_flag & N.gcflag_ignore_unknown_attrs ? 0 : re, e) < 0 && (Ot(`${Ne(e)} json2data() FAILED`), Rt(r));
|
|
494
494
|
}
|
|
495
|
-
function
|
|
496
|
-
if (
|
|
495
|
+
function ie(e, t, r, o, i) {
|
|
496
|
+
if (i & w.gobj_flag_yuno) {
|
|
497
497
|
if (p) return Ot("__yuno__ already created"), null;
|
|
498
|
-
|
|
498
|
+
i |= w.gobj_flag_service;
|
|
499
499
|
} else {
|
|
500
|
-
if (!
|
|
501
|
-
if (!("string" == typeof
|
|
502
|
-
if (Jt(
|
|
500
|
+
if (!o) return Ot("gobj NEEDS a parent!"), null;
|
|
501
|
+
if (!("string" == typeof o || o instanceof O)) return Ot(`BAD TYPE of parent: ${o}`), null;
|
|
502
|
+
if (Jt(o) && !(o = Z(o))) return Nt(`parent service not found: ${o}`), null;
|
|
503
503
|
}
|
|
504
|
-
if (
|
|
505
|
-
if (
|
|
504
|
+
if (i & w.gobj_flag_service && Z(e, !1)) return Ot(`service ALREADY registered: ${t}^${e}`), null;
|
|
505
|
+
if (i & w.gobj_flag_default_service) {
|
|
506
506
|
if (m) return Ot(`default service ALREADY registered: ${t}^${e}`), null;
|
|
507
|
-
|
|
507
|
+
i |= w.gobj_flag_service;
|
|
508
508
|
}
|
|
509
509
|
if (Zt(t)) return Ot("gclass_name must be a string"), null;
|
|
510
510
|
let l = H(t, !1);
|
|
@@ -514,14 +514,14 @@
|
|
|
514
514
|
if (e.includes("`")) return Ot(`gobj_name cannot contain char ': ${t}^${e}`), null;
|
|
515
515
|
if (e.includes("^")) return Ot(`gobj_name cannot contain char ^: ${t}^${e}`), null;
|
|
516
516
|
}
|
|
517
|
-
let _ = new O(e, l, r,
|
|
517
|
+
let _ = new O(e, l, r, o, i);
|
|
518
518
|
_.jn_attrs = P(_, l.attrs_table);
|
|
519
519
|
for (const [e, t] of Object.entries(_.jn_attrs)) e in _.priv && (_.priv[e] = t);
|
|
520
520
|
let a = p && Be(p, "trace_creation");
|
|
521
|
-
return a && L(n("💙💙⏩ creating: %s^%s", l.gclass_name, e)), _.gobj_flag & w.gobj_flag_service && ee(_), _.gobj_flag & w.gobj_flag_yuno && (p = _), _.gobj_flag & w.gobj_flag_default_service && (m = _), _.gobj_flag & w.gobj_flag_yuno || te(
|
|
521
|
+
return a && L(n("💙💙⏩ creating: %s^%s", l.gclass_name, e)), _.gobj_flag & w.gobj_flag_service && ee(_), _.gobj_flag & w.gobj_flag_yuno && (p = _), _.gobj_flag & w.gobj_flag_default_service && (m = _), _.gobj_flag & w.gobj_flag_yuno || te(o, _), _.obflag |= D.obflag_created, _.gclass.instances++, oe(_, 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", we(o), Ne(_))), o.gclass.gmt.mt_child_added(o, _)), a && L(n("💙💙⏪ created: %s", we(_))), _;
|
|
522
522
|
}
|
|
523
523
|
function le(e, t, n, r) {
|
|
524
|
-
return
|
|
524
|
+
return ie(e, t, n, r, w.gobj_flag_pure_child);
|
|
525
525
|
}
|
|
526
526
|
function se(e) {
|
|
527
527
|
if ($e(e)) return void Ot("gobj NULL or DESTROYED");
|
|
@@ -646,59 +646,59 @@
|
|
|
646
646
|
function Le(e, t, n) {
|
|
647
647
|
return Xt(e) ? t ? V(e.gclass, t, n) : e.gclass.attrs_table : (Ot("gobj NULL of bad type"), null);
|
|
648
648
|
}
|
|
649
|
-
function Pe(e, t, n, r,
|
|
650
|
-
return $e(e) ? (Ot("gobj NULL, destroying, or bad type"), 0) : Ce(e.dl_children, t, n, r,
|
|
649
|
+
function Pe(e, t, n, r, o) {
|
|
650
|
+
return $e(e) ? (Ot("gobj NULL, destroying, or bad type"), 0) : Ce(e.dl_children, t, n, r, o);
|
|
651
651
|
}
|
|
652
|
-
function Ue(e, t, n, r,
|
|
653
|
-
return $e(e) ? (Ot("gobj NULL, destroying, or bad type"), 0) : Ge(e.dl_children, t, n, r,
|
|
652
|
+
function Ue(e, t, n, r, o) {
|
|
653
|
+
return $e(e) ? (Ot("gobj NULL, destroying, or bad type"), 0) : Ge(e.dl_children, t, n, r, o);
|
|
654
654
|
}
|
|
655
|
-
function Ce(e, t, n, r,
|
|
656
|
-
let
|
|
655
|
+
function Ce(e, t, n, r, o) {
|
|
656
|
+
let i, l = [...e];
|
|
657
657
|
if (t & k.WALK_LAST2FIRST) for (let e = l.length; e > 0; e--) {
|
|
658
|
-
|
|
659
|
-
let t = n(
|
|
658
|
+
i = l[e - 1];
|
|
659
|
+
let t = n(i, r, o);
|
|
660
660
|
if (t < 0) return t;
|
|
661
661
|
}
|
|
662
662
|
else for (let e = 0; e < l.length; e++) {
|
|
663
|
-
|
|
664
|
-
let t = n(
|
|
663
|
+
i = l[e];
|
|
664
|
+
let t = n(i, r, o);
|
|
665
665
|
if (t < 0) return t;
|
|
666
666
|
}
|
|
667
667
|
return 0;
|
|
668
668
|
}
|
|
669
|
-
function Fe(e, t, n, r,
|
|
670
|
-
let
|
|
669
|
+
function Fe(e, t, n, r, o) {
|
|
670
|
+
let i, l = Ce(e, t, n, r, o);
|
|
671
671
|
if (l < 0) return l;
|
|
672
672
|
if (t & k.WALK_LAST2FIRST) {
|
|
673
|
-
for (let s = e.length; s > 0; s--) if (
|
|
674
|
-
} else for (let s = 0; s < e.length; s++) if (
|
|
673
|
+
for (let s = e.length; s > 0; s--) if (i = e[s - 1], l = Fe([...i.dl_children], t, n, r, o), l < 0) return l;
|
|
674
|
+
} else for (let s = 0; s < e.length; s++) if (i = e[s], l = Fe([...i.dl_children], t, n, r, o), l < 0) return l;
|
|
675
675
|
return l;
|
|
676
676
|
}
|
|
677
|
-
function Ge(e, t, n, r,
|
|
678
|
-
if (t & k.WALK_BYLEVEL) return Fe(e, t, n, r,
|
|
679
|
-
let
|
|
677
|
+
function Ge(e, t, n, r, o) {
|
|
678
|
+
if (t & k.WALK_BYLEVEL) return Fe(e, t, n, r, o);
|
|
679
|
+
let i, l;
|
|
680
680
|
if (t & k.WALK_BOTTOM2TOP) for (let s = e.length; s > 0; s--) {
|
|
681
|
-
if (l = e[s - 1],
|
|
682
|
-
if (
|
|
681
|
+
if (l = e[s - 1], i = Ge([...l.dl_children], t, n, r, o), i < 0) return i;
|
|
682
|
+
if (i = n(l, r, o), i < 0) return i;
|
|
683
683
|
}
|
|
684
684
|
else for (let s = 0; s < e.length; s++) {
|
|
685
|
-
if (l = e[s],
|
|
686
|
-
if (0 ===
|
|
685
|
+
if (l = e[s], i = n(l, r, o), i < 0) return i;
|
|
686
|
+
if (0 === i && (i = Ge([...l.dl_children], t, n, r, o), i < 0)) return i;
|
|
687
687
|
}
|
|
688
688
|
return 0;
|
|
689
689
|
}
|
|
690
690
|
function Ve(e, t) {
|
|
691
691
|
if (!Xt(e)) return Ot("gobj NULL of bad type"), !1;
|
|
692
|
-
let n = t.__gclass_name__, r = t.__gobj_name__,
|
|
692
|
+
let n = t.__gclass_name__, r = t.__gobj_name__, o = t.__prefix_gobj_name__;
|
|
693
693
|
t.__disabled__;
|
|
694
|
-
let
|
|
694
|
+
let i = t.__state__;
|
|
695
695
|
if (n && n !== Oe(e)) return !1;
|
|
696
696
|
if (r && r !== Se(e)) return !1;
|
|
697
|
-
if (
|
|
698
|
-
let t =
|
|
699
|
-
if (
|
|
697
|
+
if (o) {
|
|
698
|
+
let t = o.length;
|
|
699
|
+
if (o !== Se(e).substring(0, t)) return !1;
|
|
700
700
|
}
|
|
701
|
-
if (
|
|
701
|
+
if (i && i !== tt(e)) return !1;
|
|
702
702
|
let l = e.jn_attrs;
|
|
703
703
|
for (const n of Object.keys(t)) if ("__gclass_name__" !== n && "__gobj_name__" !== n && "__prefix_gobj_name__" !== n && "__disabled__" !== n && "__state__" !== n && Ke(e, n) && l[n] !== t[n]) return !1;
|
|
704
704
|
return !0;
|
|
@@ -716,9 +716,9 @@
|
|
|
716
716
|
if (!t) return null;
|
|
717
717
|
let n = t.split("`");
|
|
718
718
|
if (!function(e, t) {
|
|
719
|
-
let n = t.split("^"), r = null,
|
|
719
|
+
let n = t.split("^"), r = null, o = null;
|
|
720
720
|
if (2 === n.length) {
|
|
721
|
-
if (
|
|
721
|
+
if (o = n[0], r = n[1], o !== Oe(e)) return !1;
|
|
722
722
|
} else {
|
|
723
723
|
if (1 !== n.length) return !1;
|
|
724
724
|
r = n[0];
|
|
@@ -726,10 +726,10 @@
|
|
|
726
726
|
return r === Se(e);
|
|
727
727
|
}(e, n[0])) return null;
|
|
728
728
|
if (1 === n.length) return e;
|
|
729
|
-
let r = n[1].split("^"),
|
|
730
|
-
1 === r.length ?
|
|
731
|
-
let
|
|
732
|
-
return
|
|
729
|
+
let r = n[1].split("^"), o = {};
|
|
730
|
+
1 === r.length ? o.__gobj_name__ = r : (o.__gclass_name__ = r[0], o.__gobj_name__ = r[1]);
|
|
731
|
+
let i = We(e, o);
|
|
732
|
+
return i ? (n.splice(0, 1), n = n.join("`"), Me(i, n)) : null;
|
|
733
733
|
}
|
|
734
734
|
function Ke(e, t) {
|
|
735
735
|
return !Zt(t) && !!V(e.gclass, t, !1);
|
|
@@ -743,12 +743,12 @@
|
|
|
743
743
|
return Ot(`${Ne(e)}: GClass Attribute NOT FOUND, attr ${t}`), null;
|
|
744
744
|
}
|
|
745
745
|
function Ye(e, t, n) {
|
|
746
|
-
let r = {},
|
|
747
|
-
for (let n = 0; n <
|
|
748
|
-
const
|
|
749
|
-
if (
|
|
750
|
-
let t
|
|
751
|
-
Ct(r,
|
|
746
|
+
let r = {}, o = e.gclass.attrs_table;
|
|
747
|
+
for (let n = 0; n < o.length; n++) {
|
|
748
|
+
const i = o[n];
|
|
749
|
+
if (i.name && (-1 === t || i.flag & t)) {
|
|
750
|
+
let t;
|
|
751
|
+
!e.gclass.gmt.mt_reading || e.obflag & D.obflag_destroyed ? t = Pt(e.jn_attrs, i.name) : (t = e.gclass.gmt.mt_reading(e, i.name), void 0 === t && (t = Pt(e.jn_attrs, i.name))), Ct(r, i.name, t);
|
|
752
752
|
}
|
|
753
753
|
}
|
|
754
754
|
return r;
|
|
@@ -778,12 +778,12 @@
|
|
|
778
778
|
return n ? !e.gclass.gmt.mt_reading || e.obflag & D.obflag_destroyed ? Pt(n, t) : e.gclass.gmt.mt_reading(e, t) : (Ot(`${Ne(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
|
|
779
779
|
}
|
|
780
780
|
function qe(e, t, n, r) {
|
|
781
|
-
let
|
|
781
|
+
let o = F(e), i = 0;
|
|
782
782
|
for (const [r, l] of Object.entries(t)) {
|
|
783
783
|
let t = Le(e, r, !0);
|
|
784
|
-
t && (-1 === n || t.flag & n) && (
|
|
784
|
+
t && (-1 === n || t.flag & n) && (i += C(e, o, t, l));
|
|
785
785
|
}
|
|
786
|
-
return
|
|
786
|
+
return i;
|
|
787
787
|
}
|
|
788
788
|
function He(e, t, n) {
|
|
789
789
|
let r = G(e, t, !1);
|
|
@@ -804,7 +804,7 @@
|
|
|
804
804
|
return n ? (e.last_state = e.current_state, e.current_state = n, !0) : (Ot(`${Ne(e)}: state unknown, state ${t}`), !1);
|
|
805
805
|
}
|
|
806
806
|
function tt(e) {
|
|
807
|
-
return
|
|
807
|
+
return Xt(e) ? e.current_state.state_name : (Ot("hgobj NULL"), "");
|
|
808
808
|
}
|
|
809
809
|
function nt(e, t, n) {
|
|
810
810
|
if (!Xt(e)) return Ot("gobj NULL of bad type"), null;
|
|
@@ -823,27 +823,27 @@
|
|
|
823
823
|
let r = nt(e, t, !1);
|
|
824
824
|
return !!r && !(n && !(r.event_flag & n));
|
|
825
825
|
}
|
|
826
|
-
function
|
|
826
|
+
function ot(e, t, n) {
|
|
827
827
|
let r = nt(e, t, !1);
|
|
828
828
|
return !!r && !(n && !(r.event_flag & n)) && !!(r.event_flag & R.EVF_OUTPUT_EVENT);
|
|
829
829
|
}
|
|
830
|
-
function
|
|
830
|
+
function it(e, t, r, o) {
|
|
831
831
|
if (!(e && e instanceof O)) return Ot("gobj dst NULL"), -1;
|
|
832
832
|
if (e.obflag & (D.obflag_destroyed | D.obflag_destroying)) return Ot("gobj dst DESTROYED"), -1;
|
|
833
|
-
let
|
|
834
|
-
if (!
|
|
833
|
+
let i = e.current_state;
|
|
834
|
+
if (!i) return Ot(`${Ne(e)}: current_state NULL`), -1;
|
|
835
835
|
let l = 0;
|
|
836
|
-
l = p && Je(p, "tracing"), "C_TIMER" === Oe(
|
|
837
|
-
let s = x(
|
|
838
|
-
if (!s) return e.gclass.gmt.mt_inject_event ? (h--, l && (L(n("🔃 mach(%s%s), st: %s, ev: %s, from(%s%s)", e.running ? "" : "!!", Ne(e),
|
|
836
|
+
l = p && Je(p, "tracing"), "C_TIMER" === Oe(o) && (l = p && Je(p, "trace_timer")), h++;
|
|
837
|
+
let s = x(i, t);
|
|
838
|
+
if (!s) return e.gclass.gmt.mt_inject_event ? (h--, l && (L(n("🔃 mach(%s%s), st: %s, ev: %s, from(%s%s)", e.running ? "" : "!!", Ne(e), i.state_name, t || "", o && !o.running ? "!!" : "", Ne(o))), r && l > 1 && Mt(r) && Rt(r)), e.gclass.gmt.mt_inject_event(e, t, r, o)) : (l && L(n("📛 mach(%s%s^%s), st: %s, ev: %s, 📛📛ERROR Event NOT DEFINED in state📛📛, from(%s%s^%s)", e.running ? "" : "!!", Oe(e), Se(e), i.state_name, t || "", o && !o.running ? "!!" : "", Oe(o), Se(o))), Ot(`📛📛 Event NOT DEFINED in state 📛📛: ${Ne(e)}, ${i.state_name}, ${t}`), h--, -1);
|
|
839
839
|
if (l) {
|
|
840
840
|
let _ = "";
|
|
841
|
-
s.action && (_ = Mn(s.action)), L(n("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Oe(e), Se(e),
|
|
841
|
+
s.action && (_ = Mn(s.action)), L(n("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Oe(e), Se(e), i.state_name, "", t || "", "", _, o && !o.running ? "!!" : "", Oe(o), Se(o))), r && l > 1 && Mt(r) && Rt(r);
|
|
842
842
|
}
|
|
843
843
|
s.next_state && et(e, s.next_state);
|
|
844
844
|
let _ = -1;
|
|
845
845
|
try {
|
|
846
|
-
s.action && (_ = s.action(e, t, r,
|
|
846
|
+
s.action && (_ = s.action(e, t, r, o));
|
|
847
847
|
} finally {}
|
|
848
848
|
return !l || e.obflag & D.obflag_destroyed || L(n("<- mach(%s%s^%s), st: %s, ev: %s, ret: %d", e.running ? "" : "!!", Oe(e), Se(e), e.current_state.state_name, t || "", zt(_) ? _ : 0)), h--, _;
|
|
849
849
|
}
|
|
@@ -863,11 +863,11 @@
|
|
|
863
863
|
j(E.DTP_STRING, "__service__", 0, "", "subscription service"),
|
|
864
864
|
v()
|
|
865
865
|
];
|
|
866
|
-
function _t(e, t, n, r,
|
|
867
|
-
let
|
|
868
|
-
if (t && t !== fn(null, e, "publisher", null) && (a = !1),
|
|
866
|
+
function _t(e, t, n, r, o) {
|
|
867
|
+
let i = gn(t, r, "__config__", null), l = gn(t, r, "__global__", null), s = gn(t, r, "__local__", null), _ = dn(t, r, "__filter__", null), a = !0;
|
|
868
|
+
if (t && t !== fn(null, e, "publisher", null) && (a = !1), o && o !== fn(null, e, "subscriber", null) && (a = !1), n && n !== cn(null, e, "event", "") && (a = !1), xt(i) > 0) {
|
|
869
869
|
let t = gn(null, e, "__config__", null);
|
|
870
|
-
xt(t) > 0 && $t(t,
|
|
870
|
+
xt(t) > 0 && $t(t, i) || (a = !1);
|
|
871
871
|
}
|
|
872
872
|
if (xt(l) > 0) {
|
|
873
873
|
let t = gn(null, e, "__global__", null);
|
|
@@ -883,29 +883,29 @@
|
|
|
883
883
|
}
|
|
884
884
|
return a;
|
|
885
885
|
}
|
|
886
|
-
function at(e, t, n, r,
|
|
887
|
-
let
|
|
886
|
+
function at(e, t, n, r, o) {
|
|
887
|
+
let i = [];
|
|
888
888
|
for (let l = 0; l < e.length; l++) {
|
|
889
889
|
let s = e[l];
|
|
890
|
-
_t(s, t, n, r,
|
|
890
|
+
_t(s, t, n, r, o) && Gt(i, s);
|
|
891
891
|
}
|
|
892
|
-
return
|
|
892
|
+
return i;
|
|
893
893
|
}
|
|
894
|
-
function ut(e, t, n, r,
|
|
895
|
-
for (let
|
|
894
|
+
function ut(e, t, n, r, o) {
|
|
895
|
+
for (let i = 0; i < e.length; i++) if (_t(e[i], t, n, r, o)) return i;
|
|
896
896
|
return -1;
|
|
897
897
|
}
|
|
898
|
-
function ct(e, t, r,
|
|
899
|
-
let
|
|
898
|
+
function ct(e, t, r, o) {
|
|
899
|
+
let i = fn(e, t, "publisher", null, mt.KW_REQUIRED), l = fn(e, t, "subscriber", null, mt.KW_REQUIRED), s = cn(e, t, "event", "", mt.KW_REQUIRED);
|
|
900
900
|
if (!!(un(e, t, "subs_flag", null, mt.KW_REQUIRED) & lt.__hard_subscription__) && !r) return -1;
|
|
901
|
-
p && Be(p, "trace_subscriptions") && (L(n("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s'", s || "", Ne(
|
|
902
|
-
let _ = ut(
|
|
903
|
-
return _ >= 0 ? Wt(
|
|
901
|
+
p && Be(p, "trace_subscriptions") && (L(n("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s'", s || "", Ne(i), Ne(l))), Rt(t)), i.obflag & D.obflag_destroyed || o || i.gclass.gmt.mt_subscription_deleted && i.gclass.gmt.mt_subscription_deleted(i, t);
|
|
902
|
+
let _ = ut(i.dl_subscriptions, i, s, t, l);
|
|
903
|
+
return _ >= 0 ? Wt(i.dl_subscriptions, _) : (Ot(`${Ne(e)}: subscription in publisher not found`), Rt(t)), _ = ut(l.dl_subscribings, i, s, t, l), _ >= 0 ? Wt(l.dl_subscribings, _) : (Ot(`${Ne(e)}: subscription in subscriber not found`), Rt(t)), 0;
|
|
904
904
|
}
|
|
905
|
-
function ft(e, t, r,
|
|
905
|
+
function ft(e, t, r, o) {
|
|
906
906
|
if (null == r && (r = {}), !e) return Ot(`publisher NULL: ev ${t}`), 0;
|
|
907
|
-
if (!
|
|
908
|
-
const
|
|
907
|
+
if (!o) return Ot(`subscriber NULL: ev ${t}`), 0;
|
|
908
|
+
const i = new Set([
|
|
909
909
|
"__config__",
|
|
910
910
|
"__global__",
|
|
911
911
|
"__local__",
|
|
@@ -913,33 +913,33 @@
|
|
|
913
913
|
"__service__"
|
|
914
914
|
]);
|
|
915
915
|
if (Object.keys(r).forEach((n) => {
|
|
916
|
-
|
|
916
|
+
i.has(n) || Ot(`${Ne(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
|
|
917
917
|
}), Zt(t)) t = "";
|
|
918
|
-
else if (!(
|
|
919
|
-
let l = at(e.dl_subscriptions, e, t, r,
|
|
918
|
+
else if (!(ot(e, t, R.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & N.gcflag_no_check_output_events)) return Ot(`event NOT in output event list: ${Ne(e)}, ${t}`), 0;
|
|
919
|
+
let l = at(e.dl_subscriptions, e, t, r, o);
|
|
920
920
|
Kt(l) > 0 && (Ot(`${Ne(e)}: ${Kt(l)} subscription(s) REPEATED, will be deleted and override`), Rt(l, "subscription REPEATED"), gt(e, l, !1));
|
|
921
921
|
let s = function(e, t, n, r) {
|
|
922
|
-
let
|
|
923
|
-
Ft(
|
|
924
|
-
let
|
|
922
|
+
let o = P(e, st);
|
|
923
|
+
Ft(o, "event", t), Ft(o, "subscriber", r), Ft(o, "publisher", e);
|
|
924
|
+
let i = 0;
|
|
925
925
|
if (n) {
|
|
926
926
|
let t = gn(e, n, "__config__", null), r = gn(e, n, "__global__", null), l = gn(e, n, "__local__", null), s = dn(e, n, "__filter__", null), _ = cn(e, n, "__service__", "");
|
|
927
|
-
if (xt(r) > 0 && Ft(
|
|
927
|
+
if (xt(r) > 0 && Ft(o, "__global__", kt(r)), xt(t) > 0) {
|
|
928
928
|
let n = kt(t);
|
|
929
|
-
if (Ft(
|
|
929
|
+
if (Ft(o, "__config__", n), ln(n, "__hard_subscription__")) {
|
|
930
930
|
let t = an(e, n, "__hard_subscription__", !1);
|
|
931
|
-
Ut(n, "__hard_subscription__"), t && (
|
|
931
|
+
Ut(n, "__hard_subscription__"), t && (i |= lt.__hard_subscription__);
|
|
932
932
|
}
|
|
933
933
|
if (ln(n, "__own_event__")) {
|
|
934
934
|
let t = an(e, n, "__own_event__", !1);
|
|
935
|
-
Ut(n, "__own_event__"), t && (
|
|
935
|
+
Ut(n, "__own_event__"), t && (i |= lt.__own_event__);
|
|
936
936
|
}
|
|
937
937
|
}
|
|
938
|
-
xt(l) > 0 && Ft(
|
|
938
|
+
xt(l) > 0 && Ft(o, "__local__", kt(l)), xt(s) > 0 && Ft(o, "__filter__", kt(s)), Zt(_) || Ft(o, "__service__", _);
|
|
939
939
|
}
|
|
940
|
-
return Ft(
|
|
941
|
-
}(e, t, r,
|
|
942
|
-
return s ? (Gt(e.dl_subscriptions, s), Gt(
|
|
940
|
+
return Ft(o, "subs_flag", i), o;
|
|
941
|
+
}(e, t, r, o);
|
|
942
|
+
return s ? (Gt(e.dl_subscriptions, s), Gt(o.dl_subscribings, s), p && Be(p, "trace_subscriptions") && (L(n("💜💜👍 subscribing event '%s', publisher '%s', subscriber %s", t || "", Ne(e), Ne(o))), r && Rt(r)), e.gclass.gmt.mt_subscription_added && e.gclass.gmt.mt_subscription_added(e, s) < 0 && (ct(e, s, !0, !0), s = 0), s) : (Ot(`${Ne(e)}: _create_subscription() FAILED`), 0);
|
|
943
943
|
}
|
|
944
944
|
function gt(e, t, n) {
|
|
945
945
|
let r = [...t];
|
|
@@ -955,16 +955,16 @@
|
|
|
955
955
|
function pt(e, t, r) {
|
|
956
956
|
if (Yt(r) || (r = {}), !e || e.obflag & (D.obflag_destroyed | D.obflag_destroying)) return Ot("gobj NULL or DESTROYED"), -1;
|
|
957
957
|
if (Zt(t)) return Ot(`${Ne(e)}: event EMPTY`), -1;
|
|
958
|
-
let
|
|
959
|
-
if (!(
|
|
960
|
-
let
|
|
961
|
-
if (
|
|
958
|
+
let o = nt(e, t, !0);
|
|
959
|
+
if (!(o && o.event_flag & (R.EVF_SYSTEM_EVENT | R.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & N.gcflag_no_check_output_events)) return Ot(`event NOT in output event list: ${Ne(e)}, ev ${t}`), -1;
|
|
960
|
+
let i = p && Be(p, "trace_subscriptions");
|
|
961
|
+
if (i && (L(n("🔝🔝 mach(%s%s^%s), st: %s, ev: %s%s%s", e.running ? "" : "!!", Oe(e), Se(e), e.current_state.state_name, "", t || "", "")), Rt(r)), e.gclass.gmt.mt_publish_event) {
|
|
962
962
|
let n = e.gclass.gmt.mt_publish_event(e, t, r);
|
|
963
963
|
if (n <= 0) return n;
|
|
964
964
|
}
|
|
965
965
|
let l = [...e.dl_subscriptions], s = 0, _ = 0;
|
|
966
|
-
for (let
|
|
967
|
-
let a = l[
|
|
966
|
+
for (let o = 0; o < l.length; o++) {
|
|
967
|
+
let a = l[o];
|
|
968
968
|
if (e.gclass.gmt.mt_publication_pre_filter) {
|
|
969
969
|
let n = e.gclass.gmt.mt_publication_pre_filter(e, a, t, r);
|
|
970
970
|
if (n < 0) break;
|
|
@@ -975,13 +975,13 @@
|
|
|
975
975
|
let c = un(e, a, "subs_flag", 0, mt.KW_REQUIRED), f = cn(e, a, "event", "", mt.KW_REQUIRED);
|
|
976
976
|
if (Zt(f) || 0 === nn(f, t)) {
|
|
977
977
|
gn(e, a, "__config__", null, 0);
|
|
978
|
-
let
|
|
979
|
-
if (e.gclass.gmt.mt_publication_filter ? d = e.gclass.gmt.mt_publication_filter(e, t, g, u) : xt(f) > 0 && (d = hn(g, f),
|
|
978
|
+
let o = gn(e, a, "__global__", null, 0), l = gn(e, a, "__local__", null, 0), f = dn(e, a, "__filter__", null, 0), g = r, d = 1;
|
|
979
|
+
if (e.gclass.gmt.mt_publication_filter ? d = e.gclass.gmt.mt_publication_filter(e, t, g, u) : xt(f) > 0 && (d = hn(g, f), i && (L(n("💜💜🔄%s publishing with filter, event '%s', subscriber'%s', publisher %s", d ? "👍" : "👎", t || "", Ne(u), Ne(e))), Rt(f))), d < 0) break;
|
|
980
980
|
if (0 === d) continue;
|
|
981
981
|
let b = nt(u, t, !0);
|
|
982
982
|
if (b && b.event_flag & R.EVF_SYSTEM_EVENT && !rt(u, b.event_name, 0)) continue;
|
|
983
|
-
l && on(g, l),
|
|
984
|
-
let p =
|
|
983
|
+
l && on(g, l), o && At(g, o), i && (L(n("🔝🔄 mach(%s%s), st: %s, ev: %s, from(%s%s)", u.running ? "" : "!!", Ne(u), tt(u), t || "", e && !e.running ? "!!" : "", Ne(e))), Rt(g));
|
|
984
|
+
let p = it(u, t, g, e);
|
|
985
985
|
if (p < 0 && c & lt.__own_event__) {
|
|
986
986
|
s = -1;
|
|
987
987
|
break;
|
|
@@ -989,7 +989,7 @@
|
|
|
989
989
|
if (_ += p, s++, $e(e)) break;
|
|
990
990
|
}
|
|
991
991
|
}
|
|
992
|
-
return s ||
|
|
992
|
+
return s || o && o.event_flag & R.EVF_NO_WARN_SUBS || Nt(`${Ne(e)}: Publish event WITHOUT subscribers, ev ${t}`), _;
|
|
993
993
|
}
|
|
994
994
|
var mt = Object.freeze({
|
|
995
995
|
KW_REQUIRED: 1,
|
|
@@ -1030,8 +1030,8 @@
|
|
|
1030
1030
|
default: return e;
|
|
1031
1031
|
}
|
|
1032
1032
|
});
|
|
1033
|
-
const
|
|
1034
|
-
|
|
1033
|
+
const o = t.slice(r).map((e) => "object" == typeof e ? JSON.stringify(e) : String(e));
|
|
1034
|
+
o.length > 0 && (n += " " + o.join(" "));
|
|
1035
1035
|
} else n = t.map((e) => "object" == typeof e ? JSON.stringify(e) : String(e)).join(" ");
|
|
1036
1036
|
return n;
|
|
1037
1037
|
}
|
|
@@ -1070,9 +1070,9 @@
|
|
|
1070
1070
|
if ("object" == typeof e) {
|
|
1071
1071
|
let n = Object.keys(e).sort(), r = Object.keys(t).sort();
|
|
1072
1072
|
if (n.length !== r.length) return !1;
|
|
1073
|
-
for (let
|
|
1074
|
-
if (n[
|
|
1075
|
-
if (!$t(e[n[
|
|
1073
|
+
for (let o = 0; o < n.length; o++) {
|
|
1074
|
+
if (n[o] !== r[o]) return !1;
|
|
1075
|
+
if (!$t(e[n[o]], t[r[o]])) return !1;
|
|
1076
1076
|
}
|
|
1077
1077
|
return !0;
|
|
1078
1078
|
}
|
|
@@ -1183,177 +1183,177 @@
|
|
|
1183
1183
|
function sn(e, t, n, r) {
|
|
1184
1184
|
if (e && !Xt(e) && Ot("GObj bad instanceof"), !Yt(t) && !Bt(t)) return Ot(`${Ne(e)}: kw must be list or dict`), 0;
|
|
1185
1185
|
if (!Jt(n)) return Ot(`${Ne(e)}: path must be a string: ${String(n)}`), 0;
|
|
1186
|
-
let
|
|
1187
|
-
if (
|
|
1188
|
-
let
|
|
1189
|
-
for (let l = 0; l <
|
|
1186
|
+
let o = n.split("`");
|
|
1187
|
+
if (o.length <= 1) return t[n];
|
|
1188
|
+
let i = o.length;
|
|
1189
|
+
for (let l = 0; l < i; l++) if (void 0 === (t = t[o[l]])) return void (r && Ot(`${Ne(e)}: path not found: ${String(n)}`));
|
|
1190
1190
|
return t;
|
|
1191
1191
|
}
|
|
1192
1192
|
function _n(e, t, n) {
|
|
1193
1193
|
e && !Xt(e) && Ot("GObj bad instanceof");
|
|
1194
|
-
let [r,
|
|
1194
|
+
let [r, o] = function(e, t) {
|
|
1195
1195
|
let n = e.lastIndexOf(t);
|
|
1196
1196
|
return -1 === n ? [e, ""] : [e.substring(0, n), e.substring(n + 1)];
|
|
1197
1197
|
}(n, "`");
|
|
1198
|
-
return Zt(
|
|
1198
|
+
return Zt(o) ? Ut(t, n) : Ut(sn(e, t, r, !0), o), 0;
|
|
1199
1199
|
}
|
|
1200
|
-
function an(e, t, n, r,
|
|
1200
|
+
function an(e, t, n, r, o) {
|
|
1201
1201
|
e && !Xt(e) && Ot("GObj bad instanceof");
|
|
1202
|
-
let
|
|
1203
|
-
const l =
|
|
1204
|
-
if (void 0 ===
|
|
1202
|
+
let i = sn(e, t, n, !1);
|
|
1203
|
+
const l = o && o & mt.KW_REQUIRED, s = o && o & mt.KW_CREATE, _ = o && o & mt.KW_EXTRACT;
|
|
1204
|
+
if (void 0 === i) {
|
|
1205
1205
|
if (s) {
|
|
1206
|
-
let
|
|
1207
|
-
return bn(e, t, n,
|
|
1206
|
+
let o = Boolean(r);
|
|
1207
|
+
return bn(e, t, n, o), o;
|
|
1208
1208
|
}
|
|
1209
1209
|
return l && (Ot(`path not found: '${n}'`), Rt(t)), Boolean(r);
|
|
1210
1210
|
}
|
|
1211
|
-
return _ && _n(e, t, n), Boolean(
|
|
1211
|
+
return _ && _n(e, t, n), Boolean(i);
|
|
1212
1212
|
}
|
|
1213
|
-
function un(e, t, n, r,
|
|
1213
|
+
function un(e, t, n, r, o) {
|
|
1214
1214
|
e && !Xt(e) && Ot("GObj bad instanceof");
|
|
1215
|
-
let
|
|
1216
|
-
const l =
|
|
1217
|
-
if (void 0 ===
|
|
1215
|
+
let i = sn(e, t, n, !1);
|
|
1216
|
+
const l = o && o & mt.KW_REQUIRED, s = o && o & mt.KW_CREATE, _ = o && o & mt.KW_EXTRACT;
|
|
1217
|
+
if (void 0 === i) {
|
|
1218
1218
|
if (s) {
|
|
1219
|
-
let
|
|
1220
|
-
return bn(e, t, n,
|
|
1219
|
+
let o = parseInt(r);
|
|
1220
|
+
return bn(e, t, n, o), o;
|
|
1221
1221
|
}
|
|
1222
1222
|
return l && (Ot(`path not found: '${n}'`), Rt(t)), parseInt(r);
|
|
1223
1223
|
}
|
|
1224
|
-
return _ && _n(e, t, n), zt(
|
|
1224
|
+
return _ && _n(e, t, n), zt(i) ? parseInt(i) : (l && (Ot(`path value MUST BE a number: ${n}`), Dt(t)), parseInt(r));
|
|
1225
1225
|
}
|
|
1226
|
-
function cn(e, t, n, r,
|
|
1226
|
+
function cn(e, t, n, r, o) {
|
|
1227
1227
|
e && !Xt(e) && Ot("GObj bad instanceof");
|
|
1228
|
-
let
|
|
1229
|
-
const l =
|
|
1230
|
-
if (void 0 ===
|
|
1228
|
+
let i = sn(e, t, n, !1);
|
|
1229
|
+
const l = o && o & mt.KW_REQUIRED, s = o && o & mt.KW_CREATE, _ = o && o & mt.KW_EXTRACT;
|
|
1230
|
+
if (void 0 === i) {
|
|
1231
1231
|
if (s) {
|
|
1232
|
-
let
|
|
1233
|
-
return bn(e, t, n,
|
|
1232
|
+
let o = String(r);
|
|
1233
|
+
return bn(e, t, n, o), o;
|
|
1234
1234
|
}
|
|
1235
1235
|
return l && (Ot(`path not found: '${n}'`), Rt(t)), String(r);
|
|
1236
1236
|
}
|
|
1237
|
-
return _ && _n(e, t, n), Jt(
|
|
1237
|
+
return _ && _n(e, t, n), Jt(i) ? String(i) : (l && (Ot(`${Ne(e)}: path value MUST BE a string: ${n}`), Dt(t)), String(r));
|
|
1238
1238
|
}
|
|
1239
|
-
function fn(e, t, n, r,
|
|
1239
|
+
function fn(e, t, n, r, o) {
|
|
1240
1240
|
e && !Xt(e) && Ot("GObj bad instanceof");
|
|
1241
|
-
let
|
|
1242
|
-
const l =
|
|
1243
|
-
if (void 0 ===
|
|
1241
|
+
let i = sn(e, t, n, !1);
|
|
1242
|
+
const l = o && o & mt.KW_REQUIRED, s = o && o & mt.KW_CREATE, _ = o && o & mt.KW_EXTRACT;
|
|
1243
|
+
if (void 0 === i) {
|
|
1244
1244
|
if (s) {
|
|
1245
|
-
let
|
|
1246
|
-
return bn(e, t, n,
|
|
1245
|
+
let o = r;
|
|
1246
|
+
return bn(e, t, n, o), o;
|
|
1247
1247
|
}
|
|
1248
1248
|
return l && (Ot(`path not found: '${n}'`), Rt(t)), r;
|
|
1249
1249
|
}
|
|
1250
|
-
return _ && _n(e, t, n),
|
|
1250
|
+
return _ && _n(e, t, n), i;
|
|
1251
1251
|
}
|
|
1252
|
-
function gn(e, t, n, r,
|
|
1252
|
+
function gn(e, t, n, r, o) {
|
|
1253
1253
|
e && !Xt(e) && Ot("GObj bad instanceof");
|
|
1254
|
-
let
|
|
1255
|
-
const l =
|
|
1256
|
-
if (void 0 ===
|
|
1254
|
+
let i = sn(e, t, n, !1);
|
|
1255
|
+
const l = o && o & mt.KW_REQUIRED, s = o && o & mt.KW_CREATE, _ = o && o & mt.KW_EXTRACT;
|
|
1256
|
+
if (void 0 === i) {
|
|
1257
1257
|
if (s) {
|
|
1258
|
-
let
|
|
1259
|
-
return bn(e, t, n,
|
|
1258
|
+
let o = Object(r);
|
|
1259
|
+
return bn(e, t, n, o), o;
|
|
1260
1260
|
}
|
|
1261
1261
|
return l && (Ot(`path not found: '${n}'`), Rt(t)), Object(r);
|
|
1262
1262
|
}
|
|
1263
|
-
return _ && _n(e, t, n), Yt(
|
|
1263
|
+
return _ && _n(e, t, n), Yt(i) ? Object(i) : (l && (Ot(`path value MUST BE a dict: ${n}`), Dt(t)), Object(r));
|
|
1264
1264
|
}
|
|
1265
|
-
function dn(e, t, n, r,
|
|
1265
|
+
function dn(e, t, n, r, o) {
|
|
1266
1266
|
e && !Xt(e) && Ot("GObj bad instanceof");
|
|
1267
|
-
let
|
|
1268
|
-
const l =
|
|
1269
|
-
if (void 0 ===
|
|
1267
|
+
let i = sn(e, t, n, !1);
|
|
1268
|
+
const l = o && o & mt.KW_REQUIRED, s = o && o & mt.KW_CREATE, _ = o && o & mt.KW_EXTRACT;
|
|
1269
|
+
if (void 0 === i) {
|
|
1270
1270
|
if (s) {
|
|
1271
|
-
let
|
|
1272
|
-
return bn(e, t, n,
|
|
1271
|
+
let o = r;
|
|
1272
|
+
return bn(e, t, n, o), o;
|
|
1273
1273
|
}
|
|
1274
1274
|
return l && (Ot(`path not found: '${n}'`), Rt(t)), r;
|
|
1275
1275
|
}
|
|
1276
|
-
return _ && _n(e, t, n),
|
|
1276
|
+
return _ && _n(e, t, n), i;
|
|
1277
1277
|
}
|
|
1278
1278
|
function bn(e, t, n, r) {
|
|
1279
1279
|
if (e && !Xt(e) && Ot("GObj bad instanceof"), !Yt(t)) return Ot("kw is not an object"), -1;
|
|
1280
|
-
let
|
|
1281
|
-
if (
|
|
1282
|
-
let
|
|
1283
|
-
for (let e = 0; e <
|
|
1284
|
-
let n =
|
|
1285
|
-
e ===
|
|
1280
|
+
let o = n.split("`");
|
|
1281
|
+
if (o.length <= 1) return t[n] = r, 0;
|
|
1282
|
+
let i = o.length;
|
|
1283
|
+
for (let e = 0; e < i; e++) {
|
|
1284
|
+
let n = o[e];
|
|
1285
|
+
e === i - 1 ? t[n] = r : (void 0 === t[n] && (t[n] = {}), t = t[n]);
|
|
1286
1286
|
}
|
|
1287
1287
|
return 0;
|
|
1288
1288
|
}
|
|
1289
|
-
function pn(e, t, n, r,
|
|
1289
|
+
function pn(e, t, n, r, o) {
|
|
1290
1290
|
if (e && !Xt(e) && Ot("GObj bad instanceof"), !Yt(t)) return Ot("kw is not an object"), -1;
|
|
1291
|
-
let
|
|
1292
|
-
return Yt(
|
|
1291
|
+
let i = gn(e, t, n, {}, !0);
|
|
1292
|
+
return Yt(i) ? (i[r] = o, 0) : (Ot("subdict is not an object"), -1);
|
|
1293
1293
|
}
|
|
1294
1294
|
function mn(e, t, r) {
|
|
1295
|
-
let
|
|
1295
|
+
let o = "", i = !1;
|
|
1296
1296
|
if (Bt(t)) {
|
|
1297
|
-
|
|
1297
|
+
i = !1;
|
|
1298
1298
|
for (let l = 0; l < t.length; l++) {
|
|
1299
1299
|
let s = t[l];
|
|
1300
|
-
if (
|
|
1300
|
+
if (o = Zt(r) ? n("%s", r) : n("%s`%d", r, l), i = mn(e, s, o), i) break;
|
|
1301
1301
|
}
|
|
1302
1302
|
} else if (Yt(t)) {
|
|
1303
|
-
|
|
1303
|
+
i = !0;
|
|
1304
1304
|
let l = Object.keys(t);
|
|
1305
1305
|
for (let s = 0; s < l.length; s++) {
|
|
1306
1306
|
let _ = l[s], a = t[_];
|
|
1307
|
-
if (
|
|
1308
|
-
if (
|
|
1307
|
+
if (o = Zt(r) ? n("%s", _) : n("%s`%s", r, _), Bt(a) || Yt(a)) {
|
|
1308
|
+
if (i = mn(e, a, o), !i) break;
|
|
1309
1309
|
continue;
|
|
1310
1310
|
}
|
|
1311
|
-
let u = dn(0, e,
|
|
1312
|
-
if (u || (u = Pt(e,
|
|
1313
|
-
|
|
1311
|
+
let u = dn(0, e, o, 0, 0);
|
|
1312
|
+
if (u || (u = Pt(e, o)), !u) {
|
|
1313
|
+
i = !1;
|
|
1314
1314
|
break;
|
|
1315
1315
|
}
|
|
1316
1316
|
if (0 !== rn(u, a)) {
|
|
1317
|
-
|
|
1317
|
+
i = !1;
|
|
1318
1318
|
break;
|
|
1319
1319
|
}
|
|
1320
1320
|
}
|
|
1321
1321
|
}
|
|
1322
|
-
return
|
|
1322
|
+
return i;
|
|
1323
1323
|
}
|
|
1324
1324
|
function hn(e, t) {
|
|
1325
1325
|
return 0 === xt(t) || mn(e, t, "");
|
|
1326
1326
|
}
|
|
1327
1327
|
function En(e, t, n, r) {
|
|
1328
1328
|
e && !Xt(e) && Ot("GObj bad instanceof");
|
|
1329
|
-
let
|
|
1329
|
+
let o = {};
|
|
1330
1330
|
if (Jt(n) && !Zt(n)) {
|
|
1331
|
-
let
|
|
1332
|
-
t.hasOwnProperty(
|
|
1333
|
-
} else if (Yt(n) && Mt(n) > 0) for (let
|
|
1331
|
+
let i = n;
|
|
1332
|
+
t.hasOwnProperty(i) ? o[i] = t[i] : r && Ot(`${Ne(e)}: key not found: ${i}`);
|
|
1333
|
+
} else if (Yt(n) && Mt(n) > 0) for (let i of Object.keys(n)) t.hasOwnProperty(i) ? o[i] = t[i] : r && Ot(`${Ne(e)}: key not found: ${i}`);
|
|
1334
1334
|
else {
|
|
1335
1335
|
if (!(Bt(n) && Kt(n) > 0)) return t;
|
|
1336
|
-
for (let
|
|
1337
|
-
let l = n[
|
|
1338
|
-
t.hasOwnProperty(l) ?
|
|
1336
|
+
for (let i = 0; i < n.length; i++) {
|
|
1337
|
+
let l = n[i];
|
|
1338
|
+
t.hasOwnProperty(l) ? o[l] = t[l] : r && Ot(`${Ne(e)}: key not found: ${l}`);
|
|
1339
1339
|
}
|
|
1340
1340
|
}
|
|
1341
|
-
return
|
|
1341
|
+
return o;
|
|
1342
1342
|
}
|
|
1343
1343
|
function Tn(e, t, n, r) {
|
|
1344
|
-
let
|
|
1345
|
-
if (At(
|
|
1346
|
-
let
|
|
1347
|
-
dn(e, t,
|
|
1348
|
-
} else if (Yt(n) && Mt(n) > 0) for (let
|
|
1344
|
+
let o = {};
|
|
1345
|
+
if (At(o, t), Jt(n) && !Zt(n)) {
|
|
1346
|
+
let i = n;
|
|
1347
|
+
dn(e, t, i, 0, 0) ? Ut(o, i) : r && Ot(`${Ne(e)}: key not found: ${i}`);
|
|
1348
|
+
} else if (Yt(n) && Mt(n) > 0) for (let i of Object.keys(n)) t.hasOwnProperty(i) ? Ut(o, i) : r && Ot(`${Ne(e)}: key not found: ${i}`);
|
|
1349
1349
|
else {
|
|
1350
1350
|
if (!(Bt(n) && Kt(n) > 0)) return {};
|
|
1351
|
-
for (let
|
|
1352
|
-
let l = n[
|
|
1353
|
-
t.hasOwnProperty(l) ? Ut(
|
|
1351
|
+
for (let i = 0; i < n.length; i++) {
|
|
1352
|
+
let l = n[i];
|
|
1353
|
+
t.hasOwnProperty(l) ? Ut(o, l) : r && Ot(`${Ne(e)}: key not found: ${l}`);
|
|
1354
1354
|
}
|
|
1355
1355
|
}
|
|
1356
|
-
return
|
|
1356
|
+
return o;
|
|
1357
1357
|
}
|
|
1358
1358
|
function yn(e, t, n = !1) {
|
|
1359
1359
|
if ("undefined" != typeof window && window.localStorage) try {
|
|
@@ -1390,10 +1390,10 @@
|
|
|
1390
1390
|
} else if (Jt(e) && e === t) return !0;
|
|
1391
1391
|
return !1;
|
|
1392
1392
|
}
|
|
1393
|
-
function On(e, t, n, r,
|
|
1393
|
+
function On(e, t, n, r, o) {
|
|
1394
1394
|
if (e && !Xt(e) && Ot("GObj bad instanceof"), !t) return null;
|
|
1395
|
-
|
|
1396
|
-
let
|
|
1395
|
+
o || (o = hn);
|
|
1396
|
+
let i = [];
|
|
1397
1397
|
if (Bt(t)) for (let l = 0; l < t.length; l++) {
|
|
1398
1398
|
let s, _ = t[l];
|
|
1399
1399
|
if (Yt(_)) s = cn(e, _, "id", "", 0);
|
|
@@ -1401,16 +1401,16 @@
|
|
|
1401
1401
|
if (!Jt(_)) continue;
|
|
1402
1402
|
s = _;
|
|
1403
1403
|
}
|
|
1404
|
-
Sn(n, s) &&
|
|
1404
|
+
Sn(n, s) && o(_, r) && i.push(_);
|
|
1405
1405
|
}
|
|
1406
1406
|
else {
|
|
1407
1407
|
if (!Yt(t)) return Ot("kw_collect() BAD kw parameter"), null;
|
|
1408
1408
|
for (let e of Object.keys(t)) {
|
|
1409
1409
|
let l = t[e];
|
|
1410
|
-
Sn(n, e) &&
|
|
1410
|
+
Sn(n, e) && o(l, r) && i.push(l);
|
|
1411
1411
|
}
|
|
1412
1412
|
}
|
|
1413
|
-
return
|
|
1413
|
+
return i;
|
|
1414
1414
|
}
|
|
1415
1415
|
function Nn(e, t) {
|
|
1416
1416
|
if (!e) return -1;
|
|
@@ -1444,10 +1444,10 @@
|
|
|
1444
1444
|
function kn(e, t, n, r) {
|
|
1445
1445
|
if (!Xt(e)) return Ot("gobj is not a GObj"), null;
|
|
1446
1446
|
if (!t) return;
|
|
1447
|
-
let
|
|
1448
|
-
|
|
1447
|
+
let o = Dn(t, n);
|
|
1448
|
+
o || (o = [], Rn(t, n, o));
|
|
1449
1449
|
try {
|
|
1450
|
-
Bt(
|
|
1450
|
+
Bt(o) && o.unshift(r);
|
|
1451
1451
|
} catch (e) {
|
|
1452
1452
|
Ot(e);
|
|
1453
1453
|
}
|
|
@@ -1455,8 +1455,8 @@
|
|
|
1455
1455
|
function $n(e, t, n, r) {
|
|
1456
1456
|
if (!Xt(e)) return Ot("gobj is not a GObj"), null;
|
|
1457
1457
|
if (!Yt(t)) return Ot("kw is not a dict"), null;
|
|
1458
|
-
let
|
|
1459
|
-
return
|
|
1458
|
+
let o = Dn(t, n);
|
|
1459
|
+
return o ? 0 === o.length ? (r && Ot(`stack empty: ${n}`), null) : o[0] : (r && Ot(`stack NOT FOUND: ${n}`), null);
|
|
1460
1460
|
}
|
|
1461
1461
|
function An(e, t, n) {
|
|
1462
1462
|
return Zt(n) ? _n(e, t, "__md_iev__`__msg_type__") : pn(e, t, "__md_iev__", "__msg_type__", n), 0;
|
|
@@ -1468,25 +1468,25 @@
|
|
|
1468
1468
|
void 0 !== n && Jt(n) || (n = "");
|
|
1469
1469
|
for (let r of Object.keys(e)) {
|
|
1470
1470
|
if (!e.hasOwnProperty(r)) continue;
|
|
1471
|
-
let
|
|
1472
|
-
n +=
|
|
1471
|
+
let o = (n.length ? "`" : "") + r;
|
|
1472
|
+
n += o, t.apply(this, [
|
|
1473
1473
|
e,
|
|
1474
1474
|
r,
|
|
1475
1475
|
e[r],
|
|
1476
1476
|
n
|
|
1477
|
-
]), Yt(e[r]) && Ln(e[r], t, n), n = n.slice(0, -
|
|
1477
|
+
]), Yt(e[r]) && Ln(e[r], t, n), n = n.slice(0, -o.length);
|
|
1478
1478
|
}
|
|
1479
1479
|
}
|
|
1480
1480
|
function Pn(e, t, n, r) {
|
|
1481
1481
|
if (!e) return null;
|
|
1482
|
-
let
|
|
1483
|
-
for (
|
|
1484
|
-
let
|
|
1485
|
-
if (
|
|
1486
|
-
let e =
|
|
1487
|
-
if (e && e === n) return
|
|
1488
|
-
if (r && ln(
|
|
1489
|
-
let e = Pn(
|
|
1482
|
+
let o, i = e.length;
|
|
1483
|
+
for (o = 0; o < i; o++) {
|
|
1484
|
+
let i = e[o];
|
|
1485
|
+
if (i) {
|
|
1486
|
+
let e = i.id;
|
|
1487
|
+
if (e && e === n) return i;
|
|
1488
|
+
if (r && ln(i, t)) {
|
|
1489
|
+
let e = Pn(i[t], t, n, r);
|
|
1490
1490
|
if (e) return e;
|
|
1491
1491
|
}
|
|
1492
1492
|
}
|
|
@@ -1554,10 +1554,10 @@
|
|
|
1554
1554
|
function xn(e, t) {
|
|
1555
1555
|
if (Jt(t)) {
|
|
1556
1556
|
if (-1 === t.indexOf("^")) {
|
|
1557
|
-
let n, r,
|
|
1558
|
-
if (1 !== Mt(
|
|
1559
|
-
for (const e of Object.keys(
|
|
1560
|
-
n = e, r =
|
|
1557
|
+
let n, r, o = e.fkey;
|
|
1558
|
+
if (1 !== Mt(o)) return Ot("bad fkey 1"), Ot(e), Ot(t), null;
|
|
1559
|
+
for (const e of Object.keys(o)) {
|
|
1560
|
+
n = e, r = o[e];
|
|
1561
1561
|
break;
|
|
1562
1562
|
}
|
|
1563
1563
|
return {
|
|
@@ -1681,10 +1681,10 @@
|
|
|
1681
1681
|
timer_id: -1
|
|
1682
1682
|
}, Hn = null;
|
|
1683
1683
|
function Xn(e, t, n, r) {
|
|
1684
|
-
let
|
|
1685
|
-
return ke(e) ?
|
|
1686
|
-
|
|
1687
|
-
},
|
|
1684
|
+
let o = e.priv, i = o.periodic ? "EV_TIMEOUT_PERIODIC" : "EV_TIMEOUT";
|
|
1685
|
+
return ke(e) ? it(De(e), i, {}, e) : pt(e, i, {}), o.periodic && (o.timer_id = setTimeout(function() {
|
|
1686
|
+
it(e, "EV_TIMEOUT", {}, e);
|
|
1687
|
+
}, o.msec)), 0;
|
|
1688
1688
|
}
|
|
1689
1689
|
var Zn = {
|
|
1690
1690
|
mt_create: function(e) {
|
|
@@ -1699,7 +1699,7 @@
|
|
|
1699
1699
|
n.periodic = Be(e, "periodic");
|
|
1700
1700
|
break;
|
|
1701
1701
|
case "msec": n.msec = Je(e, "msec"), -1 !== n.timer_id && (clearTimeout(n.timer_id), n.timer_id = -1), n.msec > 0 && (n.timer_id = setTimeout(function() {
|
|
1702
|
-
|
|
1702
|
+
it(e, "EV_TIMEOUT", {}, e);
|
|
1703
1703
|
}, n.msec));
|
|
1704
1704
|
}
|
|
1705
1705
|
},
|
|
@@ -1746,7 +1746,7 @@
|
|
|
1746
1746
|
j(E.DTP_BOOLEAN, "developer", 0, !1, "Developer mode enabled"),
|
|
1747
1747
|
j(E.DTP_INTEGER, "periodic_timeout", 0, "1000", "Timeout periodic, in miliseconds."),
|
|
1748
1748
|
v()
|
|
1749
|
-
],
|
|
1749
|
+
], or = { gobj_timer: null }, ir = null;
|
|
1750
1750
|
function lr(e, t, n, r) {
|
|
1751
1751
|
return pt(e, t, n), 0;
|
|
1752
1752
|
}
|
|
@@ -1807,25 +1807,25 @@
|
|
|
1807
1807
|
return Ot(`${Ne(e)}: Cannot open WebSocket to '${t}', Error: ${n.message}`), null;
|
|
1808
1808
|
}
|
|
1809
1809
|
return n ? (n.onopen = () => {
|
|
1810
|
-
|
|
1810
|
+
it(e, "EV_ON_OPEN", { url: t }, e);
|
|
1811
1811
|
}, n.onmessage = (n) => {
|
|
1812
|
-
|
|
1812
|
+
it(e, "EV_ON_MESSAGE", {
|
|
1813
1813
|
url: t,
|
|
1814
1814
|
data: n.data
|
|
1815
1815
|
}, e);
|
|
1816
1816
|
}, n.onclose = (n) => {
|
|
1817
|
-
Be(Te(), "browser_beforeunload") ? Nt("Close websocket by unload page") :
|
|
1817
|
+
Be(Te(), "browser_beforeunload") ? Nt("Close websocket by unload page") : it(e, "EV_ON_CLOSE", {
|
|
1818
1818
|
url: t,
|
|
1819
1819
|
e: n
|
|
1820
1820
|
}, e);
|
|
1821
1821
|
}, n) : (Ot(`${Ne(e)}: Failed to initialize WebSocket.`), null);
|
|
1822
1822
|
}
|
|
1823
1823
|
function gr(e, t = 1e3, n = "") {
|
|
1824
|
-
let r = e.priv,
|
|
1825
|
-
if (r.websocket = null,
|
|
1824
|
+
let r = e.priv, o = r.websocket;
|
|
1825
|
+
if (r.websocket = null, o && o.readyState !== WebSocket.CLOSED && o.readyState !== WebSocket.CLOSING) {
|
|
1826
1826
|
wt(`Closing WebSocket (Code: ${t}, Reason: "${n}")`);
|
|
1827
1827
|
try {
|
|
1828
|
-
|
|
1828
|
+
o.close(t, n);
|
|
1829
1829
|
} catch (e) {
|
|
1830
1830
|
Ot("Error closing WebSocket:", e.message);
|
|
1831
1831
|
}
|
|
@@ -1848,8 +1848,8 @@
|
|
|
1848
1848
|
return function(e, t) {
|
|
1849
1849
|
let n = e.priv, r = JSON.stringify(t);
|
|
1850
1850
|
if (Be(Te(), "trace_inter_event")) {
|
|
1851
|
-
let n = ze(e, "url"),
|
|
1852
|
-
|
|
1851
|
+
let n = ze(e, "url"), o = Se(Te()) + " ==> " + n, i = xe(Te(), "trace_ievent_callback");
|
|
1852
|
+
i ? i(o, t, 1, r.length) : dr(0, o, t);
|
|
1853
1853
|
}
|
|
1854
1854
|
try {
|
|
1855
1855
|
n.websocket.send(r);
|
|
@@ -1873,13 +1873,13 @@
|
|
|
1873
1873
|
};
|
|
1874
1874
|
}
|
|
1875
1875
|
function hr(e) {
|
|
1876
|
-
let t = e.priv, n = Ee(Te()), r = ze(Te(), "yuno_version"),
|
|
1876
|
+
let t = e.priv, n = Ee(Te()), r = ze(Te(), "yuno_version"), o = ze(Te(), "yuno_release"), i = ze(Te(), "yuno_tag"), s = {
|
|
1877
1877
|
yuno_role: ve(),
|
|
1878
1878
|
yuno_id: je(),
|
|
1879
1879
|
yuno_name: ye(),
|
|
1880
|
-
yuno_tag:
|
|
1880
|
+
yuno_tag: i,
|
|
1881
1881
|
yuno_version: r,
|
|
1882
|
-
yuno_release:
|
|
1882
|
+
yuno_release: o,
|
|
1883
1883
|
yuneta_version: l,
|
|
1884
1884
|
playing: n,
|
|
1885
1885
|
pid: 0,
|
|
@@ -1897,40 +1897,40 @@
|
|
|
1897
1897
|
}
|
|
1898
1898
|
function Er(e, t) {
|
|
1899
1899
|
if (Zt(t.event)) return -1;
|
|
1900
|
-
let n = {}, r = t.__global__,
|
|
1901
|
-
return
|
|
1900
|
+
let n = {}, r = t.__global__, o = t.__config__, i = t.__filter__, l = t.__service__, s = t.subscriber;
|
|
1901
|
+
return o && (n.__config__ = o), r && (n.__global__ = r), i && (n.__filter__ = i), kn(e, n, _r, mr(e, Se(s), l)), An(e, n, "__subscribing__"), pr(e, t.event, n);
|
|
1902
1902
|
}
|
|
1903
1903
|
function Tr(e, t, n, r) {
|
|
1904
|
-
let
|
|
1905
|
-
return pe(e) && (
|
|
1904
|
+
let o = e.priv;
|
|
1905
|
+
return pe(e) && (o.websocket = fr(e)), 0;
|
|
1906
1906
|
}
|
|
1907
1907
|
function yr(e, t, n, r) {
|
|
1908
1908
|
return wt("Websocket opened: " + e.priv.url), hr(e), 0;
|
|
1909
1909
|
}
|
|
1910
1910
|
function vr(e, t, n, r) {
|
|
1911
|
-
let
|
|
1912
|
-
return jt(), Nt(`${Ne(e)}: WebSocket closed ${l} (Code: ${
|
|
1911
|
+
let o = e.priv, i = n.e, l = n.url;
|
|
1912
|
+
return jt(), Nt(`${Ne(e)}: WebSocket closed ${l} (Code: ${i.code}, Reason: "${i.reason}", Clean: ${i.wasClean})`), o.websocket && (o.websocket.onopen = null, o.websocket.onmessage = null, o.websocket.onerror = null, o.websocket.onclose = null, o.websocket = null), o.inform_on_close ? (o.inform_on_close = !1, pt(e, "EV_ON_CLOSE", {
|
|
1913
1913
|
url: l,
|
|
1914
|
-
remote_yuno_name:
|
|
1915
|
-
remote_yuno_role:
|
|
1916
|
-
remote_yuno_service:
|
|
1917
|
-
})) : (Nt(`${Ne(e)}: EV_ON_OPEN_ERROR cannot open ${l} (Code: ${
|
|
1914
|
+
remote_yuno_name: o.remote_yuno_name,
|
|
1915
|
+
remote_yuno_role: o.remote_yuno_role,
|
|
1916
|
+
remote_yuno_service: o.remote_yuno_service
|
|
1917
|
+
})) : (Nt(`${Ne(e)}: EV_ON_OPEN_ERROR cannot open ${l} (Code: ${i.code}, Reason: "${i.reason}", Clean: ${i.wasClean})`), pt(e, "EV_ON_OPEN_ERROR", {
|
|
1918
1918
|
url: l,
|
|
1919
|
-
remote_yuno_name:
|
|
1920
|
-
remote_yuno_role:
|
|
1921
|
-
remote_yuno_service:
|
|
1922
|
-
code:
|
|
1923
|
-
reason:
|
|
1924
|
-
was_clean:
|
|
1925
|
-
})), pe(e) && er(
|
|
1919
|
+
remote_yuno_name: o.remote_yuno_name,
|
|
1920
|
+
remote_yuno_role: o.remote_yuno_role,
|
|
1921
|
+
remote_yuno_service: o.remote_yuno_service,
|
|
1922
|
+
code: i.code,
|
|
1923
|
+
reason: i.reason,
|
|
1924
|
+
was_clean: i.wasClean
|
|
1925
|
+
})), pe(e) && er(o.gobj_timer, Je(e, "timeout_retry")), 0;
|
|
1926
1926
|
}
|
|
1927
1927
|
function jr(e, t, n, r) {
|
|
1928
1928
|
return hr(e), 0;
|
|
1929
1929
|
}
|
|
1930
1930
|
function Sr(e, t, n, r) {
|
|
1931
|
-
let
|
|
1932
|
-
nr(
|
|
1933
|
-
let
|
|
1931
|
+
let o = e.priv;
|
|
1932
|
+
nr(o.gobj_timer);
|
|
1933
|
+
let i = $n(e, n, _r, !0), l = cn(e, i, "src_yuno", ""), s = cn(e, i, "src_role", ""), _ = cn(e, i, "src_service", "");
|
|
1934
1934
|
Ze(e, "remote_yuno_name", l), Ze(e, "remote_yuno_role", s), Ze(e, "remote_yuno_service", _);
|
|
1935
1935
|
let a = un(e, n, "result", -1, 0), u = cn(e, n, "comment", "", 0), c = cn(e, n, "username", "", 0), f = dn(e, n, "services_roles", {});
|
|
1936
1936
|
if (a < 0) {
|
|
@@ -1944,10 +1944,10 @@
|
|
|
1944
1944
|
remote_yuno_role: s,
|
|
1945
1945
|
remote_yuno_service: _
|
|
1946
1946
|
};
|
|
1947
|
-
ke(e) ?
|
|
1947
|
+
ke(e) ? it(De(e), "EV_ON_ID_NAK", t, e) : pt(e, "EV_ON_ID_NAK", t);
|
|
1948
1948
|
} else {
|
|
1949
|
-
if (et(e, "ST_SESSION"),
|
|
1950
|
-
|
|
1949
|
+
if (et(e, "ST_SESSION"), o.inside_on_open = !0, !o.inform_on_close) {
|
|
1950
|
+
o.inform_on_close = !0;
|
|
1951
1951
|
let t = {
|
|
1952
1952
|
username: c,
|
|
1953
1953
|
remote_yuno_name: l,
|
|
@@ -1955,9 +1955,9 @@
|
|
|
1955
1955
|
remote_yuno_service: _,
|
|
1956
1956
|
services_roles: f
|
|
1957
1957
|
};
|
|
1958
|
-
ke(e) ?
|
|
1958
|
+
ke(e) ? it(De(e), "EV_ON_OPEN", t, e) : pt(e, "EV_ON_OPEN", t);
|
|
1959
1959
|
}
|
|
1960
|
-
|
|
1960
|
+
o.inside_on_open = !1, function(e) {
|
|
1961
1961
|
let t = dt(e, null, null, null);
|
|
1962
1962
|
for (let n = 0; n < t.length; n++) Er(e, t[n]);
|
|
1963
1963
|
}(e);
|
|
@@ -1965,7 +1965,7 @@
|
|
|
1965
1965
|
return 0;
|
|
1966
1966
|
}
|
|
1967
1967
|
function Or(e, t, n, r) {
|
|
1968
|
-
let
|
|
1968
|
+
let o = e.priv.url, i = function(e, t) {
|
|
1969
1969
|
let n;
|
|
1970
1970
|
try {
|
|
1971
1971
|
n = JSON.parse(t);
|
|
@@ -1976,35 +1976,35 @@
|
|
|
1976
1976
|
let r = n.event;
|
|
1977
1977
|
if (!r) return Ot("parsing inter_event: no event"), null;
|
|
1978
1978
|
if ("string" != typeof r) return Ot("parsing inter_event: event not a string"), null;
|
|
1979
|
-
let
|
|
1980
|
-
return
|
|
1979
|
+
let o = n.kw;
|
|
1980
|
+
return o ? o instanceof Object ? {
|
|
1981
1981
|
event: r,
|
|
1982
|
-
kw:
|
|
1982
|
+
kw: o || {}
|
|
1983
1983
|
} : (Ot("parsing inter_event: kw not a json object"), null) : (Ot("parsing inter_kw: no kw"), null);
|
|
1984
1984
|
}(0, n.data);
|
|
1985
1985
|
if (Be(Te(), "trace_inter_event")) {
|
|
1986
|
-
let e = Se(Te()) + " <== " +
|
|
1987
|
-
r ? r(e,
|
|
1986
|
+
let e = Se(Te()) + " <== " + o, t = n.data.length, r = xe(Te(), "trace_ievent_callback");
|
|
1987
|
+
r ? r(e, i, 2, t) : dr(0, e, i);
|
|
1988
1988
|
}
|
|
1989
|
-
let l =
|
|
1989
|
+
let l = i.event, s = i.kw;
|
|
1990
1990
|
if ("ST_SESSION" !== tt(e)) {
|
|
1991
1991
|
if (rt(e, l, R.EVF_PUBLIC_EVENT)) {
|
|
1992
|
-
if (0 ===
|
|
1992
|
+
if (0 === it(e, l, s, e)) return 0;
|
|
1993
1993
|
} else Ot(`${Ne(e)}: event UNKNOWN in not-session state ${l}`);
|
|
1994
1994
|
return gr(e), -1;
|
|
1995
1995
|
}
|
|
1996
|
-
|
|
1996
|
+
i = null;
|
|
1997
1997
|
let _ = In(e, s), a = $n(e, s, _r), u = cn(e, a, "dst_role", "");
|
|
1998
1998
|
if (u !== ve()) return Ot(`"It's not my role, dst_role: ${u}, my_role: ${ve()}`), 0;
|
|
1999
1999
|
let c = cn(e, a, "dst_service", "");
|
|
2000
2000
|
if ("__subscribing__" === _) return -1;
|
|
2001
2001
|
if ("__unsubscribing__" === _) return -1;
|
|
2002
|
-
if (rt(e, l, R.EVF_PUBLIC_EVENT)) return
|
|
2002
|
+
if (rt(e, l, R.EVF_PUBLIC_EVENT)) return it(e, l, s, e), 0;
|
|
2003
2003
|
let f = Z(c, !0);
|
|
2004
2004
|
if (f) {
|
|
2005
2005
|
if (!rt(f, l, R.EVF_PUBLIC_EVENT)) return Ot(`${Ne(e)}: Service found but no event or not public, service '${Ne(f)}', ev '${l}'`), -1;
|
|
2006
|
-
|
|
2007
|
-
} else ke(e) ?
|
|
2006
|
+
it(f, l, s, e);
|
|
2007
|
+
} else ke(e) ? it(De(e), l, s, e) : pt(e, l, s);
|
|
2008
2008
|
return 0;
|
|
2009
2009
|
}
|
|
2010
2010
|
function Nr(e, t, n, r) {
|
|
@@ -2041,33 +2041,33 @@
|
|
|
2041
2041
|
},
|
|
2042
2042
|
mt_stop: function(e) {
|
|
2043
2043
|
let t = e.priv;
|
|
2044
|
-
return nr(t.gobj_timer), ce(t.gobj_timer), t.websocket && gr(e), 0;
|
|
2044
|
+
return nr(t.gobj_timer), ce(t.gobj_timer), t.websocket && (t.websocket.onopen = null, t.websocket.onmessage = null, t.websocket.onerror = null, t.websocket.onclose = null, gr(e)), 0;
|
|
2045
2045
|
},
|
|
2046
2046
|
mt_destroy: function(e) {},
|
|
2047
2047
|
mt_stats: function(e, t, n, r) {
|
|
2048
2048
|
if ("ST_SESSION" !== tt(e)) return Ot("Not in session"), null;
|
|
2049
2049
|
n || (n = {});
|
|
2050
|
-
let
|
|
2051
|
-
return
|
|
2050
|
+
let o = mr(e, Se(r), cn(e, n, "service", null, 0)), i = dn(e, n, "__md_stats__", null, mt.KW_EXTRACT);
|
|
2051
|
+
return i || (i = {}), kn(e, n, "stats_stack", {
|
|
2052
2052
|
stats: t,
|
|
2053
|
-
kw:
|
|
2054
|
-
}), kn(e, n, _r,
|
|
2053
|
+
kw: i
|
|
2054
|
+
}), kn(e, n, _r, o), n.__stats__ = t, An(e, n, "__stats__"), pr(e, "EV_MT_STATS", n, r), null;
|
|
2055
2055
|
},
|
|
2056
2056
|
mt_command_parser: function(e, t, n, r) {
|
|
2057
2057
|
if ("ST_SESSION" !== tt(e)) return Ot("Not in session"), null;
|
|
2058
2058
|
n || (n = {});
|
|
2059
|
-
let
|
|
2060
|
-
return
|
|
2059
|
+
let o = mr(e, Se(r), cn(e, n, "service", "", 0)), i = dn(e, n, "__md_command__", null, mt.KW_EXTRACT);
|
|
2060
|
+
return i || (i = {}), kn(e, n, "command_stack", {
|
|
2061
2061
|
command: t,
|
|
2062
|
-
kw:
|
|
2063
|
-
}), kn(e, n, _r,
|
|
2062
|
+
kw: i
|
|
2063
|
+
}), kn(e, n, _r, o), n.__command__ = t, An(e, n, "__command__"), pr(e, "EV_MT_COMMAND", n, r), null;
|
|
2064
2064
|
},
|
|
2065
2065
|
mt_inject_event: function(e, t, n, r) {
|
|
2066
2066
|
if ("ST_SESSION" !== tt(e)) return window.console.error("Not in session"), -1;
|
|
2067
2067
|
if (n || (n = {}), $n(e, n, _r));
|
|
2068
2068
|
else {
|
|
2069
|
-
let
|
|
2070
|
-
Ut(n, "__service__"), kn(e, n, "__message__", t), kn(e, n, _r,
|
|
2069
|
+
let o = mr(e, Se(r), cn(e, n, "__service__", 0, 0));
|
|
2070
|
+
Ut(n, "__service__"), kn(e, n, "__message__", t), kn(e, n, _r, o);
|
|
2071
2071
|
}
|
|
2072
2072
|
return An(e, n, "__message__"), pr(e, t, n, r);
|
|
2073
2073
|
},
|
|
@@ -2080,37 +2080,37 @@
|
|
|
2080
2080
|
if ("ST_SESSION" !== tt(e)) return 0;
|
|
2081
2081
|
if (n.inside_on_open) return 0;
|
|
2082
2082
|
if (Zt(t.event)) return 0;
|
|
2083
|
-
let r = {},
|
|
2084
|
-
return
|
|
2083
|
+
let r = {}, o = t.__global__, i = t.__config__, l = t.__filter__, s = t.__service__, _ = t.subscriber;
|
|
2084
|
+
return i && (r.__config__ = i), o && (r.__global__ = o), l && (r.__filter__ = l), kn(e, r, _r, mr(e, Se(_), s)), An(e, r, "__unsubscribing__"), pr(e, t.event, r, e);
|
|
2085
2085
|
}
|
|
2086
2086
|
};
|
|
2087
|
-
e.GObj = O, e.SDATA = j, e.SDATAAUTHZ = (e, t, n, r,
|
|
2087
|
+
e.GObj = O, e.SDATA = j, e.SDATAAUTHZ = (e, t, n, r, o, i) => new y(e, t, n, null, i, r, null, 0, null, o, null), e.SDATACM = (e, t, n, r, o, i) => new y(e, t, 0, null, i, n, null, 0, o, r, null), e.SDATACM2 = (e, t, n, r, o, i, l) => new y(e, t, n, null, l, r, null, 0, i, o, null), e.SDATADF = (e, t, n, r, o, i) => new y(e, t, n, null, i, null, r, o), e.SDATAPM = (e, t, n, r, o) => new y(e, t, n, r, o), e.SDATAPM0 = (e, t, n, r, o) => new y(e, t, n, null, o, null, null, 0, null, null, r), e.SDATA_END = v, e.SDataDesc = y, e.YUNETA_VERSION = l, Object.defineProperty(e, "__yuno__", {
|
|
2088
2088
|
enumerable: !0,
|
|
2089
2089
|
get: function() {
|
|
2090
2090
|
return p;
|
|
2091
2091
|
}
|
|
2092
|
-
}), e.build_command_response =
|
|
2092
|
+
}), e.build_command_response = o, e.build_path = function(...e) {
|
|
2093
2093
|
let t = "", n = 0;
|
|
2094
2094
|
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++));
|
|
2095
2095
|
return t;
|
|
2096
|
-
}, e.build_stats_response =
|
|
2096
|
+
}, e.build_stats_response = i, e.clean_name = function(e) {
|
|
2097
2097
|
return e.replace(/[?# ^:]/g, "_");
|
|
2098
2098
|
}, e.clear_timeout = nr, e.cmp_two_simple_json = rn, e.command_parser = function(e, t, n, r) {}, e.createElement2 = function e(t, n) {
|
|
2099
|
-
let [r,
|
|
2099
|
+
let [r, o, i, l] = t;
|
|
2100
2100
|
if (!r) return void Ot("Tag must be a valid HTML element.");
|
|
2101
2101
|
let s = document.createElement(r), _ = "";
|
|
2102
|
-
if (
|
|
2102
|
+
if (o && "object" == typeof o) for (let e of Object.keys(o)) if ("style" === e && "object" == typeof o[e]) {
|
|
2103
2103
|
let t = "";
|
|
2104
|
-
for (const n of Object.keys(
|
|
2104
|
+
for (const n of Object.keys(o[e])) t += `${n}: ${o[e][n]};`;
|
|
2105
2105
|
s.style.cssText = t;
|
|
2106
|
-
} else "style" === e ? s.style.cssText =
|
|
2107
|
-
if (Jt(
|
|
2108
|
-
else if (n && _) s.textContent = n(_) ||
|
|
2109
|
-
else s.textContent =
|
|
2110
|
-
else if (Bt(
|
|
2111
|
-
if (
|
|
2112
|
-
else for (let t of
|
|
2113
|
-
} else
|
|
2106
|
+
} 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]);
|
|
2107
|
+
if (Jt(i)) if (i = i.trim(), i.length > 0 && "<" === i[0]) s.appendChild(Fn(i));
|
|
2108
|
+
else if (n && _) s.textContent = n(_) || i;
|
|
2109
|
+
else s.textContent = i;
|
|
2110
|
+
else if (Bt(i)) {
|
|
2111
|
+
if (i.length > 0) if (Jt(i[0])) s.appendChild(e(i, n));
|
|
2112
|
+
else for (let t of i) Array.isArray(t) && t.length > 0 ? s.appendChild(e(t, n)) : t instanceof HTMLElement && s.appendChild(t);
|
|
2113
|
+
} else i instanceof HTMLElement || i instanceof Text || i instanceof SVGElement ? s.appendChild(i) : null != i && (Ot("content ignored"), Rt(i));
|
|
2114
2114
|
if (l && "object" == typeof l) for (const e of Object.keys(l)) s.addEventListener(e, l[e]);
|
|
2115
2115
|
return s;
|
|
2116
2116
|
}, e.createOneHtml = Fn, e.create_json_record = function(e, t) {
|
|
@@ -2127,8 +2127,8 @@
|
|
|
2127
2127
|
}, e.db_load_persistent_attrs = function(e, t) {
|
|
2128
2128
|
let n = Ye(e, T.SDF_PERSIST), r = yn(Kn(e), null, !1);
|
|
2129
2129
|
if (r && Yt(r)) {
|
|
2130
|
-
let
|
|
2131
|
-
|
|
2130
|
+
let o = En(e, r, t, !1);
|
|
2131
|
+
o = En(e, o, n, !1), qe(e, o, T.SDF_PERSIST);
|
|
2132
2132
|
}
|
|
2133
2133
|
}, e.db_remove_persistent_attrs = function(e, t) {
|
|
2134
2134
|
let n = Tn(e, yn(Kn(e), null, !1), t, !1);
|
|
@@ -2137,18 +2137,18 @@
|
|
|
2137
2137
|
let n = En(e, Ye(e, T.SDF_PERSIST), t, !1), r = yn(Kn(e), null, !1);
|
|
2138
2138
|
r && Yt(r) && Lt(n, r), vn(Kn(e), n);
|
|
2139
2139
|
}, e.debounce = function(e, t = 0, n = !1) {
|
|
2140
|
-
let r = null,
|
|
2140
|
+
let r = null, o = null, i = null;
|
|
2141
2141
|
const l = (...l) => {
|
|
2142
|
-
|
|
2142
|
+
i = this, o = l;
|
|
2143
2143
|
const s = n && !r;
|
|
2144
2144
|
clearTimeout(r), r = setTimeout(() => {
|
|
2145
|
-
r = null, n || e.apply(
|
|
2146
|
-
}, t), s && e.apply(
|
|
2145
|
+
r = null, n || e.apply(i, o);
|
|
2146
|
+
}, t), s && e.apply(i, o);
|
|
2147
2147
|
};
|
|
2148
2148
|
return l.flush = () => {
|
|
2149
|
-
r && (clearTimeout(r), r = null, e.apply(
|
|
2149
|
+
r && (clearTimeout(r), r = null, e.apply(i, o));
|
|
2150
2150
|
}, l.cancel = () => {
|
|
2151
|
-
clearTimeout(r), r = null,
|
|
2151
|
+
clearTimeout(r), r = null, o = null, i = null;
|
|
2152
2152
|
}, l;
|
|
2153
2153
|
}, e.delete_from_list = function(e, t) {
|
|
2154
2154
|
for (let n = 0; n < e.length; n++) if (t === e[n]) return e.splice(n, 1), !0;
|
|
@@ -2167,52 +2167,52 @@
|
|
|
2167
2167
|
right: 0,
|
|
2168
2168
|
bottom: 0
|
|
2169
2169
|
};
|
|
2170
|
-
const { top: t, left: n, width: r, height:
|
|
2170
|
+
const { top: t, left: n, width: r, height: o } = e.getBoundingClientRect?.() || {
|
|
2171
2171
|
top: 0,
|
|
2172
2172
|
left: 0,
|
|
2173
2173
|
width: 0,
|
|
2174
2174
|
height: 0
|
|
2175
|
-
},
|
|
2175
|
+
}, i = "undefined" != typeof window, l = i && (window.scrollY || document.documentElement?.scrollTop || document.body?.scrollTop) || 0, s = i && (window.scrollX || document.documentElement?.scrollLeft || document.body?.scrollLeft) || 0;
|
|
2176
2176
|
return {
|
|
2177
2177
|
top: t + l,
|
|
2178
2178
|
left: n + s,
|
|
2179
2179
|
right: n + s + r,
|
|
2180
|
-
bottom: t + l +
|
|
2180
|
+
bottom: t + l + o
|
|
2181
2181
|
};
|
|
2182
2182
|
}, e.get_function_name = Mn, e.get_now = function() {
|
|
2183
2183
|
return Math.floor(Date.now() / 1e3);
|
|
2184
2184
|
}, e.gobj_bottom_gobj = Ae, e.gobj_change_parent = function(e, t) {
|
|
2185
2185
|
return $e(e) ? (Ot("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 && (ne(e.parent, e), e.parent = null), te(t, e), t.mt_child_added && (p && Be(p, "trace_creation") && wt(n("👦👦🔵 child_added(%s): %s", we(t), Ne(e))), t.mt_child_added(t, e)), 0) : (Ot(`${Ne(e)}: gobj_change_parent() BAD TYPE of parent`), -1);
|
|
2186
|
-
}, e.gobj_change_state = et, e.gobj_command = function(e, t, r,
|
|
2186
|
+
}, e.gobj_change_state = et, e.gobj_command = function(e, t, r, i) {
|
|
2187
2187
|
if ($e(e)) return Ot("gobj NULL or DESTROYED"), -1;
|
|
2188
2188
|
let l = p && Je(p, "tracing");
|
|
2189
|
-
return l && (L(n("🌀🌀 mach(%s%s), cmd: %s, src: %s", pe(e) ? "" : "!!", Ne(e), t, Ne(
|
|
2189
|
+
return l && (L(n("🌀🌀 mach(%s%s), cmd: %s, src: %s", pe(e) ? "" : "!!", Ne(e), t, Ne(i))), l > 1 && Rt(r)), e.gclass.gmt.mt_command_parser ? e.gclass.gmt.mt_command_parser(e, t, r, i) : e.gclass.command_table ? c ? c(e, t, r, i) : o(0, -1, n("%s: global command parser not available", Ne(e)), 0, 0) : o(0, -1, n("%s: command table not available", Ne(e)), 0, 0);
|
|
2190
2190
|
}, e.gobj_create = function(e, t, n, r) {
|
|
2191
|
-
return
|
|
2192
|
-
}, e.gobj_create2 =
|
|
2193
|
-
return
|
|
2191
|
+
return ie(e, t, n, r, 0);
|
|
2192
|
+
}, e.gobj_create2 = ie, e.gobj_create_default_service = function(e, t, n, r) {
|
|
2193
|
+
return ie(e, t, n, r, w.gobj_flag_default_service | w.gobj_flag_autostart);
|
|
2194
2194
|
}, e.gobj_create_pure_child = le, e.gobj_create_service = function(e, t, n, r) {
|
|
2195
|
-
return
|
|
2195
|
+
return ie(e, t, n, r, w.gobj_flag_service);
|
|
2196
2196
|
}, e.gobj_create_volatil = function(e, t, n, r) {
|
|
2197
|
-
return
|
|
2197
|
+
return ie(e, t, n, r, w.gobj_flag_volatil);
|
|
2198
2198
|
}, e.gobj_create_yuno = function(e, t, n) {
|
|
2199
|
-
return
|
|
2199
|
+
return ie(e, t, n, null, w.gobj_flag_yuno);
|
|
2200
2200
|
}, e.gobj_current_state = tt, e.gobj_default_service = X, e.gobj_destroy = se, e.gobj_find_child = We, e.gobj_find_gobj = function(e, t) {
|
|
2201
2201
|
if (Zt(t)) return null;
|
|
2202
2202
|
const n = t.toLowerCase();
|
|
2203
2203
|
return "__default_service__" === n ? m : "__yuno__" === n || "__root__" === n ? p : Me(p, t);
|
|
2204
|
-
}, e.gobj_find_service = Z, e.gobj_find_subscribings = bt, e.gobj_find_subscriptions = dt, e.gobj_flag_t = w, e.gobj_full_name = we, e.gobj_gclass_name = Oe, e.gobj_has_attr = Ke, e.gobj_has_event = rt, e.gobj_has_output_event =
|
|
2204
|
+
}, e.gobj_find_service = Z, e.gobj_find_subscribings = bt, e.gobj_find_subscriptions = dt, e.gobj_flag_t = w, e.gobj_full_name = we, e.gobj_gclass_name = Oe, e.gobj_has_attr = Ke, e.gobj_has_event = rt, e.gobj_has_output_event = ot, e.gobj_hsdata = F, e.gobj_is_destroying = $e, e.gobj_is_playing = Ee, e.gobj_is_pure_child = ke, e.gobj_is_running = pe, e.gobj_is_service = he, e.gobj_is_volatil = Re, e.gobj_list_persistent_attrs = function(e, t) {
|
|
2205
2205
|
return u ? u(e, t) : null;
|
|
2206
2206
|
}, e.gobj_list_subscriptions = function(e) {
|
|
2207
2207
|
let t = dt(e, null, null, null);
|
|
2208
2208
|
for (let n = 0; n < t.length; n++) {
|
|
2209
|
-
let r = t[n],
|
|
2210
|
-
Ft(r, "s_event", cn(e, r, "event", "", mt.KW_REQUIRED)), Ft(r, "s_publisher", Ne(
|
|
2209
|
+
let r = t[n], o = fn(e, r, "publisher", null, mt.KW_REQUIRED), i = fn(e, r, "subscriber", null, mt.KW_REQUIRED);
|
|
2210
|
+
Ft(r, "s_event", cn(e, r, "event", "", mt.KW_REQUIRED)), Ft(r, "s_publisher", Ne(o)), Ft(r, "s_subscriber", Ne(i));
|
|
2211
2211
|
}
|
|
2212
2212
|
let n = bt(e, 0, null, 0);
|
|
2213
2213
|
for (let t = 0; t < n.length; t++) {
|
|
2214
|
-
let r = n[t],
|
|
2215
|
-
Ft(r, "s_event", cn(e, r, "event", "", mt.KW_REQUIRED)), Ft(r, "s_publisher", Ne(
|
|
2214
|
+
let r = n[t], o = fn(e, r, "publisher", null, mt.KW_REQUIRED), i = fn(e, r, "subscriber", null, mt.KW_REQUIRED);
|
|
2215
|
+
Ft(r, "s_event", cn(e, r, "event", "", mt.KW_REQUIRED)), Ft(r, "s_publisher", Ne(o)), Ft(r, "s_subscriber", Ne(i));
|
|
2216
2216
|
}
|
|
2217
2217
|
return {
|
|
2218
2218
|
subscriptions: t,
|
|
@@ -2228,23 +2228,23 @@
|
|
|
2228
2228
|
let n = [];
|
|
2229
2229
|
const r = e.dl_children;
|
|
2230
2230
|
for (let e = 0; e < r.length; e++) {
|
|
2231
|
-
const
|
|
2232
|
-
Ve(
|
|
2231
|
+
const o = r[e];
|
|
2232
|
+
Ve(o, t) && n.push(o);
|
|
2233
2233
|
}
|
|
2234
2234
|
return n;
|
|
2235
2235
|
}, e.gobj_match_children_tree = function(e, t) {
|
|
2236
2236
|
t = t || {};
|
|
2237
2237
|
let n = [];
|
|
2238
2238
|
return function e(n, r) {
|
|
2239
|
-
let
|
|
2240
|
-
for (let r = 0; r <
|
|
2241
|
-
let
|
|
2242
|
-
Ve(
|
|
2239
|
+
let o = r.dl_children;
|
|
2240
|
+
for (let r = 0; r < o.length; r++) {
|
|
2241
|
+
let i = o[r];
|
|
2242
|
+
Ve(i, t) && n.push(i), e(n, i);
|
|
2243
2243
|
}
|
|
2244
2244
|
}(n, e), n;
|
|
2245
2245
|
}, e.gobj_match_gobj = Ve, e.gobj_name = Se, e.gobj_parent = De, e.gobj_pause = be, e.gobj_play = de, e.gobj_post_event = function(e, t, n, r) {
|
|
2246
2246
|
setTimeout(() => {
|
|
2247
|
-
$e(e) ||
|
|
2247
|
+
$e(e) || it(e, t, n, r);
|
|
2248
2248
|
}, 10);
|
|
2249
2249
|
}, e.gobj_publish_event = pt, e.gobj_read_attr = xe, e.gobj_read_attrs = Ye, e.gobj_read_bool_attr = Be, e.gobj_read_integer_attr = Je, e.gobj_read_pointer_attr = Qe, e.gobj_read_str_attr = ze, e.gobj_remove_persistent_attrs = function(e, t) {
|
|
2250
2250
|
return he(e) ? a ? a(e, t) : -1 : (Ot(`${Ne(e)}: Only gobj services can load/save writable-persistent`), -1);
|
|
@@ -2252,18 +2252,18 @@
|
|
|
2252
2252
|
return function(e, t, n) {
|
|
2253
2253
|
if ($e(e)) return Ot("gobj NULL or DESTROYED"), -1;
|
|
2254
2254
|
let r = e.gclass.attrs_table;
|
|
2255
|
-
for (let
|
|
2256
|
-
const
|
|
2257
|
-
if (
|
|
2258
|
-
const t = U(e, e.jn_attrs,
|
|
2259
|
-
Yt(e.priv) && e.priv.hasOwnProperty(
|
|
2255
|
+
for (let o = 0; o < r.length; o++) {
|
|
2256
|
+
const i = r[o];
|
|
2257
|
+
if (i.name && !(n && i.flag & n) && (-1 === t || i.flag & t)) {
|
|
2258
|
+
const t = U(e, e.jn_attrs, i);
|
|
2259
|
+
Yt(e.priv) && e.priv.hasOwnProperty(i.name) && (e.priv[i.name] = t), e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, i.name);
|
|
2260
2260
|
}
|
|
2261
2261
|
}
|
|
2262
2262
|
return 0;
|
|
2263
2263
|
}(e, T.SDF_VOLATIL, 0);
|
|
2264
2264
|
}, e.gobj_save_persistent_attrs = function(e, t) {
|
|
2265
2265
|
return he(e) ? _ ? _(e, t) : -1 : (Ot(`${Ne(e)}: Only gobj services can load/save writable-persistent`), -1);
|
|
2266
|
-
}, e.gobj_search_path = Me, e.gobj_send_event =
|
|
2266
|
+
}, e.gobj_search_path = Me, e.gobj_send_event = it, e.gobj_services = function() {
|
|
2267
2267
|
let e = [];
|
|
2268
2268
|
for (const t of Object.keys(b)) Vt(e, t);
|
|
2269
2269
|
return e;
|
|
@@ -2271,22 +2271,22 @@
|
|
|
2271
2271
|
return $e(e) ? (Ot("gobj NULL or DESTROYED"), -1) : Pe(e, k.WALK_FIRST2LAST, ae, 0, 0);
|
|
2272
2272
|
}, e.gobj_start_tree = function(e) {
|
|
2273
2273
|
return $e(e) ? (Ot("gobj NULL or DESTROYED"), -1) : (p && Be(p, "trace_start_stop") && L(n("⏺ ⏺ ⏺ ⏺ start_tree: %s", we(e))), e.gclass.gclass_flag & N.gcflag_manual_start || e.disabled ? 0 : (e.running || _e(e), Ue(e, k.WALK_TOP2BOTTOM, ue, 0, 0)));
|
|
2274
|
-
}, e.gobj_start_up = function(e, t, n, r,
|
|
2275
|
-
s = t, _ = n, a = r, u =
|
|
2274
|
+
}, e.gobj_start_up = function(e, t, n, r, o, i, l) {
|
|
2275
|
+
s = t, _ = n, a = r, u = o, c = i, f = l;
|
|
2276
2276
|
const d = [["EV_STATE_CHANGED", R.EVF_SYSTEM_EVENT | R.EVF_OUTPUT_EVENT | R.EVF_NO_WARN_SUBS], [0, 0]];
|
|
2277
2277
|
for (let e = 0; e < d.length; e++) {
|
|
2278
2278
|
let t = d[e][0], n = d[e][1];
|
|
2279
2279
|
J(g, t, n);
|
|
2280
2280
|
}
|
|
2281
2281
|
return 0;
|
|
2282
|
-
}, e.gobj_stats = function(e, t, r,
|
|
2283
|
-
return $e(e) ? (Ot("gobj NULL or DESTROYED"), -1) : e.gclass.gmt.mt_stats ? e.gclass.gmt.mt_stats(e, t, r,
|
|
2282
|
+
}, e.gobj_stats = function(e, t, r, o) {
|
|
2283
|
+
return $e(e) ? (Ot("gobj NULL or DESTROYED"), -1) : e.gclass.gmt.mt_stats ? e.gclass.gmt.mt_stats(e, t, r, o) : f ? f(e, t, r, o) : i(0, -1, n("%s, stats parser not available", Ne(e)), 0, 0);
|
|
2284
2284
|
}, e.gobj_stop = ce, e.gobj_stop_children = ge, e.gobj_stop_tree = function(e) {
|
|
2285
2285
|
return $e(e) ? (Ot("gobj NULL or DESTROYED"), -1) : (p && Be(p, "trace_start_stop") && L(n("⏹ ⏹ ⏹ ⏹ stop_tree: %s", we(e))), pe(e) && ce(e), Ue(e, k.WALK_TOP2BOTTOM, fe, 0, 0));
|
|
2286
2286
|
}, e.gobj_subscribe_event = ft, e.gobj_unsubscribe_event = function(e, t, n, r) {
|
|
2287
2287
|
if (null == n && (n = {}), !e) return Ot(`publisher NULL: ev ${t}`), 0;
|
|
2288
2288
|
if (!r) return Ot(`subscriber NULL: ev ${t}`), 0;
|
|
2289
|
-
const
|
|
2289
|
+
const o = new Set([
|
|
2290
2290
|
"__config__",
|
|
2291
2291
|
"__global__",
|
|
2292
2292
|
"__local__",
|
|
@@ -2294,35 +2294,35 @@
|
|
|
2294
2294
|
"__service__"
|
|
2295
2295
|
]);
|
|
2296
2296
|
if (Object.keys(n).forEach((n) => {
|
|
2297
|
-
|
|
2297
|
+
o.has(n) || Ot(`${Ne(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
|
|
2298
2298
|
}), Zt(t)) t = "";
|
|
2299
|
-
else if (!(
|
|
2300
|
-
let
|
|
2301
|
-
for (let t = 0; t <
|
|
2302
|
-
let n =
|
|
2299
|
+
else if (!(ot(e, t, R.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & N.gcflag_no_check_output_events)) return Ot(`event NOT in output event list: ${Ne(e)}, ev ${t}`), 0;
|
|
2300
|
+
let i = at(e.dl_subscriptions, e, t, n, r), l = 0;
|
|
2301
|
+
for (let t = 0; t < i.length; t++) {
|
|
2302
|
+
let n = i[t];
|
|
2303
2303
|
ct(e, n, !1, !1), l++;
|
|
2304
2304
|
}
|
|
2305
2305
|
return l || (Nt(`${Ne(e)}: No subscription found`), Rt(n, "No subscription found")), 0;
|
|
2306
|
-
}, e.gobj_unsubscribe_list = gt, e.gobj_walk_gobj_children = Pe, e.gobj_walk_gobj_children_tree = Ue, e.gobj_write_attr = function(e, t, r,
|
|
2306
|
+
}, e.gobj_unsubscribe_list = gt, e.gobj_walk_gobj_children = Pe, e.gobj_walk_gobj_children_tree = Ue, e.gobj_write_attr = function(e, t, r, o) {
|
|
2307
2307
|
if (!Jt(t)) return Ot(n("gobj_write_attr(%s): path must be a string", Ne(e))), -1;
|
|
2308
|
-
let
|
|
2308
|
+
let i, l = e.jn_attrs, s = t.split("`");
|
|
2309
2309
|
if (s.length <= 1) {
|
|
2310
|
-
let
|
|
2311
|
-
return
|
|
2310
|
+
let o = t;
|
|
2311
|
+
return o in l && l.hasOwnProperty(o) ? (l[o] = r, Yt(e.priv) && e.priv.hasOwnProperty(o) && (e.priv[o] = r), e.obflag & D.obflag_created && !(e.obflag & D.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, o), 0) : (Ot(n("gobj_write_attr(%s): attr not found '%s'", Ne(e), o)), -1);
|
|
2312
2312
|
}
|
|
2313
2313
|
let _ = s.length;
|
|
2314
2314
|
for (let t = 0; t < _; t++) {
|
|
2315
|
-
|
|
2316
|
-
let n = We(e, { __gobj_name__:
|
|
2315
|
+
i = s[t];
|
|
2316
|
+
let n = We(e, { __gobj_name__: i });
|
|
2317
2317
|
if (n && t < _ - 1) {
|
|
2318
2318
|
e = n;
|
|
2319
2319
|
continue;
|
|
2320
2320
|
}
|
|
2321
|
-
let
|
|
2322
|
-
if (
|
|
2321
|
+
let o = e.jn_attrs;
|
|
2322
|
+
if (i in o && o.hasOwnProperty(i)) return o[i] = r, Yt(e.priv) && e.priv.hasOwnProperty(i) && (e.priv[i] = r), e.obflag & D.obflag_created && !(e.obflag & D.obflag_destroyed) && e.mt_writing && e.mt_writing(e, i), 0;
|
|
2323
2323
|
break;
|
|
2324
2324
|
}
|
|
2325
|
-
return Ot(n("gobj_write_attr(%s): attr not found '%s'", Ne(e),
|
|
2325
|
+
return Ot(n("gobj_write_attr(%s): attr not found '%s'", Ne(e), i)), -1;
|
|
2326
2326
|
}, e.gobj_write_attrs = qe, e.gobj_write_bool_attr = He, e.gobj_write_integer_attr = Xe, e.gobj_write_str_attr = Ze, e.gobj_yuno = Te, e.gobj_yuno_id = je, e.gobj_yuno_name = ye, e.gobj_yuno_role = ve, e.id_index_in_obj_list = Nn, e.index_in_list = Vn, e.is_array = Bt, e.is_boolean = Qt, e.is_date = function(e) {
|
|
2327
2327
|
return e instanceof Date && !isNaN(e);
|
|
2328
2328
|
}, e.is_function = Ht, e.is_gobj = Xt, e.is_metadata_key = function(e) {
|
|
@@ -2341,11 +2341,11 @@
|
|
|
2341
2341
|
const t = Number(e);
|
|
2342
2342
|
return !isNaN(t) && "" !== e.trim() && !isNaN(t);
|
|
2343
2343
|
}, e.is_string = Jt, e.jdb_delete = function(e, t, n, r) {
|
|
2344
|
-
let
|
|
2345
|
-
if (!
|
|
2344
|
+
let o = dn(null, dn(null, e, "topics", null, 0), t, null, 0);
|
|
2345
|
+
if (!o) return Ot("jdb_delete: topic not found: " + t), null;
|
|
2346
2346
|
if (Zt(r.id)) return Ot("jdb_delete: record without id: " + r), Dt(r), null;
|
|
2347
|
-
let
|
|
2348
|
-
for (; (
|
|
2347
|
+
let i, l = n.split("`"), s = o;
|
|
2348
|
+
for (; (i = l.shift()) && !Zt(i) && s;) Yt(s) && (s = dn(null, s, e.hook, null, 0)), s = Pn(s, null, i, !1);
|
|
2349
2349
|
if (0 === l.length && s) if (Bt(s)) {
|
|
2350
2350
|
let e = Nn(s, r.id);
|
|
2351
2351
|
e >= 0 && s.splice(e, 1);
|
|
@@ -2353,10 +2353,10 @@
|
|
|
2353
2353
|
let t = dn(null, s, e.hook, null, 0), n = Nn(t, r.id);
|
|
2354
2354
|
n >= 0 && t.splice(n, 1);
|
|
2355
2355
|
}
|
|
2356
|
-
return
|
|
2356
|
+
return o;
|
|
2357
2357
|
}, e.jdb_get = function(e, t, n, r) {
|
|
2358
|
-
let
|
|
2359
|
-
return
|
|
2358
|
+
let o = dn(null, dn(null, e, "topics", null, 0), t, null, 0);
|
|
2359
|
+
return o ? (void 0 === r && (r = !0), Pn(o, e.hook, n, r)) : (Ot("jdb_get: topic not found: " + t), null);
|
|
2360
2360
|
}, e.jdb_get_by_idx = function(e, t, n) {
|
|
2361
2361
|
let r = dn(null, dn(null, e, "topics", null, 0), t, null, 0);
|
|
2362
2362
|
return r ? n < r.length ? r[n] : {} : (Ot("jdb_get_by_idx: topic not found: " + t), null);
|
|
@@ -2368,23 +2368,23 @@
|
|
|
2368
2368
|
n && (e = kt(e));
|
|
2369
2369
|
let r = dn(null, e, "type", [], 1);
|
|
2370
2370
|
cn(null, e, "hook", "data", 1);
|
|
2371
|
-
let
|
|
2372
|
-
return Ln(
|
|
2373
|
-
"__" !== t.substring(0, 2) && dn(null,
|
|
2371
|
+
let o = dn(null, e, "schema", {}, 1), i = dn(null, e, "topics", {}, 1);
|
|
2372
|
+
return Ln(o, function(e, t, n, o) {
|
|
2373
|
+
"__" !== t.substring(0, 2) && dn(null, i, o, kt(r), 1);
|
|
2374
2374
|
}, t), e;
|
|
2375
2375
|
}, e.jdb_update = function(e, t, n, r) {
|
|
2376
|
-
let
|
|
2377
|
-
if (!
|
|
2376
|
+
let o = dn(null, dn(null, e, "topics", null, 0), t, null, 0);
|
|
2377
|
+
if (!o) return Ot("jdb_update: topic not found: " + t), null;
|
|
2378
2378
|
if (Zt(r.id)) return Ot("jdb_update: record without id: " + r), Dt(r), null;
|
|
2379
|
-
let
|
|
2380
|
-
for (; (
|
|
2379
|
+
let i, l = n.split("`"), s = o;
|
|
2380
|
+
for (; (i = l.shift()) && !Zt(i) && s;) Yt(s) && (s = dn(null, s, e.hook, [], 1)), s = Pn(s, null, i, !1);
|
|
2381
2381
|
if (0 === l.length && s) if (Bt(s)) s.push(r);
|
|
2382
2382
|
else if (s.id === r.id) Object.assign(s, r);
|
|
2383
2383
|
else {
|
|
2384
2384
|
let t = dn(null, s, e.hook, [], 1), n = Pn(t, e.hook, r.id, !1);
|
|
2385
2385
|
n ? Object.assign(n, r) : t.push(r);
|
|
2386
2386
|
}
|
|
2387
|
-
return
|
|
2387
|
+
return o;
|
|
2388
2388
|
}, e.json_array_append = Gt, e.json_array_append_new = Vt, e.json_array_extend = function(e, t) {
|
|
2389
2389
|
return t ? (Array.prototype.push.apply(e, t), e) : e;
|
|
2390
2390
|
}, e.json_array_remove = Wt, e.json_array_size = Kt, e.json_deep_copy = kt, e.json_is_identical = $t, e.json_object_del = Ut, e.json_object_get = Pt, e.json_object_set = Ct, e.json_object_set_new = Ft, e.json_object_size = Mt, e.json_object_update = At, e.json_object_update_existing = It, e.json_object_update_missing = Lt, e.json_size = xt, e.jwt2json = function(e, t) {
|
|
@@ -2401,61 +2401,61 @@
|
|
|
2401
2401
|
}, e.jwtDecode = Un, e.kw_clone_by_keys = En, e.kw_clone_by_not_keys = Tn, e.kw_collect = function(e, t, n, r) {
|
|
2402
2402
|
if (e && !Xt(e) && Ot("GObj bad instanceof"), !t) return null;
|
|
2403
2403
|
r || (r = hn);
|
|
2404
|
-
let
|
|
2404
|
+
let o = [];
|
|
2405
2405
|
if (Bt(t)) for (let e = 0; e < t.length; e++) {
|
|
2406
|
-
let
|
|
2407
|
-
r(
|
|
2406
|
+
let i = t[e];
|
|
2407
|
+
r(i, n) && o.push(i);
|
|
2408
2408
|
}
|
|
2409
2409
|
else {
|
|
2410
2410
|
if (!Yt(t)) return Ot("kw_select() BAD kw parameter"), null;
|
|
2411
|
-
r(t, n) &&
|
|
2411
|
+
r(t, n) && o.push(t);
|
|
2412
2412
|
}
|
|
2413
|
-
return
|
|
2413
|
+
return o;
|
|
2414
2414
|
}, e.kw_delete = _n, e.kw_find_json_in_list = function(e, t, n, r) {
|
|
2415
2415
|
if (!n || !Bt(t)) return r && Ot("item NULL or kw_list is not a list"), -1;
|
|
2416
2416
|
for (let e = 0; e < t.length; e++) if ($t(n, t[e])) return e;
|
|
2417
2417
|
return r && Ot("item not found in this list"), -1;
|
|
2418
|
-
}, e.kw_find_path = sn, e.kw_flag_t = mt, e.kw_get_bool = an, e.kw_get_dict = gn, e.kw_get_dict_value = dn, e.kw_get_int = un, e.kw_get_list = function(e, t, n, r,
|
|
2418
|
+
}, e.kw_find_path = sn, e.kw_flag_t = mt, e.kw_get_bool = an, e.kw_get_dict = gn, e.kw_get_dict_value = dn, e.kw_get_int = un, e.kw_get_list = function(e, t, n, r, o) {
|
|
2419
2419
|
e && !Xt(e) && Ot("GObj bad instanceof");
|
|
2420
|
-
let
|
|
2421
|
-
const l =
|
|
2422
|
-
if (void 0 ===
|
|
2420
|
+
let i = sn(e, t, n, !1);
|
|
2421
|
+
const l = o && o & mt.KW_REQUIRED, s = o && o & mt.KW_CREATE, _ = o && o & mt.KW_EXTRACT;
|
|
2422
|
+
if (void 0 === i) {
|
|
2423
2423
|
if (s) {
|
|
2424
|
-
let
|
|
2425
|
-
return bn(e, t, n,
|
|
2424
|
+
let o = Array(r);
|
|
2425
|
+
return bn(e, t, n, o), o;
|
|
2426
2426
|
}
|
|
2427
2427
|
return l && (Ot(`path not found: '${n}'`), Rt(t)), Array(r);
|
|
2428
2428
|
}
|
|
2429
|
-
return _ && _n(e, t, n), Bt(
|
|
2430
|
-
}, e.kw_get_local_storage_value = yn, e.kw_get_pointer = fn, e.kw_get_real = function(e, t, n, r,
|
|
2429
|
+
return _ && _n(e, t, n), Bt(i) ? Array(i) : (l && (Ot(`path value MUST BE an array: ${n}`), Dt(t)), Array(r));
|
|
2430
|
+
}, e.kw_get_local_storage_value = yn, e.kw_get_pointer = fn, e.kw_get_real = function(e, t, n, r, o) {
|
|
2431
2431
|
e && !Xt(e) && Ot("GObj bad instanceof");
|
|
2432
|
-
let
|
|
2433
|
-
const l =
|
|
2434
|
-
if (void 0 ===
|
|
2432
|
+
let i = sn(e, t, n, !1);
|
|
2433
|
+
const l = o && o & mt.KW_REQUIRED, s = o && o & mt.KW_CREATE, _ = o && o & mt.KW_EXTRACT;
|
|
2434
|
+
if (void 0 === i) {
|
|
2435
2435
|
if (s) {
|
|
2436
|
-
let
|
|
2437
|
-
return bn(e, t, n,
|
|
2436
|
+
let o = Number(r);
|
|
2437
|
+
return bn(e, t, n, o), o;
|
|
2438
2438
|
}
|
|
2439
2439
|
return l && (Ot(`path not found: '${n}'`), Rt(t)), Number(r);
|
|
2440
2440
|
}
|
|
2441
|
-
return _ && _n(e, t, n), zt(
|
|
2441
|
+
return _ && _n(e, t, n), zt(i) ? Number(i) : (l && (Ot(`path value MUST BE a number: ${n}`), Dt(t)), Number(r));
|
|
2442
2442
|
}, e.kw_get_str = cn, e.kw_has_key = ln, e.kw_match_simple = hn, e.kw_pop = on, e.kw_remove_local_storage_value = jn, e.kw_select = function(e, t, n, r) {
|
|
2443
2443
|
if (e && !Xt(e) && Ot("GObj bad instanceof"), !t) return null;
|
|
2444
2444
|
r || (r = hn);
|
|
2445
|
-
let
|
|
2445
|
+
let o = [];
|
|
2446
2446
|
if (Bt(t)) for (let e = 0; e < t.length; e++) {
|
|
2447
|
-
let
|
|
2448
|
-
r(
|
|
2447
|
+
let i = t[e];
|
|
2448
|
+
r(i, n) && o.push(kt(i));
|
|
2449
2449
|
}
|
|
2450
2450
|
else {
|
|
2451
2451
|
if (!Yt(t)) return Ot("kw_select() BAD kw parameter"), null;
|
|
2452
|
-
r(t, n) &&
|
|
2452
|
+
r(t, n) && o.push(kt(t));
|
|
2453
2453
|
}
|
|
2454
|
-
return
|
|
2455
|
-
}, e.kw_set_dict_value = bn, e.kw_set_local_storage_value = vn, e.kw_set_subdict_value = pn, e.kwid_collect = On, e.kwid_find_one_record = function(e, t, n, r,
|
|
2454
|
+
return o;
|
|
2455
|
+
}, e.kw_set_dict_value = bn, e.kw_set_local_storage_value = vn, e.kw_set_subdict_value = pn, e.kwid_collect = On, e.kwid_find_one_record = function(e, t, n, r, o) {
|
|
2456
2456
|
e && !Xt(e) && Ot("GObj bad instanceof");
|
|
2457
|
-
let
|
|
2458
|
-
return
|
|
2457
|
+
let i = On(e, t, n, r, o);
|
|
2458
|
+
return i.length > 0 ? i[0] : null;
|
|
2459
2459
|
}, e.kwid_get_ids = function(e, t) {
|
|
2460
2460
|
if (e && !Xt(e) && Ot("GObj bad instanceof"), !t) return [];
|
|
2461
2461
|
let n = [];
|
|
@@ -2474,37 +2474,37 @@
|
|
|
2474
2474
|
let r = {};
|
|
2475
2475
|
if (Zt(n) || (t = sn(e, t, n)), Yt(t)) r = t;
|
|
2476
2476
|
else if (Bt(t)) for (let e = 0; e < t.length; e++) {
|
|
2477
|
-
let n = t[e],
|
|
2478
|
-
Zt(
|
|
2477
|
+
let n = t[e], o = cn(n, "id", null, !1);
|
|
2478
|
+
Zt(o) || (r[o] = n);
|
|
2479
2479
|
}
|
|
2480
2480
|
else Ot(`${Ne(e)} kwid_new_dict: data type unknown`);
|
|
2481
2481
|
return r;
|
|
2482
2482
|
}, e.list2options = function(e, t, n) {
|
|
2483
2483
|
t = t || "id", n = n || "value";
|
|
2484
2484
|
let r = [];
|
|
2485
|
-
if (Bt(e)) for (let
|
|
2486
|
-
let
|
|
2487
|
-
if (Jt(
|
|
2488
|
-
id: e[
|
|
2489
|
-
value: e[
|
|
2485
|
+
if (Bt(e)) for (let o = 0; o < e.length; o++) {
|
|
2486
|
+
let i = e[o];
|
|
2487
|
+
if (Jt(i)) r.push({
|
|
2488
|
+
id: e[o],
|
|
2489
|
+
value: e[o]
|
|
2490
2490
|
});
|
|
2491
|
-
else if (Yt(
|
|
2491
|
+
else if (Yt(i)) {
|
|
2492
2492
|
let e = {};
|
|
2493
|
-
if (ln(
|
|
2494
|
-
if (!ln(
|
|
2495
|
-
if (!(xt(
|
|
2493
|
+
if (ln(i, t)) {
|
|
2494
|
+
if (!ln(i, n)) {
|
|
2495
|
+
if (!(xt(i) > 0)) {
|
|
2496
2496
|
Ot("list2options(): object without field value: " + n);
|
|
2497
2497
|
continue;
|
|
2498
2498
|
}
|
|
2499
|
-
n = Object.keys(
|
|
2499
|
+
n = Object.keys(i)[0];
|
|
2500
2500
|
}
|
|
2501
|
-
e.id =
|
|
2501
|
+
e.id = i[t], e.value = i[n];
|
|
2502
2502
|
} else {
|
|
2503
|
-
if (!(xt(
|
|
2503
|
+
if (!(xt(i) > 0)) {
|
|
2504
2504
|
Ot("list2options(): object without field id: " + t);
|
|
2505
2505
|
continue;
|
|
2506
2506
|
}
|
|
2507
|
-
t = Object.keys(
|
|
2507
|
+
t = Object.keys(i)[0], e.id = t, e.value = i[t];
|
|
2508
2508
|
}
|
|
2509
2509
|
r.push(e);
|
|
2510
2510
|
} else Ot("list2options(): case1 not implemented");
|
|
@@ -2656,13 +2656,13 @@
|
|
|
2656
2656
|
}("C_TIMER");
|
|
2657
2657
|
}, e.register_c_yuno = function() {
|
|
2658
2658
|
return function(e) {
|
|
2659
|
-
if (
|
|
2659
|
+
if (ir) return Ot(`GClass ALREADY created: ${e}`), -1;
|
|
2660
2660
|
const t = [["ST_IDLE", [[
|
|
2661
2661
|
"EV_TIMEOUT_PERIODIC",
|
|
2662
2662
|
lr,
|
|
2663
2663
|
null
|
|
2664
2664
|
]]]];
|
|
2665
|
-
return (
|
|
2665
|
+
return (ir = W(e, [["EV_TIMEOUT_PERIODIC", R.EVF_OUTPUT_EVENT | R.EVF_NO_WARN_SUBS], [0, 0]], t, sr, 0, rr, or, 0, 0, 0, 0)) ? 0 : -1;
|
|
2666
2666
|
}("C_YUNO");
|
|
2667
2667
|
}, e.safeSrc = function(e) {
|
|
2668
2668
|
if (!e) return "";
|
|
@@ -2674,8 +2674,8 @@
|
|
|
2674
2674
|
4 === r.readyState && n(r.status, r.responseText);
|
|
2675
2675
|
}, r.send(t);
|
|
2676
2676
|
}, e.set_remote_log_functions = jt, e.set_timeout = er, e.set_timeout_periodic = tr, e.sprintf = n, e.stats_parser = function(e, t, n, r) {}, e.str_in_list = wn, e.strcasecmp = nn, e.strcmp = tn, e.strncmp = function(e, t, n) {
|
|
2677
|
-
var r = (e + "").substring(0, n),
|
|
2678
|
-
return r ===
|
|
2677
|
+
var r = (e + "").substring(0, n), o = (t + "").substring(0, n);
|
|
2678
|
+
return r === o ? 0 : r > o ? 1 : -1;
|
|
2679
2679
|
}, e.strs_in_list = function(e, t, n) {
|
|
2680
2680
|
if (!e) return Ot("ERROR: strs_in_list() list empty"), !1;
|
|
2681
2681
|
if (!t) return Ot("ERROR: strs_in_list() str empty"), !1;
|
|
@@ -2719,10 +2719,10 @@
|
|
|
2719
2719
|
return n.type || (n.type = n.real_type), n;
|
|
2720
2720
|
}, e.timeTracker = function(e = "Time Tracker", t = !1) {
|
|
2721
2721
|
const n = e, r = performance.now();
|
|
2722
|
-
let
|
|
2723
|
-
return t && Nt(`--\x3e ${n} - starting`), { mark: (e = "Intermediate",
|
|
2724
|
-
const l = performance.now(), s = (l -
|
|
2725
|
-
return t && Nt(`--\x3e ${n} ${e} - partial: ${s} sec, total: ${_} sec, ${
|
|
2722
|
+
let o = r;
|
|
2723
|
+
return t && Nt(`--\x3e ${n} - starting`), { mark: (e = "Intermediate", i = "") => {
|
|
2724
|
+
const l = performance.now(), s = (l - o) / 1e3, _ = (l - r) / 1e3;
|
|
2725
|
+
return t && Nt(`--\x3e ${n} ${e} - partial: ${s} sec, total: ${_} sec, ${i}`), o = l, {
|
|
2726
2726
|
partial: s,
|
|
2727
2727
|
total: _
|
|
2728
2728
|
};
|