@yuneta/gobj-js 7.7.3 → 7.8.7
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/README.md +76 -2
- package/dist/gobj-js.cjs.js +88 -22
- package/dist/gobj-js.cjs.js.map +1 -1
- package/dist/gobj-js.cjs.min.js +745 -727
- package/dist/gobj-js.cjs.min.js.map +1 -1
- package/dist/gobj-js.es.js +88 -23
- package/dist/gobj-js.es.js.map +1 -1
- package/dist/gobj-js.es.min.js +799 -780
- package/dist/gobj-js.es.min.js.map +1 -1
- package/dist/gobj-js.iife.js +88 -22
- package/dist/gobj-js.iife.js.map +1 -1
- package/dist/gobj-js.iife.min.js +1121 -1103
- package/dist/gobj-js.iife.min.js.map +1 -1
- package/dist/gobj-js.umd.js +88 -22
- package/dist/gobj-js.umd.js.map +1 -1
- package/dist/gobj-js.umd.min.js +795 -777
- package/dist/gobj-js.umd.min.js.map +1 -1
- package/package.json +1 -1
package/dist/gobj-js.iife.min.js
CHANGED
|
@@ -19,72 +19,72 @@ var gobjJs = function(e) {
|
|
|
19
19
|
};
|
|
20
20
|
function n(e) {
|
|
21
21
|
return function(e, r) {
|
|
22
|
-
var
|
|
23
|
-
for (
|
|
24
|
-
else if ("object" == typeof e[
|
|
25
|
-
if ((s = e[
|
|
26
|
-
if (null ==
|
|
27
|
-
|
|
22
|
+
var o, i, l, s, _, a, u, c, f, g = 1, d = e.length, b = "";
|
|
23
|
+
for (i = 0; i < d; i++) if ("string" == typeof e[i]) b += e[i];
|
|
24
|
+
else if ("object" == typeof e[i]) {
|
|
25
|
+
if ((s = e[i]).keys) for (o = r[g], l = 0; l < s.keys.length; l++) {
|
|
26
|
+
if (null == o) throw new Error(n("[sprintf] Cannot access property \"%s\" of undefined value \"%s\"", s.keys[l], s.keys[l - 1]));
|
|
27
|
+
o = o[s.keys[l]];
|
|
28
28
|
}
|
|
29
|
-
else
|
|
30
|
-
if (t.not_type.test(s.type) && t.not_primitive.test(s.type) &&
|
|
31
|
-
switch (t.number.test(s.type) && (c =
|
|
29
|
+
else o = s.param_no ? r[s.param_no] : r[g++];
|
|
30
|
+
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));
|
|
31
|
+
switch (t.number.test(s.type) && (c = o >= 0), s.type) {
|
|
32
32
|
case "b":
|
|
33
|
-
|
|
33
|
+
o = parseInt(o, 10).toString(2);
|
|
34
34
|
break;
|
|
35
35
|
case "c":
|
|
36
|
-
|
|
36
|
+
o = String.fromCharCode(parseInt(o, 10));
|
|
37
37
|
break;
|
|
38
38
|
case "d":
|
|
39
39
|
case "i":
|
|
40
|
-
|
|
40
|
+
o = parseInt(o, 10);
|
|
41
41
|
break;
|
|
42
42
|
case "j":
|
|
43
|
-
|
|
43
|
+
o = JSON.stringify(o, null, s.width ? parseInt(s.width) : 0);
|
|
44
44
|
break;
|
|
45
45
|
case "e":
|
|
46
|
-
|
|
46
|
+
o = s.precision ? parseFloat(o).toExponential(s.precision) : parseFloat(o).toExponential();
|
|
47
47
|
break;
|
|
48
48
|
case "f":
|
|
49
|
-
|
|
49
|
+
o = s.precision ? parseFloat(o).toFixed(s.precision) : parseFloat(o);
|
|
50
50
|
break;
|
|
51
51
|
case "g":
|
|
52
|
-
|
|
52
|
+
o = s.precision ? String(Number(o.toPrecision(s.precision))) : parseFloat(o);
|
|
53
53
|
break;
|
|
54
54
|
case "o":
|
|
55
|
-
|
|
55
|
+
o = (parseInt(o, 10) >>> 0).toString(8);
|
|
56
56
|
break;
|
|
57
57
|
case "s":
|
|
58
|
-
|
|
58
|
+
o = String(o), o = s.precision ? o.substring(0, s.precision) : o;
|
|
59
59
|
break;
|
|
60
60
|
case "t":
|
|
61
|
-
|
|
61
|
+
o = String(!!o), o = s.precision ? o.substring(0, s.precision) : o;
|
|
62
62
|
break;
|
|
63
63
|
case "T":
|
|
64
|
-
|
|
64
|
+
o = Object.prototype.toString.call(o).slice(8, -1).toLowerCase(), o = s.precision ? o.substring(0, s.precision) : o;
|
|
65
65
|
break;
|
|
66
66
|
case "u":
|
|
67
|
-
|
|
67
|
+
o = parseInt(o, 10) >>> 0;
|
|
68
68
|
break;
|
|
69
69
|
case "v":
|
|
70
|
-
|
|
70
|
+
o = o.valueOf(), o = s.precision ? o.substring(0, s.precision) : o;
|
|
71
71
|
break;
|
|
72
72
|
case "x":
|
|
73
|
-
|
|
73
|
+
o = (parseInt(o, 10) >>> 0).toString(16);
|
|
74
74
|
break;
|
|
75
|
-
case "X":
|
|
75
|
+
case "X": o = (parseInt(o, 10) >>> 0).toString(16).toUpperCase();
|
|
76
76
|
}
|
|
77
|
-
t.json.test(s.type) ? b +=
|
|
77
|
+
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);
|
|
78
78
|
}
|
|
79
79
|
return b;
|
|
80
80
|
}(function(e) {
|
|
81
81
|
if (r[e]) return r[e];
|
|
82
|
-
let n,
|
|
83
|
-
for (;
|
|
84
|
-
if (null !== (n = t.text.exec(
|
|
85
|
-
else if (null !== (n = t.modulo.exec(
|
|
82
|
+
let n, o = e, i = [], l = 0;
|
|
83
|
+
for (; o;) {
|
|
84
|
+
if (null !== (n = t.text.exec(o))) i.push(n[0]);
|
|
85
|
+
else if (null !== (n = t.modulo.exec(o))) i.push("%");
|
|
86
86
|
else {
|
|
87
|
-
if (null === (n = t.placeholder.exec(
|
|
87
|
+
if (null === (n = t.placeholder.exec(o))) throw new SyntaxError("[sprintf] unexpected placeholder");
|
|
88
88
|
if (n[2]) {
|
|
89
89
|
l |= 1;
|
|
90
90
|
var s = [], _ = n[2], a = [];
|
|
@@ -97,7 +97,7 @@ var gobjJs = function(e) {
|
|
|
97
97
|
n[2] = s;
|
|
98
98
|
} else l |= 2;
|
|
99
99
|
if (3 === l) throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");
|
|
100
|
-
|
|
100
|
+
i.push({
|
|
101
101
|
placeholder: n[0],
|
|
102
102
|
param_no: n[1],
|
|
103
103
|
keys: n[2],
|
|
@@ -109,29 +109,29 @@ var gobjJs = function(e) {
|
|
|
109
109
|
type: n[8]
|
|
110
110
|
});
|
|
111
111
|
}
|
|
112
|
-
|
|
112
|
+
o = o.substring(n[0].length);
|
|
113
113
|
}
|
|
114
|
-
return r[e] =
|
|
114
|
+
return r[e] = i;
|
|
115
115
|
}(e), arguments);
|
|
116
116
|
}
|
|
117
117
|
var r = Object.create(null);
|
|
118
|
-
function
|
|
118
|
+
function o(e, t, n, r, o) {
|
|
119
119
|
return {
|
|
120
120
|
result: t,
|
|
121
121
|
comment: n || {},
|
|
122
122
|
schema: r || {},
|
|
123
|
-
data:
|
|
123
|
+
data: o || []
|
|
124
124
|
};
|
|
125
125
|
}
|
|
126
|
-
function
|
|
126
|
+
function i(e, t, n, r, o) {
|
|
127
127
|
return {
|
|
128
128
|
result: t,
|
|
129
129
|
comment: n || {},
|
|
130
130
|
schema: r || {},
|
|
131
|
-
data:
|
|
131
|
+
data: o || []
|
|
132
132
|
};
|
|
133
133
|
}
|
|
134
|
-
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,
|
|
134
|
+
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({
|
|
135
135
|
DTP_STRING: 1,
|
|
136
136
|
DTP_BOOLEAN: 2,
|
|
137
137
|
DTP_INTEGER: 3,
|
|
@@ -141,8 +141,8 @@ var gobjJs = function(e) {
|
|
|
141
141
|
DTP_JSON: 7,
|
|
142
142
|
DTP_POINTER: 8
|
|
143
143
|
});
|
|
144
|
-
|
|
145
|
-
var
|
|
144
|
+
y.DTP_POINTER;
|
|
145
|
+
var E = Object.freeze({
|
|
146
146
|
SDF_NOTACCESS: 1,
|
|
147
147
|
SDF_RD: 2,
|
|
148
148
|
SDF_WR: 4,
|
|
@@ -165,18 +165,18 @@ var gobjJs = function(e) {
|
|
|
165
165
|
SDF_AUTHZ_S: 524288,
|
|
166
166
|
SDF_AUTHZ_RS: 1048576
|
|
167
167
|
});
|
|
168
|
-
|
|
168
|
+
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;
|
|
169
169
|
var T = class {
|
|
170
|
-
constructor(e, t, n = 0, r = null,
|
|
171
|
-
this.type = e, this.name = t, this.alias =
|
|
170
|
+
constructor(e, t, n = 0, r = null, o = "", i = null, l = null, s = 0, _ = null, a = null, u = null) {
|
|
171
|
+
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;
|
|
172
172
|
}
|
|
173
|
-
}, v = () => new T(0, null),
|
|
174
|
-
constructor(e, t, n, r,
|
|
175
|
-
this.gclass_name = e, this.dl_states = [], this.dl_events = [], this.gmt = t, this.lmt = n, this.attrs_table = r, this.priv =
|
|
173
|
+
}, v = () => new T(0, null), S = (e, t, n, r, o) => new T(e, t, n, r, o), j = class {
|
|
174
|
+
constructor(e, t, n, r, o, i, l, s, _) {
|
|
175
|
+
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;
|
|
176
176
|
}
|
|
177
177
|
}, O = class {
|
|
178
|
-
constructor(e, t, n, r,
|
|
179
|
-
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(
|
|
178
|
+
constructor(e, t, n, r, o) {
|
|
179
|
+
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;
|
|
180
180
|
}
|
|
181
181
|
}, N = Object.freeze({
|
|
182
182
|
gcflag_manual_start: 1,
|
|
@@ -222,152 +222,152 @@ var gobjJs = function(e) {
|
|
|
222
222
|
};
|
|
223
223
|
var L = 0;
|
|
224
224
|
function P(e) {
|
|
225
|
-
Qt(e) && (e = JSON.stringify(e)),
|
|
225
|
+
Qt(e) && (e = JSON.stringify(e)), At(" ".repeat(Math.max(0, 2 * h - 1)) + String(e));
|
|
226
226
|
}
|
|
227
227
|
function U(e, t) {
|
|
228
228
|
let n = {};
|
|
229
|
-
if (!
|
|
229
|
+
if (!Ht(t)) return kt("sdata_desc MUST be an array"), Lt(t), n;
|
|
230
230
|
for (let r = 0; r < t.length; r++) {
|
|
231
|
-
const
|
|
232
|
-
|
|
231
|
+
const o = t[r];
|
|
232
|
+
o.name && C(e, n, o);
|
|
233
233
|
}
|
|
234
234
|
return n;
|
|
235
235
|
}
|
|
236
236
|
function C(e, t, n) {
|
|
237
|
-
let r,
|
|
237
|
+
let r, o = n.default_value;
|
|
238
238
|
switch (n.type) {
|
|
239
|
-
case
|
|
240
|
-
r = String(
|
|
239
|
+
case y.DTP_STRING:
|
|
240
|
+
r = String(o);
|
|
241
241
|
break;
|
|
242
|
-
case
|
|
243
|
-
r =
|
|
242
|
+
case y.DTP_BOOLEAN:
|
|
243
|
+
r = ln(o);
|
|
244
244
|
break;
|
|
245
|
-
case
|
|
246
|
-
r = parseInt(
|
|
245
|
+
case y.DTP_INTEGER:
|
|
246
|
+
r = parseInt(o), isNaN(r) && kt(`${we(e)}: attr NaN: ${n.name}`);
|
|
247
247
|
break;
|
|
248
|
-
case
|
|
249
|
-
r = Number(
|
|
248
|
+
case y.DTP_REAL:
|
|
249
|
+
r = Number(o), isNaN(r) && kt(`${we(e)}: attr NaN: ${n.name}`);
|
|
250
250
|
break;
|
|
251
|
-
case
|
|
252
|
-
if (
|
|
253
|
-
r = JSON.parse(
|
|
251
|
+
case y.DTP_LIST:
|
|
252
|
+
if (Xt(o)) try {
|
|
253
|
+
r = JSON.parse(o);
|
|
254
254
|
} catch (e) {
|
|
255
|
-
|
|
255
|
+
kt(`JSON parse error: ${e.message}`);
|
|
256
256
|
}
|
|
257
|
-
else r =
|
|
258
|
-
|
|
257
|
+
else r = o;
|
|
258
|
+
Ht(r) || (r = []);
|
|
259
259
|
break;
|
|
260
|
-
case
|
|
261
|
-
if (
|
|
262
|
-
r = JSON.parse(
|
|
260
|
+
case y.DTP_DICT:
|
|
261
|
+
if (Xt(o)) try {
|
|
262
|
+
r = JSON.parse(o);
|
|
263
263
|
} catch (e) {
|
|
264
|
-
|
|
264
|
+
kt(`JSON parse error: ${e.message}`);
|
|
265
265
|
}
|
|
266
|
-
else r =
|
|
266
|
+
else r = o;
|
|
267
267
|
Qt(r) || (r = {});
|
|
268
268
|
break;
|
|
269
|
-
case
|
|
270
|
-
if (
|
|
271
|
-
r = JSON.parse(
|
|
269
|
+
case y.DTP_JSON:
|
|
270
|
+
if (Xt(o)) try {
|
|
271
|
+
r = JSON.parse(o);
|
|
272
272
|
} catch (e) {
|
|
273
|
-
|
|
273
|
+
kt(`JSON parse error: ${e.message}`);
|
|
274
274
|
}
|
|
275
|
-
else r =
|
|
275
|
+
else r = o;
|
|
276
276
|
break;
|
|
277
|
-
case
|
|
277
|
+
case y.DTP_POINTER: r = o;
|
|
278
278
|
}
|
|
279
|
-
return void 0 === r && (
|
|
279
|
+
return void 0 === r && (kt(`default_value WRONG, it: ${n.name}, value: ${n.default_value}`), r = null), t[n.name] = r, 0;
|
|
280
280
|
}
|
|
281
281
|
function F(e, t, n, r) {
|
|
282
|
-
let
|
|
282
|
+
let o;
|
|
283
283
|
switch (n.type) {
|
|
284
|
-
case
|
|
285
|
-
if (null == r)
|
|
286
|
-
else if (
|
|
284
|
+
case y.DTP_STRING:
|
|
285
|
+
if (null == r) o = "";
|
|
286
|
+
else if (Xt(r)) o = String(r);
|
|
287
287
|
else {
|
|
288
288
|
let e = JSON.stringify(r);
|
|
289
|
-
e && (
|
|
289
|
+
e && (o = String(e));
|
|
290
290
|
}
|
|
291
291
|
break;
|
|
292
|
-
case
|
|
293
|
-
|
|
292
|
+
case y.DTP_BOOLEAN:
|
|
293
|
+
o = ln(r);
|
|
294
294
|
break;
|
|
295
|
-
case
|
|
296
|
-
|
|
295
|
+
case y.DTP_INTEGER:
|
|
296
|
+
o = parseInt(r), isNaN(o) && kt(`${we(e)}: attr NaN: ${n.name}`);
|
|
297
297
|
break;
|
|
298
|
-
case
|
|
299
|
-
|
|
298
|
+
case y.DTP_REAL:
|
|
299
|
+
o = Number(r), isNaN(o) && kt(`${we(e)}: attr NaN: ${n.name}`);
|
|
300
300
|
break;
|
|
301
|
-
case
|
|
302
|
-
if (
|
|
303
|
-
|
|
301
|
+
case y.DTP_LIST:
|
|
302
|
+
if (Xt(r)) try {
|
|
303
|
+
o = JSON.parse(r);
|
|
304
304
|
} catch (e) {
|
|
305
|
-
|
|
305
|
+
kt(`JSON parse error: ${e.message}`);
|
|
306
306
|
}
|
|
307
|
-
else
|
|
308
|
-
if (!
|
|
307
|
+
else o = r;
|
|
308
|
+
if (!Ht(o)) return kt(`attr must be an array: ${n.name}`), -1;
|
|
309
309
|
break;
|
|
310
|
-
case
|
|
311
|
-
if (
|
|
312
|
-
|
|
310
|
+
case y.DTP_DICT:
|
|
311
|
+
if (Xt(r)) try {
|
|
312
|
+
o = JSON.parse(r);
|
|
313
313
|
} catch (e) {
|
|
314
|
-
|
|
314
|
+
kt(`JSON parse error: ${e.message}`);
|
|
315
315
|
}
|
|
316
|
-
else
|
|
317
|
-
if (!Qt(
|
|
316
|
+
else o = r;
|
|
317
|
+
if (!Qt(o)) return kt(`attr must be an object: ${n.name}`), -1;
|
|
318
318
|
break;
|
|
319
|
-
case
|
|
320
|
-
if (
|
|
321
|
-
|
|
319
|
+
case y.DTP_JSON:
|
|
320
|
+
if (Xt(r)) try {
|
|
321
|
+
o = JSON.parse(r);
|
|
322
322
|
} catch (e) {
|
|
323
|
-
|
|
323
|
+
kt(`JSON parse error: ${e.message}`);
|
|
324
324
|
}
|
|
325
|
-
else
|
|
326
|
-
if (!
|
|
325
|
+
else o = r;
|
|
326
|
+
if (!Ht(o) && !Qt(o)) return kt(`attr must be a json dict/list: ${n.name}`), -1;
|
|
327
327
|
break;
|
|
328
|
-
case
|
|
328
|
+
case y.DTP_POINTER: o = r;
|
|
329
329
|
}
|
|
330
|
-
return void 0 ===
|
|
330
|
+
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;
|
|
331
331
|
}
|
|
332
332
|
function G(e) {
|
|
333
333
|
return e.jn_attrs;
|
|
334
334
|
}
|
|
335
335
|
function V(e, t, n) {
|
|
336
|
-
return
|
|
336
|
+
return xe(e, t) ? G(e) : e && e.bottom_gobj ? V(e.bottom_gobj, t, n) : (n && kt(`GClass Attribute NOT FOUND: ${we(e)}, attr ${t}`), null);
|
|
337
337
|
}
|
|
338
338
|
function W(e, t, n) {
|
|
339
|
-
if (!(e && e instanceof
|
|
339
|
+
if (!(e && e instanceof j)) return n && kt("gclass NULL"), null;
|
|
340
340
|
if (!t) return e.attrs_table;
|
|
341
341
|
for (let n = 0; n < e.attrs_table.length; n++) {
|
|
342
342
|
const r = e.attrs_table[n];
|
|
343
343
|
if (r.name && r.name === t) return r;
|
|
344
344
|
}
|
|
345
|
-
return n &&
|
|
345
|
+
return n && kt(`${e.gclass_name}: GClass Attribute NOT FOUND: ${t}`), null;
|
|
346
346
|
}
|
|
347
|
-
function M(e, t, n, r,
|
|
348
|
-
if (
|
|
349
|
-
if (e.includes("`") || e.includes("^") || e.includes(".")) return
|
|
350
|
-
if (X(e)) return
|
|
351
|
-
let c = new
|
|
347
|
+
function M(e, t, n, r, o, i, l, s, _, a, u) {
|
|
348
|
+
if (on(e)) return kt("gclass_name EMPTY"), null;
|
|
349
|
+
if (e.includes("`") || e.includes("^") || e.includes(".")) return kt(`GClass name CANNOT have '.' or '^' or '\`' char: ${e}`), null;
|
|
350
|
+
if (X(e)) return kt(`GClass ALREADY exists: ${e}`), null;
|
|
351
|
+
let c = new j(e, r, o, i, l, s, _, a, u);
|
|
352
352
|
(function(e, t) {
|
|
353
|
-
e && e instanceof
|
|
353
|
+
e && e instanceof j ? t ? d[t] ? kt(`gclass ALREADY REGISTERED: ${t}`) : d[t] = e : kt("gclass_name undefined") : kt("gclass undefined");
|
|
354
354
|
})(c, e);
|
|
355
355
|
const f = n.length;
|
|
356
356
|
for (let e = 0; e < f; e++) {
|
|
357
357
|
let t = n[e][0], r = n[e][1];
|
|
358
|
-
if (
|
|
358
|
+
if (on(t)) continue;
|
|
359
359
|
if (B(c, t) < 0) return K(c), null;
|
|
360
|
-
const
|
|
361
|
-
for (let e = 0; e <
|
|
362
|
-
let n = r[e][0],
|
|
363
|
-
|
|
360
|
+
const o = r.length;
|
|
361
|
+
for (let e = 0; e < o; e++) {
|
|
362
|
+
let n = r[e][0], o = r[e][1], i = r[e][2];
|
|
363
|
+
on(n) || J(c, t, n, o, i);
|
|
364
364
|
}
|
|
365
365
|
}
|
|
366
366
|
for (let e = 0; e < t.length; e++) {
|
|
367
367
|
let n = t[e][0], r = t[e][1];
|
|
368
|
-
if (!
|
|
369
|
-
if (
|
|
370
|
-
|
|
368
|
+
if (!on(n)) {
|
|
369
|
+
if (Q(c, n)) return kt(`SMachine: event repeated in input_events: ${n}`), K(c), null;
|
|
370
|
+
z(c, n, r);
|
|
371
371
|
}
|
|
372
372
|
}
|
|
373
373
|
if (!c.fsm_checked) {
|
|
@@ -378,15 +378,15 @@ var gobjJs = function(e) {
|
|
|
378
378
|
}
|
|
379
379
|
function K(e) {
|
|
380
380
|
let t;
|
|
381
|
-
if (
|
|
381
|
+
if (Xt(e)) t = e;
|
|
382
382
|
else {
|
|
383
|
-
if (!(e instanceof
|
|
383
|
+
if (!(e instanceof j)) return kt("Cannot unregister gclass, type unknown"), -1;
|
|
384
384
|
t = e.gclass_name;
|
|
385
385
|
}
|
|
386
386
|
let n = d[t];
|
|
387
|
-
return n ? n.instances > 0 ? (
|
|
387
|
+
return n ? n.instances > 0 ? (kt(`Cannot unregister gclass, instances in use: ${t}`), -1) : (delete d[t], 0) : (kt(`Cannot unregister gclass, not found: ${t}`), -1);
|
|
388
388
|
}
|
|
389
|
-
function
|
|
389
|
+
function x(e, t) {
|
|
390
390
|
const n = e.dl_states.length, r = e.dl_states;
|
|
391
391
|
for (let e = 0; e < n; e++) {
|
|
392
392
|
let n = r[e];
|
|
@@ -394,7 +394,7 @@ var gobjJs = function(e) {
|
|
|
394
394
|
}
|
|
395
395
|
return null;
|
|
396
396
|
}
|
|
397
|
-
function
|
|
397
|
+
function Y(e, t) {
|
|
398
398
|
const n = e.dl_actions.length, r = e.dl_actions;
|
|
399
399
|
for (let e = 0; e < n; e++) {
|
|
400
400
|
let n = r[e];
|
|
@@ -403,22 +403,22 @@ var gobjJs = function(e) {
|
|
|
403
403
|
return null;
|
|
404
404
|
}
|
|
405
405
|
function B(e, t) {
|
|
406
|
-
return e instanceof
|
|
406
|
+
return e instanceof j ? x(e, t) ? (kt(`state already exists: ${t}`), -1) : (e.dl_states.push(new A(t)), 0) : (kt("Cannot add state, typeof not GClass"), -1);
|
|
407
407
|
}
|
|
408
|
-
function J(e, t, n, r,
|
|
409
|
-
if (!(e instanceof
|
|
410
|
-
if (
|
|
411
|
-
let
|
|
412
|
-
return
|
|
408
|
+
function J(e, t, n, r, o) {
|
|
409
|
+
if (!(e instanceof j)) return kt("Cannot add state, typeof not GClass"), -1;
|
|
410
|
+
if (on(t)) return kt("state_name EMPTY"), -1;
|
|
411
|
+
let i = x(e, t);
|
|
412
|
+
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);
|
|
413
413
|
}
|
|
414
|
-
function
|
|
415
|
-
|
|
414
|
+
function q(e, t, n) {
|
|
415
|
+
on(t) || e.push(new I(t, n));
|
|
416
416
|
}
|
|
417
|
-
function
|
|
418
|
-
return e instanceof
|
|
417
|
+
function z(e, t, n) {
|
|
418
|
+
return e instanceof j ? q(e.dl_events, t, n) : (kt("Cannot add state, typeof not GClass"), -1);
|
|
419
419
|
}
|
|
420
|
-
function
|
|
421
|
-
if (!(e instanceof
|
|
420
|
+
function Q(e, t) {
|
|
421
|
+
if (!(e instanceof j)) return kt("Cannot add state, typeof not GClass"), 0;
|
|
422
422
|
const n = e.dl_events.length, r = e.dl_events;
|
|
423
423
|
for (let e = 0; e < n; e++) {
|
|
424
424
|
let n = r[e];
|
|
@@ -427,25 +427,25 @@ var gobjJs = function(e) {
|
|
|
427
427
|
return null;
|
|
428
428
|
}
|
|
429
429
|
function H(e) {
|
|
430
|
-
if (!(e instanceof
|
|
430
|
+
if (!(e instanceof j)) return kt("Cannot add state, typeof not GClass"), -1;
|
|
431
431
|
let t = 0;
|
|
432
|
-
|
|
432
|
+
qt(e.dl_states) || (kt(`GClass without states: ${e.gclass_name}`), t += -1);
|
|
433
433
|
for (let n = 0; n < e.dl_states.length; n++) {
|
|
434
434
|
let r = e.dl_states[n];
|
|
435
|
-
if (!
|
|
436
|
-
let
|
|
437
|
-
|
|
435
|
+
if (!on(r.state_name)) for (let n = 0; n < r.dl_actions.length; n++) {
|
|
436
|
+
let o = r.dl_actions[n];
|
|
437
|
+
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 && (x(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)));
|
|
438
438
|
}
|
|
439
439
|
}
|
|
440
440
|
for (let n = 0; n < e.dl_events.length; n++) {
|
|
441
441
|
let r = e.dl_events[n];
|
|
442
|
-
if (!
|
|
442
|
+
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))) {
|
|
443
443
|
let n = !1;
|
|
444
444
|
for (let t = 0; t < e.dl_states.length; t++) {
|
|
445
|
-
let
|
|
446
|
-
|
|
445
|
+
let o = e.dl_states[t];
|
|
446
|
+
on(o.state_name) || Y(o, r.event_name) && (n = !0);
|
|
447
447
|
}
|
|
448
|
-
n || (
|
|
448
|
+
n || (kt(`SMachine: input_list's event NOT in state: gclass ${e.gclass_name}, event ${r.event_name}`), t += -1);
|
|
449
449
|
}
|
|
450
450
|
}
|
|
451
451
|
return t;
|
|
@@ -455,7 +455,7 @@ var gobjJs = function(e) {
|
|
|
455
455
|
try {
|
|
456
456
|
n = d[e];
|
|
457
457
|
} catch (e) {}
|
|
458
|
-
return n || t &&
|
|
458
|
+
return n || t && kt(`gclass not found: ${e}`), n;
|
|
459
459
|
}
|
|
460
460
|
function Z() {
|
|
461
461
|
return !m || m.obflag & D.obflag_destroyed ? null : m;
|
|
@@ -463,75 +463,75 @@ var gobjJs = function(e) {
|
|
|
463
463
|
function ee(e, t) {
|
|
464
464
|
e = e.toLowerCase();
|
|
465
465
|
let n = b[e];
|
|
466
|
-
return !n && t ? (
|
|
466
|
+
return !n && t ? (kt(`gobj service not found: ${e}`), null) : n;
|
|
467
467
|
}
|
|
468
468
|
function te(e) {
|
|
469
469
|
let t = Oe(e);
|
|
470
|
-
return t = t.toLowerCase(), b[t] &&
|
|
470
|
+
return t = t.toLowerCase(), b[t] && kt(`service ALREADY REGISTERED: ${t}. Will be UPDATED`), b[t] = e, 0;
|
|
471
471
|
}
|
|
472
472
|
function ne(e, t) {
|
|
473
|
-
t.parent &&
|
|
473
|
+
t.parent && kt(`_add_child() ALREADY HAS PARENT: ${t.gobj_name}`), e.dl_children.push(t), t.parent = e;
|
|
474
474
|
}
|
|
475
475
|
function re(e, t) {
|
|
476
476
|
let n = Yn(e.dl_children, t);
|
|
477
|
-
n >= 0 && (
|
|
477
|
+
n >= 0 && (Bt(e.dl_children, n), t.parent = null);
|
|
478
478
|
}
|
|
479
|
-
function
|
|
480
|
-
"__json_config_variables__" !== t &&
|
|
479
|
+
function oe(e, t) {
|
|
480
|
+
"__json_config_variables__" !== t && kt(`GClass Attribute NOT FOUND: ${we(e)}, attr ${t}`);
|
|
481
481
|
}
|
|
482
|
-
function
|
|
482
|
+
function ie(e, t, n) {
|
|
483
483
|
let r = t;
|
|
484
|
-
(function(e, t, n, r,
|
|
485
|
-
if (!e || !t) return
|
|
486
|
-
let
|
|
484
|
+
(function(e, t, n, r, o) {
|
|
485
|
+
if (!e || !t) return kt("hsdata or kw NULL"), -1;
|
|
486
|
+
let i = 0;
|
|
487
487
|
for (const [l, s] of Object.entries(t)) {
|
|
488
|
-
const t = W(
|
|
489
|
-
t ? (-1 === n || t.flag & n) && (t.flag &
|
|
488
|
+
const t = W(o.gclass, l, !1);
|
|
489
|
+
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--);
|
|
490
490
|
}
|
|
491
|
-
return
|
|
492
|
-
})(G(e), r, -1, e.gclass.gclass_flag & N.gcflag_ignore_unknown_attrs ? 0 :
|
|
491
|
+
return i;
|
|
492
|
+
})(G(e), r, -1, e.gclass.gclass_flag & N.gcflag_ignore_unknown_attrs ? 0 : oe, e) < 0 && (kt(`${we(e)} json2data() FAILED`), Lt(r));
|
|
493
493
|
}
|
|
494
|
-
function le(e, t, r,
|
|
495
|
-
if (
|
|
496
|
-
if (p) return
|
|
497
|
-
|
|
494
|
+
function le(e, t, r, o, i) {
|
|
495
|
+
if (i & w.gobj_flag_yuno) {
|
|
496
|
+
if (p) return kt("__yuno__ already created"), null;
|
|
497
|
+
i |= w.gobj_flag_service;
|
|
498
498
|
} else {
|
|
499
|
-
if (!
|
|
500
|
-
if (!("string" == typeof
|
|
501
|
-
if (
|
|
499
|
+
if (!o) return kt("gobj NEEDS a parent!"), null;
|
|
500
|
+
if (!("string" == typeof o || o instanceof O)) return kt(`BAD TYPE of parent: ${o}`), null;
|
|
501
|
+
if (Xt(o) && !(o = ee(o))) return $t(`parent service not found: ${o}`), null;
|
|
502
502
|
}
|
|
503
|
-
if (
|
|
504
|
-
if (
|
|
505
|
-
if (m) return
|
|
506
|
-
|
|
503
|
+
if (i & w.gobj_flag_service && ee(e, !1)) return kt(`service ALREADY registered: ${t}^${e}`), null;
|
|
504
|
+
if (i & w.gobj_flag_default_service) {
|
|
505
|
+
if (m) return kt(`default service ALREADY registered: ${t}^${e}`), null;
|
|
506
|
+
i |= w.gobj_flag_service;
|
|
507
507
|
}
|
|
508
|
-
if (
|
|
508
|
+
if (on(t)) return kt("gclass_name must be a string"), null;
|
|
509
509
|
let l = X(t, !1);
|
|
510
|
-
if (!l) return
|
|
511
|
-
if (!
|
|
512
|
-
if (!
|
|
513
|
-
if (e.includes("`")) return
|
|
514
|
-
if (e.includes("^")) return
|
|
510
|
+
if (!l) return kt(`GClass not registered: ${t}^${e}`), null;
|
|
511
|
+
if (!Xt(e)) return kt(`gobj_name must be a string: ${t}`), null;
|
|
512
|
+
if (!on(e)) {
|
|
513
|
+
if (e.includes("`")) return kt(`gobj_name cannot contain char ': ${t}^${e}`), null;
|
|
514
|
+
if (e.includes("^")) return kt(`gobj_name cannot contain char ^: ${t}^${e}`), null;
|
|
515
515
|
}
|
|
516
|
-
let _ = new O(e, l, r,
|
|
516
|
+
let _ = new O(e, l, r, o, i);
|
|
517
517
|
_.jn_attrs = U(_, l.attrs_table);
|
|
518
518
|
for (const [e, t] of Object.entries(_.jn_attrs)) e in _.priv && (_.priv[e] = t);
|
|
519
519
|
let a = p && Je(p, "trace_creation");
|
|
520
|
-
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(
|
|
520
|
+
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(_))), _;
|
|
521
521
|
}
|
|
522
522
|
function se(e, t, n, r) {
|
|
523
523
|
return le(e, t, n, r, w.gobj_flag_pure_child);
|
|
524
524
|
}
|
|
525
525
|
function _e(e) {
|
|
526
|
-
if (Ae(e)) return void
|
|
527
|
-
e.__refs__ > 0 &&
|
|
526
|
+
if (Ae(e)) return void kt("gobj NULL or DESTROYED");
|
|
527
|
+
e.__refs__ > 0 && kt(`${we(e)}: gobj DESTROYING with references: ${e.__refs__}`), e.obflag |= D.obflag_destroying;
|
|
528
528
|
let t = p && Je(p, "trace_creation");
|
|
529
529
|
t && P(n("💔💔⏩ destroying: %s", De(e)));
|
|
530
530
|
let r = Re(e);
|
|
531
531
|
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) {
|
|
532
532
|
let t = Oe(e);
|
|
533
|
-
t = t.toLowerCase(), b[t] ? delete b[t] :
|
|
534
|
-
}(e), e.playing && (
|
|
533
|
+
t = t.toLowerCase(), b[t] ? delete b[t] : kt(`"service NOT found in register": ${t}`);
|
|
534
|
+
}(e), e.playing && (kt(`Destroying a PLAYING gobj: ${De(e)}`), pe(e)), e.running && (kt(`Destroying a RUNNING gobj: ${De(e)}`), fe(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) {
|
|
535
535
|
let t = e.dl_children.slice();
|
|
536
536
|
for (let e = 0; e < t.length; e++) {
|
|
537
537
|
let n = t[e];
|
|
@@ -540,9 +540,9 @@ var gobjJs = function(e) {
|
|
|
540
540
|
}(e), e.obflag & D.obflag_created && e.gclass.gmt.mt_destroy && e.gclass.gmt.mt_destroy(e), t && P(n("💔💔⏪ destroyed: %s", De(e))), e.obflag |= D.obflag_destroyed, e.obflag & D.obflag_created && e.gclass.instances--;
|
|
541
541
|
}
|
|
542
542
|
function ae(e) {
|
|
543
|
-
if (Ae(e)) return
|
|
544
|
-
if (e.running) return
|
|
545
|
-
if (e.disabled) return
|
|
543
|
+
if (Ae(e)) return kt("gobj NULL or DESTROYED"), -1;
|
|
544
|
+
if (e.running) return kt(`${we(e)}: GObj ALREADY RUNNING`), -1;
|
|
545
|
+
if (e.disabled) return kt(`${we(e)}: GObj DISABLED`), -1;
|
|
546
546
|
p && Je(p, "trace_start_stop") && P(n("⏺ ⏺ start: %s", De(e))), e.running = !0;
|
|
547
547
|
let t = 0;
|
|
548
548
|
return e.gclass.gmt.mt_start && (t = e.gclass.gmt.mt_start(e)), t;
|
|
@@ -554,9 +554,9 @@ var gobjJs = function(e) {
|
|
|
554
554
|
return e.gclass.gclass_flag & N.gcflag_manual_start || he(e) ? 1 : (me(e) || ae(e), 0);
|
|
555
555
|
}
|
|
556
556
|
function fe(e) {
|
|
557
|
-
if (Ae(e)) return
|
|
558
|
-
if (!e.running) return
|
|
559
|
-
e.playing && (
|
|
557
|
+
if (Ae(e)) return kt("gobj NULL or DESTROYED"), -1;
|
|
558
|
+
if (!e.running) return kt(`${we(e)}: GObj NOT RUNNING`), -1;
|
|
559
|
+
e.playing && ($t(`${we(e)}: GObj stopping without previous pause`), pe(e)), p && Je(p, "trace_start_stop") && P(n("⏹ ⏹ stop: %s", De(e))), e.running = !1;
|
|
560
560
|
let t = 0;
|
|
561
561
|
return e.gclass.gmt.mt_stop && (t = e.gclass.gmt.mt_stop(e)), t;
|
|
562
562
|
}
|
|
@@ -564,22 +564,22 @@ var gobjJs = function(e) {
|
|
|
564
564
|
return me(e) && fe(e), 0;
|
|
565
565
|
}
|
|
566
566
|
function de(e) {
|
|
567
|
-
return Ae(e) ? (
|
|
567
|
+
return Ae(e) ? (kt("gobj NULL or DESTROYED"), -1) : Ue(e, k.WALK_FIRST2LAST, ge, 0, 0);
|
|
568
568
|
}
|
|
569
569
|
function be(e) {
|
|
570
|
-
if (Ae(e)) return
|
|
571
|
-
if (e.playing) return
|
|
572
|
-
if (e.disabled) return
|
|
570
|
+
if (Ae(e)) return kt(`gobj NULL or DESTROYED: ${we(e)}`), -1;
|
|
571
|
+
if (e.playing) return kt(`${we(e)}: GObj ALREADY PLAYING`), -1;
|
|
572
|
+
if (e.disabled) return kt(`${we(e)}: GObj DISABLED`), -1;
|
|
573
573
|
if (!me(e)) {
|
|
574
|
-
if (e.gclass.gclass_flag & N.gcflag_required_start_to_play) return
|
|
575
|
-
|
|
574
|
+
if (e.gclass.gclass_flag & N.gcflag_required_start_to_play) return kt(`${we(e)}: Cannot play, start not done`), -1;
|
|
575
|
+
$t(`${we(e)}: GObj playing without previous start`), ae(e);
|
|
576
576
|
}
|
|
577
577
|
p && Je(p, "trace_start_stop") && P(n("⏯ ⏯ play: %s", De(e))), e.playing = !0;
|
|
578
578
|
let t = 0;
|
|
579
579
|
return e.gclass.gmt.mt_play && (t = e.gclass.gmt.mt_play(e), t < 0 && (e.playing = !1)), t;
|
|
580
580
|
}
|
|
581
581
|
function pe(e) {
|
|
582
|
-
return Ae(e) ? (
|
|
582
|
+
return Ae(e) ? (kt("gobj NULL or DESTROYED"), -1) : e.playing ? (p && Je(p, "trace_start_stop") && P(n("⏸ ⏸ pause: %s", De(e))), e.playing = !1, e.gclass.gmt.mt_pause ? e.gclass.gmt.mt_pause(e) : 0) : (kt(`${we(e)}: GObj NOT PLAYING`), -1);
|
|
583
583
|
}
|
|
584
584
|
function me(e) {
|
|
585
585
|
return !Ae(e) && e.running;
|
|
@@ -587,10 +587,10 @@ var gobjJs = function(e) {
|
|
|
587
587
|
function he(e) {
|
|
588
588
|
return !!Ae(e) || e.disabled;
|
|
589
589
|
}
|
|
590
|
-
function
|
|
590
|
+
function ye(e) {
|
|
591
591
|
return !!(e && e.gobj_flag & w.gobj_flag_service);
|
|
592
592
|
}
|
|
593
|
-
function
|
|
593
|
+
function Ee(e) {
|
|
594
594
|
return !Ae(e) && e.playing;
|
|
595
595
|
}
|
|
596
596
|
function Te() {
|
|
@@ -600,110 +600,110 @@ var gobjJs = function(e) {
|
|
|
600
600
|
let e = Te();
|
|
601
601
|
return e ? Oe(e) : "";
|
|
602
602
|
}
|
|
603
|
-
function
|
|
603
|
+
function Se() {
|
|
604
604
|
let e = Te();
|
|
605
|
-
return e ?
|
|
605
|
+
return e ? ze(e, "yuno_role") : "";
|
|
606
606
|
}
|
|
607
|
-
function
|
|
607
|
+
function je() {
|
|
608
608
|
let e = Te();
|
|
609
|
-
return e ?
|
|
609
|
+
return e ? ze(e, "yuno_id") : "";
|
|
610
610
|
}
|
|
611
611
|
function Oe(e) {
|
|
612
|
-
return
|
|
612
|
+
return rn(e) ? e.gobj_name : (kt("gobj bad type"), null);
|
|
613
613
|
}
|
|
614
614
|
function Ne(e) {
|
|
615
|
-
return
|
|
615
|
+
return rn(e) ? e.gclass.gclass_name : (kt("gobj NULL of bad type"), null);
|
|
616
616
|
}
|
|
617
617
|
function we(e) {
|
|
618
|
-
return
|
|
618
|
+
return rn(e) ? e.gclass.gclass_name + "^" + Oe(e) : (kt("gobj bad type"), null);
|
|
619
619
|
}
|
|
620
620
|
function De(e) {
|
|
621
|
-
if (!
|
|
621
|
+
if (!rn(e)) return kt("gobj NULL of bad type"), null;
|
|
622
622
|
let t = we(e), n = Re(e);
|
|
623
623
|
for (; n;) t = we(n) + "`" + t, n = Re(n);
|
|
624
624
|
return t;
|
|
625
625
|
}
|
|
626
626
|
function Re(e) {
|
|
627
|
-
return
|
|
627
|
+
return rn(e) ? e.parent : (kt("gobj NULL of bad type"), null);
|
|
628
628
|
}
|
|
629
629
|
function ke(e) {
|
|
630
|
-
return
|
|
630
|
+
return rn(e) ? !!(e.gobj_flag & w.gobj_flag_volatil) : (kt("gobj NULL of bad type"), null);
|
|
631
631
|
}
|
|
632
632
|
function $e(e) {
|
|
633
|
-
return
|
|
633
|
+
return rn(e) ? !!(e.gobj_flag & w.gobj_flag_pure_child) : (kt("gobj NULL of bad type"), null);
|
|
634
634
|
}
|
|
635
635
|
function Ae(e) {
|
|
636
|
-
return !
|
|
636
|
+
return !rn(e) || !!(e.obflag & (D.obflag_destroyed | D.obflag_destroying));
|
|
637
637
|
}
|
|
638
638
|
function Ie(e) {
|
|
639
|
-
return
|
|
639
|
+
return rn(e) ? e.bottom_gobj : (kt("gobj NULL of bad type"), null);
|
|
640
640
|
}
|
|
641
641
|
function Le(e, t) {
|
|
642
|
-
if (!
|
|
643
|
-
e.bottom_gobj &&
|
|
642
|
+
if (!rn(e)) return kt("gobj NULL of bad type"), null;
|
|
643
|
+
e.bottom_gobj && $t(`${we(e)}: bottom_gobj already set`), e.bottom_gobj = t;
|
|
644
644
|
}
|
|
645
645
|
function Pe(e, t, n) {
|
|
646
|
-
return
|
|
646
|
+
return rn(e) ? t ? W(e.gclass, t, n) : e.gclass.attrs_table : (kt("gobj NULL of bad type"), null);
|
|
647
647
|
}
|
|
648
|
-
function Ue(e, t, n, r,
|
|
649
|
-
return Ae(e) ? (
|
|
648
|
+
function Ue(e, t, n, r, o) {
|
|
649
|
+
return Ae(e) ? (kt("gobj NULL, destroying, or bad type"), 0) : Fe(e.dl_children, t, n, r, o);
|
|
650
650
|
}
|
|
651
|
-
function Ce(e, t, n, r,
|
|
652
|
-
return Ae(e) ? (
|
|
651
|
+
function Ce(e, t, n, r, o) {
|
|
652
|
+
return Ae(e) ? (kt("gobj NULL, destroying, or bad type"), 0) : Ve(e.dl_children, t, n, r, o);
|
|
653
653
|
}
|
|
654
|
-
function Fe(e, t, n, r,
|
|
655
|
-
let
|
|
654
|
+
function Fe(e, t, n, r, o) {
|
|
655
|
+
let i, l = [...e];
|
|
656
656
|
if (t & k.WALK_LAST2FIRST) for (let e = l.length; e > 0; e--) {
|
|
657
|
-
|
|
658
|
-
let t = n(
|
|
657
|
+
i = l[e - 1];
|
|
658
|
+
let t = n(i, r, o);
|
|
659
659
|
if (t < 0) return t;
|
|
660
660
|
}
|
|
661
661
|
else for (let e = 0; e < l.length; e++) {
|
|
662
|
-
|
|
663
|
-
let t = n(
|
|
662
|
+
i = l[e];
|
|
663
|
+
let t = n(i, r, o);
|
|
664
664
|
if (t < 0) return t;
|
|
665
665
|
}
|
|
666
666
|
return 0;
|
|
667
667
|
}
|
|
668
|
-
function Ge(e, t, n, r,
|
|
669
|
-
let
|
|
668
|
+
function Ge(e, t, n, r, o) {
|
|
669
|
+
let i, l = Fe(e, t, n, r, o);
|
|
670
670
|
if (l < 0) return l;
|
|
671
671
|
if (t & k.WALK_LAST2FIRST) {
|
|
672
|
-
for (let s = e.length; s > 0; s--) if (
|
|
673
|
-
} else for (let s = 0; s < e.length; s++) if (
|
|
672
|
+
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;
|
|
673
|
+
} 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;
|
|
674
674
|
return l;
|
|
675
675
|
}
|
|
676
|
-
function Ve(e, t, n, r,
|
|
677
|
-
if (t & k.WALK_BYLEVEL) return Ge(e, t, n, r,
|
|
678
|
-
let
|
|
676
|
+
function Ve(e, t, n, r, o) {
|
|
677
|
+
if (t & k.WALK_BYLEVEL) return Ge(e, t, n, r, o);
|
|
678
|
+
let i, l;
|
|
679
679
|
if (t & k.WALK_BOTTOM2TOP) for (let s = e.length; s > 0; s--) {
|
|
680
|
-
if (l = e[s - 1],
|
|
681
|
-
if (
|
|
680
|
+
if (l = e[s - 1], i = Ve([...l.dl_children], t, n, r, o), i < 0) return i;
|
|
681
|
+
if (i = n(l, r, o), i < 0) return i;
|
|
682
682
|
}
|
|
683
683
|
else for (let s = 0; s < e.length; s++) {
|
|
684
|
-
if (l = e[s],
|
|
685
|
-
if (0 ===
|
|
684
|
+
if (l = e[s], i = n(l, r, o), i < 0) return i;
|
|
685
|
+
if (0 === i && (i = Ve([...l.dl_children], t, n, r, o), i < 0)) return i;
|
|
686
686
|
}
|
|
687
687
|
return 0;
|
|
688
688
|
}
|
|
689
689
|
function We(e, t) {
|
|
690
|
-
if (!
|
|
691
|
-
let n = t.__gclass_name__, r = t.__gobj_name__,
|
|
690
|
+
if (!rn(e)) return kt("gobj NULL of bad type"), !1;
|
|
691
|
+
let n = t.__gclass_name__, r = t.__gobj_name__, o = t.__prefix_gobj_name__;
|
|
692
692
|
t.__disabled__;
|
|
693
|
-
let
|
|
693
|
+
let i = t.__state__;
|
|
694
694
|
if (n && n !== Ne(e)) return !1;
|
|
695
695
|
if (r && r !== Oe(e)) return !1;
|
|
696
|
-
if (
|
|
697
|
-
let t =
|
|
698
|
-
if (
|
|
696
|
+
if (o) {
|
|
697
|
+
let t = o.length;
|
|
698
|
+
if (o !== Oe(e).substring(0, t)) return !1;
|
|
699
699
|
}
|
|
700
|
-
if (
|
|
700
|
+
if (i && i !== nt(e)) return !1;
|
|
701
701
|
let l = e.jn_attrs;
|
|
702
|
-
for (const n of Object.keys(t)) if ("__gclass_name__" !== n && "__gobj_name__" !== n && "__prefix_gobj_name__" !== n && "__disabled__" !== n && "__state__" !== n &&
|
|
702
|
+
for (const n of Object.keys(t)) if ("__gclass_name__" !== n && "__gobj_name__" !== n && "__prefix_gobj_name__" !== n && "__disabled__" !== n && "__state__" !== n && xe(e, n) && l[n] !== t[n]) return !1;
|
|
703
703
|
return !0;
|
|
704
704
|
}
|
|
705
705
|
function Me(e, t) {
|
|
706
|
-
if (Ae(e)) return
|
|
706
|
+
if (Ae(e)) return kt("gobj NULL or DESTROYED"), null;
|
|
707
707
|
const n = e.dl_children;
|
|
708
708
|
for (let e = 0; e < n.length; e++) {
|
|
709
709
|
const r = n[e];
|
|
@@ -715,9 +715,9 @@ var gobjJs = function(e) {
|
|
|
715
715
|
if (!t) return null;
|
|
716
716
|
let n = t.split("`");
|
|
717
717
|
if (!function(e, t) {
|
|
718
|
-
let n = t.split("^"), r = null,
|
|
718
|
+
let n = t.split("^"), r = null, o = null;
|
|
719
719
|
if (2 === n.length) {
|
|
720
|
-
if (
|
|
720
|
+
if (o = n[0], r = n[1], o !== Ne(e)) return !1;
|
|
721
721
|
} else {
|
|
722
722
|
if (1 !== n.length) return !1;
|
|
723
723
|
r = n[0];
|
|
@@ -725,89 +725,89 @@ var gobjJs = function(e) {
|
|
|
725
725
|
return r === Oe(e);
|
|
726
726
|
}(e, n[0])) return null;
|
|
727
727
|
if (1 === n.length) return e;
|
|
728
|
-
let r = n[1].split("^"),
|
|
729
|
-
1 === r.length ?
|
|
730
|
-
let
|
|
731
|
-
return
|
|
728
|
+
let r = n[1].split("^"), o = {};
|
|
729
|
+
1 === r.length ? o.__gobj_name__ = r : (o.__gclass_name__ = r[0], o.__gobj_name__ = r[1]);
|
|
730
|
+
let i = Me(e, o);
|
|
731
|
+
return i ? (n.splice(0, 1), n = n.join("`"), Ke(i, n)) : null;
|
|
732
732
|
}
|
|
733
|
-
function
|
|
734
|
-
return !
|
|
733
|
+
function xe(e, t) {
|
|
734
|
+
return !on(t) && !!W(e.gclass, t, !1);
|
|
735
735
|
}
|
|
736
|
-
function
|
|
736
|
+
function Ye(e, t, n) {
|
|
737
737
|
let r = e.jn_attrs;
|
|
738
738
|
if (t in r && r.hasOwnProperty(t)) {
|
|
739
739
|
let n = r[t];
|
|
740
740
|
return e.gclass.gmt.mt_reading ? e.gclass.gmt.mt_reading(e, t, n) : n;
|
|
741
741
|
}
|
|
742
|
-
return
|
|
742
|
+
return kt(`${we(e)}: GClass Attribute NOT FOUND, attr ${t}`), null;
|
|
743
743
|
}
|
|
744
744
|
function Be(e, t, n) {
|
|
745
|
-
let r = {},
|
|
746
|
-
for (let n = 0; n <
|
|
747
|
-
const
|
|
748
|
-
if (
|
|
745
|
+
let r = {}, o = e.gclass.attrs_table;
|
|
746
|
+
for (let n = 0; n < o.length; n++) {
|
|
747
|
+
const i = o[n];
|
|
748
|
+
if (i.name && (-1 === t || i.flag & t)) {
|
|
749
749
|
let t;
|
|
750
|
-
!e.gclass.gmt.mt_reading || e.obflag & D.obflag_destroyed ? t =
|
|
750
|
+
!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);
|
|
751
751
|
}
|
|
752
752
|
}
|
|
753
753
|
return r;
|
|
754
754
|
}
|
|
755
755
|
function Je(e, t) {
|
|
756
756
|
if (t) {
|
|
757
|
-
if (0 ===
|
|
758
|
-
if (0 ===
|
|
759
|
-
if (0 ===
|
|
760
|
-
if (0 ===
|
|
757
|
+
if (0 === _n(t, "__disabled__")) return he(e);
|
|
758
|
+
if (0 === _n(t, "__running__")) return me(e);
|
|
759
|
+
if (0 === _n(t, "__playing__")) return Ee(e);
|
|
760
|
+
if (0 === _n(t, "__service__")) return ye(e);
|
|
761
761
|
}
|
|
762
762
|
let n = V(e, t, !1);
|
|
763
|
-
return n ? !e.gclass.gmt.mt_reading || e.obflag & D.obflag_destroyed ?
|
|
763
|
+
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);
|
|
764
764
|
}
|
|
765
|
-
function
|
|
766
|
-
t &&
|
|
765
|
+
function qe(e, t) {
|
|
766
|
+
t && _n(t, "__trace_level__");
|
|
767
767
|
let n = V(e, t, !1);
|
|
768
|
-
return n ? !e.gclass.gmt.mt_reading || e.obflag & D.obflag_destroyed ?
|
|
768
|
+
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);
|
|
769
769
|
}
|
|
770
|
-
function
|
|
771
|
-
if (t && 0 ===
|
|
770
|
+
function ze(e, t) {
|
|
771
|
+
if (t && 0 === _n(t, "__state__")) return nt(e);
|
|
772
772
|
let n = V(e, t, !1);
|
|
773
|
-
return n ? !e.gclass.gmt.mt_reading || e.obflag & D.obflag_destroyed ?
|
|
773
|
+
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);
|
|
774
774
|
}
|
|
775
|
-
function
|
|
775
|
+
function Qe(e, t) {
|
|
776
776
|
let n = V(e, t, !1);
|
|
777
|
-
return n ? !e.gclass.gmt.mt_reading || e.obflag & D.obflag_destroyed ?
|
|
777
|
+
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);
|
|
778
778
|
}
|
|
779
779
|
function He(e, t, n, r) {
|
|
780
|
-
let
|
|
780
|
+
let o = G(e), i = 0;
|
|
781
781
|
for (const [r, l] of Object.entries(t)) {
|
|
782
782
|
let t = Pe(e, r, !0);
|
|
783
|
-
t && (-1 === n || t.flag & n) && (
|
|
783
|
+
t && (-1 === n || t.flag & n) && (i += F(e, o, t, l));
|
|
784
784
|
}
|
|
785
|
-
return
|
|
785
|
+
return i;
|
|
786
786
|
}
|
|
787
787
|
function Xe(e, t, n) {
|
|
788
788
|
let r = V(e, t, !1);
|
|
789
|
-
return r ? (r[t] =
|
|
789
|
+
return r ? (r[t] = ln(n), Qt(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & D.obflag_created && !(e.obflag & D.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (kt(`${we(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
|
|
790
790
|
}
|
|
791
791
|
function Ze(e, t, n) {
|
|
792
792
|
let r = V(e, t, !1);
|
|
793
|
-
return r ? (r[t] = parseInt(n), Qt(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & D.obflag_created && !(e.obflag & D.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (
|
|
793
|
+
return r ? (r[t] = parseInt(n), Qt(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & D.obflag_created && !(e.obflag & D.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (kt(`${we(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
|
|
794
794
|
}
|
|
795
795
|
function et(e, t, n) {
|
|
796
796
|
let r = V(e, t, !1);
|
|
797
|
-
return r ? (r[t] = String(n), Qt(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & D.obflag_created && !(e.obflag & D.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (
|
|
797
|
+
return r ? (r[t] = String(n), Qt(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & D.obflag_created && !(e.obflag & D.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (kt(`${we(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
|
|
798
798
|
}
|
|
799
799
|
function tt(e, t) {
|
|
800
|
-
if (Ae(e)) return
|
|
800
|
+
if (Ae(e)) return kt("gobj NULL or DESTROYED"), null;
|
|
801
801
|
if (e.current_state.state_name === t) return !1;
|
|
802
|
-
let n =
|
|
803
|
-
return n ? (e.last_state = e.current_state, e.current_state = n, !0) : (
|
|
802
|
+
let n = x(e.gclass, t);
|
|
803
|
+
return n ? (e.last_state = e.current_state, e.current_state = n, !0) : (kt(`${we(e)}: state unknown, state ${t}`), !1);
|
|
804
804
|
}
|
|
805
805
|
function nt(e) {
|
|
806
|
-
return
|
|
806
|
+
return rn(e) ? e.current_state.state_name : (kt("hgobj NULL"), "");
|
|
807
807
|
}
|
|
808
808
|
function rt(e, t, n) {
|
|
809
|
-
if (!
|
|
810
|
-
let r =
|
|
809
|
+
if (!rn(e)) return kt("gobj NULL of bad type"), null;
|
|
810
|
+
let r = Q(e.gclass, t);
|
|
811
811
|
if (r) return r;
|
|
812
812
|
if (n) {
|
|
813
813
|
const e = g.length, n = g;
|
|
@@ -818,97 +818,97 @@ var gobjJs = function(e) {
|
|
|
818
818
|
}
|
|
819
819
|
return null;
|
|
820
820
|
}
|
|
821
|
-
function
|
|
821
|
+
function ot(e, t, n) {
|
|
822
822
|
let r = rt(e, t, !1);
|
|
823
823
|
return !!r && !(n && !(r.event_flag & n));
|
|
824
824
|
}
|
|
825
|
-
function
|
|
825
|
+
function it(e, t, n) {
|
|
826
826
|
let r = rt(e, t, !1);
|
|
827
827
|
return !!r && !(n && !(r.event_flag & n)) && !!(r.event_flag & R.EVF_OUTPUT_EVENT);
|
|
828
828
|
}
|
|
829
|
-
function lt(e, t, r,
|
|
830
|
-
if (!(e && e instanceof O)) return
|
|
831
|
-
if (e.obflag & (D.obflag_destroyed | D.obflag_destroying)) return
|
|
832
|
-
let
|
|
833
|
-
if (!
|
|
829
|
+
function lt(e, t, r, o) {
|
|
830
|
+
if (!(e && e instanceof O)) return kt("gobj dst NULL"), -1;
|
|
831
|
+
if (e.obflag & (D.obflag_destroyed | D.obflag_destroying)) return kt("gobj dst DESTROYED"), -1;
|
|
832
|
+
let i = e.current_state;
|
|
833
|
+
if (!i) return kt(`${we(e)}: current_state NULL`), -1;
|
|
834
834
|
let l = 0;
|
|
835
|
-
l = p &&
|
|
836
|
-
let s =
|
|
837
|
-
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),
|
|
835
|
+
l = p && qe(p, "tracing"), "C_TIMER" === Ne(o) && (l = p && qe(p, "trace_timer")), h++;
|
|
836
|
+
let s = Y(i, t);
|
|
837
|
+
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);
|
|
838
838
|
if (l) {
|
|
839
|
-
if (1 === L) P(n("🔄 %s %s%s %s from %s%s", t || "", e.running ? "" : "!!", we(e),
|
|
839
|
+
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)));
|
|
840
840
|
else {
|
|
841
841
|
let r = "";
|
|
842
|
-
s.action && (r =
|
|
842
|
+
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)));
|
|
843
843
|
}
|
|
844
|
-
r && l > 1 &&
|
|
844
|
+
r && l > 1 && Jt(r) && Lt(r);
|
|
845
845
|
}
|
|
846
846
|
s.next_state && tt(e, s.next_state);
|
|
847
847
|
let _ = -1;
|
|
848
848
|
try {
|
|
849
|
-
s.action && (_ = s.action(e, t, r,
|
|
849
|
+
s.action && (_ = s.action(e, t, r, o));
|
|
850
850
|
} finally {}
|
|
851
|
-
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 || "",
|
|
851
|
+
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--, _;
|
|
852
852
|
}
|
|
853
853
|
var st = Object.freeze({
|
|
854
854
|
__hard_subscription__: 1,
|
|
855
855
|
__own_event__: 2
|
|
856
856
|
}), _t = [
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
857
|
+
S(y.DTP_POINTER, "publisher", 0, null, "publisher gobj"),
|
|
858
|
+
S(y.DTP_POINTER, "subscriber", 0, null, "subscriber gobj"),
|
|
859
|
+
S(y.DTP_STRING, "event", 0, "", "event name subscribed"),
|
|
860
|
+
S(y.DTP_STRING, "renamed_event", 0, "", "rename event name"),
|
|
861
|
+
S(y.DTP_INTEGER, "subs_flag", 0, 0, "subscription flag"),
|
|
862
|
+
S(y.DTP_JSON, "__config__", 0, null, "subscription config"),
|
|
863
|
+
S(y.DTP_JSON, "__global__", 0, null, "global kw, merge in publishing"),
|
|
864
|
+
S(y.DTP_JSON, "__local__", 0, null, "local kw, remove in publishing"),
|
|
865
|
+
S(y.DTP_JSON, "__filter__", 0, null, "filter kw, filter in publishing"),
|
|
866
|
+
S(y.DTP_STRING, "__service__", 0, "", "subscription service"),
|
|
867
867
|
v()
|
|
868
868
|
];
|
|
869
|
-
function at(e, t, n, r,
|
|
870
|
-
let
|
|
871
|
-
if (t && t !==
|
|
872
|
-
let t =
|
|
873
|
-
zt(t) > 0 &&
|
|
869
|
+
function at(e, t, n, r, o) {
|
|
870
|
+
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;
|
|
871
|
+
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) {
|
|
872
|
+
let t = hn(null, e, "__config__", null);
|
|
873
|
+
zt(t) > 0 && Ut(t, i) || (a = !1);
|
|
874
874
|
}
|
|
875
875
|
if (zt(l) > 0) {
|
|
876
|
-
let t =
|
|
877
|
-
zt(t) > 0 &&
|
|
876
|
+
let t = hn(null, e, "__global__", null);
|
|
877
|
+
zt(t) > 0 && Ut(t, l) || (a = !1);
|
|
878
878
|
}
|
|
879
879
|
if (zt(s) > 0) {
|
|
880
|
-
let t =
|
|
881
|
-
zt(t) > 0 &&
|
|
880
|
+
let t = hn(null, e, "__local__", null);
|
|
881
|
+
zt(t) > 0 && Ut(t, s) || (a = !1);
|
|
882
882
|
}
|
|
883
883
|
if (zt(_) > 0) {
|
|
884
|
-
let t =
|
|
885
|
-
zt(t) > 0 &&
|
|
884
|
+
let t = yn(null, e, "__filter__", null);
|
|
885
|
+
zt(t) > 0 && Ut(t, _) || (a = !1);
|
|
886
886
|
}
|
|
887
887
|
return a;
|
|
888
888
|
}
|
|
889
|
-
function ut(e, t, n, r,
|
|
890
|
-
let
|
|
889
|
+
function ut(e, t, n, r, o) {
|
|
890
|
+
let i = [];
|
|
891
891
|
for (let l = 0; l < e.length; l++) {
|
|
892
892
|
let s = e[l];
|
|
893
|
-
at(s, t, n, r,
|
|
893
|
+
at(s, t, n, r, o) && xt(i, s);
|
|
894
894
|
}
|
|
895
|
-
return
|
|
895
|
+
return i;
|
|
896
896
|
}
|
|
897
|
-
function ct(e, t, n, r,
|
|
898
|
-
for (let
|
|
897
|
+
function ct(e, t, n, r, o) {
|
|
898
|
+
for (let i = 0; i < e.length; i++) if (at(e[i], t, n, r, o)) return i;
|
|
899
899
|
return -1;
|
|
900
900
|
}
|
|
901
|
-
function ft(e, t, r,
|
|
902
|
-
let
|
|
903
|
-
if (!!(
|
|
904
|
-
p && Je(p, "trace_subscriptions") && (P(n("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s'", s || "", we(
|
|
905
|
-
let _ = ct(
|
|
906
|
-
return _ >= 0 ?
|
|
901
|
+
function ft(e, t, r, o) {
|
|
902
|
+
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);
|
|
903
|
+
if (!!(bn(e, t, "subs_flag", null, ht.KW_REQUIRED) & st.__hard_subscription__) && !r) return -1;
|
|
904
|
+
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);
|
|
905
|
+
let _ = ct(i.dl_subscriptions, i, s, t, l);
|
|
906
|
+
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;
|
|
907
907
|
}
|
|
908
|
-
function gt(e, t, r,
|
|
909
|
-
if (null == r && (r = {}), !e) return
|
|
910
|
-
if (!
|
|
911
|
-
const
|
|
908
|
+
function gt(e, t, r, o) {
|
|
909
|
+
if (null == r && (r = {}), !e) return kt(`publisher NULL: ev ${t}`), 0;
|
|
910
|
+
if (!o) return kt(`subscriber NULL: ev ${t}`), 0;
|
|
911
|
+
const i = new Set([
|
|
912
912
|
"__config__",
|
|
913
913
|
"__global__",
|
|
914
914
|
"__local__",
|
|
@@ -916,33 +916,33 @@ var gobjJs = function(e) {
|
|
|
916
916
|
"__service__"
|
|
917
917
|
]);
|
|
918
918
|
if (Object.keys(r).forEach((n) => {
|
|
919
|
-
|
|
920
|
-
}),
|
|
921
|
-
else if (!(
|
|
922
|
-
let l = ut(e.dl_subscriptions, e, t, r,
|
|
923
|
-
|
|
919
|
+
i.has(n) || kt(`${we(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
|
|
920
|
+
}), on(t)) t = "";
|
|
921
|
+
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;
|
|
922
|
+
let l = ut(e.dl_subscriptions, e, t, r, o);
|
|
923
|
+
qt(l) > 0 && (kt(`${we(e)}: ${qt(l)} subscription(s) REPEATED, will be deleted and override`), Lt(l, "subscription REPEATED"), dt(e, l, !1));
|
|
924
924
|
let s = function(e, t, n, r) {
|
|
925
|
-
let
|
|
926
|
-
|
|
927
|
-
let
|
|
925
|
+
let o = U(e, _t);
|
|
926
|
+
Kt(o, "event", t), Kt(o, "subscriber", r), Kt(o, "publisher", e);
|
|
927
|
+
let i = 0;
|
|
928
928
|
if (n) {
|
|
929
|
-
let t =
|
|
930
|
-
if (zt(r) > 0 &&
|
|
931
|
-
let n =
|
|
932
|
-
if (
|
|
933
|
-
let t =
|
|
934
|
-
|
|
929
|
+
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__", "");
|
|
930
|
+
if (zt(r) > 0 && Kt(o, "__global__", Pt(r)), zt(t) > 0) {
|
|
931
|
+
let n = Pt(t);
|
|
932
|
+
if (Kt(o, "__config__", n), cn(n, "__hard_subscription__")) {
|
|
933
|
+
let t = dn(e, n, "__hard_subscription__", !1);
|
|
934
|
+
Wt(n, "__hard_subscription__"), t && (i |= st.__hard_subscription__);
|
|
935
935
|
}
|
|
936
|
-
if (
|
|
937
|
-
let t =
|
|
938
|
-
|
|
936
|
+
if (cn(n, "__own_event__")) {
|
|
937
|
+
let t = dn(e, n, "__own_event__", !1);
|
|
938
|
+
Wt(n, "__own_event__"), t && (i |= st.__own_event__);
|
|
939
939
|
}
|
|
940
940
|
}
|
|
941
|
-
zt(l) > 0 &&
|
|
941
|
+
zt(l) > 0 && Kt(o, "__local__", Pt(l)), zt(s) > 0 && Kt(o, "__filter__", Pt(s)), on(_) || Kt(o, "__service__", _);
|
|
942
942
|
}
|
|
943
|
-
return
|
|
944
|
-
}(e, t, r,
|
|
945
|
-
return s ? (
|
|
943
|
+
return Kt(o, "subs_flag", i), o;
|
|
944
|
+
}(e, t, r, o);
|
|
945
|
+
return s ? (xt(e.dl_subscriptions, s), xt(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);
|
|
946
946
|
}
|
|
947
947
|
function dt(e, t, n) {
|
|
948
948
|
let r = [...t];
|
|
@@ -956,34 +956,34 @@ var gobjJs = function(e) {
|
|
|
956
956
|
return ut(e.dl_subscribings, r, t, n, e);
|
|
957
957
|
}
|
|
958
958
|
function mt(e, t, r) {
|
|
959
|
-
if (Qt(r) || (r = {}), !e || e.obflag & (D.obflag_destroyed | D.obflag_destroying)) return
|
|
960
|
-
if (
|
|
961
|
-
let
|
|
962
|
-
if (!(
|
|
963
|
-
let
|
|
964
|
-
if (
|
|
959
|
+
if (Qt(r) || (r = {}), !e || e.obflag & (D.obflag_destroyed | D.obflag_destroying)) return kt("gobj NULL or DESTROYED"), -1;
|
|
960
|
+
if (on(t)) return kt(`${we(e)}: event EMPTY`), -1;
|
|
961
|
+
let o = rt(e, t, !0);
|
|
962
|
+
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;
|
|
963
|
+
let i = p && Je(p, "trace_subscriptions");
|
|
964
|
+
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) {
|
|
965
965
|
let n = e.gclass.gmt.mt_publish_event(e, t, r);
|
|
966
966
|
if (n <= 0) return n;
|
|
967
967
|
}
|
|
968
968
|
let l = [...e.dl_subscriptions], s = 0, _ = 0;
|
|
969
|
-
for (let
|
|
970
|
-
let a = l[
|
|
969
|
+
for (let o = 0; o < l.length; o++) {
|
|
970
|
+
let a = l[o];
|
|
971
971
|
if (e.gclass.gmt.mt_publication_pre_filter) {
|
|
972
972
|
let n = e.gclass.gmt.mt_publication_pre_filter(e, a, t, r);
|
|
973
973
|
if (n < 0) break;
|
|
974
974
|
if (0 === n) continue;
|
|
975
975
|
}
|
|
976
|
-
let u =
|
|
976
|
+
let u = mn(e, a, "subscriber", null, ht.KW_REQUIRED);
|
|
977
977
|
if (!u || Ae(u)) continue;
|
|
978
|
-
let c =
|
|
979
|
-
if (
|
|
980
|
-
|
|
981
|
-
let
|
|
982
|
-
if (e.gclass.gmt.mt_publication_filter ? d = e.gclass.gmt.mt_publication_filter(e, t, g, u) : zt(f) > 0 && (d =
|
|
978
|
+
let c = bn(e, a, "subs_flag", 0, ht.KW_REQUIRED), f = pn(e, a, "event", "", ht.KW_REQUIRED);
|
|
979
|
+
if (on(f) || 0 === _n(f, t)) {
|
|
980
|
+
hn(e, a, "__config__", null, 0);
|
|
981
|
+
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;
|
|
982
|
+
if (e.gclass.gmt.mt_publication_filter ? d = e.gclass.gmt.mt_publication_filter(e, t, g, u) : zt(f) > 0 && (d = Sn(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;
|
|
983
983
|
if (0 === d) continue;
|
|
984
984
|
let b = rt(u, t, !0);
|
|
985
|
-
if (b && b.event_flag & R.EVF_SYSTEM_EVENT && !
|
|
986
|
-
l &&
|
|
985
|
+
if (b && b.event_flag & R.EVF_SYSTEM_EVENT && !ot(u, b.event_name, 0)) continue;
|
|
986
|
+
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));
|
|
987
987
|
let p = lt(u, t, g, e);
|
|
988
988
|
if (p < 0 && c & st.__own_event__) {
|
|
989
989
|
s = -1;
|
|
@@ -992,7 +992,7 @@ var gobjJs = function(e) {
|
|
|
992
992
|
if (_ += p, s++, Ae(e)) break;
|
|
993
993
|
}
|
|
994
994
|
}
|
|
995
|
-
return s ||
|
|
995
|
+
return s || o && o.event_flag & R.EVF_NO_WARN_SUBS || $t(`${we(e)}: Publish event WITHOUT subscribers, ev ${t}`), _;
|
|
996
996
|
}
|
|
997
997
|
var ht = Object.freeze({
|
|
998
998
|
KW_REQUIRED: 1,
|
|
@@ -1003,7 +1003,7 @@ var gobjJs = function(e) {
|
|
|
1003
1003
|
KW_VERBOSE: 32,
|
|
1004
1004
|
KW_LOWER: 64,
|
|
1005
1005
|
KW_RECURSIVE: 128
|
|
1006
|
-
}),
|
|
1006
|
+
}), yt = (Object.freeze({
|
|
1007
1007
|
JSON_OBJECT: 1,
|
|
1008
1008
|
JSON_ARRAY: 2,
|
|
1009
1009
|
JSON_STRING: 3,
|
|
@@ -1012,22 +1012,23 @@ var gobjJs = function(e) {
|
|
|
1012
1012
|
JSON_TRUE: 6,
|
|
1013
1013
|
JSON_FALSE: 7,
|
|
1014
1014
|
JSON_NULL: 8
|
|
1015
|
-
}), "undefined" != typeof window ? window.console : console),
|
|
1016
|
-
var Ot = !
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1015
|
+
}), "undefined" != typeof window ? window.console : console), Et = yt.error, Tt = yt.warn, vt = yt.info, St = yt.debug, jt = null;
|
|
1016
|
+
var Ot = !0;
|
|
1017
|
+
var Nt = !1;
|
|
1018
|
+
function wt(e, t, n) {
|
|
1019
|
+
if (jt && !Nt) {
|
|
1020
|
+
Nt = !0;
|
|
1020
1021
|
try {
|
|
1021
|
-
|
|
1022
|
+
jt(e, t, n);
|
|
1022
1023
|
} catch (e) {} finally {
|
|
1023
|
-
|
|
1024
|
+
Nt = !1;
|
|
1024
1025
|
}
|
|
1025
1026
|
}
|
|
1026
1027
|
}
|
|
1027
|
-
function wt(e) {
|
|
1028
|
-
e ? (yt = e, Tt = e) : (yt = Et.error, Tt = Et.warn);
|
|
1029
|
-
}
|
|
1030
1028
|
function Dt(e) {
|
|
1029
|
+
e ? (Et = e, Tt = e) : (Et = yt.error, Tt = yt.warn);
|
|
1030
|
+
}
|
|
1031
|
+
function Rt(e) {
|
|
1031
1032
|
const t = Array.prototype.slice.call(arguments);
|
|
1032
1033
|
let n = "";
|
|
1033
1034
|
if ("string" == typeof e) {
|
|
@@ -1044,348 +1045,349 @@ var gobjJs = function(e) {
|
|
|
1044
1045
|
default: return e;
|
|
1045
1046
|
}
|
|
1046
1047
|
});
|
|
1047
|
-
const
|
|
1048
|
-
|
|
1048
|
+
const o = t.slice(r).map((e) => "object" == typeof e ? JSON.stringify(e) : String(e));
|
|
1049
|
+
o.length > 0 && (n += " " + o.join(" "));
|
|
1049
1050
|
} else n = t.map((e) => "object" == typeof e ? JSON.stringify(e) : String(e)).join(" ");
|
|
1050
1051
|
return n;
|
|
1051
1052
|
}
|
|
1052
|
-
function Rt(e) {
|
|
1053
|
-
let t = Dt(e), n = Kn();
|
|
1054
|
-
yt && (yt === window.console.error ? yt("%c" + n + " ERROR: " + String(t), "color:red") : (window.console.error("%c" + n + " ERROR: " + String(t), "color:red"), yt(`${n} ERROR: ${String(t)}`))), Nt("error", t, n);
|
|
1055
|
-
}
|
|
1056
1053
|
function kt(e) {
|
|
1057
|
-
let t =
|
|
1058
|
-
|
|
1054
|
+
let t = Rt(e), n = xn();
|
|
1055
|
+
Et && (Et === window.console.error ? Ot && Et("%c" + n + " ERROR: " + String(t), "color:red") : (Ot && window.console.error("%c" + n + " ERROR: " + String(t), "color:red"), Et(`${n} ERROR: ${String(t)}`))), wt("error", t, n);
|
|
1059
1056
|
}
|
|
1060
1057
|
function $t(e) {
|
|
1061
|
-
let t =
|
|
1062
|
-
|
|
1058
|
+
let t = Rt(e), n = xn();
|
|
1059
|
+
Tt && (Tt === window.console.warn ? Ot && Tt("%c" + n + " WARNING: " + String(t), "color:yellow") : (Ot && window.console.warn("%c" + n + " WARNING: " + String(t), "color:yellow"), Tt(`${n} WARNING: ${String(t)}`))), wt("warning", t, n);
|
|
1063
1060
|
}
|
|
1064
1061
|
function At(e) {
|
|
1065
|
-
let t =
|
|
1066
|
-
|
|
1062
|
+
let t = Rt(e), n = xn();
|
|
1063
|
+
St && Ot && St("%c" + n + " DEBUG: " + String(t), "color:silver"), wt("debug", t, n);
|
|
1064
|
+
}
|
|
1065
|
+
function It(e) {
|
|
1066
|
+
let t = Rt(e), n = xn();
|
|
1067
|
+
St && Ot && St("%c" + n + " MSG: " + String(t), "color:cyan"), wt("msg", t, n);
|
|
1067
1068
|
}
|
|
1068
|
-
function
|
|
1069
|
-
t && window.console.warn("=====> " + t), window.console.dir(e),
|
|
1069
|
+
function Lt(e, t) {
|
|
1070
|
+
Ot && (t && window.console.warn("=====> " + t), window.console.dir(e)), wt("json", e, xn());
|
|
1070
1071
|
}
|
|
1071
|
-
function
|
|
1072
|
+
function Pt(e) {
|
|
1072
1073
|
return structuredClone(e);
|
|
1073
1074
|
}
|
|
1074
|
-
function
|
|
1075
|
+
function Ut(e, t) {
|
|
1075
1076
|
if (e === t) return !0;
|
|
1076
1077
|
if (null === e || null === t) return e === t;
|
|
1077
1078
|
if (typeof e != typeof t) return !1;
|
|
1078
1079
|
if (Array.isArray(e) !== Array.isArray(t)) return !1;
|
|
1079
1080
|
if (Array.isArray(e)) {
|
|
1080
1081
|
if (e.length !== t.length) return !1;
|
|
1081
|
-
for (let n = 0; n < e.length; n++) if (!
|
|
1082
|
+
for (let n = 0; n < e.length; n++) if (!Ut(e[n], t[n])) return !1;
|
|
1082
1083
|
return !0;
|
|
1083
1084
|
}
|
|
1084
1085
|
if ("object" == typeof e) {
|
|
1085
1086
|
let n = Object.keys(e).sort(), r = Object.keys(t).sort();
|
|
1086
1087
|
if (n.length !== r.length) return !1;
|
|
1087
|
-
for (let
|
|
1088
|
-
if (n[
|
|
1089
|
-
if (!
|
|
1088
|
+
for (let o = 0; o < n.length; o++) {
|
|
1089
|
+
if (n[o] !== r[o]) return !1;
|
|
1090
|
+
if (!Ut(e[n[o]], t[r[o]])) return !1;
|
|
1090
1091
|
}
|
|
1091
1092
|
return !0;
|
|
1092
1093
|
}
|
|
1093
1094
|
return e === t;
|
|
1094
1095
|
}
|
|
1095
|
-
function
|
|
1096
|
+
function Ct(e, t) {
|
|
1096
1097
|
if (!t) return e;
|
|
1097
1098
|
for (let n of Object.keys(t)) e[n] = t[n];
|
|
1098
1099
|
return e;
|
|
1099
1100
|
}
|
|
1100
|
-
function
|
|
1101
|
+
function Ft(e, t) {
|
|
1101
1102
|
if (!t) return e;
|
|
1102
1103
|
for (let n in t) t.hasOwnProperty(n) && e.hasOwnProperty(n) && (e[n] = t[n]);
|
|
1103
1104
|
return e;
|
|
1104
1105
|
}
|
|
1105
|
-
function
|
|
1106
|
+
function Gt(e, t) {
|
|
1106
1107
|
if (!t) return e;
|
|
1107
1108
|
for (let n in t) t.hasOwnProperty(n) && !e.hasOwnProperty(n) && (e[n] = t[n]);
|
|
1108
1109
|
return e;
|
|
1109
1110
|
}
|
|
1110
|
-
function
|
|
1111
|
+
function Vt(e, t) {
|
|
1111
1112
|
if (e && e.hasOwnProperty(t)) return e[t];
|
|
1112
1113
|
}
|
|
1113
|
-
function
|
|
1114
|
+
function Wt(e, t) {
|
|
1114
1115
|
e && e.hasOwnProperty(t) && delete e[t];
|
|
1115
1116
|
}
|
|
1116
|
-
function
|
|
1117
|
+
function Mt(e, t, n) {
|
|
1117
1118
|
e[t] = n;
|
|
1118
1119
|
}
|
|
1119
|
-
function
|
|
1120
|
+
function Kt(e, t, n) {
|
|
1120
1121
|
e[t] = n;
|
|
1121
1122
|
}
|
|
1122
|
-
function
|
|
1123
|
+
function xt(e, t) {
|
|
1123
1124
|
e.push(t);
|
|
1124
1125
|
}
|
|
1125
1126
|
function Yt(e, t) {
|
|
1126
1127
|
e.push(t);
|
|
1127
1128
|
}
|
|
1128
|
-
function
|
|
1129
|
+
function Bt(e, t) {
|
|
1129
1130
|
e.splice(t, 1);
|
|
1130
1131
|
}
|
|
1131
|
-
function
|
|
1132
|
+
function Jt(e) {
|
|
1132
1133
|
return Qt(e) ? Object.keys(e).length : 0;
|
|
1133
1134
|
}
|
|
1134
|
-
function
|
|
1135
|
-
return
|
|
1135
|
+
function qt(e) {
|
|
1136
|
+
return Ht(e) ? e.length : 0;
|
|
1136
1137
|
}
|
|
1137
1138
|
function zt(e) {
|
|
1138
|
-
return Qt(e) ? Object.keys(e).length :
|
|
1139
|
+
return Qt(e) ? Object.keys(e).length : Ht(e) ? e.length : Xt(e) && e.length > 0 ? 1 : 0;
|
|
1139
1140
|
}
|
|
1140
1141
|
function Qt(e) {
|
|
1141
1142
|
return null !== e && "object" == typeof e && !Array.isArray(e);
|
|
1142
1143
|
}
|
|
1143
|
-
function qt(e) {
|
|
1144
|
-
return Array.isArray(e);
|
|
1145
|
-
}
|
|
1146
1144
|
function Ht(e) {
|
|
1147
|
-
return
|
|
1145
|
+
return Array.isArray(e);
|
|
1148
1146
|
}
|
|
1149
1147
|
function Xt(e) {
|
|
1150
|
-
return "
|
|
1148
|
+
return "string" == typeof e;
|
|
1151
1149
|
}
|
|
1152
1150
|
function Zt(e) {
|
|
1153
|
-
return "
|
|
1151
|
+
return "number" == typeof e && Number.isFinite(e);
|
|
1154
1152
|
}
|
|
1155
1153
|
function en(e) {
|
|
1156
|
-
return
|
|
1154
|
+
return "boolean" == typeof e;
|
|
1157
1155
|
}
|
|
1158
1156
|
function tn(e) {
|
|
1159
|
-
return
|
|
1157
|
+
return null == e;
|
|
1160
1158
|
}
|
|
1161
1159
|
function nn(e) {
|
|
1162
|
-
return
|
|
1160
|
+
return "function" == typeof e;
|
|
1163
1161
|
}
|
|
1164
1162
|
function rn(e) {
|
|
1165
|
-
return
|
|
1163
|
+
return e instanceof O;
|
|
1166
1164
|
}
|
|
1167
1165
|
function on(e) {
|
|
1168
|
-
return Xt(e)
|
|
1166
|
+
return !Xt(e) || 0 === e.length;
|
|
1169
1167
|
}
|
|
1170
|
-
function ln(e
|
|
1171
|
-
return e
|
|
1168
|
+
function ln(e) {
|
|
1169
|
+
return Zt(e) ? Boolean(e) : /^\s*(true|1|on)\s*$/i.test(e);
|
|
1172
1170
|
}
|
|
1173
1171
|
function sn(e, t) {
|
|
1172
|
+
return e === t ? 0 : e > t ? 1 : -1;
|
|
1173
|
+
}
|
|
1174
|
+
function _n(e, t) {
|
|
1174
1175
|
let n = e.toLowerCase(), r = t.toLowerCase();
|
|
1175
1176
|
return n === r ? 0 : n > r ? 1 : -1;
|
|
1176
1177
|
}
|
|
1177
|
-
function
|
|
1178
|
-
if (Qt(e) || Qt(t) ||
|
|
1179
|
-
if (
|
|
1178
|
+
function an(e, t) {
|
|
1179
|
+
if (Qt(e) || Qt(t) || Ht(e) || Ht(t)) return 0;
|
|
1180
|
+
if (Zt(e) || Zt(t)) {
|
|
1180
1181
|
let n = Number(e), r = Number(t);
|
|
1181
1182
|
return n > r ? 1 : n < r ? -1 : 0;
|
|
1182
1183
|
}
|
|
1183
|
-
if (
|
|
1184
|
+
if (en(e) || en(t)) {
|
|
1184
1185
|
let n = Number(e), r = Number(t);
|
|
1185
1186
|
return n > r ? 1 : n < r ? -1 : 0;
|
|
1186
1187
|
}
|
|
1187
|
-
return
|
|
1188
|
+
return sn(String(e), String(t));
|
|
1188
1189
|
}
|
|
1189
|
-
function
|
|
1190
|
-
if ("object" != typeof t || Array.isArray(t)) if (Array.isArray(t)) for (const n of t)
|
|
1190
|
+
function un(e, t) {
|
|
1191
|
+
if ("object" != typeof t || Array.isArray(t)) if (Array.isArray(t)) for (const n of t) un(e, n);
|
|
1191
1192
|
else "string" == typeof t && delete e[t];
|
|
1192
1193
|
else for (const n of Object.keys(t)) delete e[n];
|
|
1193
1194
|
}
|
|
1194
|
-
function
|
|
1195
|
+
function cn(e, t) {
|
|
1195
1196
|
return !(!(t in e) || !e.hasOwnProperty(t));
|
|
1196
1197
|
}
|
|
1197
|
-
function
|
|
1198
|
-
if (e && !
|
|
1199
|
-
if (!
|
|
1200
|
-
let
|
|
1201
|
-
if (
|
|
1202
|
-
let
|
|
1203
|
-
for (let l = 0; l <
|
|
1198
|
+
function fn(e, t, n, r) {
|
|
1199
|
+
if (e && !rn(e) && kt("GObj bad instanceof"), !Qt(t) && !Ht(t)) return kt(`${we(e)}: kw must be list or dict`), 0;
|
|
1200
|
+
if (!Xt(n)) return kt(`${we(e)}: path must be a string: ${String(n)}`), 0;
|
|
1201
|
+
let o = n.split("`");
|
|
1202
|
+
if (o.length <= 1) return t[n];
|
|
1203
|
+
let i = o.length;
|
|
1204
|
+
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)}`));
|
|
1204
1205
|
return t;
|
|
1205
1206
|
}
|
|
1206
|
-
function
|
|
1207
|
-
e && !
|
|
1208
|
-
let [r,
|
|
1207
|
+
function gn(e, t, n) {
|
|
1208
|
+
e && !rn(e) && kt("GObj bad instanceof");
|
|
1209
|
+
let [r, o] = function(e, t) {
|
|
1209
1210
|
let n = e.lastIndexOf(t);
|
|
1210
1211
|
return -1 === n ? [e, ""] : [e.substring(0, n), e.substring(n + 1)];
|
|
1211
1212
|
}(n, "`");
|
|
1212
|
-
return
|
|
1213
|
+
return on(o) ? Wt(t, n) : Wt(fn(e, t, r, !0), o), 0;
|
|
1213
1214
|
}
|
|
1214
|
-
function
|
|
1215
|
-
e && !
|
|
1216
|
-
let
|
|
1217
|
-
const l =
|
|
1218
|
-
if (void 0 ===
|
|
1215
|
+
function dn(e, t, n, r, o) {
|
|
1216
|
+
e && !rn(e) && kt("GObj bad instanceof");
|
|
1217
|
+
let i = fn(e, t, n, !1);
|
|
1218
|
+
const l = o && o & ht.KW_REQUIRED, s = o && o & ht.KW_CREATE, _ = o && o & ht.KW_EXTRACT;
|
|
1219
|
+
if (void 0 === i) {
|
|
1219
1220
|
if (s) {
|
|
1220
|
-
let
|
|
1221
|
-
return En(e, t, n,
|
|
1221
|
+
let o = Boolean(r);
|
|
1222
|
+
return En(e, t, n, o), o;
|
|
1222
1223
|
}
|
|
1223
|
-
return l && (
|
|
1224
|
+
return l && (kt(`path not found: '${n}'`), Lt(t)), Boolean(r);
|
|
1224
1225
|
}
|
|
1225
|
-
return _ &&
|
|
1226
|
+
return _ && gn(e, t, n), Boolean(i);
|
|
1226
1227
|
}
|
|
1227
|
-
function
|
|
1228
|
-
e && !
|
|
1229
|
-
let
|
|
1230
|
-
const l =
|
|
1231
|
-
if (void 0 ===
|
|
1228
|
+
function bn(e, t, n, r, o) {
|
|
1229
|
+
e && !rn(e) && kt("GObj bad instanceof");
|
|
1230
|
+
let i = fn(e, t, n, !1);
|
|
1231
|
+
const l = o && o & ht.KW_REQUIRED, s = o && o & ht.KW_CREATE, _ = o && o & ht.KW_EXTRACT;
|
|
1232
|
+
if (void 0 === i) {
|
|
1232
1233
|
if (s) {
|
|
1233
|
-
let
|
|
1234
|
-
return En(e, t, n,
|
|
1234
|
+
let o = parseInt(r);
|
|
1235
|
+
return En(e, t, n, o), o;
|
|
1235
1236
|
}
|
|
1236
|
-
return l && (
|
|
1237
|
+
return l && (kt(`path not found: '${n}'`), Lt(t)), parseInt(r);
|
|
1237
1238
|
}
|
|
1238
|
-
return _ &&
|
|
1239
|
+
return _ && gn(e, t, n), Zt(i) ? parseInt(i) : (l && (kt(`path value MUST BE a number: ${n}`), It(t)), parseInt(r));
|
|
1239
1240
|
}
|
|
1240
|
-
function
|
|
1241
|
-
e && !
|
|
1242
|
-
let
|
|
1243
|
-
const l =
|
|
1244
|
-
if (void 0 ===
|
|
1241
|
+
function pn(e, t, n, r, o) {
|
|
1242
|
+
e && !rn(e) && kt("GObj bad instanceof");
|
|
1243
|
+
let i = fn(e, t, n, !1);
|
|
1244
|
+
const l = o && o & ht.KW_REQUIRED, s = o && o & ht.KW_CREATE, _ = o && o & ht.KW_EXTRACT;
|
|
1245
|
+
if (void 0 === i) {
|
|
1245
1246
|
if (s) {
|
|
1246
|
-
let
|
|
1247
|
-
return En(e, t, n,
|
|
1247
|
+
let o = String(r);
|
|
1248
|
+
return En(e, t, n, o), o;
|
|
1248
1249
|
}
|
|
1249
|
-
return l && (
|
|
1250
|
+
return l && (kt(`path not found: '${n}'`), Lt(t)), String(r);
|
|
1250
1251
|
}
|
|
1251
|
-
return _ &&
|
|
1252
|
+
return _ && gn(e, t, n), Xt(i) ? String(i) : (l && (kt(`${we(e)}: path value MUST BE a string: ${n}`), It(t)), String(r));
|
|
1252
1253
|
}
|
|
1253
|
-
function
|
|
1254
|
-
e && !
|
|
1255
|
-
let
|
|
1256
|
-
const l =
|
|
1257
|
-
if (void 0 ===
|
|
1254
|
+
function mn(e, t, n, r, o) {
|
|
1255
|
+
e && !rn(e) && kt("GObj bad instanceof");
|
|
1256
|
+
let i = fn(e, t, n, !1);
|
|
1257
|
+
const l = o && o & ht.KW_REQUIRED, s = o && o & ht.KW_CREATE, _ = o && o & ht.KW_EXTRACT;
|
|
1258
|
+
if (void 0 === i) {
|
|
1258
1259
|
if (s) {
|
|
1259
|
-
let
|
|
1260
|
-
return En(e, t, n,
|
|
1260
|
+
let o = r;
|
|
1261
|
+
return En(e, t, n, o), o;
|
|
1261
1262
|
}
|
|
1262
|
-
return l && (
|
|
1263
|
+
return l && (kt(`path not found: '${n}'`), Lt(t)), r;
|
|
1263
1264
|
}
|
|
1264
|
-
return _ &&
|
|
1265
|
+
return _ && gn(e, t, n), i;
|
|
1265
1266
|
}
|
|
1266
|
-
function
|
|
1267
|
-
e && !
|
|
1268
|
-
let
|
|
1269
|
-
const l =
|
|
1270
|
-
if (void 0 ===
|
|
1267
|
+
function hn(e, t, n, r, o) {
|
|
1268
|
+
e && !rn(e) && kt("GObj bad instanceof");
|
|
1269
|
+
let i = fn(e, t, n, !1);
|
|
1270
|
+
const l = o && o & ht.KW_REQUIRED, s = o && o & ht.KW_CREATE, _ = o && o & ht.KW_EXTRACT;
|
|
1271
|
+
if (void 0 === i) {
|
|
1271
1272
|
if (s) {
|
|
1272
|
-
let
|
|
1273
|
-
return En(e, t, n,
|
|
1273
|
+
let o = Object(r);
|
|
1274
|
+
return En(e, t, n, o), o;
|
|
1274
1275
|
}
|
|
1275
|
-
return l && (
|
|
1276
|
+
return l && (kt(`path not found: '${n}'`), Lt(t)), Object(r);
|
|
1276
1277
|
}
|
|
1277
|
-
return _ &&
|
|
1278
|
+
return _ && gn(e, t, n), Qt(i) ? Object(i) : (l && (kt(`path value MUST BE a dict: ${n}`), It(t)), Object(r));
|
|
1278
1279
|
}
|
|
1279
|
-
function
|
|
1280
|
-
e && !
|
|
1281
|
-
let
|
|
1282
|
-
const l =
|
|
1283
|
-
if (void 0 ===
|
|
1280
|
+
function yn(e, t, n, r, o) {
|
|
1281
|
+
e && !rn(e) && kt("GObj bad instanceof");
|
|
1282
|
+
let i = fn(e, t, n, !1);
|
|
1283
|
+
const l = o && o & ht.KW_REQUIRED, s = o && o & ht.KW_CREATE, _ = o && o & ht.KW_EXTRACT;
|
|
1284
|
+
if (void 0 === i) {
|
|
1284
1285
|
if (s) {
|
|
1285
|
-
let
|
|
1286
|
-
return En(e, t, n,
|
|
1286
|
+
let o = r;
|
|
1287
|
+
return En(e, t, n, o), o;
|
|
1287
1288
|
}
|
|
1288
|
-
return l && (
|
|
1289
|
+
return l && (kt(`path not found: '${n}'`), Lt(t)), r;
|
|
1289
1290
|
}
|
|
1290
|
-
return _ &&
|
|
1291
|
+
return _ && gn(e, t, n), i;
|
|
1291
1292
|
}
|
|
1292
1293
|
function En(e, t, n, r) {
|
|
1293
|
-
if (e && !
|
|
1294
|
-
let
|
|
1295
|
-
if (
|
|
1296
|
-
let
|
|
1297
|
-
for (let e = 0; e <
|
|
1298
|
-
let n =
|
|
1299
|
-
e ===
|
|
1294
|
+
if (e && !rn(e) && kt("GObj bad instanceof"), !Qt(t)) return kt("kw is not an object"), -1;
|
|
1295
|
+
let o = n.split("`");
|
|
1296
|
+
if (o.length <= 1) return t[n] = r, 0;
|
|
1297
|
+
let i = o.length;
|
|
1298
|
+
for (let e = 0; e < i; e++) {
|
|
1299
|
+
let n = o[e];
|
|
1300
|
+
e === i - 1 ? t[n] = r : (void 0 === t[n] && (t[n] = {}), t = t[n]);
|
|
1300
1301
|
}
|
|
1301
1302
|
return 0;
|
|
1302
1303
|
}
|
|
1303
|
-
function
|
|
1304
|
-
if (e && !
|
|
1305
|
-
let
|
|
1306
|
-
return Qt(
|
|
1304
|
+
function Tn(e, t, n, r, o) {
|
|
1305
|
+
if (e && !rn(e) && kt("GObj bad instanceof"), !Qt(t)) return kt("kw is not an object"), -1;
|
|
1306
|
+
let i = hn(e, t, n, {}, !0);
|
|
1307
|
+
return Qt(i) ? (i[r] = o, 0) : (kt("subdict is not an object"), -1);
|
|
1307
1308
|
}
|
|
1308
|
-
function
|
|
1309
|
-
let
|
|
1310
|
-
if (
|
|
1311
|
-
|
|
1309
|
+
function vn(e, t, r) {
|
|
1310
|
+
let o = "", i = !1;
|
|
1311
|
+
if (Ht(t)) {
|
|
1312
|
+
i = !1;
|
|
1312
1313
|
for (let l = 0; l < t.length; l++) {
|
|
1313
1314
|
let s = t[l];
|
|
1314
|
-
if (
|
|
1315
|
+
if (o = on(r) ? n("%s", r) : n("%s`%d", r, l), i = vn(e, s, o), i) break;
|
|
1315
1316
|
}
|
|
1316
1317
|
} else if (Qt(t)) {
|
|
1317
|
-
|
|
1318
|
+
i = !0;
|
|
1318
1319
|
let l = Object.keys(t);
|
|
1319
1320
|
for (let s = 0; s < l.length; s++) {
|
|
1320
1321
|
let _ = l[s], a = t[_];
|
|
1321
|
-
if (
|
|
1322
|
-
if (
|
|
1322
|
+
if (o = on(r) ? n("%s", _) : n("%s`%s", r, _), Ht(a) || Qt(a)) {
|
|
1323
|
+
if (i = vn(e, a, o), !i) break;
|
|
1323
1324
|
continue;
|
|
1324
1325
|
}
|
|
1325
|
-
let u =
|
|
1326
|
-
if (u || (u =
|
|
1327
|
-
|
|
1326
|
+
let u = yn(0, e, o, 0, 0);
|
|
1327
|
+
if (u || (u = Vt(e, o)), !u) {
|
|
1328
|
+
i = !1;
|
|
1328
1329
|
break;
|
|
1329
1330
|
}
|
|
1330
|
-
if (0 !==
|
|
1331
|
-
|
|
1331
|
+
if (0 !== an(u, a)) {
|
|
1332
|
+
i = !1;
|
|
1332
1333
|
break;
|
|
1333
1334
|
}
|
|
1334
1335
|
}
|
|
1335
1336
|
}
|
|
1336
|
-
return
|
|
1337
|
+
return i;
|
|
1337
1338
|
}
|
|
1338
|
-
function
|
|
1339
|
-
return 0 === zt(t) ||
|
|
1339
|
+
function Sn(e, t) {
|
|
1340
|
+
return 0 === zt(t) || vn(e, t, "");
|
|
1340
1341
|
}
|
|
1341
1342
|
function jn(e, t, n, r) {
|
|
1342
|
-
e && !
|
|
1343
|
-
let
|
|
1344
|
-
if (
|
|
1345
|
-
let
|
|
1346
|
-
t.hasOwnProperty(
|
|
1347
|
-
} else if (Qt(n) &&
|
|
1343
|
+
e && !rn(e) && kt("GObj bad instanceof");
|
|
1344
|
+
let o = {};
|
|
1345
|
+
if (Xt(n) && !on(n)) {
|
|
1346
|
+
let i = n;
|
|
1347
|
+
t.hasOwnProperty(i) ? o[i] = t[i] : r && kt(`${we(e)}: key not found: ${i}`);
|
|
1348
|
+
} 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}`);
|
|
1348
1349
|
else {
|
|
1349
|
-
if (!(
|
|
1350
|
-
for (let
|
|
1351
|
-
let l = n[
|
|
1352
|
-
t.hasOwnProperty(l) ?
|
|
1350
|
+
if (!(Ht(n) && qt(n) > 0)) return t;
|
|
1351
|
+
for (let i = 0; i < n.length; i++) {
|
|
1352
|
+
let l = n[i];
|
|
1353
|
+
t.hasOwnProperty(l) ? o[l] = t[l] : r && kt(`${we(e)}: key not found: ${l}`);
|
|
1353
1354
|
}
|
|
1354
1355
|
}
|
|
1355
|
-
return
|
|
1356
|
+
return o;
|
|
1356
1357
|
}
|
|
1357
|
-
function
|
|
1358
|
-
let
|
|
1359
|
-
if (
|
|
1360
|
-
let
|
|
1361
|
-
|
|
1362
|
-
} else if (Qt(n) &&
|
|
1358
|
+
function On(e, t, n, r) {
|
|
1359
|
+
let o = {};
|
|
1360
|
+
if (Ct(o, t), Xt(n) && !on(n)) {
|
|
1361
|
+
let i = n;
|
|
1362
|
+
yn(e, t, i, 0, 0) ? Wt(o, i) : r && kt(`${we(e)}: key not found: ${i}`);
|
|
1363
|
+
} 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}`);
|
|
1363
1364
|
else {
|
|
1364
|
-
if (!(
|
|
1365
|
-
for (let
|
|
1366
|
-
let l = n[
|
|
1367
|
-
t.hasOwnProperty(l) ?
|
|
1365
|
+
if (!(Ht(n) && qt(n) > 0)) return {};
|
|
1366
|
+
for (let i = 0; i < n.length; i++) {
|
|
1367
|
+
let l = n[i];
|
|
1368
|
+
t.hasOwnProperty(l) ? Wt(o, l) : r && kt(`${we(e)}: key not found: ${l}`);
|
|
1368
1369
|
}
|
|
1369
1370
|
}
|
|
1370
|
-
return
|
|
1371
|
+
return o;
|
|
1371
1372
|
}
|
|
1372
|
-
function
|
|
1373
|
+
function Nn(e, t, n = !1) {
|
|
1373
1374
|
if ("undefined" != typeof window && window.localStorage) try {
|
|
1374
1375
|
let r = window.localStorage.getItem(e);
|
|
1375
|
-
return null === r ? (n &&
|
|
1376
|
+
return null === r ? (n && wn(e, t), t) : JSON.parse(r);
|
|
1376
1377
|
} catch (n) {
|
|
1377
1378
|
return window.console.warn(`Error reading localStorage key "${e}":`, n), t;
|
|
1378
1379
|
}
|
|
1379
1380
|
}
|
|
1380
|
-
function
|
|
1381
|
-
if ("undefined"
|
|
1382
|
-
|
|
1381
|
+
function wn(e, t) {
|
|
1382
|
+
if ("undefined" == typeof window || !window.localStorage) return 0;
|
|
1383
|
+
if (!e || void 0 === t) return kt(`kw_set_local_storage_value(): invalid key or value: key=${e}`), -1;
|
|
1384
|
+
try {
|
|
1385
|
+
return window.localStorage.setItem(e, JSON.stringify(t)), 0;
|
|
1383
1386
|
} catch (t) {
|
|
1384
|
-
|
|
1387
|
+
return kt(`kw_set_local_storage_value(): cannot save "${e}" (storage full or blocked?): ${t && t.message ? t.message : t}`), -1;
|
|
1385
1388
|
}
|
|
1386
|
-
else window.console.warn(`Invalid key or value for localStorage: key=${e}, value=${t}`);
|
|
1387
1389
|
}
|
|
1388
|
-
function
|
|
1390
|
+
function Dn(e) {
|
|
1389
1391
|
if ("undefined" != typeof window && window.localStorage) if (e) try {
|
|
1390
1392
|
window.localStorage.removeItem(e);
|
|
1391
1393
|
} catch (t) {
|
|
@@ -1393,46 +1395,46 @@ var gobjJs = function(e) {
|
|
|
1393
1395
|
}
|
|
1394
1396
|
else window.console.warn(`Invalid key for localStorage removal: ${e}`);
|
|
1395
1397
|
}
|
|
1396
|
-
function
|
|
1397
|
-
if (
|
|
1398
|
-
if (
|
|
1398
|
+
function Rn(e, t) {
|
|
1399
|
+
if (tn(e) || tn(t)) return !0;
|
|
1400
|
+
if (Ht(e)) {
|
|
1399
1401
|
if (0 === e.length) return !0;
|
|
1400
1402
|
for (let n = 0; n < e.length; n++) if (e[n] === t) return !0;
|
|
1401
1403
|
} else if (Qt(e)) {
|
|
1402
1404
|
if (0 === Object.keys(e).length) return !0;
|
|
1403
1405
|
for (let n in e) if (n === t) return !0;
|
|
1404
|
-
} else if (
|
|
1406
|
+
} else if (Xt(e) && e === t) return !0;
|
|
1405
1407
|
return !1;
|
|
1406
1408
|
}
|
|
1407
|
-
function
|
|
1408
|
-
if (e && !
|
|
1409
|
-
|
|
1410
|
-
let
|
|
1411
|
-
if (
|
|
1409
|
+
function kn(e, t, n, r, o) {
|
|
1410
|
+
if (e && !rn(e) && kt("GObj bad instanceof"), !t) return null;
|
|
1411
|
+
o || (o = Sn);
|
|
1412
|
+
let i = [];
|
|
1413
|
+
if (Ht(t)) for (let l = 0; l < t.length; l++) {
|
|
1412
1414
|
let s, _ = t[l];
|
|
1413
|
-
if (Qt(_)) s =
|
|
1415
|
+
if (Qt(_)) s = pn(e, _, "id", "", 0);
|
|
1414
1416
|
else {
|
|
1415
|
-
if (!
|
|
1417
|
+
if (!Xt(_)) continue;
|
|
1416
1418
|
s = _;
|
|
1417
1419
|
}
|
|
1418
|
-
|
|
1420
|
+
Rn(n, s) && o(_, r) && i.push(_);
|
|
1419
1421
|
}
|
|
1420
1422
|
else {
|
|
1421
|
-
if (!Qt(t)) return
|
|
1423
|
+
if (!Qt(t)) return kt("kw_collect() BAD kw parameter"), null;
|
|
1422
1424
|
for (let e of Object.keys(t)) {
|
|
1423
1425
|
let l = t[e];
|
|
1424
|
-
|
|
1426
|
+
Rn(n, e) && o(l, r) && i.push(l);
|
|
1425
1427
|
}
|
|
1426
1428
|
}
|
|
1427
|
-
return
|
|
1429
|
+
return i;
|
|
1428
1430
|
}
|
|
1429
|
-
function
|
|
1431
|
+
function $n(e, t) {
|
|
1430
1432
|
if (!e) return -1;
|
|
1431
1433
|
for (let n = 0; n < e.length; n++) if (e[n] && e[n].id === t) return n;
|
|
1432
1434
|
return -1;
|
|
1433
1435
|
}
|
|
1434
|
-
function
|
|
1435
|
-
if (!e || !t) return
|
|
1436
|
+
function An(e, t, n) {
|
|
1437
|
+
if (!e || !t) return kt("ERROR: str_in_list() list or str empty"), !1;
|
|
1436
1438
|
let r = e.length;
|
|
1437
1439
|
if (n) {
|
|
1438
1440
|
t = t.toLowerCase();
|
|
@@ -1443,7 +1445,7 @@ var gobjJs = function(e) {
|
|
|
1443
1445
|
} else for (let n = 0; n < r; n++) if (e[n] === t) return !0;
|
|
1444
1446
|
return !1;
|
|
1445
1447
|
}
|
|
1446
|
-
function
|
|
1448
|
+
function In(e, t) {
|
|
1447
1449
|
try {
|
|
1448
1450
|
let n = e.__md_iev__;
|
|
1449
1451
|
if (n) return n[t];
|
|
@@ -1451,63 +1453,63 @@ var gobjJs = function(e) {
|
|
|
1451
1453
|
return;
|
|
1452
1454
|
}
|
|
1453
1455
|
}
|
|
1454
|
-
function
|
|
1456
|
+
function Ln(e, t, n) {
|
|
1455
1457
|
let r = e.__md_iev__;
|
|
1456
1458
|
r || (r = {}, e.__md_iev__ = r), r[t] = n;
|
|
1457
1459
|
}
|
|
1458
|
-
function
|
|
1459
|
-
if (!
|
|
1460
|
+
function Pn(e, t, n, r) {
|
|
1461
|
+
if (!rn(e)) return kt("gobj is not a GObj"), null;
|
|
1460
1462
|
if (!t) return;
|
|
1461
|
-
let
|
|
1462
|
-
|
|
1463
|
+
let o = In(t, n);
|
|
1464
|
+
o || (o = [], Ln(t, n, o));
|
|
1463
1465
|
try {
|
|
1464
|
-
|
|
1466
|
+
Ht(o) && o.unshift(r);
|
|
1465
1467
|
} catch (e) {
|
|
1466
|
-
|
|
1468
|
+
kt(e);
|
|
1467
1469
|
}
|
|
1468
1470
|
}
|
|
1469
|
-
function
|
|
1470
|
-
if (!
|
|
1471
|
-
if (!Qt(t)) return
|
|
1472
|
-
let
|
|
1473
|
-
return
|
|
1471
|
+
function Un(e, t, n, r) {
|
|
1472
|
+
if (!rn(e)) return kt("gobj is not a GObj"), null;
|
|
1473
|
+
if (!Qt(t)) return kt("kw is not a dict"), null;
|
|
1474
|
+
let o = In(t, n);
|
|
1475
|
+
return o ? 0 === o.length ? (r && kt(`stack empty: ${n}`), null) : o[0] : (r && kt(`stack NOT FOUND: ${n}`), null);
|
|
1474
1476
|
}
|
|
1475
|
-
function
|
|
1476
|
-
return
|
|
1477
|
+
function Cn(e, t, n) {
|
|
1478
|
+
return on(n) ? gn(e, t, "__md_iev__`__msg_type__") : Tn(e, t, "__md_iev__", "__msg_type__", n), 0;
|
|
1477
1479
|
}
|
|
1478
|
-
function
|
|
1479
|
-
return
|
|
1480
|
+
function Fn(e, t) {
|
|
1481
|
+
return pn(e, t, "__md_iev__`__msg_type__", "", 0);
|
|
1480
1482
|
}
|
|
1481
|
-
function
|
|
1482
|
-
void 0 !== n &&
|
|
1483
|
+
function Gn(e, t, n) {
|
|
1484
|
+
void 0 !== n && Xt(n) || (n = "");
|
|
1483
1485
|
for (let r of Object.keys(e)) {
|
|
1484
1486
|
if (!e.hasOwnProperty(r)) continue;
|
|
1485
|
-
let
|
|
1486
|
-
n +=
|
|
1487
|
+
let o = (n.length ? "`" : "") + r;
|
|
1488
|
+
n += o, t.apply(this, [
|
|
1487
1489
|
e,
|
|
1488
1490
|
r,
|
|
1489
1491
|
e[r],
|
|
1490
1492
|
n
|
|
1491
|
-
]), Qt(e[r]) &&
|
|
1493
|
+
]), Qt(e[r]) && Gn(e[r], t, n), n = n.slice(0, -o.length);
|
|
1492
1494
|
}
|
|
1493
1495
|
}
|
|
1494
|
-
function
|
|
1496
|
+
function Vn(e, t, n, r) {
|
|
1495
1497
|
if (!e) return null;
|
|
1496
|
-
let
|
|
1497
|
-
for (
|
|
1498
|
-
let
|
|
1499
|
-
if (
|
|
1500
|
-
let e =
|
|
1501
|
-
if (e && e === n) return
|
|
1502
|
-
if (r &&
|
|
1503
|
-
let e =
|
|
1498
|
+
let o, i = e.length;
|
|
1499
|
+
for (o = 0; o < i; o++) {
|
|
1500
|
+
let i = e[o];
|
|
1501
|
+
if (i) {
|
|
1502
|
+
let e = i.id;
|
|
1503
|
+
if (e && e === n) return i;
|
|
1504
|
+
if (r && cn(i, t)) {
|
|
1505
|
+
let e = Vn(i[t], t, n, r);
|
|
1504
1506
|
if (e) return e;
|
|
1505
1507
|
}
|
|
1506
1508
|
}
|
|
1507
1509
|
}
|
|
1508
1510
|
return null;
|
|
1509
1511
|
}
|
|
1510
|
-
function
|
|
1512
|
+
function Wn(e) {
|
|
1511
1513
|
function t(e) {
|
|
1512
1514
|
let t = e.replace(/-/g, "+").replace(/_/g, "/");
|
|
1513
1515
|
switch (t.length % 4) {
|
|
@@ -1538,14 +1540,14 @@ var gobjJs = function(e) {
|
|
|
1538
1540
|
signature: t(n[2])
|
|
1539
1541
|
};
|
|
1540
1542
|
}
|
|
1541
|
-
function
|
|
1543
|
+
function Mn(e) {
|
|
1542
1544
|
return null == e ? "" : String(e).replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
|
1543
1545
|
}
|
|
1544
|
-
function
|
|
1546
|
+
function Kn(e) {
|
|
1545
1547
|
const t = document.createElement("template");
|
|
1546
1548
|
return t.innerHTML = e.trim(), t.content.firstChild;
|
|
1547
1549
|
}
|
|
1548
|
-
function
|
|
1550
|
+
function xn() {
|
|
1549
1551
|
const e = /* @__PURE__ */ new Date(), t = e.toISOString().slice(0, 19), n = String(e.getMilliseconds()).padStart(3, "0"), r = e.getTimezoneOffset();
|
|
1550
1552
|
return `${t}.${n}${r > 0 ? "-" : "+"}${String(Math.abs(r) / 60).padStart(2, "0")}${String(Math.abs(r) % 60).padStart(2, "0")}`;
|
|
1551
1553
|
}
|
|
@@ -1554,24 +1556,24 @@ var gobjJs = function(e) {
|
|
|
1554
1556
|
for (let n = 0; n < e.length; n++) if (t === e[n]) return n;
|
|
1555
1557
|
return -1;
|
|
1556
1558
|
}
|
|
1557
|
-
function
|
|
1559
|
+
function Bn() {
|
|
1558
1560
|
let e = "";
|
|
1559
1561
|
return "undefined" != typeof window && window.localStorage ? (e = window.localStorage.getItem("host_uuid"), !e && window.crypto?.randomUUID && (e = window.crypto.randomUUID(), window.localStorage.setItem("host_uuid", e))) : e = "undefined" != typeof globalThis && globalThis.crypto?.randomUUID ? globalThis.crypto.randomUUID() : "00000000-0000-0000-0000-000000000000", e;
|
|
1560
1562
|
}
|
|
1561
|
-
function
|
|
1563
|
+
function Jn(e) {
|
|
1562
1564
|
let t = null;
|
|
1563
1565
|
return "function" != typeof e && "object" != typeof e || (t = ("" + e).match(/function\s*([\w\$]*)\s*\(/)), null !== t ? t[1] + "()" : "";
|
|
1564
1566
|
}
|
|
1565
|
-
function
|
|
1567
|
+
function qn(e) {
|
|
1566
1568
|
return "persistent-attrs-" + we(e);
|
|
1567
1569
|
}
|
|
1568
1570
|
function zn(e, t) {
|
|
1569
|
-
if (
|
|
1571
|
+
if (Xt(t)) {
|
|
1570
1572
|
if (-1 === t.indexOf("^")) {
|
|
1571
|
-
let n, r,
|
|
1572
|
-
if (1 !==
|
|
1573
|
-
for (const e of Object.keys(
|
|
1574
|
-
n = e, r =
|
|
1573
|
+
let n, r, o = e.fkey;
|
|
1574
|
+
if (1 !== Jt(o)) return kt("bad fkey 1"), kt(e), kt(t), null;
|
|
1575
|
+
for (const e of Object.keys(o)) {
|
|
1576
|
+
n = e, r = o[e];
|
|
1575
1577
|
break;
|
|
1576
1578
|
}
|
|
1577
1579
|
return {
|
|
@@ -1582,7 +1584,7 @@ var gobjJs = function(e) {
|
|
|
1582
1584
|
}
|
|
1583
1585
|
{
|
|
1584
1586
|
let n = t.split("^");
|
|
1585
|
-
return 3 !== n.length ? (
|
|
1587
|
+
return 3 !== n.length ? (kt("bad fkey 2"), kt(e), kt(t), null) : {
|
|
1586
1588
|
topic_name: n[0],
|
|
1587
1589
|
id: n[1],
|
|
1588
1590
|
hook_name: n[2]
|
|
@@ -1593,7 +1595,7 @@ var gobjJs = function(e) {
|
|
|
1593
1595
|
topic_name: t.topic_name,
|
|
1594
1596
|
id: t.id,
|
|
1595
1597
|
hook_name: t.hook_name
|
|
1596
|
-
} : (
|
|
1598
|
+
} : (kt("bad fkey 3"), kt(e), kt(t), null);
|
|
1597
1599
|
}
|
|
1598
1600
|
var Qn = [
|
|
1599
1601
|
"string",
|
|
@@ -1605,7 +1607,7 @@ var gobjJs = function(e) {
|
|
|
1605
1607
|
"real",
|
|
1606
1608
|
"boolean",
|
|
1607
1609
|
"blob"
|
|
1608
|
-
],
|
|
1610
|
+
], Hn = [
|
|
1609
1611
|
"persistent",
|
|
1610
1612
|
"required",
|
|
1611
1613
|
"notnull",
|
|
@@ -1617,7 +1619,7 @@ var gobjJs = function(e) {
|
|
|
1617
1619
|
"stats",
|
|
1618
1620
|
"rstats",
|
|
1619
1621
|
"pstats"
|
|
1620
|
-
],
|
|
1622
|
+
], Xn = [
|
|
1621
1623
|
"hook",
|
|
1622
1624
|
"fkey",
|
|
1623
1625
|
"enum",
|
|
@@ -1643,7 +1645,7 @@ var gobjJs = function(e) {
|
|
|
1643
1645
|
"coordinates",
|
|
1644
1646
|
"gbuffer"
|
|
1645
1647
|
];
|
|
1646
|
-
function
|
|
1648
|
+
function Zn(e) {
|
|
1647
1649
|
let t = {
|
|
1648
1650
|
name: e.id,
|
|
1649
1651
|
header: e.header,
|
|
@@ -1661,7 +1663,7 @@ var gobjJs = function(e) {
|
|
|
1661
1663
|
if (!e.flag) return t;
|
|
1662
1664
|
for (let n = 0; n < e.flag.length; n++) {
|
|
1663
1665
|
let r = e.flag[n];
|
|
1664
|
-
if (
|
|
1666
|
+
if (An(Xn, r)) {
|
|
1665
1667
|
switch (r) {
|
|
1666
1668
|
case "enum":
|
|
1667
1669
|
t.enum_list = e.enum;
|
|
@@ -1672,7 +1674,7 @@ var gobjJs = function(e) {
|
|
|
1672
1674
|
case "table": t.enum_list = e.table;
|
|
1673
1675
|
}
|
|
1674
1676
|
t.type = r;
|
|
1675
|
-
} else if (
|
|
1677
|
+
} else if (An(Hn, r)) switch (r) {
|
|
1676
1678
|
case "writable":
|
|
1677
1679
|
t.is_writable = !0;
|
|
1678
1680
|
break;
|
|
@@ -1685,27 +1687,27 @@ var gobjJs = function(e) {
|
|
|
1685
1687
|
}
|
|
1686
1688
|
return t;
|
|
1687
1689
|
}
|
|
1688
|
-
var
|
|
1689
|
-
|
|
1690
|
-
|
|
1691
|
-
|
|
1690
|
+
var er = [
|
|
1691
|
+
S(y.DTP_POINTER, "subscriber", 0, null, "Subscriber of output events"),
|
|
1692
|
+
S(y.DTP_BOOLEAN, "periodic", 0, 0, "True for periodic timeouts"),
|
|
1693
|
+
S(y.DTP_INTEGER, "msec", 0, 0, "Timeout in milliseconds"),
|
|
1692
1694
|
v()
|
|
1693
|
-
],
|
|
1695
|
+
], tr = {
|
|
1694
1696
|
periodic: !1,
|
|
1695
1697
|
msec: 0,
|
|
1696
1698
|
timer_id: -1
|
|
1697
|
-
},
|
|
1698
|
-
function
|
|
1699
|
-
let
|
|
1700
|
-
return $e(e) ? lt(Re(e),
|
|
1699
|
+
}, nr = null;
|
|
1700
|
+
function rr(e, t, n, r) {
|
|
1701
|
+
let o = e.priv, i = o.periodic ? "EV_TIMEOUT_PERIODIC" : "EV_TIMEOUT";
|
|
1702
|
+
return $e(e) ? lt(Re(e), i, {}, e) : mt(e, i, {}), o.periodic && (o.timer_id = setTimeout(function() {
|
|
1701
1703
|
lt(e, "EV_TIMEOUT", {}, e);
|
|
1702
|
-
},
|
|
1704
|
+
}, o.msec)), 0;
|
|
1703
1705
|
}
|
|
1704
|
-
var
|
|
1706
|
+
var or = {
|
|
1705
1707
|
mt_create: function(e) {
|
|
1706
1708
|
let t = e.priv;
|
|
1707
|
-
const n =
|
|
1708
|
-
n && gt(e, null, {}, n), t.periodic = Je(e, "periodic"), t.msec =
|
|
1709
|
+
const n = Qe(e, "subscriber");
|
|
1710
|
+
n && gt(e, null, {}, n), t.periodic = Je(e, "periodic"), t.msec = qe(e, "msec");
|
|
1709
1711
|
},
|
|
1710
1712
|
mt_writing: function(e, t) {
|
|
1711
1713
|
let n = e.priv;
|
|
@@ -1713,7 +1715,7 @@ var gobjJs = function(e) {
|
|
|
1713
1715
|
case "periodic":
|
|
1714
1716
|
n.periodic = Je(e, "periodic");
|
|
1715
1717
|
break;
|
|
1716
|
-
case "msec": n.msec =
|
|
1718
|
+
case "msec": n.msec = qe(e, "msec"), -1 !== n.timer_id && (clearTimeout(n.timer_id), n.timer_id = -1), n.msec > 0 && (n.timer_id = setTimeout(function() {
|
|
1717
1719
|
lt(e, "EV_TIMEOUT", {}, e);
|
|
1718
1720
|
}, n.msec));
|
|
1719
1721
|
}
|
|
@@ -1727,52 +1729,52 @@ var gobjJs = function(e) {
|
|
|
1727
1729
|
mt_destroy: function(e) {}
|
|
1728
1730
|
};
|
|
1729
1731
|
function ir(e, t) {
|
|
1730
|
-
return e instanceof O ? "C_TIMER" !== Ne(e) ? (
|
|
1731
|
-
}
|
|
1732
|
-
function
|
|
1733
|
-
return e instanceof O ? "C_TIMER" !== Ne(e) ? (
|
|
1734
|
-
}
|
|
1735
|
-
function
|
|
1736
|
-
return e instanceof O ? "C_TIMER" !== Ne(e) ? (
|
|
1737
|
-
}
|
|
1738
|
-
var
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1732
|
+
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);
|
|
1733
|
+
}
|
|
1734
|
+
function lr(e, t) {
|
|
1735
|
+
return e instanceof O ? "C_TIMER" !== Ne(e) ? (kt("not C_TIMER GObj"), -1) : (Xe(e, "periodic", !0), void Ze(e, "msec", t)) : (kt("not GObj TYPE"), -1);
|
|
1736
|
+
}
|
|
1737
|
+
function sr(e) {
|
|
1738
|
+
return e instanceof O ? "C_TIMER" !== Ne(e) ? (kt("not C_TIMER GObj"), -1) : void Ze(e, "msec", -1) : (kt("not GObj TYPE"), -1);
|
|
1739
|
+
}
|
|
1740
|
+
var _r = [
|
|
1741
|
+
S(y.DTP_BOOLEAN, "changesLost", 0, !1, "Set true to warn about leaving page"),
|
|
1742
|
+
S(y.DTP_BOOLEAN, "browser_beforeunload", 0, !1, "Set true to refreshing browser"),
|
|
1743
|
+
S(y.DTP_STRING, "__username__", 0, "", "Username"),
|
|
1744
|
+
S(y.DTP_STRING, "start_date", 0, "", "Yuno starting date"),
|
|
1745
|
+
S(y.DTP_STRING, "node_uuid", 0, "", "uuid of node"),
|
|
1746
|
+
S(y.DTP_STRING, "yuno_role", 0, "", "Yuno role"),
|
|
1747
|
+
S(y.DTP_STRING, "yuno_id", 0, "", "Yuno Id. Set by agent"),
|
|
1748
|
+
S(y.DTP_STRING, "yuno_name", 0, "", "Yuno name. Set by agent"),
|
|
1749
|
+
S(y.DTP_STRING, "yuno_tag", 0, "", "Tags of yuno. Set by agent"),
|
|
1750
|
+
S(y.DTP_STRING, "yuno_release", 0, "", "Yuno Release. Set by agent"),
|
|
1751
|
+
S(y.DTP_STRING, "yuno_version", 0, "", "Yuno version (APP_VERSION)"),
|
|
1752
|
+
S(y.DTP_STRING, "yuneta_version", 0, l, "Yuneta version"),
|
|
1753
|
+
S(y.DTP_LIST, "required_services", 0, "[]", "Required services"),
|
|
1754
|
+
S(y.DTP_INTEGER, "tracing", 0, 0, "Tracing level"),
|
|
1755
|
+
S(y.DTP_BOOLEAN, "trace_timer", 0, 0, "Trace timers"),
|
|
1756
|
+
S(y.DTP_BOOLEAN, "trace_inter_event", 0, 0, "Trace traffic"),
|
|
1757
|
+
S(y.DTP_POINTER, "trace_ievent_callback", 0, null, "Trace traffic callback"),
|
|
1758
|
+
S(y.DTP_BOOLEAN, "trace_creation", 0, 0, "Trace creation"),
|
|
1759
|
+
S(y.DTP_BOOLEAN, "trace_start_stop", 0, 0, "Trace start/stop"),
|
|
1760
|
+
S(y.DTP_BOOLEAN, "trace_subscriptions", 0, 0, "Trace subscription"),
|
|
1761
|
+
S(y.DTP_BOOLEAN, "trace_i18n", 0, 0, "Trace i18n"),
|
|
1762
|
+
S(y.DTP_BOOLEAN, "no_poll", 0, 0, "no poll"),
|
|
1763
|
+
S(y.DTP_BOOLEAN, "developer", 0, !1, "Developer mode enabled"),
|
|
1764
|
+
S(y.DTP_INTEGER, "periodic_timeout", 0, "1000", "Timeout periodic, in miliseconds."),
|
|
1763
1765
|
v()
|
|
1764
|
-
],
|
|
1765
|
-
function
|
|
1766
|
+
], ar = { gobj_timer: null }, ur = null;
|
|
1767
|
+
function cr(e, t, n, r) {
|
|
1766
1768
|
return mt(e, t, n), 0;
|
|
1767
1769
|
}
|
|
1768
|
-
var
|
|
1770
|
+
var fr = {
|
|
1769
1771
|
mt_create: function(e) {
|
|
1770
1772
|
let t = e.priv;
|
|
1771
|
-
et(e, "start_date",
|
|
1773
|
+
et(e, "start_date", xn()), et(e, "node_uuid", Bn()), e.priv.gobj_timer = se(Oe(e), "C_TIMER", {}, e), t.periodic_timeout = Ye(e, "periodic_timeout");
|
|
1772
1774
|
},
|
|
1773
1775
|
mt_writing: function(e, t) {},
|
|
1774
1776
|
mt_start: function(e) {
|
|
1775
|
-
return ae(e.priv.gobj_timer),
|
|
1777
|
+
return ae(e.priv.gobj_timer), lr(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
|
|
1776
1778
|
},
|
|
1777
1779
|
mt_stop: function(e) {
|
|
1778
1780
|
return fe(e.priv.gobj_timer), de(e), 0;
|
|
@@ -1780,28 +1782,30 @@ var gobjJs = function(e) {
|
|
|
1780
1782
|
mt_destroy: function(e) {},
|
|
1781
1783
|
mt_play: function(e) {
|
|
1782
1784
|
let t = Z();
|
|
1783
|
-
return me(t) || ae(t),
|
|
1785
|
+
return me(t) || ae(t), Ee(t) || be(t), 0;
|
|
1784
1786
|
},
|
|
1785
1787
|
mt_pause: function(e) {
|
|
1786
1788
|
return pe(Z()), 0;
|
|
1787
1789
|
}
|
|
1788
1790
|
};
|
|
1789
|
-
var
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1791
|
+
var gr = "ievent_gate_stack", dr = [
|
|
1792
|
+
S(y.DTP_STRING, "wanted_yuno_role", E.SDF_RD, "", "wanted yuno role"),
|
|
1793
|
+
S(y.DTP_STRING, "wanted_yuno_name", E.SDF_RD, "", "wanted yuno name"),
|
|
1794
|
+
S(y.DTP_STRING, "wanted_yuno_service", E.SDF_RD, "", "wanted yuno service"),
|
|
1795
|
+
S(y.DTP_STRING, "remote_yuno_role", E.SDF_RD, "", "confirmed remote yuno role"),
|
|
1796
|
+
S(y.DTP_STRING, "remote_yuno_name", E.SDF_RD, "", "confirmed remote yuno name"),
|
|
1797
|
+
S(y.DTP_STRING, "remote_yuno_service", E.SDF_RD, "", "confirmed remote yuno service"),
|
|
1798
|
+
S(y.DTP_STRING, "url", E.SDF_RD, "", "Url to connect"),
|
|
1799
|
+
S(y.DTP_STRING, "jwt", E.SDF_PERSIST, "", "JWT"),
|
|
1800
|
+
S(y.DTP_STRING, "cert_pem", E.SDF_PERSIST, "", "SSL server certification, PEM str format"),
|
|
1801
|
+
S(y.DTP_JSON, "extra_info", E.SDF_RD, "{}", "dict data set by user, added to the identity card msg."),
|
|
1802
|
+
S(y.DTP_LIST, "required_services", E.SDF_RD, "[]", "Services this LINK requires (identity card). Empty = the yuno's `required_services`, as before. A yuno with several links to DIFFERENT backends must set it per link: the yuno-wide list is the union, so every backend is told the service names of all the others."),
|
|
1803
|
+
S(y.DTP_INTEGER, "timeout_retry", E.SDF_RD, "5000", "First reconnect delay (ms). It BACKS OFF from here, doubling up to timeout_retry_max, and resets when a session is reached"),
|
|
1804
|
+
S(y.DTP_INTEGER, "timeout_retry_max", E.SDF_RD, "60000", "Cap of the reconnect backoff (ms). Set it equal to timeout_retry for the old fixed-interval behaviour"),
|
|
1805
|
+
S(y.DTP_INTEGER, "timeout_idack", E.SDF_RD, "5000", "timeout waiting idAck"),
|
|
1806
|
+
S(y.DTP_POINTER, "subscriber", 0, 0, "subscriber of output-events. If null then subscriber is the parent"),
|
|
1803
1807
|
v()
|
|
1804
|
-
],
|
|
1808
|
+
], br = {
|
|
1805
1809
|
url: null,
|
|
1806
1810
|
remote_yuno_name: null,
|
|
1807
1811
|
remote_yuno_role: null,
|
|
@@ -1809,17 +1813,18 @@ var gobjJs = function(e) {
|
|
|
1809
1813
|
gobj_timer: null,
|
|
1810
1814
|
inform_on_close: !1,
|
|
1811
1815
|
websocket: null,
|
|
1812
|
-
inside_on_open: !1
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1816
|
+
inside_on_open: !1,
|
|
1817
|
+
retry_ms: 0
|
|
1818
|
+
}, pr = null;
|
|
1819
|
+
function mr(e) {
|
|
1820
|
+
e.priv.websocket && kt("Websocket ALREADY setup");
|
|
1821
|
+
const t = ze(e, "url");
|
|
1817
1822
|
let n;
|
|
1818
|
-
|
|
1823
|
+
At(`====> Starting WebSocket to '${t}' (${we(e)})`);
|
|
1819
1824
|
try {
|
|
1820
1825
|
n = new WebSocket(t);
|
|
1821
1826
|
} catch (n) {
|
|
1822
|
-
return
|
|
1827
|
+
return kt(`${we(e)}: Cannot open WebSocket to '${t}', Error: ${n.message}`), null;
|
|
1823
1828
|
}
|
|
1824
1829
|
return n ? (n.onopen = () => {
|
|
1825
1830
|
lt(e, "EV_ON_OPEN", { url: t }, e);
|
|
@@ -1829,29 +1834,29 @@ var gobjJs = function(e) {
|
|
|
1829
1834
|
data: n.data
|
|
1830
1835
|
}, e);
|
|
1831
1836
|
}, n.onclose = (n) => {
|
|
1832
|
-
Ae(e) || (Je(Te(), "browser_beforeunload") ?
|
|
1837
|
+
Ae(e) || (Je(Te(), "browser_beforeunload") ? $t("Close websocket by unload page") : lt(e, "EV_ON_CLOSE", {
|
|
1833
1838
|
url: t,
|
|
1834
1839
|
e: n
|
|
1835
1840
|
}, e));
|
|
1836
|
-
}, n) : (
|
|
1841
|
+
}, n) : (kt(`${we(e)}: Failed to initialize WebSocket.`), null);
|
|
1837
1842
|
}
|
|
1838
|
-
function
|
|
1839
|
-
let r = e.priv,
|
|
1840
|
-
if (r.websocket = null,
|
|
1841
|
-
|
|
1843
|
+
function hr(e, t = 1e3, n = "") {
|
|
1844
|
+
let r = e.priv, o = r.websocket;
|
|
1845
|
+
if (r.websocket = null, o && o.readyState !== WebSocket.CLOSED && o.readyState !== WebSocket.CLOSING) {
|
|
1846
|
+
At(`Closing WebSocket (Code: ${t}, Reason: "${n}")`);
|
|
1842
1847
|
try {
|
|
1843
|
-
|
|
1848
|
+
o.close(t, n);
|
|
1844
1849
|
} catch (e) {
|
|
1845
|
-
|
|
1850
|
+
kt("Error closing WebSocket:", e.message);
|
|
1846
1851
|
}
|
|
1847
|
-
} else
|
|
1852
|
+
} else $t("WebSocket is already closed or in the process of closing.");
|
|
1848
1853
|
}
|
|
1849
|
-
function
|
|
1850
|
-
let r =
|
|
1854
|
+
function yr(e, t, n) {
|
|
1855
|
+
let r = xn();
|
|
1851
1856
|
try {
|
|
1852
|
-
|
|
1857
|
+
At("\n" + r + " " + t + "\n"), Lt(n);
|
|
1853
1858
|
} catch (e) {
|
|
1854
|
-
|
|
1859
|
+
At("ERROR in trace_inter_event: " + e);
|
|
1855
1860
|
}
|
|
1856
1861
|
}
|
|
1857
1862
|
var Er = class {
|
|
@@ -1859,100 +1864,108 @@ var gobjJs = function(e) {
|
|
|
1859
1864
|
this.event = e, this.kw = t || {};
|
|
1860
1865
|
}
|
|
1861
1866
|
};
|
|
1862
|
-
function
|
|
1867
|
+
function Tr(e, t, n, r) {
|
|
1863
1868
|
return function(e, t) {
|
|
1864
1869
|
let n = e.priv, r = JSON.stringify(t);
|
|
1865
1870
|
if (Je(Te(), "trace_inter_event")) {
|
|
1866
|
-
let n =
|
|
1867
|
-
|
|
1871
|
+
let n = ze(e, "url"), o = Oe(Te()) + " ==> " + n, i = Ye(Te(), "trace_ievent_callback");
|
|
1872
|
+
i ? i(o, t, 1, r.length) : yr(0, o, t);
|
|
1868
1873
|
}
|
|
1869
|
-
if (!n.websocket || n.websocket.readyState !== WebSocket.OPEN) return
|
|
1874
|
+
if (!n.websocket || n.websocket.readyState !== WebSocket.OPEN) return $t(`${we(e)}: send_iev(): websocket not open, message lost`), -1;
|
|
1870
1875
|
try {
|
|
1871
1876
|
n.websocket.send(r);
|
|
1872
1877
|
} catch (t) {
|
|
1873
|
-
|
|
1878
|
+
kt(`${we(e)}: send_iev(): ${t}`);
|
|
1874
1879
|
}
|
|
1875
1880
|
return 0;
|
|
1876
1881
|
}(e, function(e, t) {
|
|
1877
|
-
return
|
|
1882
|
+
return on(e) ? (kt("iev_create() event NULL"), null) : new Er(e, t);
|
|
1878
1883
|
}(t, n));
|
|
1879
1884
|
}
|
|
1880
|
-
function
|
|
1881
|
-
return
|
|
1882
|
-
dst_yuno:
|
|
1883
|
-
dst_role:
|
|
1885
|
+
function vr(e, t, n) {
|
|
1886
|
+
return on(n) && (n = ze(e, "wanted_yuno_service")), {
|
|
1887
|
+
dst_yuno: ze(e, "wanted_yuno_name"),
|
|
1888
|
+
dst_role: ze(e, "wanted_yuno_role"),
|
|
1884
1889
|
dst_service: n,
|
|
1885
1890
|
src_yuno: ve(),
|
|
1886
|
-
src_role:
|
|
1891
|
+
src_role: Se(),
|
|
1887
1892
|
src_service: t,
|
|
1888
|
-
host:
|
|
1893
|
+
host: Bn()
|
|
1889
1894
|
};
|
|
1890
1895
|
}
|
|
1891
|
-
function
|
|
1892
|
-
let t = e.priv, n =
|
|
1893
|
-
|
|
1894
|
-
|
|
1896
|
+
function Sr(e) {
|
|
1897
|
+
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");
|
|
1898
|
+
s && s.length || (s = Ye(Te(), "required_services"));
|
|
1899
|
+
let _ = {
|
|
1900
|
+
yuno_role: Se(),
|
|
1901
|
+
yuno_id: je(),
|
|
1895
1902
|
yuno_name: ve(),
|
|
1896
|
-
yuno_tag:
|
|
1903
|
+
yuno_tag: i,
|
|
1897
1904
|
yuno_version: r,
|
|
1898
|
-
yuno_release:
|
|
1905
|
+
yuno_release: o,
|
|
1899
1906
|
yuneta_version: l,
|
|
1900
1907
|
playing: n,
|
|
1901
1908
|
pid: 0,
|
|
1902
1909
|
watcher_pid: 0,
|
|
1903
|
-
jwt:
|
|
1904
|
-
username:
|
|
1910
|
+
jwt: ze(e, "jwt"),
|
|
1911
|
+
username: ze(Te(), "__username__"),
|
|
1905
1912
|
launch_id: 0,
|
|
1906
|
-
yuno_startdate:
|
|
1907
|
-
id:
|
|
1913
|
+
yuno_startdate: ze(Te(), "start_date"),
|
|
1914
|
+
id: Bn(),
|
|
1908
1915
|
user_agent: "undefined" != typeof window ? window.navigator.userAgent : "",
|
|
1909
1916
|
language: "undefined" != typeof window ? window.navigator.language : "",
|
|
1910
|
-
required_services:
|
|
1917
|
+
required_services: s
|
|
1911
1918
|
};
|
|
1912
|
-
return
|
|
1919
|
+
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", _);
|
|
1913
1920
|
}
|
|
1914
1921
|
function jr(e, t) {
|
|
1915
|
-
if (
|
|
1916
|
-
let n = {}, r = t.__global__,
|
|
1917
|
-
return
|
|
1918
|
-
}
|
|
1919
|
-
function Sr(e, t, n, r) {
|
|
1920
|
-
let i = e.priv;
|
|
1921
|
-
return me(e) && (i.websocket = pr(e)), 0;
|
|
1922
|
+
if (on(t.event)) return -1;
|
|
1923
|
+
let n = {}, r = t.__global__, o = t.__config__, i = t.__filter__, l = t.__service__, s = t.subscriber;
|
|
1924
|
+
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);
|
|
1922
1925
|
}
|
|
1923
1926
|
function Or(e, t, n, r) {
|
|
1924
|
-
|
|
1927
|
+
let o = e.priv;
|
|
1928
|
+
return me(e) && (o.websocket = mr(e)), 0;
|
|
1925
1929
|
}
|
|
1926
1930
|
function Nr(e, t, n, r) {
|
|
1927
|
-
|
|
1928
|
-
return wt(), kt(`${we(e)}: WebSocket closed ${l} (Code: ${o.code}, Reason: "${o.reason}", Clean: ${o.wasClean})`), i.websocket && (i.websocket.onopen = null, i.websocket.onmessage = null, i.websocket.onerror = null, i.websocket.onclose = null, i.websocket = null), i.inform_on_close ? (i.inform_on_close = !1, mt(e, "EV_ON_CLOSE", {
|
|
1929
|
-
url: l,
|
|
1930
|
-
remote_yuno_name: i.remote_yuno_name,
|
|
1931
|
-
remote_yuno_role: i.remote_yuno_role,
|
|
1932
|
-
remote_yuno_service: i.remote_yuno_service
|
|
1933
|
-
})) : (kt(`${we(e)}: EV_ON_OPEN_ERROR cannot open ${l} (Code: ${o.code}, Reason: "${o.reason}", Clean: ${o.wasClean})`), mt(e, "EV_ON_OPEN_ERROR", {
|
|
1934
|
-
url: l,
|
|
1935
|
-
remote_yuno_name: i.remote_yuno_name,
|
|
1936
|
-
remote_yuno_role: i.remote_yuno_role,
|
|
1937
|
-
remote_yuno_service: i.remote_yuno_service,
|
|
1938
|
-
code: o.code,
|
|
1939
|
-
reason: o.reason,
|
|
1940
|
-
was_clean: o.wasClean
|
|
1941
|
-
})), me(e) && ir(i.gobj_timer, ze(e, "timeout_retry")), 0;
|
|
1931
|
+
return At("Websocket opened: " + e.priv.url), Sr(e), 0;
|
|
1942
1932
|
}
|
|
1943
1933
|
function wr(e, t, n, r) {
|
|
1944
|
-
|
|
1934
|
+
let o = e.priv, i = n.e, l = n.url;
|
|
1935
|
+
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", {
|
|
1936
|
+
url: l,
|
|
1937
|
+
remote_yuno_name: o.remote_yuno_name,
|
|
1938
|
+
remote_yuno_role: o.remote_yuno_role,
|
|
1939
|
+
remote_yuno_service: o.remote_yuno_service
|
|
1940
|
+
})) : ($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", {
|
|
1941
|
+
url: l,
|
|
1942
|
+
remote_yuno_name: o.remote_yuno_name,
|
|
1943
|
+
remote_yuno_role: o.remote_yuno_role,
|
|
1944
|
+
remote_yuno_service: o.remote_yuno_service,
|
|
1945
|
+
code: i.code,
|
|
1946
|
+
reason: i.reason,
|
|
1947
|
+
was_clean: i.wasClean
|
|
1948
|
+
})), me(e) && ir(o.gobj_timer, function(e) {
|
|
1949
|
+
let t = e.priv, n = qe(e, "timeout_retry"), r = qe(e, "timeout_retry_max");
|
|
1950
|
+
r < n && (r = n);
|
|
1951
|
+
t.retry_ms = t.retry_ms ? Math.min(2 * t.retry_ms, r) : n;
|
|
1952
|
+
let o = .2 * t.retry_ms, i = t.retry_ms - o + 2 * Math.random() * o;
|
|
1953
|
+
return Math.max(1, Math.round(i));
|
|
1954
|
+
}(e)), 0;
|
|
1945
1955
|
}
|
|
1946
1956
|
function Dr(e, t, n, r) {
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1957
|
+
return Sr(e), 0;
|
|
1958
|
+
}
|
|
1959
|
+
function Rr(e, t, n, r) {
|
|
1960
|
+
let o = e.priv;
|
|
1961
|
+
sr(o.gobj_timer);
|
|
1962
|
+
let i = Un(e, n, gr, !0), l = pn(e, i, "src_yuno", ""), s = pn(e, i, "src_role", ""), _ = pn(e, i, "src_service", "");
|
|
1950
1963
|
et(e, "remote_yuno_name", l), et(e, "remote_yuno_role", s), et(e, "remote_yuno_service", _);
|
|
1951
|
-
let a =
|
|
1964
|
+
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", {});
|
|
1952
1965
|
if (a < 0) {
|
|
1953
|
-
|
|
1966
|
+
hr(e);
|
|
1954
1967
|
let t = {
|
|
1955
|
-
url:
|
|
1968
|
+
url: ze(e, "url"),
|
|
1956
1969
|
result: a,
|
|
1957
1970
|
comment: u,
|
|
1958
1971
|
username: c,
|
|
@@ -1962,8 +1975,8 @@ var gobjJs = function(e) {
|
|
|
1962
1975
|
};
|
|
1963
1976
|
$e(e) ? lt(Re(e), "EV_ON_ID_NAK", t, e) : mt(e, "EV_ON_ID_NAK", t);
|
|
1964
1977
|
} else {
|
|
1965
|
-
if (tt(e, "ST_SESSION"),
|
|
1966
|
-
|
|
1978
|
+
if (tt(e, "ST_SESSION"), o.inside_on_open = !0, o.retry_ms = 0, !o.inform_on_close) {
|
|
1979
|
+
o.inform_on_close = !0;
|
|
1967
1980
|
let t = {
|
|
1968
1981
|
username: c,
|
|
1969
1982
|
remote_yuno_name: l,
|
|
@@ -1973,119 +1986,119 @@ var gobjJs = function(e) {
|
|
|
1973
1986
|
};
|
|
1974
1987
|
$e(e) ? lt(Re(e), "EV_ON_OPEN", t, e) : mt(e, "EV_ON_OPEN", t);
|
|
1975
1988
|
}
|
|
1976
|
-
|
|
1989
|
+
o.inside_on_open = !1, function(e) {
|
|
1977
1990
|
let t = bt(e, null, null, null);
|
|
1978
1991
|
for (let n = 0; n < t.length; n++) jr(e, t[n]);
|
|
1979
1992
|
}(e);
|
|
1980
1993
|
}
|
|
1981
1994
|
return 0;
|
|
1982
1995
|
}
|
|
1983
|
-
function
|
|
1984
|
-
let
|
|
1996
|
+
function kr(e, t, n, r) {
|
|
1997
|
+
let o = e.priv.url, i = function(e, t) {
|
|
1985
1998
|
let n;
|
|
1986
1999
|
try {
|
|
1987
2000
|
n = JSON.parse(t);
|
|
1988
2001
|
} catch (e) {
|
|
1989
|
-
return
|
|
2002
|
+
return kt("parsing inter_event json: " + e), null;
|
|
1990
2003
|
}
|
|
1991
|
-
if (!(n instanceof Object)) return
|
|
2004
|
+
if (!(n instanceof Object)) return kt("parsing inter_event: websocket data not a json object"), null;
|
|
1992
2005
|
let r = n.event;
|
|
1993
|
-
if (!r) return
|
|
1994
|
-
if ("string" != typeof r) return
|
|
1995
|
-
let
|
|
1996
|
-
return
|
|
2006
|
+
if (!r) return kt("parsing inter_event: no event"), null;
|
|
2007
|
+
if ("string" != typeof r) return kt("parsing inter_event: event not a string"), null;
|
|
2008
|
+
let o = n.kw;
|
|
2009
|
+
return o ? o instanceof Object ? {
|
|
1997
2010
|
event: r,
|
|
1998
|
-
kw:
|
|
1999
|
-
} : (
|
|
2011
|
+
kw: o || {}
|
|
2012
|
+
} : (kt("parsing inter_event: kw not a json object"), null) : (kt("parsing inter_kw: no kw"), null);
|
|
2000
2013
|
}(0, n.data);
|
|
2001
2014
|
if (Je(Te(), "trace_inter_event")) {
|
|
2002
|
-
let e = Oe(Te()) + " <== " +
|
|
2003
|
-
r ? r(e,
|
|
2015
|
+
let e = Oe(Te()) + " <== " + o, t = n.data.length, r = Ye(Te(), "trace_ievent_callback");
|
|
2016
|
+
r ? r(e, i, 2, t) : yr(0, e, i);
|
|
2004
2017
|
}
|
|
2005
|
-
let l =
|
|
2018
|
+
let l = i.event, s = i.kw;
|
|
2006
2019
|
if ("ST_SESSION" !== nt(e)) {
|
|
2007
|
-
if (
|
|
2020
|
+
if (ot(e, l, R.EVF_PUBLIC_EVENT)) {
|
|
2008
2021
|
if (0 === lt(e, l, s, e)) return 0;
|
|
2009
|
-
} else
|
|
2010
|
-
return
|
|
2022
|
+
} else kt(`${we(e)}: event UNKNOWN in not-session state ${l}`);
|
|
2023
|
+
return hr(e), -1;
|
|
2011
2024
|
}
|
|
2012
|
-
|
|
2013
|
-
let _ =
|
|
2014
|
-
if (u !==
|
|
2015
|
-
let c =
|
|
2025
|
+
i = null;
|
|
2026
|
+
let _ = Fn(e, s), a = Un(e, s, gr), u = pn(e, a, "dst_role", "");
|
|
2027
|
+
if (u.toLowerCase() !== Se().toLowerCase()) return kt(`"It's not my role, dst_role: ${u}, my_role: ${Se()}`), 0;
|
|
2028
|
+
let c = pn(e, a, "dst_service", "");
|
|
2016
2029
|
if ("__subscribing__" === _) return -1;
|
|
2017
2030
|
if ("__unsubscribing__" === _) return -1;
|
|
2018
|
-
if (
|
|
2031
|
+
if (ot(e, l, R.EVF_PUBLIC_EVENT)) return lt(e, l, s, e), 0;
|
|
2019
2032
|
let f = ee(c, !0);
|
|
2020
2033
|
if (f) {
|
|
2021
|
-
if (!
|
|
2034
|
+
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;
|
|
2022
2035
|
lt(f, l, s, e);
|
|
2023
2036
|
} else $e(e) ? lt(Re(e), l, s, e) : mt(e, l, s);
|
|
2024
2037
|
return 0;
|
|
2025
2038
|
}
|
|
2026
|
-
function
|
|
2039
|
+
function $r(e, t, n, r) {
|
|
2027
2040
|
return 0;
|
|
2028
2041
|
}
|
|
2029
|
-
function
|
|
2042
|
+
function Ar(e, t, n, r) {
|
|
2030
2043
|
return 0;
|
|
2031
2044
|
}
|
|
2032
|
-
var
|
|
2045
|
+
var Ir = {
|
|
2033
2046
|
mt_create: function(e) {
|
|
2034
2047
|
let t = e.priv;
|
|
2035
|
-
t.gobj_timer = se(Oe(e), "C_TIMER", {}, e), t.url =
|
|
2036
|
-
const n =
|
|
2048
|
+
t.gobj_timer = se(Oe(e), "C_TIMER", {}, e), t.url = ze(e, "url"), t.remote_yuno_name = ze(e, "remote_yuno_name"), t.remote_yuno_role = ze(e, "remote_yuno_role"), t.remote_yuno_service = ze(e, "remote_yuno_service"), et(e, "wanted_yuno_name", t.remote_yuno_name), et(e, "wanted_yuno_role", t.remote_yuno_role), et(e, "wanted_yuno_service", t.remote_yuno_service);
|
|
2049
|
+
const n = Qe(e, "subscriber");
|
|
2037
2050
|
n && gt(e, null, {}, n);
|
|
2038
2051
|
},
|
|
2039
2052
|
mt_writing: function(e, t) {
|
|
2040
2053
|
let n = e.priv;
|
|
2041
2054
|
switch (t) {
|
|
2042
2055
|
case "url":
|
|
2043
|
-
n.url =
|
|
2056
|
+
n.url = ze(e, "url");
|
|
2044
2057
|
break;
|
|
2045
2058
|
case "remote_yuno_name":
|
|
2046
|
-
n.remote_yuno_name =
|
|
2059
|
+
n.remote_yuno_name = ze(e, "remote_yuno_name");
|
|
2047
2060
|
break;
|
|
2048
2061
|
case "remote_yuno_role":
|
|
2049
|
-
n.remote_yuno_role =
|
|
2062
|
+
n.remote_yuno_role = ze(e, "remote_yuno_role");
|
|
2050
2063
|
break;
|
|
2051
|
-
case "remote_yuno_service": n.remote_yuno_service =
|
|
2064
|
+
case "remote_yuno_service": n.remote_yuno_service = ze(e, "remote_yuno_service");
|
|
2052
2065
|
}
|
|
2053
2066
|
},
|
|
2054
2067
|
mt_start: function(e) {
|
|
2055
2068
|
let t = e.priv;
|
|
2056
|
-
return ae(t.gobj_timer), t.websocket =
|
|
2069
|
+
return ae(t.gobj_timer), t.retry_ms = 0, t.websocket = mr(e), 0;
|
|
2057
2070
|
},
|
|
2058
2071
|
mt_stop: function(e) {
|
|
2059
2072
|
let t = e.priv;
|
|
2060
|
-
return
|
|
2073
|
+
return sr(t.gobj_timer), fe(t.gobj_timer), t.websocket && hr(e), 0;
|
|
2061
2074
|
},
|
|
2062
2075
|
mt_destroy: function(e) {},
|
|
2063
2076
|
mt_stats: function(e, t, n, r) {
|
|
2064
|
-
if ("ST_SESSION" !== nt(e)) return
|
|
2077
|
+
if ("ST_SESSION" !== nt(e)) return kt("Not in session"), null;
|
|
2065
2078
|
n || (n = {});
|
|
2066
|
-
let
|
|
2067
|
-
return
|
|
2079
|
+
let o = vr(e, Oe(r), pn(e, n, "service", null, 0)), i = yn(e, n, "__md_stats__", null, ht.KW_EXTRACT);
|
|
2080
|
+
return i || (i = {}), Pn(e, n, "stats_stack", {
|
|
2068
2081
|
stats: t,
|
|
2069
|
-
kw:
|
|
2070
|
-
}),
|
|
2082
|
+
kw: i
|
|
2083
|
+
}), Pn(e, n, gr, o), n.__stats__ = t, Cn(e, n, "__stats__"), Tr(e, "EV_MT_STATS", n, r), null;
|
|
2071
2084
|
},
|
|
2072
2085
|
mt_command_parser: function(e, t, n, r) {
|
|
2073
|
-
if ("ST_SESSION" !== nt(e)) return
|
|
2086
|
+
if ("ST_SESSION" !== nt(e)) return kt("Not in session"), null;
|
|
2074
2087
|
n || (n = {});
|
|
2075
|
-
let
|
|
2076
|
-
return
|
|
2088
|
+
let o = vr(e, Oe(r), pn(e, n, "service", "", 0)), i = yn(e, n, "__md_command__", null, ht.KW_EXTRACT);
|
|
2089
|
+
return i || (i = {}), Pn(e, n, "command_stack", {
|
|
2077
2090
|
command: t,
|
|
2078
|
-
kw:
|
|
2079
|
-
}),
|
|
2091
|
+
kw: i
|
|
2092
|
+
}), Pn(e, n, gr, o), n.__command__ = t, Cn(e, n, "__command__"), Tr(e, "EV_MT_COMMAND", n, r), null;
|
|
2080
2093
|
},
|
|
2081
2094
|
mt_inject_event: function(e, t, n, r) {
|
|
2082
2095
|
if ("ST_SESSION" !== nt(e)) return window.console.error("Not in session"), -1;
|
|
2083
|
-
if (n || (n = {}),
|
|
2096
|
+
if (n || (n = {}), Un(e, n, gr));
|
|
2084
2097
|
else {
|
|
2085
|
-
let
|
|
2086
|
-
|
|
2098
|
+
let o = vr(e, Oe(r), pn(e, n, "__service__", 0, 0));
|
|
2099
|
+
Wt(n, "__service__"), Pn(e, n, "__message__", t), Pn(e, n, gr, o);
|
|
2087
2100
|
}
|
|
2088
|
-
return
|
|
2101
|
+
return Cn(e, n, "__message__"), Tr(e, t, n, r);
|
|
2089
2102
|
},
|
|
2090
2103
|
mt_subscription_added: function(e, t) {
|
|
2091
2104
|
let n = e.priv;
|
|
@@ -2095,77 +2108,77 @@ var gobjJs = function(e) {
|
|
|
2095
2108
|
let n = e.priv;
|
|
2096
2109
|
if ("ST_SESSION" !== nt(e) || !n.websocket) return 0;
|
|
2097
2110
|
if (n.inside_on_open) return 0;
|
|
2098
|
-
if (
|
|
2099
|
-
let r = {},
|
|
2100
|
-
return
|
|
2111
|
+
if (on(t.event)) return 0;
|
|
2112
|
+
let r = {}, o = t.__global__, i = t.__config__, l = t.__filter__, s = t.__service__, _ = t.subscriber;
|
|
2113
|
+
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);
|
|
2101
2114
|
}
|
|
2102
2115
|
};
|
|
2103
|
-
return e.GObj = O, e.SDATA =
|
|
2116
|
+
return e.GObj = O, e.SDATA = S, 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__", {
|
|
2104
2117
|
enumerable: !0,
|
|
2105
2118
|
get: function() {
|
|
2106
2119
|
return p;
|
|
2107
2120
|
}
|
|
2108
|
-
}), e.build_command_response =
|
|
2121
|
+
}), e.build_command_response = o, e.build_path = function(...e) {
|
|
2109
2122
|
let t = "", n = 0;
|
|
2110
2123
|
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++));
|
|
2111
2124
|
return t;
|
|
2112
|
-
}, e.build_stats_response =
|
|
2125
|
+
}, e.build_stats_response = i, e.clean_name = function(e) {
|
|
2113
2126
|
return e.replace(/[?# ^:]/g, "_");
|
|
2114
|
-
}, e.clear_timeout =
|
|
2115
|
-
let [r,
|
|
2116
|
-
if (!r) return void
|
|
2127
|
+
}, e.clear_timeout = sr, e.cmp_two_simple_json = an, e.command_parser = function(e, t, n, r) {}, e.createElement2 = function e(t, n) {
|
|
2128
|
+
let [r, o, i, l] = t;
|
|
2129
|
+
if (!r) return void kt("Tag must be a valid HTML element.");
|
|
2117
2130
|
let s = document.createElement(r), _ = "";
|
|
2118
|
-
if (
|
|
2131
|
+
if (o && "object" == typeof o) for (let e of Object.keys(o)) if ("style" === e && "object" == typeof o[e]) {
|
|
2119
2132
|
let t = "";
|
|
2120
|
-
for (const n of Object.keys(
|
|
2133
|
+
for (const n of Object.keys(o[e])) t += `${n}: ${o[e][n]};`;
|
|
2121
2134
|
s.style.cssText = t;
|
|
2122
|
-
} else "style" === e ? s.style.cssText =
|
|
2123
|
-
if (
|
|
2124
|
-
else if (n && _) s.textContent = n(_) ||
|
|
2125
|
-
else s.textContent =
|
|
2126
|
-
else if (
|
|
2127
|
-
if (
|
|
2128
|
-
else for (let t of
|
|
2129
|
-
} else
|
|
2135
|
+
} 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]);
|
|
2136
|
+
if (Xt(i)) if (i = i.trim(), i.length > 0 && "<" === i[0]) s.appendChild(Kn(i));
|
|
2137
|
+
else if (n && _) s.textContent = n(_) || i;
|
|
2138
|
+
else s.textContent = i;
|
|
2139
|
+
else if (Ht(i)) {
|
|
2140
|
+
if (i.length > 0) if (Xt(i[0])) s.appendChild(e(i, n));
|
|
2141
|
+
else for (let t of i) Array.isArray(t) && t.length > 0 ? s.appendChild(e(t, n)) : t instanceof HTMLElement && s.appendChild(t);
|
|
2142
|
+
} else i instanceof HTMLElement || i instanceof Text || i instanceof SVGElement ? s.appendChild(i) : null != i && (kt("content ignored"), Lt(i));
|
|
2130
2143
|
if (l && "object" == typeof l) for (const e of Object.keys(l)) s.addEventListener(e, l[e]);
|
|
2131
2144
|
return s;
|
|
2132
|
-
}, e.createOneHtml =
|
|
2133
|
-
let n =
|
|
2134
|
-
return
|
|
2145
|
+
}, e.createOneHtml = Kn, e.create_json_record = function(e, t) {
|
|
2146
|
+
let n = Pt(e);
|
|
2147
|
+
return Ft(n, t), n;
|
|
2135
2148
|
}, e.create_template_record = function(e, t) {
|
|
2136
2149
|
let n = {};
|
|
2137
2150
|
return t || (t = {}), Object.entries(e).forEach(([e, r]) => {
|
|
2138
|
-
let
|
|
2139
|
-
Qt(r) && (
|
|
2151
|
+
let o;
|
|
2152
|
+
Qt(r) && (o = r.default), n[e] = yn(null, t, e, o);
|
|
2140
2153
|
}), n;
|
|
2141
|
-
}, e.current_timestamp =
|
|
2142
|
-
let n =
|
|
2154
|
+
}, e.current_timestamp = xn, e.data_type_t = y, e.db_list_persistent_attrs = function(e, t) {
|
|
2155
|
+
let n = Nn(qn(e), null, !1), r = {};
|
|
2143
2156
|
return n && Qt(n) && (r = jn(e, n, t, !1)), r;
|
|
2144
2157
|
}, e.db_load_persistent_attrs = function(e, t) {
|
|
2145
|
-
let n = Be(e,
|
|
2158
|
+
let n = Be(e, E.SDF_PERSIST), r = Nn(qn(e), null, !1);
|
|
2146
2159
|
if (r && Qt(r)) {
|
|
2147
|
-
let
|
|
2148
|
-
|
|
2160
|
+
let o = jn(e, r, t, !1);
|
|
2161
|
+
o = jn(e, o, n, !1), He(e, o, E.SDF_PERSIST);
|
|
2149
2162
|
}
|
|
2150
2163
|
}, e.db_remove_persistent_attrs = function(e, t) {
|
|
2151
|
-
let n =
|
|
2152
|
-
0 ===
|
|
2164
|
+
let n = On(e, Nn(qn(e), null, !1), t, !1);
|
|
2165
|
+
0 === Jt(n) ? Dn(qn(e)) : wn(qn(e), n);
|
|
2153
2166
|
}, e.db_save_persistent_attrs = function(e, t) {
|
|
2154
|
-
let n = jn(e, Be(e,
|
|
2155
|
-
r && Qt(r) &&
|
|
2167
|
+
let n = jn(e, Be(e, E.SDF_PERSIST), t, !1), r = Nn(qn(e), null, !1);
|
|
2168
|
+
return r && Qt(r) && Gt(n, r), wn(qn(e), n);
|
|
2156
2169
|
}, e.debounce = function(e, t = 0, n = !1) {
|
|
2157
|
-
let r = null,
|
|
2170
|
+
let r = null, o = null, i = null;
|
|
2158
2171
|
const l = (...l) => {
|
|
2159
|
-
|
|
2172
|
+
i = this, o = l;
|
|
2160
2173
|
const s = n && !r;
|
|
2161
2174
|
clearTimeout(r), r = setTimeout(() => {
|
|
2162
|
-
r = null, n || e.apply(
|
|
2163
|
-
}, t), s && e.apply(
|
|
2175
|
+
r = null, n || e.apply(i, o);
|
|
2176
|
+
}, t), s && e.apply(i, o);
|
|
2164
2177
|
};
|
|
2165
2178
|
return l.flush = () => {
|
|
2166
|
-
r && (clearTimeout(r), r = null, e.apply(
|
|
2179
|
+
r && (clearTimeout(r), r = null, e.apply(i, o));
|
|
2167
2180
|
}, l.cancel = () => {
|
|
2168
|
-
clearTimeout(r), r = null,
|
|
2181
|
+
clearTimeout(r), r = null, o = null, i = null;
|
|
2169
2182
|
}, l;
|
|
2170
2183
|
}, e.delete_from_list = function(e, t) {
|
|
2171
2184
|
for (let n = 0; n < e.length; n++) if (t === e[n]) return e.splice(n, 1), !0;
|
|
@@ -2177,33 +2190,33 @@ var gobjJs = function(e) {
|
|
|
2177
2190
|
Object.assign(t, e);
|
|
2178
2191
|
}
|
|
2179
2192
|
return t;
|
|
2180
|
-
}, e.empty_string =
|
|
2193
|
+
}, e.empty_string = on, e.escapeHtml = Mn, e.event_flag_t = R, e.gclass_add_ev_action = J, e.gclass_add_event_type = z, e.gclass_add_state = B, e.gclass_check_fsm = H, e.gclass_create = M, e.gclass_event_type = Q, e.gclass_find_by_name = X, e.gclass_flag_t = N, e.gclass_unregister = K, e.getPositionRelativeToBody = function(e) {
|
|
2181
2194
|
if (!e) return {
|
|
2182
2195
|
top: 0,
|
|
2183
2196
|
left: 0,
|
|
2184
2197
|
right: 0,
|
|
2185
2198
|
bottom: 0
|
|
2186
2199
|
};
|
|
2187
|
-
const { top: t, left: n, width: r, height:
|
|
2200
|
+
const { top: t, left: n, width: r, height: o } = e.getBoundingClientRect?.() || {
|
|
2188
2201
|
top: 0,
|
|
2189
2202
|
left: 0,
|
|
2190
2203
|
width: 0,
|
|
2191
2204
|
height: 0
|
|
2192
|
-
},
|
|
2205
|
+
}, 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;
|
|
2193
2206
|
return {
|
|
2194
2207
|
top: t + l,
|
|
2195
2208
|
left: n + s,
|
|
2196
2209
|
right: n + s + r,
|
|
2197
|
-
bottom: t + l +
|
|
2210
|
+
bottom: t + l + o
|
|
2198
2211
|
};
|
|
2199
|
-
}, e.get_function_name =
|
|
2212
|
+
}, e.get_function_name = Jn, e.get_now = function() {
|
|
2200
2213
|
return Math.floor(Date.now() / 1e3);
|
|
2201
2214
|
}, e.gobj_bottom_gobj = Ie, e.gobj_change_parent = function(e, t) {
|
|
2202
|
-
return Ae(e) ? (
|
|
2203
|
-
}, e.gobj_change_state = tt, e.gobj_command = function(e, t, r,
|
|
2204
|
-
if (Ae(e)) return
|
|
2205
|
-
let l = p &&
|
|
2206
|
-
return l && (P(n("🌀🌀 mach(%s%s), cmd: %s, src: %s", me(e) ? "" : "!!", we(e), t, we(
|
|
2215
|
+
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);
|
|
2216
|
+
}, e.gobj_change_state = tt, e.gobj_command = function(e, t, r, i) {
|
|
2217
|
+
if (Ae(e)) return kt("gobj NULL or DESTROYED"), -1;
|
|
2218
|
+
let l = p && qe(p, "tracing");
|
|
2219
|
+
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);
|
|
2207
2220
|
}, e.gobj_create = function(e, t, n, r) {
|
|
2208
2221
|
return le(e, t, n, r, 0);
|
|
2209
2222
|
}, e.gobj_create2 = le, e.gobj_create_default_service = function(e, t, n, r) {
|
|
@@ -2215,71 +2228,71 @@ var gobjJs = function(e) {
|
|
|
2215
2228
|
}, e.gobj_create_yuno = function(e, t, n) {
|
|
2216
2229
|
return le(e, t, n, null, w.gobj_flag_yuno);
|
|
2217
2230
|
}, e.gobj_current_state = nt, e.gobj_default_service = Z, e.gobj_destroy = _e, e.gobj_find_child = Me, e.gobj_find_gobj = function(e, t) {
|
|
2218
|
-
if (
|
|
2231
|
+
if (on(t)) return null;
|
|
2219
2232
|
const n = t.toLowerCase();
|
|
2220
2233
|
return "__default_service__" === n ? m : "__yuno__" === n || "__root__" === n ? p : Ke(p, t);
|
|
2221
|
-
}, 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 =
|
|
2234
|
+
}, 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 = xe, 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) {
|
|
2222
2235
|
return u ? u(e, t) : null;
|
|
2223
2236
|
}, e.gobj_list_subscriptions = function(e) {
|
|
2224
2237
|
let t = bt(e, null, null, null);
|
|
2225
2238
|
for (let n = 0; n < t.length; n++) {
|
|
2226
|
-
let r = t[n],
|
|
2227
|
-
|
|
2239
|
+
let r = t[n], o = mn(e, r, "publisher", null, ht.KW_REQUIRED), i = mn(e, r, "subscriber", null, ht.KW_REQUIRED);
|
|
2240
|
+
Kt(r, "s_event", pn(e, r, "event", "", ht.KW_REQUIRED)), Kt(r, "s_publisher", we(o)), Kt(r, "s_subscriber", we(i));
|
|
2228
2241
|
}
|
|
2229
2242
|
let n = pt(e, 0, null, 0);
|
|
2230
2243
|
for (let t = 0; t < n.length; t++) {
|
|
2231
|
-
let r = n[t],
|
|
2232
|
-
|
|
2244
|
+
let r = n[t], o = mn(e, r, "publisher", null, ht.KW_REQUIRED), i = mn(e, r, "subscriber", null, ht.KW_REQUIRED);
|
|
2245
|
+
Kt(r, "s_event", pn(e, r, "event", "", ht.KW_REQUIRED)), Kt(r, "s_publisher", we(o)), Kt(r, "s_subscriber", we(i));
|
|
2233
2246
|
}
|
|
2234
2247
|
return {
|
|
2235
2248
|
subscriptions: t,
|
|
2236
2249
|
subscribings: n,
|
|
2237
|
-
"total subscriptions":
|
|
2238
|
-
total_subscribings:
|
|
2250
|
+
"total subscriptions": qt(t),
|
|
2251
|
+
total_subscribings: qt(n)
|
|
2239
2252
|
};
|
|
2240
2253
|
}, e.gobj_load_persistent_attrs = function(e, t) {
|
|
2241
|
-
return
|
|
2254
|
+
return ye(e) ? s ? s(e, t) : -1 : (kt(`${we(e)}: Only gobj services can load/save writable-persistent`), -1);
|
|
2242
2255
|
}, e.gobj_match_children = function(e, t) {
|
|
2243
|
-
if (Ae(e)) return
|
|
2256
|
+
if (Ae(e)) return kt("gobj NULL or DESTROYED"), null;
|
|
2244
2257
|
t = t || {};
|
|
2245
2258
|
let n = [];
|
|
2246
2259
|
const r = e.dl_children;
|
|
2247
2260
|
for (let e = 0; e < r.length; e++) {
|
|
2248
|
-
const
|
|
2249
|
-
We(
|
|
2261
|
+
const o = r[e];
|
|
2262
|
+
We(o, t) && n.push(o);
|
|
2250
2263
|
}
|
|
2251
2264
|
return n;
|
|
2252
2265
|
}, e.gobj_match_children_tree = function(e, t) {
|
|
2253
2266
|
t = t || {};
|
|
2254
2267
|
let n = [];
|
|
2255
2268
|
return function e(n, r) {
|
|
2256
|
-
let
|
|
2257
|
-
for (let r = 0; r <
|
|
2258
|
-
let
|
|
2259
|
-
We(
|
|
2269
|
+
let o = r.dl_children;
|
|
2270
|
+
for (let r = 0; r < o.length; r++) {
|
|
2271
|
+
let i = o[r];
|
|
2272
|
+
We(i, t) && n.push(i), e(n, i);
|
|
2260
2273
|
}
|
|
2261
2274
|
}(n, e), n;
|
|
2262
2275
|
}, 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) {
|
|
2263
2276
|
setTimeout(() => {
|
|
2264
2277
|
Ae(e) || lt(e, t, n, r);
|
|
2265
2278
|
}, 10);
|
|
2266
|
-
}, e.gobj_publish_event = mt, e.gobj_read_attr =
|
|
2267
|
-
return
|
|
2279
|
+
}, e.gobj_publish_event = mt, e.gobj_read_attr = Ye, e.gobj_read_attrs = Be, e.gobj_read_bool_attr = Je, e.gobj_read_integer_attr = qe, e.gobj_read_pointer_attr = Qe, e.gobj_read_str_attr = ze, e.gobj_remove_persistent_attrs = function(e, t) {
|
|
2280
|
+
return ye(e) ? a ? a(e, t) : -1 : (kt(`${we(e)}: Only gobj services can load/save writable-persistent`), -1);
|
|
2268
2281
|
}, e.gobj_reset_volatil_attrs = function(e) {
|
|
2269
2282
|
return function(e, t, n) {
|
|
2270
|
-
if (Ae(e)) return
|
|
2283
|
+
if (Ae(e)) return kt("gobj NULL or DESTROYED"), -1;
|
|
2271
2284
|
let r = e.gclass.attrs_table;
|
|
2272
|
-
for (let
|
|
2273
|
-
const
|
|
2274
|
-
if (
|
|
2275
|
-
const t = C(e, e.jn_attrs,
|
|
2276
|
-
Qt(e.priv) && e.priv.hasOwnProperty(
|
|
2285
|
+
for (let o = 0; o < r.length; o++) {
|
|
2286
|
+
const i = r[o];
|
|
2287
|
+
if (i.name && !(n && i.flag & n) && (-1 === t || i.flag & t)) {
|
|
2288
|
+
const t = C(e, e.jn_attrs, i);
|
|
2289
|
+
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);
|
|
2277
2290
|
}
|
|
2278
2291
|
}
|
|
2279
2292
|
return 0;
|
|
2280
|
-
}(e,
|
|
2293
|
+
}(e, E.SDF_VOLATIL, 0);
|
|
2281
2294
|
}, e.gobj_save_persistent_attrs = function(e, t) {
|
|
2282
|
-
return
|
|
2295
|
+
return ye(e) ? _ ? _(e, t) : -1 : (kt(`${we(e)}: Only gobj services can load/save writable-persistent`), -1);
|
|
2283
2296
|
}, e.gobj_search_path = Ke, e.gobj_send_event = lt, e.gobj_services = function() {
|
|
2284
2297
|
let e = [];
|
|
2285
2298
|
for (const t of Object.keys(b)) Yt(e, t);
|
|
@@ -2287,27 +2300,27 @@ var gobjJs = function(e) {
|
|
|
2287
2300
|
}, e.gobj_set_bottom_gobj = Le, e.gobj_set_trace_machine_format = function(e) {
|
|
2288
2301
|
L = 1 === Number(e) ? 1 : 0;
|
|
2289
2302
|
}, e.gobj_short_name = we, e.gobj_start = ae, e.gobj_start_children = function(e) {
|
|
2290
|
-
return Ae(e) ? (
|
|
2303
|
+
return Ae(e) ? (kt("gobj NULL or DESTROYED"), -1) : Ue(e, k.WALK_FIRST2LAST, ue, 0, 0);
|
|
2291
2304
|
}, e.gobj_start_tree = function(e) {
|
|
2292
|
-
return Ae(e) ? (
|
|
2293
|
-
}, e.gobj_start_up = function(e, t, n, r,
|
|
2294
|
-
s = t, _ = n, a = r, u =
|
|
2305
|
+
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)));
|
|
2306
|
+
}, e.gobj_start_up = function(e, t, n, r, o, i, l) {
|
|
2307
|
+
s = t, _ = n, a = r, u = o, c = i, f = l;
|
|
2295
2308
|
const d = [["EV_STATE_CHANGED", R.EVF_SYSTEM_EVENT | R.EVF_OUTPUT_EVENT | R.EVF_NO_WARN_SUBS], [0, 0]];
|
|
2296
2309
|
for (let e = 0; e < d.length; e++) {
|
|
2297
2310
|
let t = d[e][0], n = d[e][1];
|
|
2298
|
-
|
|
2311
|
+
q(g, t, n);
|
|
2299
2312
|
}
|
|
2300
2313
|
return 0;
|
|
2301
|
-
}, e.gobj_stats = function(e, t, r,
|
|
2302
|
-
return Ae(e) ? (
|
|
2314
|
+
}, e.gobj_stats = function(e, t, r, o) {
|
|
2315
|
+
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);
|
|
2303
2316
|
}, e.gobj_stop = fe, e.gobj_stop_children = de, e.gobj_stop_tree = function(e) {
|
|
2304
|
-
return Ae(e) ? (
|
|
2317
|
+
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));
|
|
2305
2318
|
}, e.gobj_subscribe_event = gt, e.gobj_trace_machine_format = function() {
|
|
2306
2319
|
return L;
|
|
2307
2320
|
}, e.gobj_unsubscribe_event = function(e, t, n, r) {
|
|
2308
|
-
if (null == n && (n = {}), !e) return
|
|
2309
|
-
if (!r) return
|
|
2310
|
-
const
|
|
2321
|
+
if (null == n && (n = {}), !e) return kt(`publisher NULL: ev ${t}`), 0;
|
|
2322
|
+
if (!r) return kt(`subscriber NULL: ev ${t}`), 0;
|
|
2323
|
+
const o = new Set([
|
|
2311
2324
|
"__config__",
|
|
2312
2325
|
"__global__",
|
|
2313
2326
|
"__local__",
|
|
@@ -2315,102 +2328,102 @@ var gobjJs = function(e) {
|
|
|
2315
2328
|
"__service__"
|
|
2316
2329
|
]);
|
|
2317
2330
|
if (Object.keys(n).forEach((n) => {
|
|
2318
|
-
|
|
2319
|
-
}),
|
|
2320
|
-
else if (!(
|
|
2321
|
-
let
|
|
2322
|
-
for (let t = 0; t <
|
|
2323
|
-
let n =
|
|
2331
|
+
o.has(n) || kt(`${we(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
|
|
2332
|
+
}), on(t)) t = "";
|
|
2333
|
+
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;
|
|
2334
|
+
let i = ut(e.dl_subscriptions, e, t, n, r), l = 0;
|
|
2335
|
+
for (let t = 0; t < i.length; t++) {
|
|
2336
|
+
let n = i[t];
|
|
2324
2337
|
ft(e, n, !1, !1), l++;
|
|
2325
2338
|
}
|
|
2326
|
-
return l || (
|
|
2327
|
-
}, 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,
|
|
2328
|
-
if (!
|
|
2329
|
-
let
|
|
2339
|
+
return l || ($t(`${we(e)}: No subscription found`), Lt(n, "No subscription found")), 0;
|
|
2340
|
+
}, 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) {
|
|
2341
|
+
if (!Xt(t)) return kt(n("gobj_write_attr(%s): path must be a string", we(e))), -1;
|
|
2342
|
+
let i, l = e.jn_attrs, s = t.split("`");
|
|
2330
2343
|
if (s.length <= 1) {
|
|
2331
|
-
let
|
|
2332
|
-
return
|
|
2344
|
+
let o = t;
|
|
2345
|
+
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);
|
|
2333
2346
|
}
|
|
2334
2347
|
let _ = s.length;
|
|
2335
2348
|
for (let t = 0; t < _; t++) {
|
|
2336
|
-
|
|
2337
|
-
let n = Me(e, { __gobj_name__:
|
|
2349
|
+
i = s[t];
|
|
2350
|
+
let n = Me(e, { __gobj_name__: i });
|
|
2338
2351
|
if (n && t < _ - 1) {
|
|
2339
2352
|
e = n;
|
|
2340
2353
|
continue;
|
|
2341
2354
|
}
|
|
2342
|
-
let
|
|
2343
|
-
if (
|
|
2355
|
+
let o = e.jn_attrs;
|
|
2356
|
+
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;
|
|
2344
2357
|
break;
|
|
2345
2358
|
}
|
|
2346
|
-
return
|
|
2347
|
-
}, 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 =
|
|
2359
|
+
return kt(n("gobj_write_attr(%s): attr not found '%s'", we(e), i)), -1;
|
|
2360
|
+
}, 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 = je, e.gobj_yuno_name = ve, e.gobj_yuno_role = Se, 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) {
|
|
2348
2361
|
return e instanceof Date && !isNaN(e);
|
|
2349
|
-
}, e.is_function =
|
|
2350
|
-
if (!
|
|
2362
|
+
}, e.is_function = nn, e.is_gobj = rn, e.is_metadata_key = function(e) {
|
|
2363
|
+
if (!Xt(e)) return !1;
|
|
2351
2364
|
let t;
|
|
2352
2365
|
for (t = 0; t < e.length && "_" === e[t] && !(t > 2); t++);
|
|
2353
2366
|
return 2 === t;
|
|
2354
|
-
}, e.is_null =
|
|
2355
|
-
if (!
|
|
2367
|
+
}, e.is_null = tn, e.is_number = Zt, e.is_object = Qt, e.is_private_key = function(e) {
|
|
2368
|
+
if (!Xt(e)) return !1;
|
|
2356
2369
|
let t;
|
|
2357
2370
|
for (t = 0; t < e.length && "_" === e[t] && !(t > 2); t++);
|
|
2358
2371
|
return 1 === t;
|
|
2359
2372
|
}, e.is_pure_number = function(e) {
|
|
2360
|
-
if (
|
|
2361
|
-
if (!
|
|
2373
|
+
if (Zt(e)) return !0;
|
|
2374
|
+
if (!Xt(e)) return !1;
|
|
2362
2375
|
const t = Number(e);
|
|
2363
2376
|
return !isNaN(t) && "" !== e.trim() && !isNaN(t);
|
|
2364
|
-
}, e.is_string =
|
|
2365
|
-
let
|
|
2366
|
-
if (!
|
|
2367
|
-
if (
|
|
2368
|
-
let
|
|
2369
|
-
for (; (
|
|
2370
|
-
if (0 === l.length && s) if (
|
|
2371
|
-
let e =
|
|
2377
|
+
}, e.is_string = Xt, e.jdb_delete = function(e, t, n, r) {
|
|
2378
|
+
let o = yn(null, yn(null, e, "topics", null, 0), t, null, 0);
|
|
2379
|
+
if (!o) return kt("jdb_delete: topic not found: " + t), null;
|
|
2380
|
+
if (on(r.id)) return kt("jdb_delete: record without id: " + r), It(r), null;
|
|
2381
|
+
let i, l = n.split("`"), s = o;
|
|
2382
|
+
for (; (i = l.shift()) && !on(i) && s;) Qt(s) && (s = yn(null, s, e.hook, null, 0)), s = Vn(s, null, i, !1);
|
|
2383
|
+
if (0 === l.length && s) if (Ht(s)) {
|
|
2384
|
+
let e = $n(s, r.id);
|
|
2372
2385
|
e >= 0 && s.splice(e, 1);
|
|
2373
2386
|
} else {
|
|
2374
|
-
let t =
|
|
2387
|
+
let t = yn(null, s, e.hook, null, 0), n = $n(t, r.id);
|
|
2375
2388
|
n >= 0 && t.splice(n, 1);
|
|
2376
2389
|
}
|
|
2377
|
-
return
|
|
2390
|
+
return o;
|
|
2378
2391
|
}, e.jdb_get = function(e, t, n, r) {
|
|
2379
|
-
let
|
|
2380
|
-
return
|
|
2392
|
+
let o = yn(null, yn(null, e, "topics", null, 0), t, null, 0);
|
|
2393
|
+
return o ? (void 0 === r && (r = !0), Vn(o, e.hook, n, r)) : (kt("jdb_get: topic not found: " + t), null);
|
|
2381
2394
|
}, e.jdb_get_by_idx = function(e, t, n) {
|
|
2382
|
-
let r =
|
|
2383
|
-
return r ? n < r.length ? r[n] : {} : (
|
|
2395
|
+
let r = yn(null, yn(null, e, "topics", null, 0), t, null, 0);
|
|
2396
|
+
return r ? n < r.length ? r[n] : {} : (kt("jdb_get_by_idx: topic not found: " + t), null);
|
|
2384
2397
|
}, e.jdb_get_topic = function(e, t) {
|
|
2385
|
-
let n =
|
|
2386
|
-
if (!n) return
|
|
2387
|
-
return
|
|
2398
|
+
let n = yn(null, e, "topics", null, 0);
|
|
2399
|
+
if (!n) return kt("jdb topics section not found"), It(e), null;
|
|
2400
|
+
return yn(null, n, t, null, 0) || (kt("jdb topic not found: " + t), It(n), null);
|
|
2388
2401
|
}, e.jdb_init = function(e, t, n) {
|
|
2389
|
-
n && (e =
|
|
2390
|
-
let r =
|
|
2391
|
-
|
|
2392
|
-
let
|
|
2393
|
-
return
|
|
2394
|
-
"__" !== t.substring(0, 2) &&
|
|
2402
|
+
n && (e = Pt(e));
|
|
2403
|
+
let r = yn(null, e, "type", [], 1);
|
|
2404
|
+
pn(null, e, "hook", "data", 1);
|
|
2405
|
+
let o = yn(null, e, "schema", {}, 1), i = yn(null, e, "topics", {}, 1);
|
|
2406
|
+
return Gn(o, function(e, t, n, o) {
|
|
2407
|
+
"__" !== t.substring(0, 2) && yn(null, i, o, Pt(r), 1);
|
|
2395
2408
|
}, t), e;
|
|
2396
2409
|
}, e.jdb_update = function(e, t, n, r) {
|
|
2397
|
-
let
|
|
2398
|
-
if (!
|
|
2399
|
-
if (
|
|
2400
|
-
let
|
|
2401
|
-
for (; (
|
|
2402
|
-
if (0 === l.length && s) if (
|
|
2410
|
+
let o = yn(null, yn(null, e, "topics", null, 0), t, null, 0);
|
|
2411
|
+
if (!o) return kt("jdb_update: topic not found: " + t), null;
|
|
2412
|
+
if (on(r.id)) return kt("jdb_update: record without id: " + r), It(r), null;
|
|
2413
|
+
let i, l = n.split("`"), s = o;
|
|
2414
|
+
for (; (i = l.shift()) && !on(i) && s;) Qt(s) && (s = yn(null, s, e.hook, [], 1)), s = Vn(s, null, i, !1);
|
|
2415
|
+
if (0 === l.length && s) if (Ht(s)) s.push(r);
|
|
2403
2416
|
else if (s.id === r.id) Object.assign(s, r);
|
|
2404
2417
|
else {
|
|
2405
|
-
let t =
|
|
2418
|
+
let t = yn(null, s, e.hook, [], 1), n = Vn(t, e.hook, r.id, !1);
|
|
2406
2419
|
n ? Object.assign(n, r) : t.push(r);
|
|
2407
2420
|
}
|
|
2408
|
-
return
|
|
2409
|
-
}, e.json_array_append =
|
|
2421
|
+
return o;
|
|
2422
|
+
}, e.json_array_append = xt, e.json_array_append_new = Yt, e.json_array_extend = function(e, t) {
|
|
2410
2423
|
return t ? (Array.prototype.push.apply(e, t), e) : e;
|
|
2411
|
-
}, e.json_array_remove =
|
|
2424
|
+
}, 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 = Kt, 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) {
|
|
2412
2425
|
try {
|
|
2413
|
-
let n =
|
|
2426
|
+
let n = Wn(e);
|
|
2414
2427
|
switch (t) {
|
|
2415
2428
|
case "header": return JSON.parse(n.header);
|
|
2416
2429
|
case "signature": return JSON.parse(n.signature);
|
|
@@ -2419,122 +2432,122 @@ var gobjJs = function(e) {
|
|
|
2419
2432
|
} catch (e) {
|
|
2420
2433
|
return null;
|
|
2421
2434
|
}
|
|
2422
|
-
}, e.jwtDecode =
|
|
2423
|
-
if (e && !
|
|
2424
|
-
r || (r =
|
|
2425
|
-
let
|
|
2426
|
-
if (
|
|
2427
|
-
let
|
|
2428
|
-
r(
|
|
2435
|
+
}, e.jwtDecode = Wn, e.kw_clone_by_keys = jn, e.kw_clone_by_not_keys = On, e.kw_collect = function(e, t, n, r) {
|
|
2436
|
+
if (e && !rn(e) && kt("GObj bad instanceof"), !t) return null;
|
|
2437
|
+
r || (r = Sn);
|
|
2438
|
+
let o = [];
|
|
2439
|
+
if (Ht(t)) for (let e = 0; e < t.length; e++) {
|
|
2440
|
+
let i = t[e];
|
|
2441
|
+
r(i, n) && o.push(i);
|
|
2429
2442
|
}
|
|
2430
2443
|
else {
|
|
2431
|
-
if (!Qt(t)) return
|
|
2432
|
-
r(t, n) &&
|
|
2444
|
+
if (!Qt(t)) return kt("kw_select() BAD kw parameter"), null;
|
|
2445
|
+
r(t, n) && o.push(t);
|
|
2433
2446
|
}
|
|
2434
|
-
return
|
|
2435
|
-
}, e.kw_delete =
|
|
2436
|
-
if (!n || !
|
|
2437
|
-
for (let e = 0; e < t.length; e++) if (
|
|
2438
|
-
return r &&
|
|
2439
|
-
}, e.kw_find_path =
|
|
2440
|
-
e && !
|
|
2441
|
-
let
|
|
2442
|
-
const l =
|
|
2443
|
-
if (void 0 ===
|
|
2447
|
+
return o;
|
|
2448
|
+
}, e.kw_delete = gn, e.kw_find_json_in_list = function(e, t, n, r) {
|
|
2449
|
+
if (!n || !Ht(t)) return r && kt("item NULL or kw_list is not a list"), -1;
|
|
2450
|
+
for (let e = 0; e < t.length; e++) if (Ut(n, t[e])) return e;
|
|
2451
|
+
return r && kt("item not found in this list"), -1;
|
|
2452
|
+
}, 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) {
|
|
2453
|
+
e && !rn(e) && kt("GObj bad instanceof");
|
|
2454
|
+
let i = fn(e, t, n, !1);
|
|
2455
|
+
const l = o && o & ht.KW_REQUIRED, s = o && o & ht.KW_CREATE, _ = o && o & ht.KW_EXTRACT;
|
|
2456
|
+
if (void 0 === i) {
|
|
2444
2457
|
if (s) {
|
|
2445
|
-
let
|
|
2446
|
-
return En(e, t, n,
|
|
2458
|
+
let o = Array(r);
|
|
2459
|
+
return En(e, t, n, o), o;
|
|
2447
2460
|
}
|
|
2448
|
-
return l && (
|
|
2449
|
-
}
|
|
2450
|
-
return _ &&
|
|
2451
|
-
}, e.kw_get_local_storage_value =
|
|
2452
|
-
e && !
|
|
2453
|
-
let
|
|
2454
|
-
const l =
|
|
2455
|
-
if (void 0 ===
|
|
2461
|
+
return l && (kt(`path not found: '${n}'`), Lt(t)), Array(r);
|
|
2462
|
+
}
|
|
2463
|
+
return _ && gn(e, t, n), Ht(i) ? Array(i) : (l && (kt(`path value MUST BE an array: ${n}`), It(t)), Array(r));
|
|
2464
|
+
}, e.kw_get_local_storage_value = Nn, e.kw_get_pointer = mn, e.kw_get_real = function(e, t, n, r, o) {
|
|
2465
|
+
e && !rn(e) && kt("GObj bad instanceof");
|
|
2466
|
+
let i = fn(e, t, n, !1);
|
|
2467
|
+
const l = o && o & ht.KW_REQUIRED, s = o && o & ht.KW_CREATE, _ = o && o & ht.KW_EXTRACT;
|
|
2468
|
+
if (void 0 === i) {
|
|
2456
2469
|
if (s) {
|
|
2457
|
-
let
|
|
2458
|
-
return En(e, t, n,
|
|
2470
|
+
let o = Number(r);
|
|
2471
|
+
return En(e, t, n, o), o;
|
|
2459
2472
|
}
|
|
2460
|
-
return l && (
|
|
2473
|
+
return l && (kt(`path not found: '${n}'`), Lt(t)), Number(r);
|
|
2461
2474
|
}
|
|
2462
|
-
return _ &&
|
|
2463
|
-
}, e.kw_get_str =
|
|
2464
|
-
if (e && !
|
|
2465
|
-
r || (r =
|
|
2466
|
-
let
|
|
2467
|
-
if (
|
|
2468
|
-
let
|
|
2469
|
-
r(
|
|
2475
|
+
return _ && gn(e, t, n), Zt(i) ? Number(i) : (l && (kt(`path value MUST BE a number: ${n}`), It(t)), Number(r));
|
|
2476
|
+
}, e.kw_get_str = pn, e.kw_has_key = cn, e.kw_match_simple = Sn, e.kw_pop = un, e.kw_remove_local_storage_value = Dn, e.kw_select = function(e, t, n, r) {
|
|
2477
|
+
if (e && !rn(e) && kt("GObj bad instanceof"), !t) return null;
|
|
2478
|
+
r || (r = Sn);
|
|
2479
|
+
let o = [];
|
|
2480
|
+
if (Ht(t)) for (let e = 0; e < t.length; e++) {
|
|
2481
|
+
let i = t[e];
|
|
2482
|
+
r(i, n) && o.push(Pt(i));
|
|
2470
2483
|
}
|
|
2471
2484
|
else {
|
|
2472
|
-
if (!Qt(t)) return
|
|
2473
|
-
r(t, n) &&
|
|
2485
|
+
if (!Qt(t)) return kt("kw_select() BAD kw parameter"), null;
|
|
2486
|
+
r(t, n) && o.push(Pt(t));
|
|
2474
2487
|
}
|
|
2475
|
-
return
|
|
2476
|
-
}, e.kw_set_dict_value = En, e.kw_set_local_storage_value =
|
|
2477
|
-
e && !
|
|
2478
|
-
let
|
|
2479
|
-
return
|
|
2488
|
+
return o;
|
|
2489
|
+
}, 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) {
|
|
2490
|
+
e && !rn(e) && kt("GObj bad instanceof");
|
|
2491
|
+
let i = kn(e, t, n, r, o);
|
|
2492
|
+
return i.length > 0 ? i[0] : null;
|
|
2480
2493
|
}, e.kwid_get_ids = function(e, t) {
|
|
2481
|
-
if (e && !
|
|
2494
|
+
if (e && !rn(e) && kt("GObj bad instanceof"), !t) return [];
|
|
2482
2495
|
let n = [];
|
|
2483
|
-
if (
|
|
2496
|
+
if (Xt(t)) n.push(t);
|
|
2484
2497
|
else if (Qt(t)) for (let e in t) t.hasOwnProperty(e) && n.push(e);
|
|
2485
|
-
else
|
|
2486
|
-
if (
|
|
2498
|
+
else Ht(t) && t.forEach(function(t) {
|
|
2499
|
+
if (Xt(t)) on(t) || n.push(t);
|
|
2487
2500
|
else if (Qt(t)) {
|
|
2488
|
-
let r =
|
|
2501
|
+
let r = pn(e, t, "id", 0, 0);
|
|
2489
2502
|
r && n.push(r);
|
|
2490
2503
|
}
|
|
2491
2504
|
});
|
|
2492
2505
|
return n;
|
|
2493
|
-
}, e.kwid_match_id =
|
|
2494
|
-
e && !
|
|
2506
|
+
}, e.kwid_match_id = Rn, e.kwid_new_dict = function(e, t, n) {
|
|
2507
|
+
e && !rn(e) && kt("GObj bad instanceof");
|
|
2495
2508
|
let r = {};
|
|
2496
|
-
if (
|
|
2497
|
-
else if (
|
|
2498
|
-
let
|
|
2499
|
-
|
|
2509
|
+
if (on(n) || (t = fn(e, t, n)), Qt(t)) r = t;
|
|
2510
|
+
else if (Ht(t)) for (let n = 0; n < t.length; n++) {
|
|
2511
|
+
let o = t[n], i = pn(e, o, "id", "", 0);
|
|
2512
|
+
on(i) || (r[i] = o);
|
|
2500
2513
|
}
|
|
2501
|
-
else
|
|
2514
|
+
else kt(`${we(e)} kwid_new_dict: data type unknown`);
|
|
2502
2515
|
return r;
|
|
2503
2516
|
}, e.list2options = function(e, t, n) {
|
|
2504
2517
|
t = t || "id", n = n || "value";
|
|
2505
2518
|
let r = [];
|
|
2506
|
-
if (
|
|
2507
|
-
let
|
|
2508
|
-
if (
|
|
2509
|
-
id: e[
|
|
2510
|
-
value: e[
|
|
2519
|
+
if (Ht(e)) for (let o = 0; o < e.length; o++) {
|
|
2520
|
+
let i = e[o];
|
|
2521
|
+
if (Xt(i)) r.push({
|
|
2522
|
+
id: e[o],
|
|
2523
|
+
value: e[o]
|
|
2511
2524
|
});
|
|
2512
|
-
else if (Qt(
|
|
2525
|
+
else if (Qt(i)) {
|
|
2513
2526
|
let e = {};
|
|
2514
|
-
if (
|
|
2515
|
-
if (!
|
|
2516
|
-
if (!(zt(
|
|
2517
|
-
|
|
2527
|
+
if (cn(i, t)) {
|
|
2528
|
+
if (!cn(i, n)) {
|
|
2529
|
+
if (!(zt(i) > 0)) {
|
|
2530
|
+
kt("list2options(): object without field value: " + n);
|
|
2518
2531
|
continue;
|
|
2519
2532
|
}
|
|
2520
|
-
n = Object.keys(
|
|
2533
|
+
n = Object.keys(i)[0];
|
|
2521
2534
|
}
|
|
2522
|
-
e.id =
|
|
2535
|
+
e.id = i[t], e.value = i[n];
|
|
2523
2536
|
} else {
|
|
2524
|
-
if (!(zt(
|
|
2525
|
-
|
|
2537
|
+
if (!(zt(i) > 0)) {
|
|
2538
|
+
kt("list2options(): object without field id: " + t);
|
|
2526
2539
|
continue;
|
|
2527
2540
|
}
|
|
2528
|
-
t = Object.keys(
|
|
2541
|
+
t = Object.keys(i)[0], e.id = t, e.value = i[t];
|
|
2529
2542
|
}
|
|
2530
2543
|
r.push(e);
|
|
2531
|
-
} else
|
|
2544
|
+
} else kt("list2options(): case1 not implemented");
|
|
2532
2545
|
}
|
|
2533
2546
|
else if (Qt(e)) for (let t of Object.keys(e)) r.push({
|
|
2534
2547
|
id: t,
|
|
2535
2548
|
value: t
|
|
2536
2549
|
});
|
|
2537
|
-
else
|
|
2550
|
+
else kt("list2options(): case2 not implemented");
|
|
2538
2551
|
return r;
|
|
2539
2552
|
}, e.load_json_file = function(e, t, n) {
|
|
2540
2553
|
let r = new XMLHttpRequest();
|
|
@@ -2542,18 +2555,18 @@ var gobjJs = function(e) {
|
|
|
2542
2555
|
if (4 === r.readyState) if (200 === r.status || 0 === (e = r).status && e.responseText && e.responseURL.startsWith("file:")) try {
|
|
2543
2556
|
t(JSON.parse(r.responseText));
|
|
2544
2557
|
} catch (e) {
|
|
2545
|
-
n && (
|
|
2558
|
+
n && (kt(`JSON parse status ${r.status}, error: ${e.message}`), n(r.status));
|
|
2546
2559
|
}
|
|
2547
2560
|
else n && n(r.status);
|
|
2548
2561
|
var e;
|
|
2549
2562
|
}, r.send();
|
|
2550
|
-
}, e.log_debug =
|
|
2551
|
-
let t =
|
|
2552
|
-
vt && vt("%c" + n + " INFO: " + String(t), "color:cyan"),
|
|
2553
|
-
}, e.log_warning =
|
|
2563
|
+
}, e.log_debug = At, e.log_error = kt, e.log_info = function(e) {
|
|
2564
|
+
let t = Rt(e), n = xn();
|
|
2565
|
+
vt && Ot && vt("%c" + n + " INFO: " + String(t), "color:cyan"), wt("info", t, n);
|
|
2566
|
+
}, e.log_warning = $t, e.msg_iev_get_msg_type = Fn, e.msg_iev_get_stack = Un, e.msg_iev_push_stack = Pn, e.msg_iev_read_key = In, e.msg_iev_set_msg_type = Cn, e.msg_iev_write_key = Ln, e.node_uuid = Bn, e.parseBoolean = ln, e.parseSVG = function(e) {
|
|
2554
2567
|
return new DOMParser().parseFromString(e, "image/svg+xml").firstChild;
|
|
2555
2568
|
}, e.refresh_language = function(e, t) {
|
|
2556
|
-
|
|
2569
|
+
nn(t) ? (e || (e = document), e.querySelectorAll("[data-i18n]").forEach(function(e) {
|
|
2557
2570
|
let n = e.getAttribute("data-i18n");
|
|
2558
2571
|
for (let r of e.childNodes) if (r.nodeType === Node.TEXT_NODE) {
|
|
2559
2572
|
n || (n = r.nodeValue), r.nodeValue = t(n);
|
|
@@ -2565,25 +2578,28 @@ var gobjJs = function(e) {
|
|
|
2565
2578
|
}), e.querySelectorAll("[data-i18n-aria-label]").forEach(function(e) {
|
|
2566
2579
|
let n = e.getAttribute("data-i18n-aria-label");
|
|
2567
2580
|
n && e.setAttribute("aria-label", t(n));
|
|
2568
|
-
})
|
|
2581
|
+
}), e.querySelectorAll("[data-i18n-placeholder]").forEach(function(e) {
|
|
2582
|
+
let n = e.getAttribute("data-i18n-placeholder");
|
|
2583
|
+
n && e.setAttribute("placeholder", t(n));
|
|
2584
|
+
})) : kt("You must supply a translation function");
|
|
2569
2585
|
}, e.register_c_ievent_cli = function() {
|
|
2570
2586
|
return function(e) {
|
|
2571
|
-
if (
|
|
2587
|
+
if (pr) return kt(`GClass ALREADY created: ${e}`), -1;
|
|
2572
2588
|
const t = [
|
|
2573
2589
|
["ST_DISCONNECTED", [
|
|
2574
2590
|
[
|
|
2575
2591
|
"EV_ON_OPEN",
|
|
2576
|
-
|
|
2592
|
+
Nr,
|
|
2577
2593
|
"ST_WAIT_IDENTITY_CARD_ACK"
|
|
2578
2594
|
],
|
|
2579
2595
|
[
|
|
2580
2596
|
"EV_ON_CLOSE",
|
|
2581
|
-
|
|
2597
|
+
wr,
|
|
2582
2598
|
null
|
|
2583
2599
|
],
|
|
2584
2600
|
[
|
|
2585
2601
|
"EV_TIMEOUT",
|
|
2586
|
-
|
|
2602
|
+
Or,
|
|
2587
2603
|
null
|
|
2588
2604
|
],
|
|
2589
2605
|
[
|
|
@@ -2595,22 +2611,22 @@ var gobjJs = function(e) {
|
|
|
2595
2611
|
["ST_WAIT_IDENTITY_CARD_ACK", [
|
|
2596
2612
|
[
|
|
2597
2613
|
"EV_ON_MESSAGE",
|
|
2598
|
-
|
|
2614
|
+
kr,
|
|
2599
2615
|
null
|
|
2600
2616
|
],
|
|
2601
2617
|
[
|
|
2602
2618
|
"EV_IDENTITY_CARD_ACK",
|
|
2603
|
-
|
|
2619
|
+
Rr,
|
|
2604
2620
|
null
|
|
2605
2621
|
],
|
|
2606
2622
|
[
|
|
2607
2623
|
"EV_ON_CLOSE",
|
|
2608
|
-
|
|
2624
|
+
wr,
|
|
2609
2625
|
"ST_DISCONNECTED"
|
|
2610
2626
|
],
|
|
2611
2627
|
[
|
|
2612
2628
|
"EV_TIMEOUT",
|
|
2613
|
-
|
|
2629
|
+
Dr,
|
|
2614
2630
|
null
|
|
2615
2631
|
],
|
|
2616
2632
|
[
|
|
@@ -2622,22 +2638,22 @@ var gobjJs = function(e) {
|
|
|
2622
2638
|
["ST_SESSION", [
|
|
2623
2639
|
[
|
|
2624
2640
|
"EV_ON_MESSAGE",
|
|
2625
|
-
|
|
2641
|
+
kr,
|
|
2626
2642
|
null
|
|
2627
2643
|
],
|
|
2628
2644
|
[
|
|
2629
2645
|
"EV_MT_STATS",
|
|
2630
|
-
|
|
2646
|
+
$r,
|
|
2631
2647
|
null
|
|
2632
2648
|
],
|
|
2633
2649
|
[
|
|
2634
2650
|
"EV_MT_COMMAND",
|
|
2635
|
-
|
|
2651
|
+
Ar,
|
|
2636
2652
|
null
|
|
2637
2653
|
],
|
|
2638
2654
|
[
|
|
2639
2655
|
"EV_ON_CLOSE",
|
|
2640
|
-
|
|
2656
|
+
wr,
|
|
2641
2657
|
"ST_DISCONNECTED"
|
|
2642
2658
|
],
|
|
2643
2659
|
[
|
|
@@ -2648,7 +2664,7 @@ var gobjJs = function(e) {
|
|
|
2648
2664
|
]],
|
|
2649
2665
|
[null, null]
|
|
2650
2666
|
];
|
|
2651
|
-
return (
|
|
2667
|
+
return (pr = M(e, [
|
|
2652
2668
|
["EV_ON_MESSAGE", R.EVF_OUTPUT_EVENT],
|
|
2653
2669
|
["EV_IDENTITY_CARD_ACK", R.EVF_PUBLIC_EVENT],
|
|
2654
2670
|
["EV_ON_ID_NAK", R.EVF_PUBLIC_EVENT | R.EVF_OUTPUT_EVENT],
|
|
@@ -2659,50 +2675,52 @@ var gobjJs = function(e) {
|
|
|
2659
2675
|
["EV_ON_OPEN_ERROR", R.EVF_OUTPUT_EVENT | R.EVF_NO_WARN_SUBS],
|
|
2660
2676
|
["EV_TIMEOUT", 0],
|
|
2661
2677
|
[null, 0]
|
|
2662
|
-
], t,
|
|
2678
|
+
], t, Ir, 0, dr, br, 0, 0, 0, N.gcflag_no_check_output_events)) ? 0 : -1;
|
|
2663
2679
|
}("C_IEVENT_CLI");
|
|
2664
2680
|
}, e.register_c_timer = function() {
|
|
2665
2681
|
return function(e) {
|
|
2666
|
-
if (
|
|
2682
|
+
if (nr) return kt(`GClass ALREADY created: ${e}`), -1;
|
|
2667
2683
|
const t = [["ST_IDLE", [[
|
|
2668
2684
|
"EV_TIMEOUT",
|
|
2669
|
-
|
|
2685
|
+
rr,
|
|
2670
2686
|
null
|
|
2671
2687
|
]]]];
|
|
2672
|
-
return (
|
|
2688
|
+
return (nr = M(e, [
|
|
2673
2689
|
["EV_TIMEOUT", R.EVF_OUTPUT_EVENT],
|
|
2674
2690
|
["EV_TIMEOUT_PERIODIC", R.EVF_OUTPUT_EVENT],
|
|
2675
2691
|
[0, 0]
|
|
2676
|
-
], t,
|
|
2692
|
+
], t, or, 0, er, tr, 0, 0, 0, N.gcflag_manual_start)) ? 0 : -1;
|
|
2677
2693
|
}("C_TIMER");
|
|
2678
2694
|
}, e.register_c_yuno = function() {
|
|
2679
2695
|
return function(e) {
|
|
2680
|
-
if (
|
|
2696
|
+
if (ur) return kt(`GClass ALREADY created: ${e}`), -1;
|
|
2681
2697
|
const t = [["ST_IDLE", [[
|
|
2682
2698
|
"EV_TIMEOUT_PERIODIC",
|
|
2683
|
-
|
|
2699
|
+
cr,
|
|
2684
2700
|
null
|
|
2685
2701
|
]]]];
|
|
2686
|
-
return (
|
|
2702
|
+
return (ur = M(e, [["EV_TIMEOUT_PERIODIC", R.EVF_OUTPUT_EVENT | R.EVF_NO_WARN_SUBS], [0, 0]], t, fr, 0, _r, ar, 0, 0, 0, 0)) ? 0 : -1;
|
|
2687
2703
|
}("C_YUNO");
|
|
2688
2704
|
}, e.safeSrc = function(e) {
|
|
2689
2705
|
if (!e) return "";
|
|
2690
2706
|
const t = String(e).trim();
|
|
2691
|
-
return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" :
|
|
2692
|
-
}, e.sdata_flag_t =
|
|
2707
|
+
return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : Mn(t);
|
|
2708
|
+
}, e.sdata_flag_t = E, e.send_http_json_post = function(e, t, n) {
|
|
2693
2709
|
let r = new XMLHttpRequest();
|
|
2694
2710
|
r.open("POST", e), r.setRequestHeader("Accept", "application/json"), r.setRequestHeader("Content-Type", "application/json"), r.onreadystatechange = function() {
|
|
2695
2711
|
4 === r.readyState && n(r.status, r.responseText);
|
|
2696
2712
|
}, r.send(t);
|
|
2713
|
+
}, e.set_console_log_enabled = function(e) {
|
|
2714
|
+
Ot = !!e;
|
|
2697
2715
|
}, e.set_log_callback = function(e) {
|
|
2698
|
-
|
|
2699
|
-
}, e.set_remote_log_functions =
|
|
2700
|
-
var r = (e + "").substring(0, n),
|
|
2701
|
-
return r ===
|
|
2716
|
+
jt = "function" == typeof e ? e : null;
|
|
2717
|
+
}, 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) {
|
|
2718
|
+
var r = (e + "").substring(0, n), o = (t + "").substring(0, n);
|
|
2719
|
+
return r === o ? 0 : r > o ? 1 : -1;
|
|
2702
2720
|
}, e.strs_in_list = function(e, t, n) {
|
|
2703
|
-
if (!e) return
|
|
2704
|
-
if (!t) return
|
|
2705
|
-
for (let r = 0; r < t.length; r++) if (
|
|
2721
|
+
if (!e) return kt("ERROR: strs_in_list() list empty"), !1;
|
|
2722
|
+
if (!t) return kt("ERROR: strs_in_list() str empty"), !1;
|
|
2723
|
+
for (let r = 0; r < t.length; r++) if (An(e, t[r], n)) return !0;
|
|
2706
2724
|
return !1;
|
|
2707
2725
|
}, e.strstr = function(e, t, n) {
|
|
2708
2726
|
var r;
|
|
@@ -2721,13 +2739,13 @@ var gobjJs = function(e) {
|
|
|
2721
2739
|
placeholder: void 0,
|
|
2722
2740
|
fkey: null
|
|
2723
2741
|
};
|
|
2724
|
-
if (
|
|
2742
|
+
if (Xt(t)) {
|
|
2725
2743
|
let e = t.split(".");
|
|
2726
2744
|
for (let t = 0; t < e.length; t++) {
|
|
2727
2745
|
let r = e[t];
|
|
2728
|
-
if (
|
|
2729
|
-
else if (
|
|
2730
|
-
else if (
|
|
2746
|
+
if (An(Qn, r)) n.real_type || (n.real_type = r);
|
|
2747
|
+
else if (An(Xn, r)) n.type || (n.type = r);
|
|
2748
|
+
else if (An(Hn, r)) switch (r) {
|
|
2731
2749
|
case "writable":
|
|
2732
2750
|
n.is_writable = !0;
|
|
2733
2751
|
break;
|
|
@@ -2739,23 +2757,23 @@ var gobjJs = function(e) {
|
|
|
2739
2757
|
}
|
|
2740
2758
|
}
|
|
2741
2759
|
n.real_type || (n.real_type = "string");
|
|
2742
|
-
} else Qt(t) ? (n =
|
|
2760
|
+
} else Qt(t) ? (n = Zn(t), n.name || (n.name = e), n.header || (n.header = e)) : Ht(t) && (n.real_type = "array", n.enum_list = t);
|
|
2743
2761
|
return n.type || (n.type = n.real_type), n;
|
|
2744
2762
|
}, e.timeTracker = function(e = "Time Tracker", t = !1) {
|
|
2745
2763
|
const n = e, r = performance.now();
|
|
2746
|
-
let
|
|
2747
|
-
return t &&
|
|
2748
|
-
const l = performance.now(), s = (l -
|
|
2749
|
-
return t &&
|
|
2764
|
+
let o = r;
|
|
2765
|
+
return t && $t(`--\x3e ${n} - starting`), { mark: (e = "Intermediate", i = "") => {
|
|
2766
|
+
const l = performance.now(), s = (l - o) / 1e3, _ = (l - r) / 1e3;
|
|
2767
|
+
return t && $t(`--\x3e ${n} ${e} - partial: ${s} sec, total: ${_} sec, ${i}`), o = l, {
|
|
2750
2768
|
partial: s,
|
|
2751
2769
|
total: _
|
|
2752
2770
|
};
|
|
2753
2771
|
} };
|
|
2754
|
-
}, e.trace_json =
|
|
2755
|
-
if (
|
|
2772
|
+
}, e.trace_json = Lt, e.trace_msg = It, e.treedb_decoder_fkey = zn, e.treedb_decoder_hook = function(e, t) {
|
|
2773
|
+
if (Xt(t)) {
|
|
2756
2774
|
if (-1 === t.indexOf("^")) {
|
|
2757
2775
|
let n, r = e.hook;
|
|
2758
|
-
if (1 !==
|
|
2776
|
+
if (1 !== Jt(r)) return kt("bad hook 1"), kt(e), kt(t), null;
|
|
2759
2777
|
for (let e of Object.keys(r)) {
|
|
2760
2778
|
n = e, r[e];
|
|
2761
2779
|
break;
|
|
@@ -2767,7 +2785,7 @@ var gobjJs = function(e) {
|
|
|
2767
2785
|
}
|
|
2768
2786
|
{
|
|
2769
2787
|
let n = t.split("^");
|
|
2770
|
-
return 2 !== n.length ? (
|
|
2788
|
+
return 2 !== n.length ? (kt("bad hook 2"), kt(e), kt(t), null) : {
|
|
2771
2789
|
topic_name: n[0],
|
|
2772
2790
|
id: n[1]
|
|
2773
2791
|
};
|
|
@@ -2776,14 +2794,14 @@ var gobjJs = function(e) {
|
|
|
2776
2794
|
return Qt(t) ? {
|
|
2777
2795
|
topic_name: t.topic_name,
|
|
2778
2796
|
id: t.id
|
|
2779
|
-
} : (
|
|
2797
|
+
} : (kt("bad hook 3"), kt(e), kt(t), null);
|
|
2780
2798
|
}, e.treedb_encoder_fkey = function(e, t) {
|
|
2781
2799
|
let n = zn(e, t);
|
|
2782
2800
|
return n ? n.topic_name + "^" + n.id + "^" + n.hook_name : null;
|
|
2783
|
-
}, e.treedb_get_field_desc =
|
|
2784
|
-
if (
|
|
2801
|
+
}, e.treedb_get_field_desc = Zn, e.treedb_hook_data_size = function(e) {
|
|
2802
|
+
if (Ht(e) && 1 === zt(e)) {
|
|
2785
2803
|
let t = e[0];
|
|
2786
|
-
return
|
|
2804
|
+
return cn(t, "size") ? t.size : 1;
|
|
2787
2805
|
}
|
|
2788
2806
|
return zt(e);
|
|
2789
2807
|
}, e.vsprintf = function(e, t) {
|