@yuneta/gobj-js 7.8.0 → 7.9.4
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 +9 -9
- package/dist/gobj-js.cjs.js.map +1 -1
- package/dist/gobj-js.cjs.min.js +3 -3
- package/dist/gobj-js.cjs.min.js.map +1 -1
- package/dist/gobj-js.es.js +9 -9
- package/dist/gobj-js.es.js.map +1 -1
- package/dist/gobj-js.es.min.js +39 -39
- package/dist/gobj-js.es.min.js.map +1 -1
- package/dist/gobj-js.iife.js +9 -9
- package/dist/gobj-js.iife.js.map +1 -1
- package/dist/gobj-js.iife.min.js +516 -516
- package/dist/gobj-js.iife.min.js.map +1 -1
- package/dist/gobj-js.umd.js +9 -9
- package/dist/gobj-js.umd.js.map +1 -1
- package/dist/gobj-js.umd.min.js +516 -516
- package/dist/gobj-js.umd.min.js.map +1 -1
- package/package.json +1 -1
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, y = Object.freeze({
|
|
@@ -169,16 +169,16 @@
|
|
|
169
169
|
});
|
|
170
170
|
E.SDF_RD, E.SDF_WR, E.SDF_STATS, E.SDF_PERSIST, E.SDF_VOLATIL, E.SDF_RSTATS, E.SDF_PSTATS, E.SDF_WR, E.SDF_PERSIST;
|
|
171
171
|
var T = 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 T(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 T(0, null), j = (e, t, n, r, o) => new T(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 = Pt(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,
|
|
@@ -230,106 +230,106 @@
|
|
|
230
230
|
let n = {};
|
|
231
231
|
if (!Ht(t)) return kt("sdata_desc MUST be an array"), Lt(t), n;
|
|
232
232
|
for (let r = 0; r < t.length; r++) {
|
|
233
|
-
const
|
|
234
|
-
|
|
233
|
+
const o = t[r];
|
|
234
|
+
o.name && C(e, n, o);
|
|
235
235
|
}
|
|
236
236
|
return n;
|
|
237
237
|
}
|
|
238
238
|
function C(e, t, n) {
|
|
239
|
-
let r,
|
|
239
|
+
let r, o = n.default_value;
|
|
240
240
|
switch (n.type) {
|
|
241
241
|
case y.DTP_STRING:
|
|
242
|
-
r = String(
|
|
242
|
+
r = String(o);
|
|
243
243
|
break;
|
|
244
244
|
case y.DTP_BOOLEAN:
|
|
245
|
-
r = ln(
|
|
245
|
+
r = ln(o);
|
|
246
246
|
break;
|
|
247
247
|
case y.DTP_INTEGER:
|
|
248
|
-
r = parseInt(
|
|
248
|
+
r = parseInt(o), isNaN(r) && kt(`${we(e)}: attr NaN: ${n.name}`);
|
|
249
249
|
break;
|
|
250
250
|
case y.DTP_REAL:
|
|
251
|
-
r = Number(
|
|
251
|
+
r = Number(o), isNaN(r) && kt(`${we(e)}: attr NaN: ${n.name}`);
|
|
252
252
|
break;
|
|
253
253
|
case y.DTP_LIST:
|
|
254
|
-
if (Xt(
|
|
255
|
-
r = JSON.parse(
|
|
254
|
+
if (Xt(o)) try {
|
|
255
|
+
r = JSON.parse(o);
|
|
256
256
|
} catch (e) {
|
|
257
257
|
kt(`JSON parse error: ${e.message}`);
|
|
258
258
|
}
|
|
259
|
-
else r =
|
|
259
|
+
else r = o;
|
|
260
260
|
Ht(r) || (r = []);
|
|
261
261
|
break;
|
|
262
262
|
case y.DTP_DICT:
|
|
263
|
-
if (Xt(
|
|
264
|
-
r = JSON.parse(
|
|
263
|
+
if (Xt(o)) try {
|
|
264
|
+
r = JSON.parse(o);
|
|
265
265
|
} catch (e) {
|
|
266
266
|
kt(`JSON parse error: ${e.message}`);
|
|
267
267
|
}
|
|
268
|
-
else r =
|
|
268
|
+
else r = o;
|
|
269
269
|
Qt(r) || (r = {});
|
|
270
270
|
break;
|
|
271
271
|
case y.DTP_JSON:
|
|
272
|
-
if (Xt(
|
|
273
|
-
r = JSON.parse(
|
|
272
|
+
if (Xt(o)) try {
|
|
273
|
+
r = JSON.parse(o);
|
|
274
274
|
} catch (e) {
|
|
275
275
|
kt(`JSON parse error: ${e.message}`);
|
|
276
276
|
}
|
|
277
|
-
else r =
|
|
277
|
+
else r = o;
|
|
278
278
|
break;
|
|
279
|
-
case y.DTP_POINTER: r =
|
|
279
|
+
case y.DTP_POINTER: r = o;
|
|
280
280
|
}
|
|
281
281
|
return void 0 === r && (kt(`default_value WRONG, it: ${n.name}, value: ${n.default_value}`), r = null), t[n.name] = r, 0;
|
|
282
282
|
}
|
|
283
283
|
function F(e, t, n, r) {
|
|
284
|
-
let
|
|
284
|
+
let o;
|
|
285
285
|
switch (n.type) {
|
|
286
286
|
case y.DTP_STRING:
|
|
287
|
-
if (null == r)
|
|
288
|
-
else if (Xt(r))
|
|
287
|
+
if (null == r) o = "";
|
|
288
|
+
else if (Xt(r)) o = String(r);
|
|
289
289
|
else {
|
|
290
290
|
let e = JSON.stringify(r);
|
|
291
|
-
e && (
|
|
291
|
+
e && (o = String(e));
|
|
292
292
|
}
|
|
293
293
|
break;
|
|
294
294
|
case y.DTP_BOOLEAN:
|
|
295
|
-
|
|
295
|
+
o = ln(r);
|
|
296
296
|
break;
|
|
297
297
|
case y.DTP_INTEGER:
|
|
298
|
-
|
|
298
|
+
o = parseInt(r), isNaN(o) && kt(`${we(e)}: attr NaN: ${n.name}`);
|
|
299
299
|
break;
|
|
300
300
|
case y.DTP_REAL:
|
|
301
|
-
|
|
301
|
+
o = Number(r), isNaN(o) && kt(`${we(e)}: attr NaN: ${n.name}`);
|
|
302
302
|
break;
|
|
303
303
|
case y.DTP_LIST:
|
|
304
304
|
if (Xt(r)) try {
|
|
305
|
-
|
|
305
|
+
o = JSON.parse(r);
|
|
306
306
|
} catch (e) {
|
|
307
307
|
kt(`JSON parse error: ${e.message}`);
|
|
308
308
|
}
|
|
309
|
-
else
|
|
310
|
-
if (!Ht(
|
|
309
|
+
else o = r;
|
|
310
|
+
if (!Ht(o)) return kt(`attr must be an array: ${n.name}`), -1;
|
|
311
311
|
break;
|
|
312
312
|
case y.DTP_DICT:
|
|
313
313
|
if (Xt(r)) try {
|
|
314
|
-
|
|
314
|
+
o = JSON.parse(r);
|
|
315
315
|
} catch (e) {
|
|
316
316
|
kt(`JSON parse error: ${e.message}`);
|
|
317
317
|
}
|
|
318
|
-
else
|
|
319
|
-
if (!Qt(
|
|
318
|
+
else o = r;
|
|
319
|
+
if (!Qt(o)) return kt(`attr must be an object: ${n.name}`), -1;
|
|
320
320
|
break;
|
|
321
321
|
case y.DTP_JSON:
|
|
322
322
|
if (Xt(r)) try {
|
|
323
|
-
|
|
323
|
+
o = JSON.parse(r);
|
|
324
324
|
} catch (e) {
|
|
325
325
|
kt(`JSON parse error: ${e.message}`);
|
|
326
326
|
}
|
|
327
|
-
else
|
|
328
|
-
if (!Ht(
|
|
327
|
+
else o = r;
|
|
328
|
+
if (!Ht(o) && !Qt(o)) return kt(`attr must be a json dict/list: ${n.name}`), -1;
|
|
329
329
|
break;
|
|
330
|
-
case y.DTP_POINTER:
|
|
330
|
+
case y.DTP_POINTER: o = r;
|
|
331
331
|
}
|
|
332
|
-
return void 0 ===
|
|
332
|
+
return void 0 === o && kt(`${we(e)}: attr undefined: ${n.name}`), t[n.name] = o, Qt(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;
|
|
333
333
|
}
|
|
334
334
|
function G(e) {
|
|
335
335
|
return e.jn_attrs;
|
|
@@ -346,11 +346,11 @@
|
|
|
346
346
|
}
|
|
347
347
|
return n && kt(`${e.gclass_name}: GClass Attribute NOT FOUND: ${t}`), null;
|
|
348
348
|
}
|
|
349
|
-
function M(e, t, n, r,
|
|
349
|
+
function M(e, t, n, r, o, i, l, s, _, a, u) {
|
|
350
350
|
if (on(e)) return kt("gclass_name EMPTY"), null;
|
|
351
351
|
if (e.includes("`") || e.includes("^") || e.includes(".")) return kt(`GClass name CANNOT have '.' or '^' or '\`' char: ${e}`), null;
|
|
352
352
|
if (X(e)) return kt(`GClass ALREADY exists: ${e}`), null;
|
|
353
|
-
let c = new S(e, r,
|
|
353
|
+
let c = new S(e, r, o, i, l, s, _, a, u);
|
|
354
354
|
(function(e, t) {
|
|
355
355
|
e && e instanceof S ? t ? d[t] ? kt(`gclass ALREADY REGISTERED: ${t}`) : d[t] = e : kt("gclass_name undefined") : kt("gclass undefined");
|
|
356
356
|
})(c, e);
|
|
@@ -359,10 +359,10 @@
|
|
|
359
359
|
let t = n[e][0], r = n[e][1];
|
|
360
360
|
if (on(t)) continue;
|
|
361
361
|
if (B(c, t) < 0) return x(c), null;
|
|
362
|
-
const
|
|
363
|
-
for (let e = 0; e <
|
|
364
|
-
let n = r[e][0],
|
|
365
|
-
on(n) || J(c, t, n,
|
|
362
|
+
const o = r.length;
|
|
363
|
+
for (let e = 0; e < o; e++) {
|
|
364
|
+
let n = r[e][0], o = r[e][1], i = r[e][2];
|
|
365
|
+
on(n) || J(c, t, n, o, i);
|
|
366
366
|
}
|
|
367
367
|
}
|
|
368
368
|
for (let e = 0; e < t.length; e++) {
|
|
@@ -407,11 +407,11 @@
|
|
|
407
407
|
function B(e, t) {
|
|
408
408
|
return e instanceof S ? K(e, t) ? (kt(`state already exists: ${t}`), -1) : (e.dl_states.push(new A(t)), 0) : (kt("Cannot add state, typeof not GClass"), -1);
|
|
409
409
|
}
|
|
410
|
-
function J(e, t, n, r,
|
|
410
|
+
function J(e, t, n, r, o) {
|
|
411
411
|
if (!(e instanceof S)) return kt("Cannot add state, typeof not GClass"), -1;
|
|
412
412
|
if (on(t)) return kt("state_name EMPTY"), -1;
|
|
413
|
-
let
|
|
414
|
-
return
|
|
413
|
+
let i = K(e, t);
|
|
414
|
+
return i ? Y(i, n) ? (kt(`event already exists: gclass ${e.gclass_name}, state ${t}, event ${n}`), -1) : (i.dl_actions.push(new $(n, r, o)), 0) : (kt(`state not found: ${t}`), -1);
|
|
415
415
|
}
|
|
416
416
|
function q(e, t, n) {
|
|
417
417
|
on(t) || e.push(new I(t, n));
|
|
@@ -435,8 +435,8 @@
|
|
|
435
435
|
for (let n = 0; n < e.dl_states.length; n++) {
|
|
436
436
|
let r = e.dl_states[n];
|
|
437
437
|
if (!on(r.state_name)) for (let n = 0; n < r.dl_actions.length; n++) {
|
|
438
|
-
let
|
|
439
|
-
on(
|
|
438
|
+
let o = r.dl_actions[n];
|
|
439
|
+
on(o.event_name) || (Q(e, o.event_name) || (kt(`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) || (kt(`SMachine: next state NOT in state names: gclass ${e.gclass_name}, state ${r.state_name}, next_state ${o.next_state}`), t += -1)));
|
|
440
440
|
}
|
|
441
441
|
}
|
|
442
442
|
for (let n = 0; n < e.dl_events.length; n++) {
|
|
@@ -444,8 +444,8 @@
|
|
|
444
444
|
if (!on(r.event_name) && (Zt(r.event_flag) || (kt(`SMachine: event flag is NOT number: gclass ${e.gclass_name}, event ${r.event_name}`), t += -1), !(r.event_flag & R.EVF_OUTPUT_EVENT))) {
|
|
445
445
|
let n = !1;
|
|
446
446
|
for (let t = 0; t < e.dl_states.length; t++) {
|
|
447
|
-
let
|
|
448
|
-
on(
|
|
447
|
+
let o = e.dl_states[t];
|
|
448
|
+
on(o.state_name) || Y(o, r.event_name) && (n = !0);
|
|
449
449
|
}
|
|
450
450
|
n || (kt(`SMachine: input_list's event NOT in state: gclass ${e.gclass_name}, event ${r.event_name}`), t += -1);
|
|
451
451
|
}
|
|
@@ -478,34 +478,34 @@
|
|
|
478
478
|
let n = Yn(e.dl_children, t);
|
|
479
479
|
n >= 0 && (Bt(e.dl_children, n), t.parent = null);
|
|
480
480
|
}
|
|
481
|
-
function
|
|
481
|
+
function oe(e, t) {
|
|
482
482
|
"__json_config_variables__" !== t && kt(`GClass Attribute NOT FOUND: ${we(e)}, attr ${t}`);
|
|
483
483
|
}
|
|
484
|
-
function
|
|
484
|
+
function ie(e, t, n) {
|
|
485
485
|
let r = t;
|
|
486
|
-
(function(e, t, n, r,
|
|
486
|
+
(function(e, t, n, r, o) {
|
|
487
487
|
if (!e || !t) return kt("hsdata or kw NULL"), -1;
|
|
488
|
-
let
|
|
488
|
+
let i = 0;
|
|
489
489
|
for (const [l, s] of Object.entries(t)) {
|
|
490
|
-
const t = W(
|
|
491
|
-
t ? (-1 === n || t.flag & n) && (t.flag & E.SDF_DEPRECATED && $t(`${we(
|
|
490
|
+
const t = W(o.gclass, l, !1);
|
|
491
|
+
t ? (-1 === n || t.flag & n) && (t.flag & E.SDF_DEPRECATED && $t(`${we(o)}: Deprecated attribute used in gobj creation: ${l}`), i += F(o, e, t, s)) : r && (r(o, l), i--);
|
|
492
492
|
}
|
|
493
|
-
return
|
|
494
|
-
})(G(e), r, -1, e.gclass.gclass_flag & N.gcflag_ignore_unknown_attrs ? 0 :
|
|
493
|
+
return i;
|
|
494
|
+
})(G(e), r, -1, e.gclass.gclass_flag & N.gcflag_ignore_unknown_attrs ? 0 : oe, e) < 0 && (kt(`${we(e)} json2data() FAILED`), Lt(r));
|
|
495
495
|
}
|
|
496
|
-
function le(e, t, r,
|
|
497
|
-
if (
|
|
496
|
+
function le(e, t, r, o, i) {
|
|
497
|
+
if (i & w.gobj_flag_yuno) {
|
|
498
498
|
if (p) return kt("__yuno__ already created"), null;
|
|
499
|
-
|
|
499
|
+
i |= w.gobj_flag_service;
|
|
500
500
|
} else {
|
|
501
|
-
if (!
|
|
502
|
-
if (!("string" == typeof
|
|
503
|
-
if (Xt(
|
|
501
|
+
if (!o) return kt("gobj NEEDS a parent!"), null;
|
|
502
|
+
if (!("string" == typeof o || o instanceof O)) return kt(`BAD TYPE of parent: ${o}`), null;
|
|
503
|
+
if (Xt(o) && !(o = ee(o))) return $t(`parent service not found: ${o}`), null;
|
|
504
504
|
}
|
|
505
|
-
if (
|
|
506
|
-
if (
|
|
505
|
+
if (i & w.gobj_flag_service && ee(e, !1)) return kt(`service ALREADY registered: ${t}^${e}`), null;
|
|
506
|
+
if (i & w.gobj_flag_default_service) {
|
|
507
507
|
if (m) return kt(`default service ALREADY registered: ${t}^${e}`), null;
|
|
508
|
-
|
|
508
|
+
i |= w.gobj_flag_service;
|
|
509
509
|
}
|
|
510
510
|
if (on(t)) return kt("gclass_name must be a string"), null;
|
|
511
511
|
let l = X(t, !1);
|
|
@@ -515,25 +515,25 @@
|
|
|
515
515
|
if (e.includes("`")) return kt(`gobj_name cannot contain char ': ${t}^${e}`), null;
|
|
516
516
|
if (e.includes("^")) return kt(`gobj_name cannot contain char ^: ${t}^${e}`), null;
|
|
517
517
|
}
|
|
518
|
-
let _ = new O(e, l, r,
|
|
518
|
+
let _ = new O(e, l, r, o, i);
|
|
519
519
|
_.jn_attrs = U(_, l.attrs_table);
|
|
520
520
|
for (const [e, t] of Object.entries(_.jn_attrs)) e in _.priv && (_.priv[e] = t);
|
|
521
521
|
let a = p && Je(p, "trace_creation");
|
|
522
|
-
return a && P(n("💙💙⏩ creating: %s^%s", l.gclass_name, e)), _.gobj_flag & w.gobj_flag_service && te(_), _.gobj_flag & w.gobj_flag_yuno && (p = _), _.gobj_flag & w.gobj_flag_default_service && (m = _), _.gobj_flag & w.gobj_flag_yuno || ne(
|
|
522
|
+
return a && P(n("💙💙⏩ creating: %s^%s", l.gclass_name, e)), _.gobj_flag & w.gobj_flag_service && te(_), _.gobj_flag & w.gobj_flag_yuno && (p = _), _.gobj_flag & w.gobj_flag_default_service && (m = _), _.gobj_flag & w.gobj_flag_yuno || ne(o, _), _.obflag |= D.obflag_created, _.gclass.instances++, ie(_, 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 && P(n("👦👦🔵 child_added(%s): %s", De(o), we(_))), o.gclass.gmt.mt_child_added(o, _)), a && P(n("💙💙⏪ created: %s", De(_))), _;
|
|
523
523
|
}
|
|
524
524
|
function se(e, t, n, r) {
|
|
525
525
|
return le(e, t, n, r, w.gobj_flag_pure_child);
|
|
526
526
|
}
|
|
527
527
|
function _e(e) {
|
|
528
528
|
if (Ae(e)) return void kt("gobj NULL or DESTROYED");
|
|
529
|
-
e.__refs__ > 0 && kt(`${we(e)}: gobj DESTROYING with references: ${e.__refs__}`), e.obflag |= D.obflag_destroying;
|
|
529
|
+
e.__refs__ > 0 && kt(`${we(e)}: gobj DESTROYING with references: ${e.__refs__}`), e.playing && (kt(`Destroying a PLAYING gobj: ${De(e)}`), pe(e)), e.running && (kt(`Destroying a RUNNING gobj: ${De(e)}`), fe(e)), e.obflag |= D.obflag_destroying;
|
|
530
530
|
let t = p && Je(p, "trace_creation");
|
|
531
531
|
t && P(n("💔💔⏩ destroying: %s", De(e)));
|
|
532
532
|
let r = Re(e);
|
|
533
533
|
r && r.gclass.gmt.mt_child_removed && (t && P(n("👦👦🔴 child_removed(%s): %s", De(r), we(e))), r.gclass.gmt.mt_child_removed(r, e)), e.gobj_flag & w.gobj_flag_service && function(e) {
|
|
534
534
|
let t = Oe(e);
|
|
535
535
|
t = t.toLowerCase(), b[t] ? delete b[t] : kt(`"service NOT found in register": ${t}`);
|
|
536
|
-
}(e),
|
|
536
|
+
}(e), dt(e, e.dl_subscriptions, !0), dt(e, e.dl_subscribings, !0), r && (re(r, e), ke(e) && (Ie(r) !== e || Ae(r) || Le(r, null))), function(e) {
|
|
537
537
|
let t = e.dl_children.slice();
|
|
538
538
|
for (let e = 0; e < t.length; e++) {
|
|
539
539
|
let n = t[e];
|
|
@@ -647,59 +647,59 @@
|
|
|
647
647
|
function Pe(e, t, n) {
|
|
648
648
|
return rn(e) ? t ? W(e.gclass, t, n) : e.gclass.attrs_table : (kt("gobj NULL of bad type"), null);
|
|
649
649
|
}
|
|
650
|
-
function Ue(e, t, n, r,
|
|
651
|
-
return Ae(e) ? (kt("gobj NULL, destroying, or bad type"), 0) : Fe(e.dl_children, t, n, r,
|
|
650
|
+
function Ue(e, t, n, r, o) {
|
|
651
|
+
return Ae(e) ? (kt("gobj NULL, destroying, or bad type"), 0) : Fe(e.dl_children, t, n, r, o);
|
|
652
652
|
}
|
|
653
|
-
function Ce(e, t, n, r,
|
|
654
|
-
return Ae(e) ? (kt("gobj NULL, destroying, or bad type"), 0) : Ve(e.dl_children, t, n, r,
|
|
653
|
+
function Ce(e, t, n, r, o) {
|
|
654
|
+
return Ae(e) ? (kt("gobj NULL, destroying, or bad type"), 0) : Ve(e.dl_children, t, n, r, o);
|
|
655
655
|
}
|
|
656
|
-
function Fe(e, t, n, r,
|
|
657
|
-
let
|
|
656
|
+
function Fe(e, t, n, r, o) {
|
|
657
|
+
let i, l = [...e];
|
|
658
658
|
if (t & k.WALK_LAST2FIRST) for (let e = l.length; e > 0; e--) {
|
|
659
|
-
|
|
660
|
-
let t = n(
|
|
659
|
+
i = l[e - 1];
|
|
660
|
+
let t = n(i, r, o);
|
|
661
661
|
if (t < 0) return t;
|
|
662
662
|
}
|
|
663
663
|
else for (let e = 0; e < l.length; e++) {
|
|
664
|
-
|
|
665
|
-
let t = n(
|
|
664
|
+
i = l[e];
|
|
665
|
+
let t = n(i, r, o);
|
|
666
666
|
if (t < 0) return t;
|
|
667
667
|
}
|
|
668
668
|
return 0;
|
|
669
669
|
}
|
|
670
|
-
function Ge(e, t, n, r,
|
|
671
|
-
let
|
|
670
|
+
function Ge(e, t, n, r, o) {
|
|
671
|
+
let i, l = Fe(e, t, n, r, o);
|
|
672
672
|
if (l < 0) return l;
|
|
673
673
|
if (t & k.WALK_LAST2FIRST) {
|
|
674
|
-
for (let s = e.length; s > 0; s--) if (
|
|
675
|
-
} else for (let s = 0; s < e.length; s++) if (
|
|
674
|
+
for (let s = e.length; s > 0; s--) if (i = e[s - 1], l = Ge([...i.dl_children], t, n, r, o), l < 0) return l;
|
|
675
|
+
} else for (let s = 0; s < e.length; s++) if (i = e[s], l = Ge([...i.dl_children], t, n, r, o), l < 0) return l;
|
|
676
676
|
return l;
|
|
677
677
|
}
|
|
678
|
-
function Ve(e, t, n, r,
|
|
679
|
-
if (t & k.WALK_BYLEVEL) return Ge(e, t, n, r,
|
|
680
|
-
let
|
|
678
|
+
function Ve(e, t, n, r, o) {
|
|
679
|
+
if (t & k.WALK_BYLEVEL) return Ge(e, t, n, r, o);
|
|
680
|
+
let i, l;
|
|
681
681
|
if (t & k.WALK_BOTTOM2TOP) for (let s = e.length; s > 0; s--) {
|
|
682
|
-
if (l = e[s - 1],
|
|
683
|
-
if (
|
|
682
|
+
if (l = e[s - 1], i = Ve([...l.dl_children], t, n, r, o), i < 0) return i;
|
|
683
|
+
if (i = n(l, r, o), i < 0) return i;
|
|
684
684
|
}
|
|
685
685
|
else for (let s = 0; s < e.length; s++) {
|
|
686
|
-
if (l = e[s],
|
|
687
|
-
if (0 ===
|
|
686
|
+
if (l = e[s], i = n(l, r, o), i < 0) return i;
|
|
687
|
+
if (0 === i && (i = Ve([...l.dl_children], t, n, r, o), i < 0)) return i;
|
|
688
688
|
}
|
|
689
689
|
return 0;
|
|
690
690
|
}
|
|
691
691
|
function We(e, t) {
|
|
692
692
|
if (!rn(e)) return kt("gobj NULL of bad type"), !1;
|
|
693
|
-
let n = t.__gclass_name__, r = t.__gobj_name__,
|
|
693
|
+
let n = t.__gclass_name__, r = t.__gobj_name__, o = t.__prefix_gobj_name__;
|
|
694
694
|
t.__disabled__;
|
|
695
|
-
let
|
|
695
|
+
let i = t.__state__;
|
|
696
696
|
if (n && n !== Ne(e)) return !1;
|
|
697
697
|
if (r && r !== Oe(e)) return !1;
|
|
698
|
-
if (
|
|
699
|
-
let t =
|
|
700
|
-
if (
|
|
698
|
+
if (o) {
|
|
699
|
+
let t = o.length;
|
|
700
|
+
if (o !== Oe(e).substring(0, t)) return !1;
|
|
701
701
|
}
|
|
702
|
-
if (
|
|
702
|
+
if (i && i !== nt(e)) return !1;
|
|
703
703
|
let l = e.jn_attrs;
|
|
704
704
|
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;
|
|
705
705
|
return !0;
|
|
@@ -717,9 +717,9 @@
|
|
|
717
717
|
if (!t) return null;
|
|
718
718
|
let n = t.split("`");
|
|
719
719
|
if (!function(e, t) {
|
|
720
|
-
let n = t.split("^"), r = null,
|
|
720
|
+
let n = t.split("^"), r = null, o = null;
|
|
721
721
|
if (2 === n.length) {
|
|
722
|
-
if (
|
|
722
|
+
if (o = n[0], r = n[1], o !== Ne(e)) return !1;
|
|
723
723
|
} else {
|
|
724
724
|
if (1 !== n.length) return !1;
|
|
725
725
|
r = n[0];
|
|
@@ -727,10 +727,10 @@
|
|
|
727
727
|
return r === Oe(e);
|
|
728
728
|
}(e, n[0])) return null;
|
|
729
729
|
if (1 === n.length) return e;
|
|
730
|
-
let r = n[1].split("^"),
|
|
731
|
-
1 === r.length ?
|
|
732
|
-
let
|
|
733
|
-
return
|
|
730
|
+
let r = n[1].split("^"), o = {};
|
|
731
|
+
1 === r.length ? o.__gobj_name__ = r : (o.__gclass_name__ = r[0], o.__gobj_name__ = r[1]);
|
|
732
|
+
let i = Me(e, o);
|
|
733
|
+
return i ? (n.splice(0, 1), n = n.join("`"), xe(i, n)) : null;
|
|
734
734
|
}
|
|
735
735
|
function Ke(e, t) {
|
|
736
736
|
return !on(t) && !!W(e.gclass, t, !1);
|
|
@@ -744,12 +744,12 @@
|
|
|
744
744
|
return kt(`${we(e)}: GClass Attribute NOT FOUND, attr ${t}`), null;
|
|
745
745
|
}
|
|
746
746
|
function Be(e, t, n) {
|
|
747
|
-
let r = {},
|
|
748
|
-
for (let n = 0; n <
|
|
749
|
-
const
|
|
750
|
-
if (
|
|
747
|
+
let r = {}, o = e.gclass.attrs_table;
|
|
748
|
+
for (let n = 0; n < o.length; n++) {
|
|
749
|
+
const i = o[n];
|
|
750
|
+
if (i.name && (-1 === t || i.flag & t)) {
|
|
751
751
|
let t;
|
|
752
|
-
!e.gclass.gmt.mt_reading || e.obflag & D.obflag_destroyed ? t = Vt(e.jn_attrs,
|
|
752
|
+
!e.gclass.gmt.mt_reading || e.obflag & D.obflag_destroyed ? t = Vt(e.jn_attrs, i.name) : (t = e.gclass.gmt.mt_reading(e, i.name), void 0 === t && (t = Vt(e.jn_attrs, i.name))), Mt(r, i.name, t);
|
|
753
753
|
}
|
|
754
754
|
}
|
|
755
755
|
return r;
|
|
@@ -779,12 +779,12 @@
|
|
|
779
779
|
return n ? !e.gclass.gmt.mt_reading || e.obflag & D.obflag_destroyed ? Vt(n, t) : e.gclass.gmt.mt_reading(e, t) : (kt(`${we(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
|
|
780
780
|
}
|
|
781
781
|
function He(e, t, n, r) {
|
|
782
|
-
let
|
|
782
|
+
let o = G(e), i = 0;
|
|
783
783
|
for (const [r, l] of Object.entries(t)) {
|
|
784
784
|
let t = Pe(e, r, !0);
|
|
785
|
-
t && (-1 === n || t.flag & n) && (
|
|
785
|
+
t && (-1 === n || t.flag & n) && (i += F(e, o, t, l));
|
|
786
786
|
}
|
|
787
|
-
return
|
|
787
|
+
return i;
|
|
788
788
|
}
|
|
789
789
|
function Xe(e, t, n) {
|
|
790
790
|
let r = V(e, t, !1);
|
|
@@ -820,35 +820,35 @@
|
|
|
820
820
|
}
|
|
821
821
|
return null;
|
|
822
822
|
}
|
|
823
|
-
function
|
|
823
|
+
function ot(e, t, n) {
|
|
824
824
|
let r = rt(e, t, !1);
|
|
825
825
|
return !!r && !(n && !(r.event_flag & n));
|
|
826
826
|
}
|
|
827
|
-
function
|
|
827
|
+
function it(e, t, n) {
|
|
828
828
|
let r = rt(e, t, !1);
|
|
829
829
|
return !!r && !(n && !(r.event_flag & n)) && !!(r.event_flag & R.EVF_OUTPUT_EVENT);
|
|
830
830
|
}
|
|
831
|
-
function lt(e, t, r,
|
|
831
|
+
function lt(e, t, r, o) {
|
|
832
832
|
if (!(e && e instanceof O)) return kt("gobj dst NULL"), -1;
|
|
833
833
|
if (e.obflag & (D.obflag_destroyed | D.obflag_destroying)) return kt("gobj dst DESTROYED"), -1;
|
|
834
|
-
let
|
|
835
|
-
if (!
|
|
834
|
+
let i = e.current_state;
|
|
835
|
+
if (!i) return kt(`${we(e)}: current_state NULL`), -1;
|
|
836
836
|
let l = 0;
|
|
837
|
-
l = p && qe(p, "tracing"), "C_TIMER" === Ne(
|
|
838
|
-
let s = Y(
|
|
839
|
-
if (!s) return e.gclass.gmt.mt_inject_event ? (h--, l && (P(n("🔃 mach(%s%s), st: %s, ev: %s, from(%s%s)", e.running ? "" : "!!", we(e),
|
|
837
|
+
l = p && qe(p, "tracing"), "C_TIMER" === Ne(o) && (l = p && qe(p, "trace_timer")), h++;
|
|
838
|
+
let s = Y(i, t);
|
|
839
|
+
if (!s) return e.gclass.gmt.mt_inject_event ? (h--, l && (P(n("🔃 mach(%s%s), st: %s, ev: %s, from(%s%s)", e.running ? "" : "!!", we(e), i.state_name, t || "", o && !o.running ? "!!" : "", we(o))), r && l > 1 && Jt(r) && Lt(r)), e.gclass.gmt.mt_inject_event(e, t, r, o)) : (l && P(n("📛 mach(%s%s^%s), st: %s, ev: %s, 📛📛ERROR Event NOT DEFINED in state📛📛, from(%s%s^%s)", e.running ? "" : "!!", Ne(e), Oe(e), i.state_name, t || "", o && !o.running ? "!!" : "", Ne(o), Oe(o))), kt(`📛📛 Event NOT DEFINED in state 📛📛: ${we(e)}, ${i.state_name}, ${t}`), h--, -1);
|
|
840
840
|
if (l) {
|
|
841
|
-
if (1 === L) P(n("🔄 %s %s%s %s from %s%s", t || "", e.running ? "" : "!!", we(e),
|
|
841
|
+
if (1 === L) P(n("🔄 %s %s%s %s from %s%s", t || "", e.running ? "" : "!!", we(e), i.state_name, o && !o.running ? "!!" : "", we(o)));
|
|
842
842
|
else {
|
|
843
843
|
let r = "";
|
|
844
|
-
s.action && (r = Jn(s.action)), P(n("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Ne(e), Oe(e),
|
|
844
|
+
s.action && (r = Jn(s.action)), P(n("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Ne(e), Oe(e), i.state_name, "", t || "", "", r, o && !o.running ? "!!" : "", Ne(o), Oe(o)));
|
|
845
845
|
}
|
|
846
846
|
r && l > 1 && Jt(r) && Lt(r);
|
|
847
847
|
}
|
|
848
848
|
s.next_state && tt(e, s.next_state);
|
|
849
849
|
let _ = -1;
|
|
850
850
|
try {
|
|
851
|
-
s.action && (_ = s.action(e, t, r,
|
|
851
|
+
s.action && (_ = s.action(e, t, r, o));
|
|
852
852
|
} finally {}
|
|
853
853
|
return !l || 1 === L || e.obflag & D.obflag_destroyed || P(n("<- mach(%s%s^%s), st: %s, ev: %s, ret: %d", e.running ? "" : "!!", Ne(e), Oe(e), e.current_state.state_name, t || "", Zt(_) ? _ : 0)), h--, _;
|
|
854
854
|
}
|
|
@@ -868,11 +868,11 @@
|
|
|
868
868
|
j(y.DTP_STRING, "__service__", 0, "", "subscription service"),
|
|
869
869
|
v()
|
|
870
870
|
];
|
|
871
|
-
function at(e, t, n, r,
|
|
872
|
-
let
|
|
873
|
-
if (t && t !== mn(null, e, "publisher", null) && (a = !1),
|
|
871
|
+
function at(e, t, n, r, o) {
|
|
872
|
+
let i = hn(t, r, "__config__", null), l = hn(t, r, "__global__", null), s = hn(t, r, "__local__", null), _ = yn(t, r, "__filter__", null), a = !0;
|
|
873
|
+
if (t && t !== mn(null, e, "publisher", null) && (a = !1), o && o !== mn(null, e, "subscriber", null) && (a = !1), n && n !== pn(null, e, "event", "") && (a = !1), zt(i) > 0) {
|
|
874
874
|
let t = hn(null, e, "__config__", null);
|
|
875
|
-
zt(t) > 0 && Ut(t,
|
|
875
|
+
zt(t) > 0 && Ut(t, i) || (a = !1);
|
|
876
876
|
}
|
|
877
877
|
if (zt(l) > 0) {
|
|
878
878
|
let t = hn(null, e, "__global__", null);
|
|
@@ -888,29 +888,29 @@
|
|
|
888
888
|
}
|
|
889
889
|
return a;
|
|
890
890
|
}
|
|
891
|
-
function ut(e, t, n, r,
|
|
892
|
-
let
|
|
891
|
+
function ut(e, t, n, r, o) {
|
|
892
|
+
let i = [];
|
|
893
893
|
for (let l = 0; l < e.length; l++) {
|
|
894
894
|
let s = e[l];
|
|
895
|
-
at(s, t, n, r,
|
|
895
|
+
at(s, t, n, r, o) && Kt(i, s);
|
|
896
896
|
}
|
|
897
|
-
return
|
|
897
|
+
return i;
|
|
898
898
|
}
|
|
899
|
-
function ct(e, t, n, r,
|
|
900
|
-
for (let
|
|
899
|
+
function ct(e, t, n, r, o) {
|
|
900
|
+
for (let i = 0; i < e.length; i++) if (at(e[i], t, n, r, o)) return i;
|
|
901
901
|
return -1;
|
|
902
902
|
}
|
|
903
|
-
function ft(e, t, r,
|
|
904
|
-
let
|
|
903
|
+
function ft(e, t, r, o) {
|
|
904
|
+
let i = mn(e, t, "publisher", null, ht.KW_REQUIRED), l = mn(e, t, "subscriber", null, ht.KW_REQUIRED), s = pn(e, t, "event", "", ht.KW_REQUIRED);
|
|
905
905
|
if (!!(bn(e, t, "subs_flag", null, ht.KW_REQUIRED) & st.__hard_subscription__) && !r) return -1;
|
|
906
|
-
p && Je(p, "trace_subscriptions") && (P(n("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s'", s || "", we(
|
|
907
|
-
let _ = ct(
|
|
908
|
-
return _ >= 0 ? Bt(
|
|
906
|
+
p && Je(p, "trace_subscriptions") && (P(n("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s'", s || "", we(i), we(l))), Lt(t)), i.obflag & D.obflag_destroyed || o || i.gclass.gmt.mt_subscription_deleted && i.gclass.gmt.mt_subscription_deleted(i, t);
|
|
907
|
+
let _ = ct(i.dl_subscriptions, i, s, t, l);
|
|
908
|
+
return _ >= 0 ? Bt(i.dl_subscriptions, _) : (kt(`${we(e)}: subscription in publisher not found`), Lt(t)), _ = ct(l.dl_subscribings, i, s, t, l), _ >= 0 ? Bt(l.dl_subscribings, _) : (kt(`${we(e)}: subscription in subscriber not found`), Lt(t)), 0;
|
|
909
909
|
}
|
|
910
|
-
function gt(e, t, r,
|
|
910
|
+
function gt(e, t, r, o) {
|
|
911
911
|
if (null == r && (r = {}), !e) return kt(`publisher NULL: ev ${t}`), 0;
|
|
912
|
-
if (!
|
|
913
|
-
const
|
|
912
|
+
if (!o) return kt(`subscriber NULL: ev ${t}`), 0;
|
|
913
|
+
const i = new Set([
|
|
914
914
|
"__config__",
|
|
915
915
|
"__global__",
|
|
916
916
|
"__local__",
|
|
@@ -918,33 +918,33 @@
|
|
|
918
918
|
"__service__"
|
|
919
919
|
]);
|
|
920
920
|
if (Object.keys(r).forEach((n) => {
|
|
921
|
-
|
|
921
|
+
i.has(n) || kt(`${we(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
|
|
922
922
|
}), on(t)) t = "";
|
|
923
|
-
else if (!(
|
|
924
|
-
let l = ut(e.dl_subscriptions, e, t, r,
|
|
923
|
+
else if (!(it(e, t, R.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & N.gcflag_no_check_output_events)) return kt(`event NOT in output event list: ${we(e)}, ${t}`), 0;
|
|
924
|
+
let l = ut(e.dl_subscriptions, e, t, r, o);
|
|
925
925
|
qt(l) > 0 && (kt(`${we(e)}: ${qt(l)} subscription(s) REPEATED, will be deleted and override`), Lt(l, "subscription REPEATED"), dt(e, l, !1));
|
|
926
926
|
let s = function(e, t, n, r) {
|
|
927
|
-
let
|
|
928
|
-
xt(
|
|
929
|
-
let
|
|
927
|
+
let o = U(e, _t);
|
|
928
|
+
xt(o, "event", t), xt(o, "subscriber", r), xt(o, "publisher", e);
|
|
929
|
+
let i = 0;
|
|
930
930
|
if (n) {
|
|
931
931
|
let t = hn(e, n, "__config__", null), r = hn(e, n, "__global__", null), l = hn(e, n, "__local__", null), s = yn(e, n, "__filter__", null), _ = pn(e, n, "__service__", "");
|
|
932
|
-
if (zt(r) > 0 && xt(
|
|
932
|
+
if (zt(r) > 0 && xt(o, "__global__", Pt(r)), zt(t) > 0) {
|
|
933
933
|
let n = Pt(t);
|
|
934
|
-
if (xt(
|
|
934
|
+
if (xt(o, "__config__", n), cn(n, "__hard_subscription__")) {
|
|
935
935
|
let t = dn(e, n, "__hard_subscription__", !1);
|
|
936
|
-
Wt(n, "__hard_subscription__"), t && (
|
|
936
|
+
Wt(n, "__hard_subscription__"), t && (i |= st.__hard_subscription__);
|
|
937
937
|
}
|
|
938
938
|
if (cn(n, "__own_event__")) {
|
|
939
939
|
let t = dn(e, n, "__own_event__", !1);
|
|
940
|
-
Wt(n, "__own_event__"), t && (
|
|
940
|
+
Wt(n, "__own_event__"), t && (i |= st.__own_event__);
|
|
941
941
|
}
|
|
942
942
|
}
|
|
943
|
-
zt(l) > 0 && xt(
|
|
943
|
+
zt(l) > 0 && xt(o, "__local__", Pt(l)), zt(s) > 0 && xt(o, "__filter__", Pt(s)), on(_) || xt(o, "__service__", _);
|
|
944
944
|
}
|
|
945
|
-
return xt(
|
|
946
|
-
}(e, t, r,
|
|
947
|
-
return s ? (Kt(e.dl_subscriptions, s), Kt(
|
|
945
|
+
return xt(o, "subs_flag", i), o;
|
|
946
|
+
}(e, t, r, o);
|
|
947
|
+
return s ? (Kt(e.dl_subscriptions, s), Kt(o.dl_subscribings, s), p && Je(p, "trace_subscriptions") && (P(n("💜💜👍 subscribing event '%s', publisher '%s', subscriber %s", t || "", we(e), we(o))), r && Lt(r)), e.gclass.gmt.mt_subscription_added && e.gclass.gmt.mt_subscription_added(e, s) < 0 && (ft(e, s, !0, !0), s = 0), s) : (kt(`${we(e)}: _create_subscription() FAILED`), 0);
|
|
948
948
|
}
|
|
949
949
|
function dt(e, t, n) {
|
|
950
950
|
let r = [...t];
|
|
@@ -960,16 +960,16 @@
|
|
|
960
960
|
function mt(e, t, r) {
|
|
961
961
|
if (Qt(r) || (r = {}), !e || e.obflag & (D.obflag_destroyed | D.obflag_destroying)) return kt("gobj NULL or DESTROYED"), -1;
|
|
962
962
|
if (on(t)) return kt(`${we(e)}: event EMPTY`), -1;
|
|
963
|
-
let
|
|
964
|
-
if (!(
|
|
965
|
-
let
|
|
966
|
-
if (
|
|
963
|
+
let o = rt(e, t, !0);
|
|
964
|
+
if (!(o && o.event_flag & (R.EVF_SYSTEM_EVENT | R.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & N.gcflag_no_check_output_events)) return kt(`event NOT in output event list: ${we(e)}, ev ${t}`), -1;
|
|
965
|
+
let i = p && Je(p, "trace_subscriptions");
|
|
966
|
+
if (i && (P(n("🔝🔝 mach(%s%s^%s), st: %s, ev: %s%s%s", e.running ? "" : "!!", Ne(e), Oe(e), e.current_state.state_name, "", t || "", "")), Lt(r)), e.gclass.gmt.mt_publish_event) {
|
|
967
967
|
let n = e.gclass.gmt.mt_publish_event(e, t, r);
|
|
968
968
|
if (n <= 0) return n;
|
|
969
969
|
}
|
|
970
970
|
let l = [...e.dl_subscriptions], s = 0, _ = 0;
|
|
971
|
-
for (let
|
|
972
|
-
let a = l[
|
|
971
|
+
for (let o = 0; o < l.length; o++) {
|
|
972
|
+
let a = l[o];
|
|
973
973
|
if (e.gclass.gmt.mt_publication_pre_filter) {
|
|
974
974
|
let n = e.gclass.gmt.mt_publication_pre_filter(e, a, t, r);
|
|
975
975
|
if (n < 0) break;
|
|
@@ -980,12 +980,12 @@
|
|
|
980
980
|
let c = bn(e, a, "subs_flag", 0, ht.KW_REQUIRED), f = pn(e, a, "event", "", ht.KW_REQUIRED);
|
|
981
981
|
if (on(f) || 0 === _n(f, t)) {
|
|
982
982
|
hn(e, a, "__config__", null, 0);
|
|
983
|
-
let
|
|
984
|
-
if (e.gclass.gmt.mt_publication_filter ? d = e.gclass.gmt.mt_publication_filter(e, t, g, u) : zt(f) > 0 && (d = jn(g, f),
|
|
983
|
+
let o = hn(e, a, "__global__", null, 0), l = hn(e, a, "__local__", null, 0), f = yn(e, a, "__filter__", null, 0), g = r, d = 1;
|
|
984
|
+
if (e.gclass.gmt.mt_publication_filter ? d = e.gclass.gmt.mt_publication_filter(e, t, g, u) : zt(f) > 0 && (d = jn(g, f), i && (P(n("💜💜🔄%s publishing with filter, event '%s', subscriber'%s', publisher %s", d ? "👍" : "👎", t || "", we(u), we(e))), Lt(f))), d < 0) break;
|
|
985
985
|
if (0 === d) continue;
|
|
986
986
|
let b = rt(u, t, !0);
|
|
987
|
-
if (b && b.event_flag & R.EVF_SYSTEM_EVENT && !
|
|
988
|
-
l && un(g, l),
|
|
987
|
+
if (b && b.event_flag & R.EVF_SYSTEM_EVENT && !ot(u, b.event_name, 0)) continue;
|
|
988
|
+
l && un(g, l), o && Ct(g, o), i && (P(n("🔝🔄 mach(%s%s), st: %s, ev: %s, from(%s%s)", u.running ? "" : "!!", we(u), nt(u), t || "", e && !e.running ? "!!" : "", we(e))), Lt(g));
|
|
989
989
|
let p = lt(u, t, g, e);
|
|
990
990
|
if (p < 0 && c & st.__own_event__) {
|
|
991
991
|
s = -1;
|
|
@@ -994,7 +994,7 @@
|
|
|
994
994
|
if (_ += p, s++, Ae(e)) break;
|
|
995
995
|
}
|
|
996
996
|
}
|
|
997
|
-
return s ||
|
|
997
|
+
return s || o && o.event_flag & R.EVF_NO_WARN_SUBS || $t(`${we(e)}: Publish event WITHOUT subscribers, ev ${t}`), _;
|
|
998
998
|
}
|
|
999
999
|
var ht = Object.freeze({
|
|
1000
1000
|
KW_REQUIRED: 1,
|
|
@@ -1047,8 +1047,8 @@
|
|
|
1047
1047
|
default: return e;
|
|
1048
1048
|
}
|
|
1049
1049
|
});
|
|
1050
|
-
const
|
|
1051
|
-
|
|
1050
|
+
const o = t.slice(r).map((e) => "object" == typeof e ? JSON.stringify(e) : String(e));
|
|
1051
|
+
o.length > 0 && (n += " " + o.join(" "));
|
|
1052
1052
|
} else n = t.map((e) => "object" == typeof e ? JSON.stringify(e) : String(e)).join(" ");
|
|
1053
1053
|
return n;
|
|
1054
1054
|
}
|
|
@@ -1087,9 +1087,9 @@
|
|
|
1087
1087
|
if ("object" == typeof e) {
|
|
1088
1088
|
let n = Object.keys(e).sort(), r = Object.keys(t).sort();
|
|
1089
1089
|
if (n.length !== r.length) return !1;
|
|
1090
|
-
for (let
|
|
1091
|
-
if (n[
|
|
1092
|
-
if (!Ut(e[n[
|
|
1090
|
+
for (let o = 0; o < n.length; o++) {
|
|
1091
|
+
if (n[o] !== r[o]) return !1;
|
|
1092
|
+
if (!Ut(e[n[o]], t[r[o]])) return !1;
|
|
1093
1093
|
}
|
|
1094
1094
|
return !0;
|
|
1095
1095
|
}
|
|
@@ -1200,177 +1200,177 @@
|
|
|
1200
1200
|
function fn(e, t, n, r) {
|
|
1201
1201
|
if (e && !rn(e) && kt("GObj bad instanceof"), !Qt(t) && !Ht(t)) return kt(`${we(e)}: kw must be list or dict`), 0;
|
|
1202
1202
|
if (!Xt(n)) return kt(`${we(e)}: path must be a string: ${String(n)}`), 0;
|
|
1203
|
-
let
|
|
1204
|
-
if (
|
|
1205
|
-
let
|
|
1206
|
-
for (let l = 0; l <
|
|
1203
|
+
let o = n.split("`");
|
|
1204
|
+
if (o.length <= 1) return t[n];
|
|
1205
|
+
let i = o.length;
|
|
1206
|
+
for (let l = 0; l < i; l++) if (void 0 === (t = t[o[l]])) return void (r && kt(`${we(e)}: path not found: ${String(n)}`));
|
|
1207
1207
|
return t;
|
|
1208
1208
|
}
|
|
1209
1209
|
function gn(e, t, n) {
|
|
1210
1210
|
e && !rn(e) && kt("GObj bad instanceof");
|
|
1211
|
-
let [r,
|
|
1211
|
+
let [r, o] = function(e, t) {
|
|
1212
1212
|
let n = e.lastIndexOf(t);
|
|
1213
1213
|
return -1 === n ? [e, ""] : [e.substring(0, n), e.substring(n + 1)];
|
|
1214
1214
|
}(n, "`");
|
|
1215
|
-
return on(
|
|
1215
|
+
return on(o) ? Wt(t, n) : Wt(fn(e, t, r, !0), o), 0;
|
|
1216
1216
|
}
|
|
1217
|
-
function dn(e, t, n, r,
|
|
1217
|
+
function dn(e, t, n, r, o) {
|
|
1218
1218
|
e && !rn(e) && kt("GObj bad instanceof");
|
|
1219
|
-
let
|
|
1220
|
-
const l =
|
|
1221
|
-
if (void 0 ===
|
|
1219
|
+
let i = fn(e, t, n, !1);
|
|
1220
|
+
const l = o && o & ht.KW_REQUIRED, s = o && o & ht.KW_CREATE, _ = o && o & ht.KW_EXTRACT;
|
|
1221
|
+
if (void 0 === i) {
|
|
1222
1222
|
if (s) {
|
|
1223
|
-
let
|
|
1224
|
-
return En(e, t, n,
|
|
1223
|
+
let o = Boolean(r);
|
|
1224
|
+
return En(e, t, n, o), o;
|
|
1225
1225
|
}
|
|
1226
1226
|
return l && (kt(`path not found: '${n}'`), Lt(t)), Boolean(r);
|
|
1227
1227
|
}
|
|
1228
|
-
return _ && gn(e, t, n), Boolean(
|
|
1228
|
+
return _ && gn(e, t, n), Boolean(i);
|
|
1229
1229
|
}
|
|
1230
|
-
function bn(e, t, n, r,
|
|
1230
|
+
function bn(e, t, n, r, o) {
|
|
1231
1231
|
e && !rn(e) && kt("GObj bad instanceof");
|
|
1232
|
-
let
|
|
1233
|
-
const l =
|
|
1234
|
-
if (void 0 ===
|
|
1232
|
+
let i = fn(e, t, n, !1);
|
|
1233
|
+
const l = o && o & ht.KW_REQUIRED, s = o && o & ht.KW_CREATE, _ = o && o & ht.KW_EXTRACT;
|
|
1234
|
+
if (void 0 === i) {
|
|
1235
1235
|
if (s) {
|
|
1236
|
-
let
|
|
1237
|
-
return En(e, t, n,
|
|
1236
|
+
let o = parseInt(r);
|
|
1237
|
+
return En(e, t, n, o), o;
|
|
1238
1238
|
}
|
|
1239
1239
|
return l && (kt(`path not found: '${n}'`), Lt(t)), parseInt(r);
|
|
1240
1240
|
}
|
|
1241
|
-
return _ && gn(e, t, n), Zt(
|
|
1241
|
+
return _ && gn(e, t, n), Zt(i) ? parseInt(i) : (l && (kt(`path value MUST BE a number: ${n}`), It(t)), parseInt(r));
|
|
1242
1242
|
}
|
|
1243
|
-
function pn(e, t, n, r,
|
|
1243
|
+
function pn(e, t, n, r, o) {
|
|
1244
1244
|
e && !rn(e) && kt("GObj bad instanceof");
|
|
1245
|
-
let
|
|
1246
|
-
const l =
|
|
1247
|
-
if (void 0 ===
|
|
1245
|
+
let i = fn(e, t, n, !1);
|
|
1246
|
+
const l = o && o & ht.KW_REQUIRED, s = o && o & ht.KW_CREATE, _ = o && o & ht.KW_EXTRACT;
|
|
1247
|
+
if (void 0 === i) {
|
|
1248
1248
|
if (s) {
|
|
1249
|
-
let
|
|
1250
|
-
return En(e, t, n,
|
|
1249
|
+
let o = String(r);
|
|
1250
|
+
return En(e, t, n, o), o;
|
|
1251
1251
|
}
|
|
1252
1252
|
return l && (kt(`path not found: '${n}'`), Lt(t)), String(r);
|
|
1253
1253
|
}
|
|
1254
|
-
return _ && gn(e, t, n), Xt(
|
|
1254
|
+
return _ && gn(e, t, n), Xt(i) ? String(i) : (l && (kt(`${we(e)}: path value MUST BE a string: ${n}`), It(t)), String(r));
|
|
1255
1255
|
}
|
|
1256
|
-
function mn(e, t, n, r,
|
|
1256
|
+
function mn(e, t, n, r, o) {
|
|
1257
1257
|
e && !rn(e) && kt("GObj bad instanceof");
|
|
1258
|
-
let
|
|
1259
|
-
const l =
|
|
1260
|
-
if (void 0 ===
|
|
1258
|
+
let i = fn(e, t, n, !1);
|
|
1259
|
+
const l = o && o & ht.KW_REQUIRED, s = o && o & ht.KW_CREATE, _ = o && o & ht.KW_EXTRACT;
|
|
1260
|
+
if (void 0 === i) {
|
|
1261
1261
|
if (s) {
|
|
1262
|
-
let
|
|
1263
|
-
return En(e, t, n,
|
|
1262
|
+
let o = r;
|
|
1263
|
+
return En(e, t, n, o), o;
|
|
1264
1264
|
}
|
|
1265
1265
|
return l && (kt(`path not found: '${n}'`), Lt(t)), r;
|
|
1266
1266
|
}
|
|
1267
|
-
return _ && gn(e, t, n),
|
|
1267
|
+
return _ && gn(e, t, n), i;
|
|
1268
1268
|
}
|
|
1269
|
-
function hn(e, t, n, r,
|
|
1269
|
+
function hn(e, t, n, r, o) {
|
|
1270
1270
|
e && !rn(e) && kt("GObj bad instanceof");
|
|
1271
|
-
let
|
|
1272
|
-
const l =
|
|
1273
|
-
if (void 0 ===
|
|
1271
|
+
let i = fn(e, t, n, !1);
|
|
1272
|
+
const l = o && o & ht.KW_REQUIRED, s = o && o & ht.KW_CREATE, _ = o && o & ht.KW_EXTRACT;
|
|
1273
|
+
if (void 0 === i) {
|
|
1274
1274
|
if (s) {
|
|
1275
|
-
let
|
|
1276
|
-
return En(e, t, n,
|
|
1275
|
+
let o = Object(r);
|
|
1276
|
+
return En(e, t, n, o), o;
|
|
1277
1277
|
}
|
|
1278
1278
|
return l && (kt(`path not found: '${n}'`), Lt(t)), Object(r);
|
|
1279
1279
|
}
|
|
1280
|
-
return _ && gn(e, t, n), Qt(
|
|
1280
|
+
return _ && gn(e, t, n), Qt(i) ? Object(i) : (l && (kt(`path value MUST BE a dict: ${n}`), It(t)), Object(r));
|
|
1281
1281
|
}
|
|
1282
|
-
function yn(e, t, n, r,
|
|
1282
|
+
function yn(e, t, n, r, o) {
|
|
1283
1283
|
e && !rn(e) && kt("GObj bad instanceof");
|
|
1284
|
-
let
|
|
1285
|
-
const l =
|
|
1286
|
-
if (void 0 ===
|
|
1284
|
+
let i = fn(e, t, n, !1);
|
|
1285
|
+
const l = o && o & ht.KW_REQUIRED, s = o && o & ht.KW_CREATE, _ = o && o & ht.KW_EXTRACT;
|
|
1286
|
+
if (void 0 === i) {
|
|
1287
1287
|
if (s) {
|
|
1288
|
-
let
|
|
1289
|
-
return En(e, t, n,
|
|
1288
|
+
let o = r;
|
|
1289
|
+
return En(e, t, n, o), o;
|
|
1290
1290
|
}
|
|
1291
1291
|
return l && (kt(`path not found: '${n}'`), Lt(t)), r;
|
|
1292
1292
|
}
|
|
1293
|
-
return _ && gn(e, t, n),
|
|
1293
|
+
return _ && gn(e, t, n), i;
|
|
1294
1294
|
}
|
|
1295
1295
|
function En(e, t, n, r) {
|
|
1296
1296
|
if (e && !rn(e) && kt("GObj bad instanceof"), !Qt(t)) return kt("kw is not an object"), -1;
|
|
1297
|
-
let
|
|
1298
|
-
if (
|
|
1299
|
-
let
|
|
1300
|
-
for (let e = 0; e <
|
|
1301
|
-
let n =
|
|
1302
|
-
e ===
|
|
1297
|
+
let o = n.split("`");
|
|
1298
|
+
if (o.length <= 1) return t[n] = r, 0;
|
|
1299
|
+
let i = o.length;
|
|
1300
|
+
for (let e = 0; e < i; e++) {
|
|
1301
|
+
let n = o[e];
|
|
1302
|
+
e === i - 1 ? t[n] = r : (void 0 === t[n] && (t[n] = {}), t = t[n]);
|
|
1303
1303
|
}
|
|
1304
1304
|
return 0;
|
|
1305
1305
|
}
|
|
1306
|
-
function Tn(e, t, n, r,
|
|
1306
|
+
function Tn(e, t, n, r, o) {
|
|
1307
1307
|
if (e && !rn(e) && kt("GObj bad instanceof"), !Qt(t)) return kt("kw is not an object"), -1;
|
|
1308
|
-
let
|
|
1309
|
-
return Qt(
|
|
1308
|
+
let i = hn(e, t, n, {}, !0);
|
|
1309
|
+
return Qt(i) ? (i[r] = o, 0) : (kt("subdict is not an object"), -1);
|
|
1310
1310
|
}
|
|
1311
1311
|
function vn(e, t, r) {
|
|
1312
|
-
let
|
|
1312
|
+
let o = "", i = !1;
|
|
1313
1313
|
if (Ht(t)) {
|
|
1314
|
-
|
|
1314
|
+
i = !1;
|
|
1315
1315
|
for (let l = 0; l < t.length; l++) {
|
|
1316
1316
|
let s = t[l];
|
|
1317
|
-
if (
|
|
1317
|
+
if (o = on(r) ? n("%s", r) : n("%s`%d", r, l), i = vn(e, s, o), i) break;
|
|
1318
1318
|
}
|
|
1319
1319
|
} else if (Qt(t)) {
|
|
1320
|
-
|
|
1320
|
+
i = !0;
|
|
1321
1321
|
let l = Object.keys(t);
|
|
1322
1322
|
for (let s = 0; s < l.length; s++) {
|
|
1323
1323
|
let _ = l[s], a = t[_];
|
|
1324
|
-
if (
|
|
1325
|
-
if (
|
|
1324
|
+
if (o = on(r) ? n("%s", _) : n("%s`%s", r, _), Ht(a) || Qt(a)) {
|
|
1325
|
+
if (i = vn(e, a, o), !i) break;
|
|
1326
1326
|
continue;
|
|
1327
1327
|
}
|
|
1328
|
-
let u = yn(0, e,
|
|
1329
|
-
if (u || (u = Vt(e,
|
|
1330
|
-
|
|
1328
|
+
let u = yn(0, e, o, 0, 0);
|
|
1329
|
+
if (u || (u = Vt(e, o)), !u) {
|
|
1330
|
+
i = !1;
|
|
1331
1331
|
break;
|
|
1332
1332
|
}
|
|
1333
1333
|
if (0 !== an(u, a)) {
|
|
1334
|
-
|
|
1334
|
+
i = !1;
|
|
1335
1335
|
break;
|
|
1336
1336
|
}
|
|
1337
1337
|
}
|
|
1338
1338
|
}
|
|
1339
|
-
return
|
|
1339
|
+
return i;
|
|
1340
1340
|
}
|
|
1341
1341
|
function jn(e, t) {
|
|
1342
1342
|
return 0 === zt(t) || vn(e, t, "");
|
|
1343
1343
|
}
|
|
1344
1344
|
function Sn(e, t, n, r) {
|
|
1345
1345
|
e && !rn(e) && kt("GObj bad instanceof");
|
|
1346
|
-
let
|
|
1346
|
+
let o = {};
|
|
1347
1347
|
if (Xt(n) && !on(n)) {
|
|
1348
|
-
let
|
|
1349
|
-
t.hasOwnProperty(
|
|
1350
|
-
} else if (Qt(n) && Jt(n) > 0) for (let
|
|
1348
|
+
let i = n;
|
|
1349
|
+
t.hasOwnProperty(i) ? o[i] = t[i] : r && kt(`${we(e)}: key not found: ${i}`);
|
|
1350
|
+
} else if (Qt(n) && Jt(n) > 0) for (let i of Object.keys(n)) t.hasOwnProperty(i) ? o[i] = t[i] : r && kt(`${we(e)}: key not found: ${i}`);
|
|
1351
1351
|
else {
|
|
1352
1352
|
if (!(Ht(n) && qt(n) > 0)) return t;
|
|
1353
|
-
for (let
|
|
1354
|
-
let l = n[
|
|
1355
|
-
t.hasOwnProperty(l) ?
|
|
1353
|
+
for (let i = 0; i < n.length; i++) {
|
|
1354
|
+
let l = n[i];
|
|
1355
|
+
t.hasOwnProperty(l) ? o[l] = t[l] : r && kt(`${we(e)}: key not found: ${l}`);
|
|
1356
1356
|
}
|
|
1357
1357
|
}
|
|
1358
|
-
return
|
|
1358
|
+
return o;
|
|
1359
1359
|
}
|
|
1360
1360
|
function On(e, t, n, r) {
|
|
1361
|
-
let
|
|
1362
|
-
if (Ct(
|
|
1363
|
-
let
|
|
1364
|
-
yn(e, t,
|
|
1365
|
-
} else if (Qt(n) && Jt(n) > 0) for (let
|
|
1361
|
+
let o = {};
|
|
1362
|
+
if (Ct(o, t), Xt(n) && !on(n)) {
|
|
1363
|
+
let i = n;
|
|
1364
|
+
yn(e, t, i, 0, 0) ? Wt(o, i) : r && kt(`${we(e)}: key not found: ${i}`);
|
|
1365
|
+
} else if (Qt(n) && Jt(n) > 0) for (let i of Object.keys(n)) t.hasOwnProperty(i) ? Wt(o, i) : r && kt(`${we(e)}: key not found: ${i}`);
|
|
1366
1366
|
else {
|
|
1367
1367
|
if (!(Ht(n) && qt(n) > 0)) return {};
|
|
1368
|
-
for (let
|
|
1369
|
-
let l = n[
|
|
1370
|
-
t.hasOwnProperty(l) ? Wt(
|
|
1368
|
+
for (let i = 0; i < n.length; i++) {
|
|
1369
|
+
let l = n[i];
|
|
1370
|
+
t.hasOwnProperty(l) ? Wt(o, l) : r && kt(`${we(e)}: key not found: ${l}`);
|
|
1371
1371
|
}
|
|
1372
1372
|
}
|
|
1373
|
-
return
|
|
1373
|
+
return o;
|
|
1374
1374
|
}
|
|
1375
1375
|
function Nn(e, t, n = !1) {
|
|
1376
1376
|
if ("undefined" != typeof window && window.localStorage) try {
|
|
@@ -1408,10 +1408,10 @@
|
|
|
1408
1408
|
} else if (Xt(e) && e === t) return !0;
|
|
1409
1409
|
return !1;
|
|
1410
1410
|
}
|
|
1411
|
-
function kn(e, t, n, r,
|
|
1411
|
+
function kn(e, t, n, r, o) {
|
|
1412
1412
|
if (e && !rn(e) && kt("GObj bad instanceof"), !t) return null;
|
|
1413
|
-
|
|
1414
|
-
let
|
|
1413
|
+
o || (o = jn);
|
|
1414
|
+
let i = [];
|
|
1415
1415
|
if (Ht(t)) for (let l = 0; l < t.length; l++) {
|
|
1416
1416
|
let s, _ = t[l];
|
|
1417
1417
|
if (Qt(_)) s = pn(e, _, "id", "", 0);
|
|
@@ -1419,16 +1419,16 @@
|
|
|
1419
1419
|
if (!Xt(_)) continue;
|
|
1420
1420
|
s = _;
|
|
1421
1421
|
}
|
|
1422
|
-
Rn(n, s) &&
|
|
1422
|
+
Rn(n, s) && o(_, r) && i.push(_);
|
|
1423
1423
|
}
|
|
1424
1424
|
else {
|
|
1425
1425
|
if (!Qt(t)) return kt("kw_collect() BAD kw parameter"), null;
|
|
1426
1426
|
for (let e of Object.keys(t)) {
|
|
1427
1427
|
let l = t[e];
|
|
1428
|
-
Rn(n, e) &&
|
|
1428
|
+
Rn(n, e) && o(l, r) && i.push(l);
|
|
1429
1429
|
}
|
|
1430
1430
|
}
|
|
1431
|
-
return
|
|
1431
|
+
return i;
|
|
1432
1432
|
}
|
|
1433
1433
|
function $n(e, t) {
|
|
1434
1434
|
if (!e) return -1;
|
|
@@ -1462,10 +1462,10 @@
|
|
|
1462
1462
|
function Pn(e, t, n, r) {
|
|
1463
1463
|
if (!rn(e)) return kt("gobj is not a GObj"), null;
|
|
1464
1464
|
if (!t) return;
|
|
1465
|
-
let
|
|
1466
|
-
|
|
1465
|
+
let o = In(t, n);
|
|
1466
|
+
o || (o = [], Ln(t, n, o));
|
|
1467
1467
|
try {
|
|
1468
|
-
Ht(
|
|
1468
|
+
Ht(o) && o.unshift(r);
|
|
1469
1469
|
} catch (e) {
|
|
1470
1470
|
kt(e);
|
|
1471
1471
|
}
|
|
@@ -1473,8 +1473,8 @@
|
|
|
1473
1473
|
function Un(e, t, n, r) {
|
|
1474
1474
|
if (!rn(e)) return kt("gobj is not a GObj"), null;
|
|
1475
1475
|
if (!Qt(t)) return kt("kw is not a dict"), null;
|
|
1476
|
-
let
|
|
1477
|
-
return
|
|
1476
|
+
let o = In(t, n);
|
|
1477
|
+
return o ? 0 === o.length ? (r && kt(`stack empty: ${n}`), null) : o[0] : (r && kt(`stack NOT FOUND: ${n}`), null);
|
|
1478
1478
|
}
|
|
1479
1479
|
function Cn(e, t, n) {
|
|
1480
1480
|
return on(n) ? gn(e, t, "__md_iev__`__msg_type__") : Tn(e, t, "__md_iev__", "__msg_type__", n), 0;
|
|
@@ -1486,25 +1486,25 @@
|
|
|
1486
1486
|
void 0 !== n && Xt(n) || (n = "");
|
|
1487
1487
|
for (let r of Object.keys(e)) {
|
|
1488
1488
|
if (!e.hasOwnProperty(r)) continue;
|
|
1489
|
-
let
|
|
1490
|
-
n +=
|
|
1489
|
+
let o = (n.length ? "`" : "") + r;
|
|
1490
|
+
n += o, t.apply(this, [
|
|
1491
1491
|
e,
|
|
1492
1492
|
r,
|
|
1493
1493
|
e[r],
|
|
1494
1494
|
n
|
|
1495
|
-
]), Qt(e[r]) && Gn(e[r], t, n), n = n.slice(0, -
|
|
1495
|
+
]), Qt(e[r]) && Gn(e[r], t, n), n = n.slice(0, -o.length);
|
|
1496
1496
|
}
|
|
1497
1497
|
}
|
|
1498
1498
|
function Vn(e, t, n, r) {
|
|
1499
1499
|
if (!e) return null;
|
|
1500
|
-
let
|
|
1501
|
-
for (
|
|
1502
|
-
let
|
|
1503
|
-
if (
|
|
1504
|
-
let e =
|
|
1505
|
-
if (e && e === n) return
|
|
1506
|
-
if (r && cn(
|
|
1507
|
-
let e = Vn(
|
|
1500
|
+
let o, i = e.length;
|
|
1501
|
+
for (o = 0; o < i; o++) {
|
|
1502
|
+
let i = e[o];
|
|
1503
|
+
if (i) {
|
|
1504
|
+
let e = i.id;
|
|
1505
|
+
if (e && e === n) return i;
|
|
1506
|
+
if (r && cn(i, t)) {
|
|
1507
|
+
let e = Vn(i[t], t, n, r);
|
|
1508
1508
|
if (e) return e;
|
|
1509
1509
|
}
|
|
1510
1510
|
}
|
|
@@ -1572,10 +1572,10 @@
|
|
|
1572
1572
|
function zn(e, t) {
|
|
1573
1573
|
if (Xt(t)) {
|
|
1574
1574
|
if (-1 === t.indexOf("^")) {
|
|
1575
|
-
let n, r,
|
|
1576
|
-
if (1 !== Jt(
|
|
1577
|
-
for (const e of Object.keys(
|
|
1578
|
-
n = e, r =
|
|
1575
|
+
let n, r, o = e.fkey;
|
|
1576
|
+
if (1 !== Jt(o)) return kt("bad fkey 1"), kt(e), kt(t), null;
|
|
1577
|
+
for (const e of Object.keys(o)) {
|
|
1578
|
+
n = e, r = o[e];
|
|
1579
1579
|
break;
|
|
1580
1580
|
}
|
|
1581
1581
|
return {
|
|
@@ -1700,12 +1700,12 @@
|
|
|
1700
1700
|
timer_id: -1
|
|
1701
1701
|
}, nr = null;
|
|
1702
1702
|
function rr(e, t, n, r) {
|
|
1703
|
-
let
|
|
1704
|
-
return $e(e) ? lt(Re(e),
|
|
1703
|
+
let o = e.priv, i = o.periodic ? "EV_TIMEOUT_PERIODIC" : "EV_TIMEOUT";
|
|
1704
|
+
return $e(e) ? lt(Re(e), i, {}, e) : mt(e, i, {}), o.periodic && (o.timer_id = setTimeout(function() {
|
|
1705
1705
|
lt(e, "EV_TIMEOUT", {}, e);
|
|
1706
|
-
},
|
|
1706
|
+
}, o.msec)), 0;
|
|
1707
1707
|
}
|
|
1708
|
-
var
|
|
1708
|
+
var or = {
|
|
1709
1709
|
mt_create: function(e) {
|
|
1710
1710
|
let t = e.priv;
|
|
1711
1711
|
const n = Qe(e, "subscriber");
|
|
@@ -1730,7 +1730,7 @@
|
|
|
1730
1730
|
},
|
|
1731
1731
|
mt_destroy: function(e) {}
|
|
1732
1732
|
};
|
|
1733
|
-
function
|
|
1733
|
+
function ir(e, t) {
|
|
1734
1734
|
return e instanceof O ? "C_TIMER" !== Ne(e) ? (kt("not C_TIMER GObj"), -1) : (Xe(e, "periodic", !1), void Ze(e, "msec", t)) : (kt("not GObj TYPE"), -1);
|
|
1735
1735
|
}
|
|
1736
1736
|
function lr(e, t) {
|
|
@@ -1843,11 +1843,11 @@
|
|
|
1843
1843
|
}, n) : (kt(`${we(e)}: Failed to initialize WebSocket.`), null);
|
|
1844
1844
|
}
|
|
1845
1845
|
function hr(e, t = 1e3, n = "") {
|
|
1846
|
-
let r = e.priv,
|
|
1847
|
-
if (r.websocket = null,
|
|
1846
|
+
let r = e.priv, o = r.websocket;
|
|
1847
|
+
if (r.websocket = null, o && o.readyState !== WebSocket.CLOSED && o.readyState !== WebSocket.CLOSING) {
|
|
1848
1848
|
At(`Closing WebSocket (Code: ${t}, Reason: "${n}")`);
|
|
1849
1849
|
try {
|
|
1850
|
-
|
|
1850
|
+
o.close(t, n);
|
|
1851
1851
|
} catch (e) {
|
|
1852
1852
|
kt("Error closing WebSocket:", e.message);
|
|
1853
1853
|
}
|
|
@@ -1870,8 +1870,8 @@
|
|
|
1870
1870
|
return function(e, t) {
|
|
1871
1871
|
let n = e.priv, r = JSON.stringify(t);
|
|
1872
1872
|
if (Je(Te(), "trace_inter_event")) {
|
|
1873
|
-
let n = ze(e, "url"),
|
|
1874
|
-
|
|
1873
|
+
let n = ze(e, "url"), o = Oe(Te()) + " ==> " + n, i = Ye(Te(), "trace_ievent_callback");
|
|
1874
|
+
i ? i(o, t, 1, r.length) : yr(0, o, t);
|
|
1875
1875
|
}
|
|
1876
1876
|
if (!n.websocket || n.websocket.readyState !== WebSocket.OPEN) return $t(`${we(e)}: send_iev(): websocket not open, message lost`), -1;
|
|
1877
1877
|
try {
|
|
@@ -1896,15 +1896,15 @@
|
|
|
1896
1896
|
};
|
|
1897
1897
|
}
|
|
1898
1898
|
function jr(e) {
|
|
1899
|
-
let t = e.priv, n = Ee(Te()), r = ze(Te(), "yuno_version"),
|
|
1899
|
+
let t = e.priv, n = Ee(Te()), r = ze(Te(), "yuno_version"), o = ze(Te(), "yuno_release"), i = ze(Te(), "yuno_tag"), s = Ye(e, "required_services");
|
|
1900
1900
|
s && s.length || (s = Ye(Te(), "required_services"));
|
|
1901
1901
|
let _ = {
|
|
1902
1902
|
yuno_role: je(),
|
|
1903
1903
|
yuno_id: Se(),
|
|
1904
1904
|
yuno_name: ve(),
|
|
1905
|
-
yuno_tag:
|
|
1905
|
+
yuno_tag: i,
|
|
1906
1906
|
yuno_version: r,
|
|
1907
|
-
yuno_release:
|
|
1907
|
+
yuno_release: o,
|
|
1908
1908
|
yuneta_version: l,
|
|
1909
1909
|
playing: n,
|
|
1910
1910
|
pid: 0,
|
|
@@ -1918,50 +1918,50 @@
|
|
|
1918
1918
|
language: "undefined" != typeof window ? window.navigator.language : "",
|
|
1919
1919
|
required_services: s
|
|
1920
1920
|
};
|
|
1921
|
-
return Pn(e, _, gr, vr(e, Oe(Re(e)), null)), Cn(e, _, "__identity__"),
|
|
1921
|
+
return Pn(e, _, gr, vr(e, Oe(Re(e)), null)), Cn(e, _, "__identity__"), ir(t.gobj_timer, qe(e, "timeout_idack")), Tr(e, "EV_IDENTITY_CARD", _);
|
|
1922
1922
|
}
|
|
1923
1923
|
function Sr(e, t) {
|
|
1924
1924
|
if (on(t.event)) return -1;
|
|
1925
|
-
let n = {}, r = t.__global__,
|
|
1926
|
-
return
|
|
1925
|
+
let n = {}, r = t.__global__, o = t.__config__, i = t.__filter__, l = t.__service__, s = t.subscriber;
|
|
1926
|
+
return o && (n.__config__ = o), r && (n.__global__ = r), i && (n.__filter__ = i), Pn(e, n, gr, vr(e, Oe(s), l)), Cn(e, n, "__subscribing__"), Tr(e, t.event, n);
|
|
1927
1927
|
}
|
|
1928
1928
|
function Or(e, t, n, r) {
|
|
1929
|
-
let
|
|
1930
|
-
return me(e) && (
|
|
1929
|
+
let o = e.priv;
|
|
1930
|
+
return me(e) && (o.websocket = mr(e)), 0;
|
|
1931
1931
|
}
|
|
1932
1932
|
function Nr(e, t, n, r) {
|
|
1933
1933
|
return At("Websocket opened: " + e.priv.url), jr(e), 0;
|
|
1934
1934
|
}
|
|
1935
1935
|
function wr(e, t, n, r) {
|
|
1936
|
-
let
|
|
1937
|
-
return Dt(), $t(`${we(e)}: WebSocket closed ${l} (Code: ${
|
|
1936
|
+
let o = e.priv, i = n.e, l = n.url;
|
|
1937
|
+
return Dt(), $t(`${we(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, mt(e, "EV_ON_CLOSE", {
|
|
1938
1938
|
url: l,
|
|
1939
|
-
remote_yuno_name:
|
|
1940
|
-
remote_yuno_role:
|
|
1941
|
-
remote_yuno_service:
|
|
1942
|
-
})) : ($t(`${we(e)}: EV_ON_OPEN_ERROR cannot open ${l} (Code: ${
|
|
1939
|
+
remote_yuno_name: o.remote_yuno_name,
|
|
1940
|
+
remote_yuno_role: o.remote_yuno_role,
|
|
1941
|
+
remote_yuno_service: o.remote_yuno_service
|
|
1942
|
+
})) : ($t(`${we(e)}: EV_ON_OPEN_ERROR cannot open ${l} (Code: ${i.code}, Reason: "${i.reason}", Clean: ${i.wasClean})`), mt(e, "EV_ON_OPEN_ERROR", {
|
|
1943
1943
|
url: l,
|
|
1944
|
-
remote_yuno_name:
|
|
1945
|
-
remote_yuno_role:
|
|
1946
|
-
remote_yuno_service:
|
|
1947
|
-
code:
|
|
1948
|
-
reason:
|
|
1949
|
-
was_clean:
|
|
1950
|
-
})), me(e) &&
|
|
1944
|
+
remote_yuno_name: o.remote_yuno_name,
|
|
1945
|
+
remote_yuno_role: o.remote_yuno_role,
|
|
1946
|
+
remote_yuno_service: o.remote_yuno_service,
|
|
1947
|
+
code: i.code,
|
|
1948
|
+
reason: i.reason,
|
|
1949
|
+
was_clean: i.wasClean
|
|
1950
|
+
})), me(e) && ir(o.gobj_timer, function(e) {
|
|
1951
1951
|
let t = e.priv, n = qe(e, "timeout_retry"), r = qe(e, "timeout_retry_max");
|
|
1952
1952
|
r < n && (r = n);
|
|
1953
1953
|
t.retry_ms = t.retry_ms ? Math.min(2 * t.retry_ms, r) : n;
|
|
1954
|
-
let
|
|
1955
|
-
return Math.max(1, Math.round(
|
|
1954
|
+
let o = .2 * t.retry_ms, i = t.retry_ms - o + 2 * Math.random() * o;
|
|
1955
|
+
return Math.max(1, Math.round(i));
|
|
1956
1956
|
}(e)), 0;
|
|
1957
1957
|
}
|
|
1958
1958
|
function Dr(e, t, n, r) {
|
|
1959
1959
|
return jr(e), 0;
|
|
1960
1960
|
}
|
|
1961
1961
|
function Rr(e, t, n, r) {
|
|
1962
|
-
let
|
|
1963
|
-
sr(
|
|
1964
|
-
let
|
|
1962
|
+
let o = e.priv;
|
|
1963
|
+
sr(o.gobj_timer);
|
|
1964
|
+
let i = Un(e, n, gr, !0), l = pn(e, i, "src_yuno", ""), s = pn(e, i, "src_role", ""), _ = pn(e, i, "src_service", "");
|
|
1965
1965
|
et(e, "remote_yuno_name", l), et(e, "remote_yuno_role", s), et(e, "remote_yuno_service", _);
|
|
1966
1966
|
let a = bn(e, n, "result", -1, 0), u = pn(e, n, "comment", "", 0), c = pn(e, n, "username", "", 0), f = yn(e, n, "services_roles", {});
|
|
1967
1967
|
if (a < 0) {
|
|
@@ -1977,8 +1977,8 @@
|
|
|
1977
1977
|
};
|
|
1978
1978
|
$e(e) ? lt(Re(e), "EV_ON_ID_NAK", t, e) : mt(e, "EV_ON_ID_NAK", t);
|
|
1979
1979
|
} else {
|
|
1980
|
-
if (tt(e, "ST_SESSION"),
|
|
1981
|
-
|
|
1980
|
+
if (tt(e, "ST_SESSION"), o.inside_on_open = !0, o.retry_ms = 0, !o.inform_on_close) {
|
|
1981
|
+
o.inform_on_close = !0;
|
|
1982
1982
|
let t = {
|
|
1983
1983
|
username: c,
|
|
1984
1984
|
remote_yuno_name: l,
|
|
@@ -1988,7 +1988,7 @@
|
|
|
1988
1988
|
};
|
|
1989
1989
|
$e(e) ? lt(Re(e), "EV_ON_OPEN", t, e) : mt(e, "EV_ON_OPEN", t);
|
|
1990
1990
|
}
|
|
1991
|
-
|
|
1991
|
+
o.inside_on_open = !1, function(e) {
|
|
1992
1992
|
let t = bt(e, null, null, null);
|
|
1993
1993
|
for (let n = 0; n < t.length; n++) Sr(e, t[n]);
|
|
1994
1994
|
}(e);
|
|
@@ -1996,7 +1996,7 @@
|
|
|
1996
1996
|
return 0;
|
|
1997
1997
|
}
|
|
1998
1998
|
function kr(e, t, n, r) {
|
|
1999
|
-
let
|
|
1999
|
+
let o = e.priv.url, i = function(e, t) {
|
|
2000
2000
|
let n;
|
|
2001
2001
|
try {
|
|
2002
2002
|
n = JSON.parse(t);
|
|
@@ -2007,33 +2007,33 @@
|
|
|
2007
2007
|
let r = n.event;
|
|
2008
2008
|
if (!r) return kt("parsing inter_event: no event"), null;
|
|
2009
2009
|
if ("string" != typeof r) return kt("parsing inter_event: event not a string"), null;
|
|
2010
|
-
let
|
|
2011
|
-
return
|
|
2010
|
+
let o = n.kw;
|
|
2011
|
+
return o ? o instanceof Object ? {
|
|
2012
2012
|
event: r,
|
|
2013
|
-
kw:
|
|
2013
|
+
kw: o || {}
|
|
2014
2014
|
} : (kt("parsing inter_event: kw not a json object"), null) : (kt("parsing inter_kw: no kw"), null);
|
|
2015
2015
|
}(0, n.data);
|
|
2016
2016
|
if (Je(Te(), "trace_inter_event")) {
|
|
2017
|
-
let e = Oe(Te()) + " <== " +
|
|
2018
|
-
r ? r(e,
|
|
2017
|
+
let e = Oe(Te()) + " <== " + o, t = n.data.length, r = Ye(Te(), "trace_ievent_callback");
|
|
2018
|
+
r ? r(e, i, 2, t) : yr(0, e, i);
|
|
2019
2019
|
}
|
|
2020
|
-
let l =
|
|
2020
|
+
let l = i.event, s = i.kw;
|
|
2021
2021
|
if ("ST_SESSION" !== nt(e)) {
|
|
2022
|
-
if (
|
|
2022
|
+
if (ot(e, l, R.EVF_PUBLIC_EVENT)) {
|
|
2023
2023
|
if (0 === lt(e, l, s, e)) return 0;
|
|
2024
2024
|
} else kt(`${we(e)}: event UNKNOWN in not-session state ${l}`);
|
|
2025
2025
|
return hr(e), -1;
|
|
2026
2026
|
}
|
|
2027
|
-
|
|
2027
|
+
i = null;
|
|
2028
2028
|
let _ = Fn(e, s), a = Un(e, s, gr), u = pn(e, a, "dst_role", "");
|
|
2029
|
-
if (u !== je()) return kt(`"It's not my role, dst_role: ${u}, my_role: ${je()}`), 0;
|
|
2029
|
+
if (u.toLowerCase() !== je().toLowerCase()) return kt(`"It's not my role, dst_role: ${u}, my_role: ${je()}`), 0;
|
|
2030
2030
|
let c = pn(e, a, "dst_service", "");
|
|
2031
2031
|
if ("__subscribing__" === _) return -1;
|
|
2032
2032
|
if ("__unsubscribing__" === _) return -1;
|
|
2033
|
-
if (
|
|
2033
|
+
if (ot(e, l, R.EVF_PUBLIC_EVENT)) return lt(e, l, s, e), 0;
|
|
2034
2034
|
let f = ee(c, !0);
|
|
2035
2035
|
if (f) {
|
|
2036
|
-
if (!
|
|
2036
|
+
if (!ot(f, l, R.EVF_PUBLIC_EVENT)) return kt(`${we(e)}: Service found but no event or not public, service '${we(f)}', ev '${l}'`), -1;
|
|
2037
2037
|
lt(f, l, s, e);
|
|
2038
2038
|
} else $e(e) ? lt(Re(e), l, s, e) : mt(e, l, s);
|
|
2039
2039
|
return 0;
|
|
@@ -2078,27 +2078,27 @@
|
|
|
2078
2078
|
mt_stats: function(e, t, n, r) {
|
|
2079
2079
|
if ("ST_SESSION" !== nt(e)) return kt("Not in session"), null;
|
|
2080
2080
|
n || (n = {});
|
|
2081
|
-
let
|
|
2082
|
-
return
|
|
2081
|
+
let o = vr(e, Oe(r), pn(e, n, "service", null, 0)), i = yn(e, n, "__md_stats__", null, ht.KW_EXTRACT);
|
|
2082
|
+
return i || (i = {}), Pn(e, n, "stats_stack", {
|
|
2083
2083
|
stats: t,
|
|
2084
|
-
kw:
|
|
2085
|
-
}), Pn(e, n, gr,
|
|
2084
|
+
kw: i
|
|
2085
|
+
}), Pn(e, n, gr, o), n.__stats__ = t, Cn(e, n, "__stats__"), Tr(e, "EV_MT_STATS", n, r), null;
|
|
2086
2086
|
},
|
|
2087
2087
|
mt_command_parser: function(e, t, n, r) {
|
|
2088
2088
|
if ("ST_SESSION" !== nt(e)) return kt("Not in session"), null;
|
|
2089
2089
|
n || (n = {});
|
|
2090
|
-
let
|
|
2091
|
-
return
|
|
2090
|
+
let o = vr(e, Oe(r), pn(e, n, "service", "", 0)), i = yn(e, n, "__md_command__", null, ht.KW_EXTRACT);
|
|
2091
|
+
return i || (i = {}), Pn(e, n, "command_stack", {
|
|
2092
2092
|
command: t,
|
|
2093
|
-
kw:
|
|
2094
|
-
}), Pn(e, n, gr,
|
|
2093
|
+
kw: i
|
|
2094
|
+
}), Pn(e, n, gr, o), n.__command__ = t, Cn(e, n, "__command__"), Tr(e, "EV_MT_COMMAND", n, r), null;
|
|
2095
2095
|
},
|
|
2096
2096
|
mt_inject_event: function(e, t, n, r) {
|
|
2097
2097
|
if ("ST_SESSION" !== nt(e)) return window.console.error("Not in session"), -1;
|
|
2098
2098
|
if (n || (n = {}), Un(e, n, gr));
|
|
2099
2099
|
else {
|
|
2100
|
-
let
|
|
2101
|
-
Wt(n, "__service__"), Pn(e, n, "__message__", t), Pn(e, n, gr,
|
|
2100
|
+
let o = vr(e, Oe(r), pn(e, n, "__service__", 0, 0));
|
|
2101
|
+
Wt(n, "__service__"), Pn(e, n, "__message__", t), Pn(e, n, gr, o);
|
|
2102
2102
|
}
|
|
2103
2103
|
return Cn(e, n, "__message__"), Tr(e, t, n, r);
|
|
2104
2104
|
},
|
|
@@ -2111,37 +2111,37 @@
|
|
|
2111
2111
|
if ("ST_SESSION" !== nt(e) || !n.websocket) return 0;
|
|
2112
2112
|
if (n.inside_on_open) return 0;
|
|
2113
2113
|
if (on(t.event)) return 0;
|
|
2114
|
-
let r = {},
|
|
2115
|
-
return
|
|
2114
|
+
let r = {}, o = t.__global__, i = t.__config__, l = t.__filter__, s = t.__service__, _ = t.subscriber;
|
|
2115
|
+
return i && (r.__config__ = i), o && (r.__global__ = o), l && (r.__filter__ = l), Pn(e, r, gr, vr(e, Oe(_), s)), Cn(e, r, "__unsubscribing__"), Tr(e, t.event, r, e);
|
|
2116
2116
|
}
|
|
2117
2117
|
};
|
|
2118
|
-
e.GObj = O, e.SDATA = j, e.SDATAAUTHZ = (e, t, n, r,
|
|
2118
|
+
e.GObj = O, e.SDATA = j, e.SDATAAUTHZ = (e, t, n, r, o, i) => new T(e, t, n, null, i, r, null, 0, null, o, null), e.SDATACM = (e, t, n, r, o, i) => new T(e, t, 0, null, i, n, null, 0, o, r, null), e.SDATACM2 = (e, t, n, r, o, i, l) => new T(e, t, n, null, l, r, null, 0, i, o, null), e.SDATADF = (e, t, n, r, o, i) => new T(e, t, n, null, i, null, r, o), e.SDATAPM = (e, t, n, r, o) => new T(e, t, n, r, o), e.SDATAPM0 = (e, t, n, r, o) => new T(e, t, n, null, o, null, null, 0, null, null, r), e.SDATA_END = v, e.SDataDesc = T, e.YUNETA_VERSION = l, Object.defineProperty(e, "__yuno__", {
|
|
2119
2119
|
enumerable: !0,
|
|
2120
2120
|
get: function() {
|
|
2121
2121
|
return p;
|
|
2122
2122
|
}
|
|
2123
|
-
}), e.build_command_response =
|
|
2123
|
+
}), e.build_command_response = o, e.build_path = function(...e) {
|
|
2124
2124
|
let t = "", n = 0;
|
|
2125
2125
|
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++));
|
|
2126
2126
|
return t;
|
|
2127
|
-
}, e.build_stats_response =
|
|
2127
|
+
}, e.build_stats_response = i, e.clean_name = function(e) {
|
|
2128
2128
|
return e.replace(/[?# ^:]/g, "_");
|
|
2129
2129
|
}, e.clear_timeout = sr, e.cmp_two_simple_json = an, e.command_parser = function(e, t, n, r) {}, e.createElement2 = function e(t, n) {
|
|
2130
|
-
let [r,
|
|
2130
|
+
let [r, o, i, l] = t;
|
|
2131
2131
|
if (!r) return void kt("Tag must be a valid HTML element.");
|
|
2132
2132
|
let s = document.createElement(r), _ = "";
|
|
2133
|
-
if (
|
|
2133
|
+
if (o && "object" == typeof o) for (let e of Object.keys(o)) if ("style" === e && "object" == typeof o[e]) {
|
|
2134
2134
|
let t = "";
|
|
2135
|
-
for (const n of Object.keys(
|
|
2135
|
+
for (const n of Object.keys(o[e])) t += `${n}: ${o[e][n]};`;
|
|
2136
2136
|
s.style.cssText = t;
|
|
2137
|
-
} else "style" === e ? s.style.cssText =
|
|
2138
|
-
if (Xt(
|
|
2139
|
-
else if (n && _) s.textContent = n(_) ||
|
|
2140
|
-
else s.textContent =
|
|
2141
|
-
else if (Ht(
|
|
2142
|
-
if (
|
|
2143
|
-
else for (let t of
|
|
2144
|
-
} else
|
|
2137
|
+
} 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]);
|
|
2138
|
+
if (Xt(i)) if (i = i.trim(), i.length > 0 && "<" === i[0]) s.appendChild(xn(i));
|
|
2139
|
+
else if (n && _) s.textContent = n(_) || i;
|
|
2140
|
+
else s.textContent = i;
|
|
2141
|
+
else if (Ht(i)) {
|
|
2142
|
+
if (i.length > 0) if (Xt(i[0])) s.appendChild(e(i, n));
|
|
2143
|
+
else for (let t of i) Array.isArray(t) && t.length > 0 ? s.appendChild(e(t, n)) : t instanceof HTMLElement && s.appendChild(t);
|
|
2144
|
+
} else i instanceof HTMLElement || i instanceof Text || i instanceof SVGElement ? s.appendChild(i) : null != i && (kt("content ignored"), Lt(i));
|
|
2145
2145
|
if (l && "object" == typeof l) for (const e of Object.keys(l)) s.addEventListener(e, l[e]);
|
|
2146
2146
|
return s;
|
|
2147
2147
|
}, e.createOneHtml = xn, e.create_json_record = function(e, t) {
|
|
@@ -2150,8 +2150,8 @@
|
|
|
2150
2150
|
}, e.create_template_record = function(e, t) {
|
|
2151
2151
|
let n = {};
|
|
2152
2152
|
return t || (t = {}), Object.entries(e).forEach(([e, r]) => {
|
|
2153
|
-
let
|
|
2154
|
-
Qt(r) && (
|
|
2153
|
+
let o;
|
|
2154
|
+
Qt(r) && (o = r.default), n[e] = yn(null, t, e, o);
|
|
2155
2155
|
}), n;
|
|
2156
2156
|
}, e.current_timestamp = Kn, e.data_type_t = y, e.db_list_persistent_attrs = function(e, t) {
|
|
2157
2157
|
let n = Nn(qn(e), null, !1), r = {};
|
|
@@ -2159,8 +2159,8 @@
|
|
|
2159
2159
|
}, e.db_load_persistent_attrs = function(e, t) {
|
|
2160
2160
|
let n = Be(e, E.SDF_PERSIST), r = Nn(qn(e), null, !1);
|
|
2161
2161
|
if (r && Qt(r)) {
|
|
2162
|
-
let
|
|
2163
|
-
|
|
2162
|
+
let o = Sn(e, r, t, !1);
|
|
2163
|
+
o = Sn(e, o, n, !1), He(e, o, E.SDF_PERSIST);
|
|
2164
2164
|
}
|
|
2165
2165
|
}, e.db_remove_persistent_attrs = function(e, t) {
|
|
2166
2166
|
let n = On(e, Nn(qn(e), null, !1), t, !1);
|
|
@@ -2169,18 +2169,18 @@
|
|
|
2169
2169
|
let n = Sn(e, Be(e, E.SDF_PERSIST), t, !1), r = Nn(qn(e), null, !1);
|
|
2170
2170
|
return r && Qt(r) && Gt(n, r), wn(qn(e), n);
|
|
2171
2171
|
}, e.debounce = function(e, t = 0, n = !1) {
|
|
2172
|
-
let r = null,
|
|
2172
|
+
let r = null, o = null, i = null;
|
|
2173
2173
|
const l = (...l) => {
|
|
2174
|
-
|
|
2174
|
+
i = this, o = l;
|
|
2175
2175
|
const s = n && !r;
|
|
2176
2176
|
clearTimeout(r), r = setTimeout(() => {
|
|
2177
|
-
r = null, n || e.apply(
|
|
2178
|
-
}, t), s && e.apply(
|
|
2177
|
+
r = null, n || e.apply(i, o);
|
|
2178
|
+
}, t), s && e.apply(i, o);
|
|
2179
2179
|
};
|
|
2180
2180
|
return l.flush = () => {
|
|
2181
|
-
r && (clearTimeout(r), r = null, e.apply(
|
|
2181
|
+
r && (clearTimeout(r), r = null, e.apply(i, o));
|
|
2182
2182
|
}, l.cancel = () => {
|
|
2183
|
-
clearTimeout(r), r = null,
|
|
2183
|
+
clearTimeout(r), r = null, o = null, i = null;
|
|
2184
2184
|
}, l;
|
|
2185
2185
|
}, e.delete_from_list = function(e, t) {
|
|
2186
2186
|
for (let n = 0; n < e.length; n++) if (t === e[n]) return e.splice(n, 1), !0;
|
|
@@ -2199,26 +2199,26 @@
|
|
|
2199
2199
|
right: 0,
|
|
2200
2200
|
bottom: 0
|
|
2201
2201
|
};
|
|
2202
|
-
const { top: t, left: n, width: r, height:
|
|
2202
|
+
const { top: t, left: n, width: r, height: o } = e.getBoundingClientRect?.() || {
|
|
2203
2203
|
top: 0,
|
|
2204
2204
|
left: 0,
|
|
2205
2205
|
width: 0,
|
|
2206
2206
|
height: 0
|
|
2207
|
-
},
|
|
2207
|
+
}, 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;
|
|
2208
2208
|
return {
|
|
2209
2209
|
top: t + l,
|
|
2210
2210
|
left: n + s,
|
|
2211
2211
|
right: n + s + r,
|
|
2212
|
-
bottom: t + l +
|
|
2212
|
+
bottom: t + l + o
|
|
2213
2213
|
};
|
|
2214
2214
|
}, e.get_function_name = Jn, e.get_now = function() {
|
|
2215
2215
|
return Math.floor(Date.now() / 1e3);
|
|
2216
2216
|
}, e.gobj_bottom_gobj = Ie, e.gobj_change_parent = function(e, t) {
|
|
2217
2217
|
return Ae(e) ? (kt("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 && (re(e.parent, e), e.parent = null), ne(t, e), t.mt_child_added && (p && Je(p, "trace_creation") && At(n("👦👦🔵 child_added(%s): %s", De(t), we(e))), t.mt_child_added(t, e)), 0) : (kt(`${we(e)}: gobj_change_parent() BAD TYPE of parent`), -1);
|
|
2218
|
-
}, e.gobj_change_state = tt, e.gobj_command = function(e, t, r,
|
|
2218
|
+
}, e.gobj_change_state = tt, e.gobj_command = function(e, t, r, i) {
|
|
2219
2219
|
if (Ae(e)) return kt("gobj NULL or DESTROYED"), -1;
|
|
2220
2220
|
let l = p && qe(p, "tracing");
|
|
2221
|
-
return l && (P(n("🌀🌀 mach(%s%s), cmd: %s, src: %s", me(e) ? "" : "!!", we(e), t, we(
|
|
2221
|
+
return l && (P(n("🌀🌀 mach(%s%s), cmd: %s, src: %s", me(e) ? "" : "!!", we(e), t, we(i))), l > 1 && Lt(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", we(e)), 0, 0) : o(0, -1, n("%s: command table not available", we(e)), 0, 0);
|
|
2222
2222
|
}, e.gobj_create = function(e, t, n, r) {
|
|
2223
2223
|
return le(e, t, n, r, 0);
|
|
2224
2224
|
}, e.gobj_create2 = le, e.gobj_create_default_service = function(e, t, n, r) {
|
|
@@ -2233,18 +2233,18 @@
|
|
|
2233
2233
|
if (on(t)) return null;
|
|
2234
2234
|
const n = t.toLowerCase();
|
|
2235
2235
|
return "__default_service__" === n ? m : "__yuno__" === n || "__root__" === n ? p : xe(p, t);
|
|
2236
|
-
}, e.gobj_find_service = ee, e.gobj_find_subscribings = pt, e.gobj_find_subscriptions = bt, e.gobj_flag_t = w, e.gobj_full_name = De, e.gobj_gclass_name = Ne, e.gobj_has_attr = Ke, e.gobj_has_event =
|
|
2236
|
+
}, e.gobj_find_service = ee, e.gobj_find_subscribings = pt, e.gobj_find_subscriptions = bt, e.gobj_flag_t = w, e.gobj_full_name = De, e.gobj_gclass_name = Ne, e.gobj_has_attr = Ke, e.gobj_has_event = ot, e.gobj_has_output_event = it, e.gobj_hsdata = G, e.gobj_is_destroying = Ae, e.gobj_is_playing = Ee, e.gobj_is_pure_child = $e, e.gobj_is_running = me, e.gobj_is_service = ye, e.gobj_is_volatil = ke, e.gobj_list_persistent_attrs = function(e, t) {
|
|
2237
2237
|
return u ? u(e, t) : null;
|
|
2238
2238
|
}, e.gobj_list_subscriptions = function(e) {
|
|
2239
2239
|
let t = bt(e, null, null, null);
|
|
2240
2240
|
for (let n = 0; n < t.length; n++) {
|
|
2241
|
-
let r = t[n],
|
|
2242
|
-
xt(r, "s_event", pn(e, r, "event", "", ht.KW_REQUIRED)), xt(r, "s_publisher", we(
|
|
2241
|
+
let r = t[n], o = mn(e, r, "publisher", null, ht.KW_REQUIRED), i = mn(e, r, "subscriber", null, ht.KW_REQUIRED);
|
|
2242
|
+
xt(r, "s_event", pn(e, r, "event", "", ht.KW_REQUIRED)), xt(r, "s_publisher", we(o)), xt(r, "s_subscriber", we(i));
|
|
2243
2243
|
}
|
|
2244
2244
|
let n = pt(e, 0, null, 0);
|
|
2245
2245
|
for (let t = 0; t < n.length; t++) {
|
|
2246
|
-
let r = n[t],
|
|
2247
|
-
xt(r, "s_event", pn(e, r, "event", "", ht.KW_REQUIRED)), xt(r, "s_publisher", we(
|
|
2246
|
+
let r = n[t], o = mn(e, r, "publisher", null, ht.KW_REQUIRED), i = mn(e, r, "subscriber", null, ht.KW_REQUIRED);
|
|
2247
|
+
xt(r, "s_event", pn(e, r, "event", "", ht.KW_REQUIRED)), xt(r, "s_publisher", we(o)), xt(r, "s_subscriber", we(i));
|
|
2248
2248
|
}
|
|
2249
2249
|
return {
|
|
2250
2250
|
subscriptions: t,
|
|
@@ -2260,18 +2260,18 @@
|
|
|
2260
2260
|
let n = [];
|
|
2261
2261
|
const r = e.dl_children;
|
|
2262
2262
|
for (let e = 0; e < r.length; e++) {
|
|
2263
|
-
const
|
|
2264
|
-
We(
|
|
2263
|
+
const o = r[e];
|
|
2264
|
+
We(o, t) && n.push(o);
|
|
2265
2265
|
}
|
|
2266
2266
|
return n;
|
|
2267
2267
|
}, e.gobj_match_children_tree = function(e, t) {
|
|
2268
2268
|
t = t || {};
|
|
2269
2269
|
let n = [];
|
|
2270
2270
|
return function e(n, r) {
|
|
2271
|
-
let
|
|
2272
|
-
for (let r = 0; r <
|
|
2273
|
-
let
|
|
2274
|
-
We(
|
|
2271
|
+
let o = r.dl_children;
|
|
2272
|
+
for (let r = 0; r < o.length; r++) {
|
|
2273
|
+
let i = o[r];
|
|
2274
|
+
We(i, t) && n.push(i), e(n, i);
|
|
2275
2275
|
}
|
|
2276
2276
|
}(n, e), n;
|
|
2277
2277
|
}, e.gobj_match_gobj = We, e.gobj_name = Oe, e.gobj_parent = Re, e.gobj_pause = pe, e.gobj_play = be, e.gobj_post_event = function(e, t, n, r) {
|
|
@@ -2284,11 +2284,11 @@
|
|
|
2284
2284
|
return function(e, t, n) {
|
|
2285
2285
|
if (Ae(e)) return kt("gobj NULL or DESTROYED"), -1;
|
|
2286
2286
|
let r = e.gclass.attrs_table;
|
|
2287
|
-
for (let
|
|
2288
|
-
const
|
|
2289
|
-
if (
|
|
2290
|
-
const t = C(e, e.jn_attrs,
|
|
2291
|
-
Qt(e.priv) && e.priv.hasOwnProperty(
|
|
2287
|
+
for (let o = 0; o < r.length; o++) {
|
|
2288
|
+
const i = r[o];
|
|
2289
|
+
if (i.name && !(n && i.flag & n) && (-1 === t || i.flag & t)) {
|
|
2290
|
+
const t = C(e, e.jn_attrs, i);
|
|
2291
|
+
Qt(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);
|
|
2292
2292
|
}
|
|
2293
2293
|
}
|
|
2294
2294
|
return 0;
|
|
@@ -2305,16 +2305,16 @@
|
|
|
2305
2305
|
return Ae(e) ? (kt("gobj NULL or DESTROYED"), -1) : Ue(e, k.WALK_FIRST2LAST, ue, 0, 0);
|
|
2306
2306
|
}, e.gobj_start_tree = function(e) {
|
|
2307
2307
|
return Ae(e) ? (kt("gobj NULL or DESTROYED"), -1) : (p && Je(p, "trace_start_stop") && P(n("⏺ ⏺ ⏺ ⏺ start_tree: %s", De(e))), e.gclass.gclass_flag & N.gcflag_manual_start || e.disabled ? 0 : (e.running || ae(e), Ce(e, k.WALK_TOP2BOTTOM, ce, 0, 0)));
|
|
2308
|
-
}, e.gobj_start_up = function(e, t, n, r,
|
|
2309
|
-
s = t, _ = n, a = r, u =
|
|
2308
|
+
}, e.gobj_start_up = function(e, t, n, r, o, i, l) {
|
|
2309
|
+
s = t, _ = n, a = r, u = o, c = i, f = l;
|
|
2310
2310
|
const d = [["EV_STATE_CHANGED", R.EVF_SYSTEM_EVENT | R.EVF_OUTPUT_EVENT | R.EVF_NO_WARN_SUBS], [0, 0]];
|
|
2311
2311
|
for (let e = 0; e < d.length; e++) {
|
|
2312
2312
|
let t = d[e][0], n = d[e][1];
|
|
2313
2313
|
q(g, t, n);
|
|
2314
2314
|
}
|
|
2315
2315
|
return 0;
|
|
2316
|
-
}, e.gobj_stats = function(e, t, r,
|
|
2317
|
-
return Ae(e) ? (kt("gobj NULL or DESTROYED"), -1) : e.gclass.gmt.mt_stats ? e.gclass.gmt.mt_stats(e, t, r,
|
|
2316
|
+
}, e.gobj_stats = function(e, t, r, o) {
|
|
2317
|
+
return Ae(e) ? (kt("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", we(e)), 0, 0);
|
|
2318
2318
|
}, e.gobj_stop = fe, e.gobj_stop_children = de, e.gobj_stop_tree = function(e) {
|
|
2319
2319
|
return Ae(e) ? (kt("gobj NULL or DESTROYED"), -1) : (p && Je(p, "trace_start_stop") && P(n("⏹ ⏹ ⏹ ⏹ stop_tree: %s", De(e))), me(e) && fe(e), Ce(e, k.WALK_TOP2BOTTOM, ge, 0, 0));
|
|
2320
2320
|
}, e.gobj_subscribe_event = gt, e.gobj_trace_machine_format = function() {
|
|
@@ -2322,7 +2322,7 @@
|
|
|
2322
2322
|
}, e.gobj_unsubscribe_event = function(e, t, n, r) {
|
|
2323
2323
|
if (null == n && (n = {}), !e) return kt(`publisher NULL: ev ${t}`), 0;
|
|
2324
2324
|
if (!r) return kt(`subscriber NULL: ev ${t}`), 0;
|
|
2325
|
-
const
|
|
2325
|
+
const o = new Set([
|
|
2326
2326
|
"__config__",
|
|
2327
2327
|
"__global__",
|
|
2328
2328
|
"__local__",
|
|
@@ -2330,35 +2330,35 @@
|
|
|
2330
2330
|
"__service__"
|
|
2331
2331
|
]);
|
|
2332
2332
|
if (Object.keys(n).forEach((n) => {
|
|
2333
|
-
|
|
2333
|
+
o.has(n) || kt(`${we(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
|
|
2334
2334
|
}), on(t)) t = "";
|
|
2335
|
-
else if (!(
|
|
2336
|
-
let
|
|
2337
|
-
for (let t = 0; t <
|
|
2338
|
-
let n =
|
|
2335
|
+
else if (!(it(e, t, R.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & N.gcflag_no_check_output_events)) return kt(`event NOT in output event list: ${we(e)}, ev ${t}`), 0;
|
|
2336
|
+
let i = ut(e.dl_subscriptions, e, t, n, r), l = 0;
|
|
2337
|
+
for (let t = 0; t < i.length; t++) {
|
|
2338
|
+
let n = i[t];
|
|
2339
2339
|
ft(e, n, !1, !1), l++;
|
|
2340
2340
|
}
|
|
2341
2341
|
return l || ($t(`${we(e)}: No subscription found`), Lt(n, "No subscription found")), 0;
|
|
2342
|
-
}, e.gobj_unsubscribe_list = dt, e.gobj_walk_gobj_children = Ue, e.gobj_walk_gobj_children_tree = Ce, e.gobj_write_attr = function(e, t, r,
|
|
2342
|
+
}, e.gobj_unsubscribe_list = dt, e.gobj_walk_gobj_children = Ue, e.gobj_walk_gobj_children_tree = Ce, e.gobj_write_attr = function(e, t, r, o) {
|
|
2343
2343
|
if (!Xt(t)) return kt(n("gobj_write_attr(%s): path must be a string", we(e))), -1;
|
|
2344
|
-
let
|
|
2344
|
+
let i, l = e.jn_attrs, s = t.split("`");
|
|
2345
2345
|
if (s.length <= 1) {
|
|
2346
|
-
let
|
|
2347
|
-
return
|
|
2346
|
+
let o = t;
|
|
2347
|
+
return o in l && l.hasOwnProperty(o) ? (l[o] = r, Qt(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) : (kt(n("gobj_write_attr(%s): attr not found '%s'", we(e), o)), -1);
|
|
2348
2348
|
}
|
|
2349
2349
|
let _ = s.length;
|
|
2350
2350
|
for (let t = 0; t < _; t++) {
|
|
2351
|
-
|
|
2352
|
-
let n = Me(e, { __gobj_name__:
|
|
2351
|
+
i = s[t];
|
|
2352
|
+
let n = Me(e, { __gobj_name__: i });
|
|
2353
2353
|
if (n && t < _ - 1) {
|
|
2354
2354
|
e = n;
|
|
2355
2355
|
continue;
|
|
2356
2356
|
}
|
|
2357
|
-
let
|
|
2358
|
-
if (
|
|
2357
|
+
let o = e.jn_attrs;
|
|
2358
|
+
if (i in o && o.hasOwnProperty(i)) return o[i] = r, Qt(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;
|
|
2359
2359
|
break;
|
|
2360
2360
|
}
|
|
2361
|
-
return kt(n("gobj_write_attr(%s): attr not found '%s'", we(e),
|
|
2361
|
+
return kt(n("gobj_write_attr(%s): attr not found '%s'", we(e), i)), -1;
|
|
2362
2362
|
}, e.gobj_write_attrs = He, e.gobj_write_bool_attr = Xe, e.gobj_write_integer_attr = Ze, e.gobj_write_str_attr = et, e.gobj_yuno = Te, e.gobj_yuno_id = Se, e.gobj_yuno_name = ve, e.gobj_yuno_role = je, e.id_index_in_obj_list = $n, e.index_in_list = Yn, e.is_array = Ht, e.is_boolean = en, e.is_date = function(e) {
|
|
2363
2363
|
return e instanceof Date && !isNaN(e);
|
|
2364
2364
|
}, e.is_function = nn, e.is_gobj = rn, e.is_metadata_key = function(e) {
|
|
@@ -2377,11 +2377,11 @@
|
|
|
2377
2377
|
const t = Number(e);
|
|
2378
2378
|
return !isNaN(t) && "" !== e.trim() && !isNaN(t);
|
|
2379
2379
|
}, e.is_string = Xt, e.jdb_delete = function(e, t, n, r) {
|
|
2380
|
-
let
|
|
2381
|
-
if (!
|
|
2380
|
+
let o = yn(null, yn(null, e, "topics", null, 0), t, null, 0);
|
|
2381
|
+
if (!o) return kt("jdb_delete: topic not found: " + t), null;
|
|
2382
2382
|
if (on(r.id)) return kt("jdb_delete: record without id: " + r), It(r), null;
|
|
2383
|
-
let
|
|
2384
|
-
for (; (
|
|
2383
|
+
let i, l = n.split("`"), s = o;
|
|
2384
|
+
for (; (i = l.shift()) && !on(i) && s;) Qt(s) && (s = yn(null, s, e.hook, null, 0)), s = Vn(s, null, i, !1);
|
|
2385
2385
|
if (0 === l.length && s) if (Ht(s)) {
|
|
2386
2386
|
let e = $n(s, r.id);
|
|
2387
2387
|
e >= 0 && s.splice(e, 1);
|
|
@@ -2389,10 +2389,10 @@
|
|
|
2389
2389
|
let t = yn(null, s, e.hook, null, 0), n = $n(t, r.id);
|
|
2390
2390
|
n >= 0 && t.splice(n, 1);
|
|
2391
2391
|
}
|
|
2392
|
-
return
|
|
2392
|
+
return o;
|
|
2393
2393
|
}, e.jdb_get = function(e, t, n, r) {
|
|
2394
|
-
let
|
|
2395
|
-
return
|
|
2394
|
+
let o = yn(null, yn(null, e, "topics", null, 0), t, null, 0);
|
|
2395
|
+
return o ? (void 0 === r && (r = !0), Vn(o, e.hook, n, r)) : (kt("jdb_get: topic not found: " + t), null);
|
|
2396
2396
|
}, e.jdb_get_by_idx = function(e, t, n) {
|
|
2397
2397
|
let r = yn(null, yn(null, e, "topics", null, 0), t, null, 0);
|
|
2398
2398
|
return r ? n < r.length ? r[n] : {} : (kt("jdb_get_by_idx: topic not found: " + t), null);
|
|
@@ -2404,23 +2404,23 @@
|
|
|
2404
2404
|
n && (e = Pt(e));
|
|
2405
2405
|
let r = yn(null, e, "type", [], 1);
|
|
2406
2406
|
pn(null, e, "hook", "data", 1);
|
|
2407
|
-
let
|
|
2408
|
-
return Gn(
|
|
2409
|
-
"__" !== t.substring(0, 2) && yn(null,
|
|
2407
|
+
let o = yn(null, e, "schema", {}, 1), i = yn(null, e, "topics", {}, 1);
|
|
2408
|
+
return Gn(o, function(e, t, n, o) {
|
|
2409
|
+
"__" !== t.substring(0, 2) && yn(null, i, o, Pt(r), 1);
|
|
2410
2410
|
}, t), e;
|
|
2411
2411
|
}, e.jdb_update = function(e, t, n, r) {
|
|
2412
|
-
let
|
|
2413
|
-
if (!
|
|
2412
|
+
let o = yn(null, yn(null, e, "topics", null, 0), t, null, 0);
|
|
2413
|
+
if (!o) return kt("jdb_update: topic not found: " + t), null;
|
|
2414
2414
|
if (on(r.id)) return kt("jdb_update: record without id: " + r), It(r), null;
|
|
2415
|
-
let
|
|
2416
|
-
for (; (
|
|
2415
|
+
let i, l = n.split("`"), s = o;
|
|
2416
|
+
for (; (i = l.shift()) && !on(i) && s;) Qt(s) && (s = yn(null, s, e.hook, [], 1)), s = Vn(s, null, i, !1);
|
|
2417
2417
|
if (0 === l.length && s) if (Ht(s)) s.push(r);
|
|
2418
2418
|
else if (s.id === r.id) Object.assign(s, r);
|
|
2419
2419
|
else {
|
|
2420
2420
|
let t = yn(null, s, e.hook, [], 1), n = Vn(t, e.hook, r.id, !1);
|
|
2421
2421
|
n ? Object.assign(n, r) : t.push(r);
|
|
2422
2422
|
}
|
|
2423
|
-
return
|
|
2423
|
+
return o;
|
|
2424
2424
|
}, e.json_array_append = Kt, e.json_array_append_new = Yt, e.json_array_extend = function(e, t) {
|
|
2425
2425
|
return t ? (Array.prototype.push.apply(e, t), e) : e;
|
|
2426
2426
|
}, e.json_array_remove = Bt, e.json_array_size = qt, e.json_deep_copy = Pt, e.json_is_identical = Ut, e.json_object_del = Wt, e.json_object_get = Vt, e.json_object_set = Mt, e.json_object_set_new = xt, e.json_object_size = Jt, e.json_object_update = Ct, e.json_object_update_existing = Ft, e.json_object_update_missing = Gt, e.json_size = zt, e.jwt2json = function(e, t) {
|
|
@@ -2437,61 +2437,61 @@
|
|
|
2437
2437
|
}, e.jwtDecode = Wn, e.kw_clone_by_keys = Sn, e.kw_clone_by_not_keys = On, e.kw_collect = function(e, t, n, r) {
|
|
2438
2438
|
if (e && !rn(e) && kt("GObj bad instanceof"), !t) return null;
|
|
2439
2439
|
r || (r = jn);
|
|
2440
|
-
let
|
|
2440
|
+
let o = [];
|
|
2441
2441
|
if (Ht(t)) for (let e = 0; e < t.length; e++) {
|
|
2442
|
-
let
|
|
2443
|
-
r(
|
|
2442
|
+
let i = t[e];
|
|
2443
|
+
r(i, n) && o.push(i);
|
|
2444
2444
|
}
|
|
2445
2445
|
else {
|
|
2446
2446
|
if (!Qt(t)) return kt("kw_select() BAD kw parameter"), null;
|
|
2447
|
-
r(t, n) &&
|
|
2447
|
+
r(t, n) && o.push(t);
|
|
2448
2448
|
}
|
|
2449
|
-
return
|
|
2449
|
+
return o;
|
|
2450
2450
|
}, e.kw_delete = gn, e.kw_find_json_in_list = function(e, t, n, r) {
|
|
2451
2451
|
if (!n || !Ht(t)) return r && kt("item NULL or kw_list is not a list"), -1;
|
|
2452
2452
|
for (let e = 0; e < t.length; e++) if (Ut(n, t[e])) return e;
|
|
2453
2453
|
return r && kt("item not found in this list"), -1;
|
|
2454
|
-
}, e.kw_find_path = fn, e.kw_flag_t = ht, e.kw_get_bool = dn, e.kw_get_dict = hn, e.kw_get_dict_value = yn, e.kw_get_int = bn, e.kw_get_list = function(e, t, n, r,
|
|
2454
|
+
}, e.kw_find_path = fn, e.kw_flag_t = ht, e.kw_get_bool = dn, e.kw_get_dict = hn, e.kw_get_dict_value = yn, e.kw_get_int = bn, e.kw_get_list = function(e, t, n, r, o) {
|
|
2455
2455
|
e && !rn(e) && kt("GObj bad instanceof");
|
|
2456
|
-
let
|
|
2457
|
-
const l =
|
|
2458
|
-
if (void 0 ===
|
|
2456
|
+
let i = fn(e, t, n, !1);
|
|
2457
|
+
const l = o && o & ht.KW_REQUIRED, s = o && o & ht.KW_CREATE, _ = o && o & ht.KW_EXTRACT;
|
|
2458
|
+
if (void 0 === i) {
|
|
2459
2459
|
if (s) {
|
|
2460
|
-
let
|
|
2461
|
-
return En(e, t, n,
|
|
2460
|
+
let o = Array(r);
|
|
2461
|
+
return En(e, t, n, o), o;
|
|
2462
2462
|
}
|
|
2463
2463
|
return l && (kt(`path not found: '${n}'`), Lt(t)), Array(r);
|
|
2464
2464
|
}
|
|
2465
|
-
return _ && gn(e, t, n), Ht(
|
|
2466
|
-
}, e.kw_get_local_storage_value = Nn, e.kw_get_pointer = mn, e.kw_get_real = function(e, t, n, r,
|
|
2465
|
+
return _ && gn(e, t, n), Ht(i) ? Array(i) : (l && (kt(`path value MUST BE an array: ${n}`), It(t)), Array(r));
|
|
2466
|
+
}, e.kw_get_local_storage_value = Nn, e.kw_get_pointer = mn, e.kw_get_real = function(e, t, n, r, o) {
|
|
2467
2467
|
e && !rn(e) && kt("GObj bad instanceof");
|
|
2468
|
-
let
|
|
2469
|
-
const l =
|
|
2470
|
-
if (void 0 ===
|
|
2468
|
+
let i = fn(e, t, n, !1);
|
|
2469
|
+
const l = o && o & ht.KW_REQUIRED, s = o && o & ht.KW_CREATE, _ = o && o & ht.KW_EXTRACT;
|
|
2470
|
+
if (void 0 === i) {
|
|
2471
2471
|
if (s) {
|
|
2472
|
-
let
|
|
2473
|
-
return En(e, t, n,
|
|
2472
|
+
let o = Number(r);
|
|
2473
|
+
return En(e, t, n, o), o;
|
|
2474
2474
|
}
|
|
2475
2475
|
return l && (kt(`path not found: '${n}'`), Lt(t)), Number(r);
|
|
2476
2476
|
}
|
|
2477
|
-
return _ && gn(e, t, n), Zt(
|
|
2477
|
+
return _ && gn(e, t, n), Zt(i) ? Number(i) : (l && (kt(`path value MUST BE a number: ${n}`), It(t)), Number(r));
|
|
2478
2478
|
}, e.kw_get_str = pn, e.kw_has_key = cn, e.kw_match_simple = jn, e.kw_pop = un, e.kw_remove_local_storage_value = Dn, e.kw_select = function(e, t, n, r) {
|
|
2479
2479
|
if (e && !rn(e) && kt("GObj bad instanceof"), !t) return null;
|
|
2480
2480
|
r || (r = jn);
|
|
2481
|
-
let
|
|
2481
|
+
let o = [];
|
|
2482
2482
|
if (Ht(t)) for (let e = 0; e < t.length; e++) {
|
|
2483
|
-
let
|
|
2484
|
-
r(
|
|
2483
|
+
let i = t[e];
|
|
2484
|
+
r(i, n) && o.push(Pt(i));
|
|
2485
2485
|
}
|
|
2486
2486
|
else {
|
|
2487
2487
|
if (!Qt(t)) return kt("kw_select() BAD kw parameter"), null;
|
|
2488
|
-
r(t, n) &&
|
|
2488
|
+
r(t, n) && o.push(Pt(t));
|
|
2489
2489
|
}
|
|
2490
|
-
return
|
|
2491
|
-
}, e.kw_set_dict_value = En, e.kw_set_local_storage_value = wn, e.kw_set_subdict_value = Tn, e.kwid_collect = kn, e.kwid_find_one_record = function(e, t, n, r,
|
|
2490
|
+
return o;
|
|
2491
|
+
}, e.kw_set_dict_value = En, e.kw_set_local_storage_value = wn, e.kw_set_subdict_value = Tn, e.kwid_collect = kn, e.kwid_find_one_record = function(e, t, n, r, o) {
|
|
2492
2492
|
e && !rn(e) && kt("GObj bad instanceof");
|
|
2493
|
-
let
|
|
2494
|
-
return
|
|
2493
|
+
let i = kn(e, t, n, r, o);
|
|
2494
|
+
return i.length > 0 ? i[0] : null;
|
|
2495
2495
|
}, e.kwid_get_ids = function(e, t) {
|
|
2496
2496
|
if (e && !rn(e) && kt("GObj bad instanceof"), !t) return [];
|
|
2497
2497
|
let n = [];
|
|
@@ -2510,37 +2510,37 @@
|
|
|
2510
2510
|
let r = {};
|
|
2511
2511
|
if (on(n) || (t = fn(e, t, n)), Qt(t)) r = t;
|
|
2512
2512
|
else if (Ht(t)) for (let n = 0; n < t.length; n++) {
|
|
2513
|
-
let
|
|
2514
|
-
on(
|
|
2513
|
+
let o = t[n], i = pn(e, o, "id", "", 0);
|
|
2514
|
+
on(i) || (r[i] = o);
|
|
2515
2515
|
}
|
|
2516
2516
|
else kt(`${we(e)} kwid_new_dict: data type unknown`);
|
|
2517
2517
|
return r;
|
|
2518
2518
|
}, e.list2options = function(e, t, n) {
|
|
2519
2519
|
t = t || "id", n = n || "value";
|
|
2520
2520
|
let r = [];
|
|
2521
|
-
if (Ht(e)) for (let
|
|
2522
|
-
let
|
|
2523
|
-
if (Xt(
|
|
2524
|
-
id: e[
|
|
2525
|
-
value: e[
|
|
2521
|
+
if (Ht(e)) for (let o = 0; o < e.length; o++) {
|
|
2522
|
+
let i = e[o];
|
|
2523
|
+
if (Xt(i)) r.push({
|
|
2524
|
+
id: e[o],
|
|
2525
|
+
value: e[o]
|
|
2526
2526
|
});
|
|
2527
|
-
else if (Qt(
|
|
2527
|
+
else if (Qt(i)) {
|
|
2528
2528
|
let e = {};
|
|
2529
|
-
if (cn(
|
|
2530
|
-
if (!cn(
|
|
2531
|
-
if (!(zt(
|
|
2529
|
+
if (cn(i, t)) {
|
|
2530
|
+
if (!cn(i, n)) {
|
|
2531
|
+
if (!(zt(i) > 0)) {
|
|
2532
2532
|
kt("list2options(): object without field value: " + n);
|
|
2533
2533
|
continue;
|
|
2534
2534
|
}
|
|
2535
|
-
n = Object.keys(
|
|
2535
|
+
n = Object.keys(i)[0];
|
|
2536
2536
|
}
|
|
2537
|
-
e.id =
|
|
2537
|
+
e.id = i[t], e.value = i[n];
|
|
2538
2538
|
} else {
|
|
2539
|
-
if (!(zt(
|
|
2539
|
+
if (!(zt(i) > 0)) {
|
|
2540
2540
|
kt("list2options(): object without field id: " + t);
|
|
2541
2541
|
continue;
|
|
2542
2542
|
}
|
|
2543
|
-
t = Object.keys(
|
|
2543
|
+
t = Object.keys(i)[0], e.id = t, e.value = i[t];
|
|
2544
2544
|
}
|
|
2545
2545
|
r.push(e);
|
|
2546
2546
|
} else kt("list2options(): case1 not implemented");
|
|
@@ -2691,7 +2691,7 @@
|
|
|
2691
2691
|
["EV_TIMEOUT", R.EVF_OUTPUT_EVENT],
|
|
2692
2692
|
["EV_TIMEOUT_PERIODIC", R.EVF_OUTPUT_EVENT],
|
|
2693
2693
|
[0, 0]
|
|
2694
|
-
], t,
|
|
2694
|
+
], t, or, 0, er, tr, 0, 0, 0, N.gcflag_manual_start)) ? 0 : -1;
|
|
2695
2695
|
}("C_TIMER");
|
|
2696
2696
|
}, e.register_c_yuno = function() {
|
|
2697
2697
|
return function(e) {
|
|
@@ -2716,9 +2716,9 @@
|
|
|
2716
2716
|
Ot = !!e;
|
|
2717
2717
|
}, e.set_log_callback = function(e) {
|
|
2718
2718
|
St = "function" == typeof e ? e : null;
|
|
2719
|
-
}, e.set_remote_log_functions = Dt, e.set_timeout =
|
|
2720
|
-
var r = (e + "").substring(0, n),
|
|
2721
|
-
return r ===
|
|
2719
|
+
}, e.set_remote_log_functions = Dt, e.set_timeout = ir, e.set_timeout_periodic = lr, e.sprintf = n, e.stats_parser = function(e, t, n, r) {}, e.str_in_list = An, e.strcasecmp = _n, e.strcmp = sn, e.strncmp = function(e, t, n) {
|
|
2720
|
+
var r = (e + "").substring(0, n), o = (t + "").substring(0, n);
|
|
2721
|
+
return r === o ? 0 : r > o ? 1 : -1;
|
|
2722
2722
|
}, e.strs_in_list = function(e, t, n) {
|
|
2723
2723
|
if (!e) return kt("ERROR: strs_in_list() list empty"), !1;
|
|
2724
2724
|
if (!t) return kt("ERROR: strs_in_list() str empty"), !1;
|
|
@@ -2763,10 +2763,10 @@
|
|
|
2763
2763
|
return n.type || (n.type = n.real_type), n;
|
|
2764
2764
|
}, e.timeTracker = function(e = "Time Tracker", t = !1) {
|
|
2765
2765
|
const n = e, r = performance.now();
|
|
2766
|
-
let
|
|
2767
|
-
return t && $t(`--\x3e ${n} - starting`), { mark: (e = "Intermediate",
|
|
2768
|
-
const l = performance.now(), s = (l -
|
|
2769
|
-
return t && $t(`--\x3e ${n} ${e} - partial: ${s} sec, total: ${_} sec, ${
|
|
2766
|
+
let o = r;
|
|
2767
|
+
return t && $t(`--\x3e ${n} - starting`), { mark: (e = "Intermediate", i = "") => {
|
|
2768
|
+
const l = performance.now(), s = (l - o) / 1e3, _ = (l - r) / 1e3;
|
|
2769
|
+
return t && $t(`--\x3e ${n} ${e} - partial: ${s} sec, total: ${_} sec, ${i}`), o = l, {
|
|
2770
2770
|
partial: s,
|
|
2771
2771
|
total: _
|
|
2772
2772
|
};
|