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