@yuneta/gobj-js 7.7.2 → 7.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +76 -2
- package/dist/gobj-js.cjs.js +96 -25
- package/dist/gobj-js.cjs.js.map +1 -1
- package/dist/gobj-js.cjs.min.js +755 -734
- package/dist/gobj-js.cjs.min.js.map +1 -1
- package/dist/gobj-js.es.js +96 -26
- package/dist/gobj-js.es.js.map +1 -1
- package/dist/gobj-js.es.min.js +809 -787
- package/dist/gobj-js.es.min.js.map +1 -1
- package/dist/gobj-js.iife.js +96 -25
- package/dist/gobj-js.iife.js.map +1 -1
- package/dist/gobj-js.iife.min.js +806 -785
- package/dist/gobj-js.iife.min.js.map +1 -1
- package/dist/gobj-js.umd.js +96 -25
- package/dist/gobj-js.umd.js.map +1 -1
- package/dist/gobj-js.umd.min.js +1128 -1107
- package/dist/gobj-js.umd.min.js.map +1 -1
- package/package.json +2 -3
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
|
-
},
|
|
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 T = 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
|
-
function
|
|
599
|
-
let e =
|
|
600
|
-
return e ?
|
|
598
|
+
function Te() {
|
|
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,
|
|
@@ -863,25 +863,25 @@ var it = Object.freeze({
|
|
|
863
863
|
v(h.DTP_JSON, "__local__", 0, null, "local kw, remove in publishing"),
|
|
864
864
|
v(h.DTP_JSON, "__filter__", 0, null, "filter kw, filter in publishing"),
|
|
865
865
|
v(h.DTP_STRING, "__service__", 0, "", "subscription service"),
|
|
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, Tt = e) : (Et = ht.error, Tt = 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
|
-
|
|
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,9 +1301,9 @@ 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
1308
|
function Tn(e, n, r) {
|
|
1308
1309
|
let o = "", s = !1;
|
|
@@ -1310,23 +1311,23 @@ function Tn(e, n, r) {
|
|
|
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 (o = rn(r) ? t("%s", _) : t("%s`%s", r, _), Qt(a) || zt(a)) {
|
|
1321
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 Tn(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,
|
|
@@ -1654,12 +1656,13 @@ function Hn(e) {
|
|
|
1654
1656
|
is_hidden: !1,
|
|
1655
1657
|
default_value: e.default,
|
|
1656
1658
|
placeholder: e.placeholder,
|
|
1657
|
-
fillspace: e.fillspace || 4
|
|
1659
|
+
fillspace: e.fillspace || 4,
|
|
1660
|
+
fkey: e.fkey || null
|
|
1658
1661
|
};
|
|
1659
1662
|
if (!e.flag) return t;
|
|
1660
1663
|
for (let n = 0; n < e.flag.length; n++) {
|
|
1661
1664
|
let r = e.flag[n];
|
|
1662
|
-
if (
|
|
1665
|
+
if (kn(Hn, r)) {
|
|
1663
1666
|
switch (r) {
|
|
1664
1667
|
case "enum":
|
|
1665
1668
|
t.enum_list = e.enum;
|
|
@@ -1670,7 +1673,7 @@ function Hn(e) {
|
|
|
1670
1673
|
case "table": t.enum_list = e.table;
|
|
1671
1674
|
}
|
|
1672
1675
|
t.type = r;
|
|
1673
|
-
} else if (
|
|
1676
|
+
} else if (kn(Qn, r)) switch (r) {
|
|
1674
1677
|
case "writable":
|
|
1675
1678
|
t.is_writable = !0;
|
|
1676
1679
|
break;
|
|
@@ -1683,26 +1686,26 @@ function Hn(e) {
|
|
|
1683
1686
|
}
|
|
1684
1687
|
return t;
|
|
1685
1688
|
}
|
|
1686
|
-
var
|
|
1689
|
+
var Zn = [
|
|
1687
1690
|
v(h.DTP_POINTER, "subscriber", 0, null, "Subscriber of output events"),
|
|
1688
1691
|
v(h.DTP_BOOLEAN, "periodic", 0, 0, "True for periodic timeouts"),
|
|
1689
1692
|
v(h.DTP_INTEGER, "msec", 0, 0, "Timeout in milliseconds"),
|
|
1690
|
-
|
|
1691
|
-
],
|
|
1693
|
+
T()
|
|
1694
|
+
], er = {
|
|
1692
1695
|
periodic: !1,
|
|
1693
1696
|
msec: 0,
|
|
1694
1697
|
timer_id: -1
|
|
1695
|
-
},
|
|
1696
|
-
function
|
|
1698
|
+
}, tr = null;
|
|
1699
|
+
function nr(e, t, n, r) {
|
|
1697
1700
|
let o = e.priv, s = o.periodic ? "EV_TIMEOUT_PERIODIC" : "EV_TIMEOUT";
|
|
1698
1701
|
return Re(e) ? st(De(e), s, {}, e) : bt(e, s, {}), o.periodic && (o.timer_id = setTimeout(function() {
|
|
1699
1702
|
st(e, "EV_TIMEOUT", {}, e);
|
|
1700
1703
|
}, o.msec)), 0;
|
|
1701
1704
|
}
|
|
1702
|
-
var
|
|
1705
|
+
var rr = {
|
|
1703
1706
|
mt_create: function(e) {
|
|
1704
1707
|
let t = e.priv;
|
|
1705
|
-
const n =
|
|
1708
|
+
const n = ze(e, "subscriber");
|
|
1706
1709
|
n && ft(e, null, {}, n), t.periodic = Be(e, "periodic"), t.msec = Je(e, "msec");
|
|
1707
1710
|
},
|
|
1708
1711
|
mt_writing: function(e, t) {
|
|
@@ -1724,16 +1727,16 @@ var nr = {
|
|
|
1724
1727
|
},
|
|
1725
1728
|
mt_destroy: function(e) {}
|
|
1726
1729
|
};
|
|
1727
|
-
function rr(e, t) {
|
|
1728
|
-
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);
|
|
1729
|
-
}
|
|
1730
1730
|
function or(e, t) {
|
|
1731
|
-
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);
|
|
1732
|
+
}
|
|
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);
|
|
1732
1735
|
}
|
|
1733
|
-
function
|
|
1734
|
-
return e instanceof
|
|
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);
|
|
1735
1738
|
}
|
|
1736
|
-
var
|
|
1739
|
+
var lr = [
|
|
1737
1740
|
v(h.DTP_BOOLEAN, "changesLost", 0, !1, "Set true to warn about leaving page"),
|
|
1738
1741
|
v(h.DTP_BOOLEAN, "browser_beforeunload", 0, !1, "Set true to refreshing browser"),
|
|
1739
1742
|
v(h.DTP_STRING, "__username__", 0, "", "Username"),
|
|
@@ -1758,19 +1761,19 @@ var ir = [
|
|
|
1758
1761
|
v(h.DTP_BOOLEAN, "no_poll", 0, 0, "no poll"),
|
|
1759
1762
|
v(h.DTP_BOOLEAN, "developer", 0, !1, "Developer mode enabled"),
|
|
1760
1763
|
v(h.DTP_INTEGER, "periodic_timeout", 0, "1000", "Timeout periodic, in miliseconds."),
|
|
1761
|
-
|
|
1762
|
-
],
|
|
1763
|
-
function
|
|
1764
|
+
T()
|
|
1765
|
+
], _r = { gobj_timer: null }, ar = null;
|
|
1766
|
+
function ur(e, t, n, r) {
|
|
1764
1767
|
return bt(e, t, n), 0;
|
|
1765
1768
|
}
|
|
1766
|
-
var
|
|
1769
|
+
var cr = {
|
|
1767
1770
|
mt_create: function(e) {
|
|
1768
1771
|
let t = e.priv;
|
|
1769
|
-
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");
|
|
1770
1773
|
},
|
|
1771
1774
|
mt_writing: function(e, t) {},
|
|
1772
1775
|
mt_start: function(e) {
|
|
1773
|
-
return _e(e.priv.gobj_timer),
|
|
1776
|
+
return _e(e.priv.gobj_timer), sr(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
|
|
1774
1777
|
},
|
|
1775
1778
|
mt_stop: function(e) {
|
|
1776
1779
|
return ce(e.priv.gobj_timer), ge(e), 0;
|
|
@@ -1778,28 +1781,30 @@ var ur = {
|
|
|
1778
1781
|
mt_destroy: function(e) {},
|
|
1779
1782
|
mt_play: function(e) {
|
|
1780
1783
|
let t = X();
|
|
1781
|
-
return be(t) || _e(t),
|
|
1784
|
+
return be(t) || _e(t), ye(t) || pe(t), 0;
|
|
1782
1785
|
},
|
|
1783
1786
|
mt_pause: function(e) {
|
|
1784
1787
|
return de(X()), 0;
|
|
1785
1788
|
}
|
|
1786
1789
|
};
|
|
1787
|
-
var
|
|
1788
|
-
v(h.DTP_STRING, "wanted_yuno_role",
|
|
1789
|
-
v(h.DTP_STRING, "wanted_yuno_name",
|
|
1790
|
-
v(h.DTP_STRING, "wanted_yuno_service",
|
|
1791
|
-
v(h.DTP_STRING, "remote_yuno_role",
|
|
1792
|
-
v(h.DTP_STRING, "remote_yuno_name",
|
|
1793
|
-
v(h.DTP_STRING, "remote_yuno_service",
|
|
1794
|
-
v(h.DTP_STRING, "url",
|
|
1795
|
-
v(h.DTP_STRING, "jwt",
|
|
1796
|
-
v(h.DTP_STRING, "cert_pem",
|
|
1797
|
-
v(h.DTP_JSON, "extra_info",
|
|
1798
|
-
v(h.
|
|
1799
|
-
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"),
|
|
1800
1805
|
v(h.DTP_POINTER, "subscriber", 0, 0, "subscriber of output-events. If null then subscriber is the parent"),
|
|
1801
|
-
|
|
1802
|
-
],
|
|
1806
|
+
T()
|
|
1807
|
+
], pr = {
|
|
1803
1808
|
url: null,
|
|
1804
1809
|
remote_yuno_name: null,
|
|
1805
1810
|
remote_yuno_role: null,
|
|
@@ -1807,17 +1812,18 @@ var cr = "ievent_gate_stack", fr = [
|
|
|
1807
1812
|
gobj_timer: null,
|
|
1808
1813
|
inform_on_close: !1,
|
|
1809
1814
|
websocket: null,
|
|
1810
|
-
inside_on_open: !1
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
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");
|
|
1815
1821
|
let n;
|
|
1816
|
-
|
|
1822
|
+
kt(`====> Starting WebSocket to '${t}' (${Ne(e)})`);
|
|
1817
1823
|
try {
|
|
1818
1824
|
n = new WebSocket(t);
|
|
1819
1825
|
} catch (n) {
|
|
1820
|
-
return
|
|
1826
|
+
return xt(`${Ne(e)}: Cannot open WebSocket to '${t}', Error: ${n.message}`), null;
|
|
1821
1827
|
}
|
|
1822
1828
|
return n ? (n.onopen = () => {
|
|
1823
1829
|
st(e, "EV_ON_OPEN", { url: t }, e);
|
|
@@ -1827,32 +1833,32 @@ function dr(e) {
|
|
|
1827
1833
|
data: n.data
|
|
1828
1834
|
}, e);
|
|
1829
1835
|
}, n.onclose = (n) => {
|
|
1830
|
-
ke(e) || (Be(
|
|
1836
|
+
ke(e) || (Be(Ee(), "browser_beforeunload") ? Rt("Close websocket by unload page") : st(e, "EV_ON_CLOSE", {
|
|
1831
1837
|
url: t,
|
|
1832
1838
|
e: n
|
|
1833
1839
|
}, e));
|
|
1834
|
-
}, n) : (
|
|
1840
|
+
}, n) : (xt(`${Ne(e)}: Failed to initialize WebSocket.`), null);
|
|
1835
1841
|
}
|
|
1836
|
-
function
|
|
1842
|
+
function mr(e, t = 1e3, n = "") {
|
|
1837
1843
|
let r = e.priv, o = r.websocket;
|
|
1838
1844
|
if (r.websocket = null, o && o.readyState !== WebSocket.CLOSED && o.readyState !== WebSocket.CLOSING) {
|
|
1839
|
-
|
|
1845
|
+
kt(`Closing WebSocket (Code: ${t}, Reason: "${n}")`);
|
|
1840
1846
|
try {
|
|
1841
1847
|
o.close(t, n);
|
|
1842
1848
|
} catch (e) {
|
|
1843
|
-
|
|
1849
|
+
xt("Error closing WebSocket:", e.message);
|
|
1844
1850
|
}
|
|
1845
|
-
} else
|
|
1851
|
+
} else Rt("WebSocket is already closed or in the process of closing.");
|
|
1846
1852
|
}
|
|
1847
|
-
function
|
|
1848
|
-
let r =
|
|
1853
|
+
function hr(e, t, n) {
|
|
1854
|
+
let r = Mn();
|
|
1849
1855
|
try {
|
|
1850
|
-
|
|
1856
|
+
kt("\n" + r + " " + t + "\n"), At(n);
|
|
1851
1857
|
} catch (e) {
|
|
1852
|
-
|
|
1858
|
+
kt("ERROR in trace_inter_event: " + e);
|
|
1853
1859
|
}
|
|
1854
1860
|
}
|
|
1855
|
-
var
|
|
1861
|
+
var yr = class {
|
|
1856
1862
|
constructor(e, t) {
|
|
1857
1863
|
this.event = e, this.kw = t || {};
|
|
1858
1864
|
}
|
|
@@ -1860,37 +1866,39 @@ var hr = class {
|
|
|
1860
1866
|
function Er(e, t, n, r) {
|
|
1861
1867
|
return function(e, t) {
|
|
1862
1868
|
let n = e.priv, r = JSON.stringify(t);
|
|
1863
|
-
if (Be(
|
|
1864
|
-
let n =
|
|
1865
|
-
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);
|
|
1866
1872
|
}
|
|
1867
|
-
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;
|
|
1868
1874
|
try {
|
|
1869
1875
|
n.websocket.send(r);
|
|
1870
1876
|
} catch (t) {
|
|
1871
|
-
|
|
1877
|
+
xt(`${Ne(e)}: send_iev(): ${t}`);
|
|
1872
1878
|
}
|
|
1873
1879
|
return 0;
|
|
1874
1880
|
}(e, function(e, t) {
|
|
1875
|
-
return
|
|
1881
|
+
return rn(e) ? (xt("iev_create() event NULL"), null) : new yr(e, t);
|
|
1876
1882
|
}(t, n));
|
|
1877
1883
|
}
|
|
1878
1884
|
function Tr(e, t, n) {
|
|
1879
|
-
return
|
|
1880
|
-
dst_yuno:
|
|
1881
|
-
dst_role:
|
|
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"),
|
|
1882
1888
|
dst_service: n,
|
|
1883
|
-
src_yuno:
|
|
1889
|
+
src_yuno: Te(),
|
|
1884
1890
|
src_role: ve(),
|
|
1885
1891
|
src_service: t,
|
|
1886
|
-
host:
|
|
1892
|
+
host: Yn()
|
|
1887
1893
|
};
|
|
1888
1894
|
}
|
|
1889
|
-
function
|
|
1890
|
-
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 _ = {
|
|
1891
1899
|
yuno_role: ve(),
|
|
1892
|
-
yuno_id:
|
|
1893
|
-
yuno_name:
|
|
1900
|
+
yuno_id: Se(),
|
|
1901
|
+
yuno_name: Te(),
|
|
1894
1902
|
yuno_tag: i,
|
|
1895
1903
|
yuno_version: r,
|
|
1896
1904
|
yuno_release: o,
|
|
@@ -1898,37 +1906,37 @@ function yr(e) {
|
|
|
1898
1906
|
playing: n,
|
|
1899
1907
|
pid: 0,
|
|
1900
1908
|
watcher_pid: 0,
|
|
1901
|
-
jwt:
|
|
1902
|
-
username:
|
|
1909
|
+
jwt: qe(e, "jwt"),
|
|
1910
|
+
username: qe(Ee(), "__username__"),
|
|
1903
1911
|
launch_id: 0,
|
|
1904
|
-
yuno_startdate:
|
|
1905
|
-
id:
|
|
1912
|
+
yuno_startdate: qe(Ee(), "start_date"),
|
|
1913
|
+
id: Yn(),
|
|
1906
1914
|
user_agent: "undefined" != typeof window ? window.navigator.userAgent : "",
|
|
1907
1915
|
language: "undefined" != typeof window ? window.navigator.language : "",
|
|
1908
|
-
required_services:
|
|
1916
|
+
required_services: l
|
|
1909
1917
|
};
|
|
1910
|
-
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", _);
|
|
1911
1919
|
}
|
|
1912
|
-
function
|
|
1913
|
-
if (
|
|
1920
|
+
function Sr(e, t) {
|
|
1921
|
+
if (rn(t.event)) return -1;
|
|
1914
1922
|
let n = {}, r = t.__global__, o = t.__config__, s = t.__filter__, i = t.__service__, l = t.subscriber;
|
|
1915
|
-
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);
|
|
1916
1924
|
}
|
|
1917
1925
|
function jr(e, t, n, r) {
|
|
1918
1926
|
let o = e.priv;
|
|
1919
|
-
return be(e) && (o.websocket =
|
|
1920
|
-
}
|
|
1921
|
-
function Sr(e, t, n, r) {
|
|
1922
|
-
return Rt("Websocket opened: " + e.priv.url), yr(e), 0;
|
|
1927
|
+
return be(e) && (o.websocket = br(e)), 0;
|
|
1923
1928
|
}
|
|
1924
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) {
|
|
1925
1933
|
let o = e.priv, s = n.e, i = n.url;
|
|
1926
|
-
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", {
|
|
1927
1935
|
url: i,
|
|
1928
1936
|
remote_yuno_name: o.remote_yuno_name,
|
|
1929
1937
|
remote_yuno_role: o.remote_yuno_role,
|
|
1930
1938
|
remote_yuno_service: o.remote_yuno_service
|
|
1931
|
-
})) : (
|
|
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", {
|
|
1932
1940
|
url: i,
|
|
1933
1941
|
remote_yuno_name: o.remote_yuno_name,
|
|
1934
1942
|
remote_yuno_role: o.remote_yuno_role,
|
|
@@ -1936,21 +1944,27 @@ function Or(e, t, n, r) {
|
|
|
1936
1944
|
code: s.code,
|
|
1937
1945
|
reason: s.reason,
|
|
1938
1946
|
was_clean: s.wasClean
|
|
1939
|
-
})), be(e) &&
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
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;
|
|
1943
1954
|
}
|
|
1944
1955
|
function wr(e, t, n, r) {
|
|
1956
|
+
return vr(e), 0;
|
|
1957
|
+
}
|
|
1958
|
+
function Dr(e, t, n, r) {
|
|
1945
1959
|
let o = e.priv;
|
|
1946
|
-
|
|
1947
|
-
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", "");
|
|
1948
1962
|
Ze(e, "remote_yuno_name", i), Ze(e, "remote_yuno_role", l), Ze(e, "remote_yuno_service", _);
|
|
1949
|
-
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", {});
|
|
1950
1964
|
if (a < 0) {
|
|
1951
|
-
|
|
1965
|
+
mr(e);
|
|
1952
1966
|
let t = {
|
|
1953
|
-
url:
|
|
1967
|
+
url: qe(e, "url"),
|
|
1954
1968
|
result: a,
|
|
1955
1969
|
comment: u,
|
|
1956
1970
|
username: c,
|
|
@@ -1960,7 +1974,7 @@ function wr(e, t, n, r) {
|
|
|
1960
1974
|
};
|
|
1961
1975
|
Re(e) ? st(De(e), "EV_ON_ID_NAK", t, e) : bt(e, "EV_ON_ID_NAK", t);
|
|
1962
1976
|
} else {
|
|
1963
|
-
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) {
|
|
1964
1978
|
o.inform_on_close = !0;
|
|
1965
1979
|
let t = {
|
|
1966
1980
|
username: c,
|
|
@@ -1973,132 +1987,132 @@ function wr(e, t, n, r) {
|
|
|
1973
1987
|
}
|
|
1974
1988
|
o.inside_on_open = !1, function(e) {
|
|
1975
1989
|
let t = pt(e, null, null, null);
|
|
1976
|
-
for (let n = 0; n < t.length; n++)
|
|
1990
|
+
for (let n = 0; n < t.length; n++) Sr(e, t[n]);
|
|
1977
1991
|
}(e);
|
|
1978
1992
|
}
|
|
1979
1993
|
return 0;
|
|
1980
1994
|
}
|
|
1981
|
-
function
|
|
1995
|
+
function xr(e, t, n, r) {
|
|
1982
1996
|
let o = e.priv.url, s = function(e, t) {
|
|
1983
1997
|
let n;
|
|
1984
1998
|
try {
|
|
1985
1999
|
n = JSON.parse(t);
|
|
1986
2000
|
} catch (e) {
|
|
1987
|
-
return
|
|
2001
|
+
return xt("parsing inter_event json: " + e), null;
|
|
1988
2002
|
}
|
|
1989
|
-
if (!(n instanceof Object)) return
|
|
2003
|
+
if (!(n instanceof Object)) return xt("parsing inter_event: websocket data not a json object"), null;
|
|
1990
2004
|
let r = n.event;
|
|
1991
|
-
if (!r) return
|
|
1992
|
-
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;
|
|
1993
2007
|
let o = n.kw;
|
|
1994
2008
|
return o ? o instanceof Object ? {
|
|
1995
2009
|
event: r,
|
|
1996
2010
|
kw: o || {}
|
|
1997
|
-
} : (
|
|
2011
|
+
} : (xt("parsing inter_event: kw not a json object"), null) : (xt("parsing inter_kw: no kw"), null);
|
|
1998
2012
|
}(0, n.data);
|
|
1999
|
-
if (Be(
|
|
2000
|
-
let e =
|
|
2001
|
-
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);
|
|
2002
2016
|
}
|
|
2003
2017
|
let i = s.event, l = s.kw;
|
|
2004
2018
|
if ("ST_SESSION" !== tt(e)) {
|
|
2005
2019
|
if (rt(e, i, D.EVF_PUBLIC_EVENT)) {
|
|
2006
2020
|
if (0 === st(e, i, l, e)) return 0;
|
|
2007
|
-
} else
|
|
2008
|
-
return
|
|
2021
|
+
} else xt(`${Ne(e)}: event UNKNOWN in not-session state ${i}`);
|
|
2022
|
+
return mr(e), -1;
|
|
2009
2023
|
}
|
|
2010
2024
|
s = null;
|
|
2011
|
-
let _ =
|
|
2012
|
-
if (u !== ve()) return
|
|
2013
|
-
let c =
|
|
2025
|
+
let _ = Un(e, l), a = Ln(e, l, fr), u = dn(e, a, "dst_role", "");
|
|
2026
|
+
if (u !== ve()) return xt(`"It's not my role, dst_role: ${u}, my_role: ${ve()}`), 0;
|
|
2027
|
+
let c = dn(e, a, "dst_service", "");
|
|
2014
2028
|
if ("__subscribing__" === _) return -1;
|
|
2015
2029
|
if ("__unsubscribing__" === _) return -1;
|
|
2016
2030
|
if (rt(e, i, D.EVF_PUBLIC_EVENT)) return st(e, i, l, e), 0;
|
|
2017
2031
|
let f = Z(c, !0);
|
|
2018
2032
|
if (f) {
|
|
2019
|
-
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;
|
|
2020
2034
|
st(f, i, l, e);
|
|
2021
2035
|
} else Re(e) ? st(De(e), i, l, e) : bt(e, i, l);
|
|
2022
2036
|
return 0;
|
|
2023
2037
|
}
|
|
2024
|
-
function
|
|
2038
|
+
function Rr(e, t, n, r) {
|
|
2025
2039
|
return 0;
|
|
2026
2040
|
}
|
|
2027
|
-
function
|
|
2041
|
+
function kr(e, t, n, r) {
|
|
2028
2042
|
return 0;
|
|
2029
2043
|
}
|
|
2030
|
-
var
|
|
2044
|
+
var $r = {
|
|
2031
2045
|
mt_create: function(e) {
|
|
2032
2046
|
let t = e.priv;
|
|
2033
|
-
t.gobj_timer = ie(
|
|
2034
|
-
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");
|
|
2035
2049
|
n && ft(e, null, {}, n);
|
|
2036
2050
|
},
|
|
2037
2051
|
mt_writing: function(e, t) {
|
|
2038
2052
|
let n = e.priv;
|
|
2039
2053
|
switch (t) {
|
|
2040
2054
|
case "url":
|
|
2041
|
-
n.url =
|
|
2055
|
+
n.url = qe(e, "url");
|
|
2042
2056
|
break;
|
|
2043
2057
|
case "remote_yuno_name":
|
|
2044
|
-
n.remote_yuno_name =
|
|
2058
|
+
n.remote_yuno_name = qe(e, "remote_yuno_name");
|
|
2045
2059
|
break;
|
|
2046
2060
|
case "remote_yuno_role":
|
|
2047
|
-
n.remote_yuno_role =
|
|
2061
|
+
n.remote_yuno_role = qe(e, "remote_yuno_role");
|
|
2048
2062
|
break;
|
|
2049
|
-
case "remote_yuno_service": n.remote_yuno_service =
|
|
2063
|
+
case "remote_yuno_service": n.remote_yuno_service = qe(e, "remote_yuno_service");
|
|
2050
2064
|
}
|
|
2051
2065
|
},
|
|
2052
2066
|
mt_start: function(e) {
|
|
2053
2067
|
let t = e.priv;
|
|
2054
|
-
return _e(t.gobj_timer), t.websocket =
|
|
2068
|
+
return _e(t.gobj_timer), t.retry_ms = 0, t.websocket = br(e), 0;
|
|
2055
2069
|
},
|
|
2056
2070
|
mt_stop: function(e) {
|
|
2057
2071
|
let t = e.priv;
|
|
2058
|
-
return
|
|
2072
|
+
return ir(t.gobj_timer), ce(t.gobj_timer), t.websocket && mr(e), 0;
|
|
2059
2073
|
},
|
|
2060
2074
|
mt_destroy: function(e) {},
|
|
2061
2075
|
mt_stats: function(e, t, n, r) {
|
|
2062
|
-
if ("ST_SESSION" !== tt(e)) return
|
|
2076
|
+
if ("ST_SESSION" !== tt(e)) return xt("Not in session"), null;
|
|
2063
2077
|
n || (n = {});
|
|
2064
|
-
let o = Tr(e,
|
|
2065
|
-
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", {
|
|
2066
2080
|
stats: t,
|
|
2067
2081
|
kw: s
|
|
2068
|
-
}),
|
|
2082
|
+
}), In(e, n, fr, o), n.__stats__ = t, Pn(e, n, "__stats__"), Er(e, "EV_MT_STATS", n, r), null;
|
|
2069
2083
|
},
|
|
2070
2084
|
mt_command_parser: function(e, t, n, r) {
|
|
2071
|
-
if ("ST_SESSION" !== tt(e)) return
|
|
2085
|
+
if ("ST_SESSION" !== tt(e)) return xt("Not in session"), null;
|
|
2072
2086
|
n || (n = {});
|
|
2073
|
-
let o = Tr(e,
|
|
2074
|
-
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", {
|
|
2075
2089
|
command: t,
|
|
2076
2090
|
kw: s
|
|
2077
|
-
}),
|
|
2091
|
+
}), In(e, n, fr, o), n.__command__ = t, Pn(e, n, "__command__"), Er(e, "EV_MT_COMMAND", n, r), null;
|
|
2078
2092
|
},
|
|
2079
2093
|
mt_inject_event: function(e, t, n, r) {
|
|
2080
2094
|
if ("ST_SESSION" !== tt(e)) return window.console.error("Not in session"), -1;
|
|
2081
|
-
if (n || (n = {}),
|
|
2095
|
+
if (n || (n = {}), Ln(e, n, fr));
|
|
2082
2096
|
else {
|
|
2083
|
-
let o = Tr(e,
|
|
2084
|
-
|
|
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);
|
|
2085
2099
|
}
|
|
2086
|
-
return
|
|
2100
|
+
return Pn(e, n, "__message__"), Er(e, t, n, r);
|
|
2087
2101
|
},
|
|
2088
2102
|
mt_subscription_added: function(e, t) {
|
|
2089
2103
|
let n = e.priv;
|
|
2090
|
-
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;
|
|
2091
2105
|
},
|
|
2092
2106
|
mt_subscription_deleted: function(e, t) {
|
|
2093
2107
|
let n = e.priv;
|
|
2094
2108
|
if ("ST_SESSION" !== tt(e) || !n.websocket) return 0;
|
|
2095
2109
|
if (n.inside_on_open) return 0;
|
|
2096
|
-
if (
|
|
2110
|
+
if (rn(t.event)) return 0;
|
|
2097
2111
|
let r = {}, o = t.__global__, s = t.__config__, i = t.__filter__, l = t.__service__, _ = t.subscriber;
|
|
2098
|
-
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);
|
|
2099
2113
|
}
|
|
2100
2114
|
};
|
|
2101
|
-
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__", {
|
|
2102
2116
|
enumerable: !0,
|
|
2103
2117
|
get: function() {
|
|
2104
2118
|
return d;
|
|
@@ -2109,47 +2123,48 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
|
|
|
2109
2123
|
return t;
|
|
2110
2124
|
}, exports.build_stats_response = o, exports.clean_name = function(e) {
|
|
2111
2125
|
return e.replace(/[?# ^:]/g, "_");
|
|
2112
|
-
}, 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) {
|
|
2113
2127
|
let [r, o, s, i] = t;
|
|
2114
|
-
if (!r) return void
|
|
2128
|
+
if (!r) return void xt("Tag must be a valid HTML element.");
|
|
2115
2129
|
let l = document.createElement(r), _ = "";
|
|
2116
2130
|
if (o && "object" == typeof o) for (let e of Object.keys(o)) if ("style" === e && "object" == typeof o[e]) {
|
|
2117
2131
|
let t = "";
|
|
2118
2132
|
for (const n of Object.keys(o[e])) t += `${n}: ${o[e][n]};`;
|
|
2119
2133
|
l.style.cssText = t;
|
|
2120
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]);
|
|
2121
|
-
if (
|
|
2135
|
+
if (Ht(s)) if (s = s.trim(), s.length > 0 && "<" === s[0]) l.appendChild(Wn(s));
|
|
2122
2136
|
else if (n && _) l.textContent = n(_) || s;
|
|
2123
2137
|
else l.textContent = s;
|
|
2124
2138
|
else if (Qt(s)) {
|
|
2125
|
-
if (s.length > 0) if (
|
|
2139
|
+
if (s.length > 0) if (Ht(s[0])) l.appendChild(e(s, n));
|
|
2126
2140
|
else for (let t of s) Array.isArray(t) && t.length > 0 ? l.appendChild(e(t, n)) : t instanceof HTMLElement && l.appendChild(t);
|
|
2127
|
-
} 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));
|
|
2128
2142
|
if (i && "object" == typeof i) for (const e of Object.keys(i)) l.addEventListener(e, i[e]);
|
|
2129
2143
|
return l;
|
|
2130
|
-
}, exports.createOneHtml =
|
|
2131
|
-
let n =
|
|
2132
|
-
return
|
|
2144
|
+
}, exports.createOneHtml = Wn, exports.create_json_record = function(e, t) {
|
|
2145
|
+
let n = It(e);
|
|
2146
|
+
return Ut(n, t), n;
|
|
2133
2147
|
}, exports.create_template_record = function(e, t) {
|
|
2134
2148
|
let n = {};
|
|
2135
2149
|
return t || (t = {}), Object.entries(e).forEach(([e, r]) => {
|
|
2136
|
-
|
|
2150
|
+
let o;
|
|
2151
|
+
zt(r) && (o = r.default), n[e] = hn(null, t, e, o);
|
|
2137
2152
|
}), n;
|
|
2138
|
-
}, exports.current_timestamp =
|
|
2139
|
-
let n =
|
|
2140
|
-
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;
|
|
2141
2156
|
}, exports.db_load_persistent_attrs = function(e, t) {
|
|
2142
|
-
let n = Ye(e,
|
|
2157
|
+
let n = Ye(e, y.SDF_PERSIST), r = On(Jn(e), null, !1);
|
|
2143
2158
|
if (r && zt(r)) {
|
|
2144
|
-
let o =
|
|
2145
|
-
o =
|
|
2159
|
+
let o = Sn(e, r, t, !1);
|
|
2160
|
+
o = Sn(e, o, n, !1), Qe(e, o, y.SDF_PERSIST);
|
|
2146
2161
|
}
|
|
2147
2162
|
}, exports.db_remove_persistent_attrs = function(e, t) {
|
|
2148
|
-
let n = jn(e,
|
|
2149
|
-
0 ===
|
|
2163
|
+
let n = jn(e, On(Jn(e), null, !1), t, !1);
|
|
2164
|
+
0 === Bt(n) ? wn(Jn(e)) : Nn(Jn(e), n);
|
|
2150
2165
|
}, exports.db_save_persistent_attrs = function(e, t) {
|
|
2151
|
-
let n =
|
|
2152
|
-
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);
|
|
2153
2168
|
}, exports.debounce = function(e, t = 0, n = !1) {
|
|
2154
2169
|
let r = null, o = null, s = null;
|
|
2155
2170
|
const i = (...i) => {
|
|
@@ -2174,7 +2189,7 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
|
|
|
2174
2189
|
Object.assign(t, e);
|
|
2175
2190
|
}
|
|
2176
2191
|
return t;
|
|
2177
|
-
}, 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) {
|
|
2178
2193
|
if (!e) return {
|
|
2179
2194
|
top: 0,
|
|
2180
2195
|
left: 0,
|
|
@@ -2193,14 +2208,14 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
|
|
|
2193
2208
|
right: n + l + r,
|
|
2194
2209
|
bottom: t + i + o
|
|
2195
2210
|
};
|
|
2196
|
-
}, exports.get_function_name =
|
|
2211
|
+
}, exports.get_function_name = Bn, exports.get_now = function() {
|
|
2197
2212
|
return Math.floor(Date.now() / 1e3);
|
|
2198
2213
|
}, exports.gobj_bottom_gobj = $e, exports.gobj_change_parent = function(e, n) {
|
|
2199
|
-
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);
|
|
2200
2215
|
}, exports.gobj_change_state = et, exports.gobj_command = function(e, n, o, s) {
|
|
2201
|
-
if (ke(e)) return
|
|
2216
|
+
if (ke(e)) return xt("gobj NULL or DESTROYED"), -1;
|
|
2202
2217
|
let i = d && Je(d, "tracing");
|
|
2203
|
-
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);
|
|
2204
2219
|
}, exports.gobj_create = function(e, t, n, r) {
|
|
2205
2220
|
return se(e, t, n, r, 0);
|
|
2206
2221
|
}, exports.gobj_create2 = se, exports.gobj_create_default_service = function(e, t, n, r) {
|
|
@@ -2212,32 +2227,32 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
|
|
|
2212
2227
|
}, exports.gobj_create_yuno = function(e, t, n) {
|
|
2213
2228
|
return se(e, t, n, null, N.gobj_flag_yuno);
|
|
2214
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) {
|
|
2215
|
-
if (
|
|
2230
|
+
if (rn(t)) return null;
|
|
2216
2231
|
const n = t.toLowerCase();
|
|
2217
2232
|
return "__default_service__" === n ? b : "__yuno__" === n || "__root__" === n ? d : We(d, t);
|
|
2218
|
-
}, 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) {
|
|
2219
2234
|
return a ? a(e, t) : null;
|
|
2220
2235
|
}, exports.gobj_list_subscriptions = function(e) {
|
|
2221
2236
|
let t = pt(e, null, null, null);
|
|
2222
2237
|
for (let n = 0; n < t.length; n++) {
|
|
2223
|
-
let r = t[n], o =
|
|
2224
|
-
|
|
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));
|
|
2225
2240
|
}
|
|
2226
2241
|
let n = dt(e, 0, null, 0);
|
|
2227
2242
|
for (let t = 0; t < n.length; t++) {
|
|
2228
|
-
let r = n[t], o =
|
|
2229
|
-
|
|
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));
|
|
2230
2245
|
}
|
|
2231
2246
|
return {
|
|
2232
2247
|
subscriptions: t,
|
|
2233
2248
|
subscribings: n,
|
|
2234
|
-
"total subscriptions":
|
|
2235
|
-
total_subscribings:
|
|
2249
|
+
"total subscriptions": Jt(t),
|
|
2250
|
+
total_subscribings: Jt(n)
|
|
2236
2251
|
};
|
|
2237
2252
|
}, exports.gobj_load_persistent_attrs = function(e, t) {
|
|
2238
|
-
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);
|
|
2239
2254
|
}, exports.gobj_match_children = function(e, t) {
|
|
2240
|
-
if (ke(e)) return
|
|
2255
|
+
if (ke(e)) return xt("gobj NULL or DESTROYED"), null;
|
|
2241
2256
|
t = t || {};
|
|
2242
2257
|
let n = [];
|
|
2243
2258
|
const r = e.dl_children;
|
|
@@ -2256,15 +2271,15 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
|
|
|
2256
2271
|
Ge(s, t) && n.push(s), e(n, s);
|
|
2257
2272
|
}
|
|
2258
2273
|
}(n, e), n;
|
|
2259
|
-
}, 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) {
|
|
2260
2275
|
setTimeout(() => {
|
|
2261
2276
|
ke(e) || st(e, t, n, r);
|
|
2262
2277
|
}, 10);
|
|
2263
|
-
}, 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 =
|
|
2264
|
-
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);
|
|
2265
2280
|
}, exports.gobj_reset_volatil_attrs = function(e) {
|
|
2266
2281
|
return function(e, t, n) {
|
|
2267
|
-
if (ke(e)) return
|
|
2282
|
+
if (ke(e)) return xt("gobj NULL or DESTROYED"), -1;
|
|
2268
2283
|
let r = e.gclass.attrs_table;
|
|
2269
2284
|
for (let o = 0; o < r.length; o++) {
|
|
2270
2285
|
const s = r[o];
|
|
@@ -2274,19 +2289,19 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
|
|
|
2274
2289
|
}
|
|
2275
2290
|
}
|
|
2276
2291
|
return 0;
|
|
2277
|
-
}(e,
|
|
2292
|
+
}(e, y.SDF_VOLATIL, 0);
|
|
2278
2293
|
}, exports.gobj_save_persistent_attrs = function(e, t) {
|
|
2279
|
-
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);
|
|
2280
2295
|
}, exports.gobj_search_path = We, exports.gobj_send_event = st, exports.gobj_services = function() {
|
|
2281
2296
|
let e = [];
|
|
2282
|
-
for (const t of Object.keys(p))
|
|
2297
|
+
for (const t of Object.keys(p)) Kt(e, t);
|
|
2283
2298
|
return e;
|
|
2284
2299
|
}, exports.gobj_set_bottom_gobj = Ae, exports.gobj_set_trace_machine_format = function(e) {
|
|
2285
2300
|
A = 1 === Number(e) ? 1 : 0;
|
|
2286
2301
|
}, exports.gobj_short_name = Ne, exports.gobj_start = _e, exports.gobj_start_children = function(e) {
|
|
2287
|
-
return ke(e) ? (
|
|
2302
|
+
return ke(e) ? (xt("gobj NULL or DESTROYED"), -1) : Le(e, x.WALK_FIRST2LAST, ae, 0, 0);
|
|
2288
2303
|
}, exports.gobj_start_tree = function(e) {
|
|
2289
|
-
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)));
|
|
2290
2305
|
}, exports.gobj_start_up = function(e, t, n, r, o, s, g) {
|
|
2291
2306
|
i = t, l = n, _ = r, a = o, u = s, c = g;
|
|
2292
2307
|
const p = [["EV_STATE_CHANGED", D.EVF_SYSTEM_EVENT | D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS], [0, 0]];
|
|
@@ -2296,14 +2311,14 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
|
|
|
2296
2311
|
}
|
|
2297
2312
|
return 0;
|
|
2298
2313
|
}, exports.gobj_stats = function(e, n, r, s) {
|
|
2299
|
-
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);
|
|
2300
2315
|
}, exports.gobj_stop = ce, exports.gobj_stop_children = ge, exports.gobj_stop_tree = function(e) {
|
|
2301
|
-
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));
|
|
2302
2317
|
}, exports.gobj_subscribe_event = ft, exports.gobj_trace_machine_format = function() {
|
|
2303
2318
|
return A;
|
|
2304
2319
|
}, exports.gobj_unsubscribe_event = function(e, t, n, r) {
|
|
2305
|
-
if (null == n && (n = {}), !e) return
|
|
2306
|
-
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;
|
|
2307
2322
|
const o = new Set([
|
|
2308
2323
|
"__config__",
|
|
2309
2324
|
"__global__",
|
|
@@ -2312,21 +2327,21 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
|
|
|
2312
2327
|
"__service__"
|
|
2313
2328
|
]);
|
|
2314
2329
|
if (Object.keys(n).forEach((n) => {
|
|
2315
|
-
o.has(n) ||
|
|
2316
|
-
}),
|
|
2317
|
-
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;
|
|
2318
2333
|
let s = at(e.dl_subscriptions, e, t, n, r), i = 0;
|
|
2319
2334
|
for (let t = 0; t < s.length; t++) {
|
|
2320
2335
|
let n = s[t];
|
|
2321
2336
|
ct(e, n, !1, !1), i++;
|
|
2322
2337
|
}
|
|
2323
|
-
return i || (
|
|
2338
|
+
return i || (Rt(`${Ne(e)}: No subscription found`), At(n, "No subscription found")), 0;
|
|
2324
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) {
|
|
2325
|
-
if (!
|
|
2340
|
+
if (!Ht(n)) return xt(t("gobj_write_attr(%s): path must be a string", Ne(e))), -1;
|
|
2326
2341
|
let s, i = e.jn_attrs, l = n.split("`");
|
|
2327
2342
|
if (l.length <= 1) {
|
|
2328
2343
|
let o = n;
|
|
2329
|
-
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);
|
|
2330
2345
|
}
|
|
2331
2346
|
let _ = l.length;
|
|
2332
2347
|
for (let t = 0; t < _; t++) {
|
|
@@ -2340,74 +2355,74 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
|
|
|
2340
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;
|
|
2341
2356
|
break;
|
|
2342
2357
|
}
|
|
2343
|
-
return
|
|
2344
|
-
}, 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) {
|
|
2345
2360
|
return e instanceof Date && !isNaN(e);
|
|
2346
|
-
}, exports.is_function =
|
|
2347
|
-
if (!
|
|
2361
|
+
}, exports.is_function = tn, exports.is_gobj = nn, exports.is_metadata_key = function(e) {
|
|
2362
|
+
if (!Ht(e)) return !1;
|
|
2348
2363
|
let t;
|
|
2349
2364
|
for (t = 0; t < e.length && "_" === e[t] && !(t > 2); t++);
|
|
2350
2365
|
return 2 === t;
|
|
2351
|
-
}, exports.is_null =
|
|
2352
|
-
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;
|
|
2353
2368
|
let t;
|
|
2354
2369
|
for (t = 0; t < e.length && "_" === e[t] && !(t > 2); t++);
|
|
2355
2370
|
return 1 === t;
|
|
2356
2371
|
}, exports.is_pure_number = function(e) {
|
|
2357
|
-
if (
|
|
2358
|
-
if (!
|
|
2372
|
+
if (Xt(e)) return !0;
|
|
2373
|
+
if (!Ht(e)) return !1;
|
|
2359
2374
|
const t = Number(e);
|
|
2360
2375
|
return !isNaN(t) && "" !== e.trim() && !isNaN(t);
|
|
2361
|
-
}, exports.is_string =
|
|
2362
|
-
let o =
|
|
2363
|
-
if (!o) return
|
|
2364
|
-
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;
|
|
2365
2380
|
let s, i = n.split("`"), l = o;
|
|
2366
|
-
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);
|
|
2367
2382
|
if (0 === i.length && l) if (Qt(l)) {
|
|
2368
|
-
let e =
|
|
2383
|
+
let e = Rn(l, r.id);
|
|
2369
2384
|
e >= 0 && l.splice(e, 1);
|
|
2370
2385
|
} else {
|
|
2371
|
-
let t =
|
|
2386
|
+
let t = hn(null, l, e.hook, null, 0), n = Rn(t, r.id);
|
|
2372
2387
|
n >= 0 && t.splice(n, 1);
|
|
2373
2388
|
}
|
|
2374
2389
|
return o;
|
|
2375
2390
|
}, exports.jdb_get = function(e, t, n, r) {
|
|
2376
|
-
let o =
|
|
2377
|
-
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);
|
|
2378
2393
|
}, exports.jdb_get_by_idx = function(e, t, n) {
|
|
2379
|
-
let r =
|
|
2380
|
-
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);
|
|
2381
2396
|
}, exports.jdb_get_topic = function(e, t) {
|
|
2382
|
-
let n =
|
|
2383
|
-
if (!n) return
|
|
2384
|
-
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);
|
|
2385
2400
|
}, exports.jdb_init = function(e, t, n) {
|
|
2386
|
-
n && (e =
|
|
2387
|
-
let r =
|
|
2388
|
-
|
|
2389
|
-
let o =
|
|
2390
|
-
return
|
|
2391
|
-
"__" !== 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);
|
|
2392
2407
|
}, t), e;
|
|
2393
2408
|
}, exports.jdb_update = function(e, t, n, r) {
|
|
2394
|
-
let o =
|
|
2395
|
-
if (!o) return
|
|
2396
|
-
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;
|
|
2397
2412
|
let s, i = n.split("`"), l = o;
|
|
2398
|
-
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);
|
|
2399
2414
|
if (0 === i.length && l) if (Qt(l)) l.push(r);
|
|
2400
2415
|
else if (l.id === r.id) Object.assign(l, r);
|
|
2401
2416
|
else {
|
|
2402
|
-
let t =
|
|
2417
|
+
let t = hn(null, l, e.hook, [], 1), n = Fn(t, e.hook, r.id, !1);
|
|
2403
2418
|
n ? Object.assign(n, r) : t.push(r);
|
|
2404
2419
|
}
|
|
2405
2420
|
return o;
|
|
2406
|
-
}, exports.json_array_append =
|
|
2421
|
+
}, exports.json_array_append = Mt, exports.json_array_append_new = Kt, exports.json_array_extend = function(e, t) {
|
|
2407
2422
|
return t ? (Array.prototype.push.apply(e, t), e) : e;
|
|
2408
|
-
}, 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) {
|
|
2409
2424
|
try {
|
|
2410
|
-
let n =
|
|
2425
|
+
let n = Gn(e);
|
|
2411
2426
|
switch (t) {
|
|
2412
2427
|
case "header": return JSON.parse(n.header);
|
|
2413
2428
|
case "signature": return JSON.parse(n.signature);
|
|
@@ -2416,122 +2431,122 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
|
|
|
2416
2431
|
} catch (e) {
|
|
2417
2432
|
return null;
|
|
2418
2433
|
}
|
|
2419
|
-
}, exports.jwtDecode =
|
|
2420
|
-
if (e && !
|
|
2421
|
-
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);
|
|
2422
2437
|
let o = [];
|
|
2423
2438
|
if (Qt(t)) for (let e = 0; e < t.length; e++) {
|
|
2424
2439
|
let s = t[e];
|
|
2425
2440
|
r(s, n) && o.push(s);
|
|
2426
2441
|
}
|
|
2427
2442
|
else {
|
|
2428
|
-
if (!zt(t)) return
|
|
2443
|
+
if (!zt(t)) return xt("kw_select() BAD kw parameter"), null;
|
|
2429
2444
|
r(t, n) && o.push(t);
|
|
2430
2445
|
}
|
|
2431
2446
|
return o;
|
|
2432
|
-
}, exports.kw_delete =
|
|
2433
|
-
if (!n || !Qt(t)) return r &&
|
|
2434
|
-
for (let e = 0; e < t.length; e++) if (
|
|
2435
|
-
return r &&
|
|
2436
|
-
}, exports.kw_find_path =
|
|
2437
|
-
e && !
|
|
2438
|
-
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);
|
|
2439
2454
|
const i = o && o & mt.KW_REQUIRED, l = o && o & mt.KW_CREATE, _ = o && o & mt.KW_EXTRACT;
|
|
2440
2455
|
if (void 0 === s) {
|
|
2441
2456
|
if (l) {
|
|
2442
2457
|
let o = Array(r);
|
|
2443
|
-
return
|
|
2458
|
+
return yn(e, t, n, o), o;
|
|
2444
2459
|
}
|
|
2445
|
-
return i && (
|
|
2460
|
+
return i && (xt(`path not found: '${n}'`), At(t)), Array(r);
|
|
2446
2461
|
}
|
|
2447
|
-
return _ &&
|
|
2448
|
-
}, exports.kw_get_local_storage_value =
|
|
2449
|
-
e && !
|
|
2450
|
-
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);
|
|
2451
2466
|
const i = o && o & mt.KW_REQUIRED, l = o && o & mt.KW_CREATE, _ = o && o & mt.KW_EXTRACT;
|
|
2452
2467
|
if (void 0 === s) {
|
|
2453
2468
|
if (l) {
|
|
2454
2469
|
let o = Number(r);
|
|
2455
|
-
return
|
|
2470
|
+
return yn(e, t, n, o), o;
|
|
2456
2471
|
}
|
|
2457
|
-
return i && (
|
|
2472
|
+
return i && (xt(`path not found: '${n}'`), At(t)), Number(r);
|
|
2458
2473
|
}
|
|
2459
|
-
return _ &&
|
|
2460
|
-
}, exports.kw_get_str =
|
|
2461
|
-
if (e && !
|
|
2462
|
-
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);
|
|
2463
2478
|
let o = [];
|
|
2464
2479
|
if (Qt(t)) for (let e = 0; e < t.length; e++) {
|
|
2465
2480
|
let s = t[e];
|
|
2466
|
-
r(s, n) && o.push(
|
|
2481
|
+
r(s, n) && o.push(It(s));
|
|
2467
2482
|
}
|
|
2468
2483
|
else {
|
|
2469
|
-
if (!zt(t)) return
|
|
2470
|
-
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));
|
|
2471
2486
|
}
|
|
2472
2487
|
return o;
|
|
2473
|
-
}, exports.kw_set_dict_value =
|
|
2474
|
-
e && !
|
|
2475
|
-
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);
|
|
2476
2491
|
return s.length > 0 ? s[0] : null;
|
|
2477
2492
|
}, exports.kwid_get_ids = function(e, t) {
|
|
2478
|
-
if (e && !
|
|
2493
|
+
if (e && !nn(e) && xt("GObj bad instanceof"), !t) return [];
|
|
2479
2494
|
let n = [];
|
|
2480
|
-
if (
|
|
2495
|
+
if (Ht(t)) n.push(t);
|
|
2481
2496
|
else if (zt(t)) for (let e in t) t.hasOwnProperty(e) && n.push(e);
|
|
2482
2497
|
else Qt(t) && t.forEach(function(t) {
|
|
2483
|
-
if (
|
|
2498
|
+
if (Ht(t)) rn(t) || n.push(t);
|
|
2484
2499
|
else if (zt(t)) {
|
|
2485
|
-
let r =
|
|
2500
|
+
let r = dn(e, t, "id", 0, 0);
|
|
2486
2501
|
r && n.push(r);
|
|
2487
2502
|
}
|
|
2488
2503
|
});
|
|
2489
2504
|
return n;
|
|
2490
|
-
}, exports.kwid_match_id =
|
|
2491
|
-
e && !
|
|
2505
|
+
}, exports.kwid_match_id = Dn, exports.kwid_new_dict = function(e, t, n) {
|
|
2506
|
+
e && !nn(e) && xt("GObj bad instanceof");
|
|
2492
2507
|
let r = {};
|
|
2493
|
-
if (
|
|
2494
|
-
else if (Qt(t)) for (let
|
|
2495
|
-
let
|
|
2496
|
-
|
|
2508
|
+
if (rn(n) || (t = cn(e, t, n)), zt(t)) r = t;
|
|
2509
|
+
else if (Qt(t)) for (let n = 0; n < t.length; n++) {
|
|
2510
|
+
let o = t[n], s = dn(e, o, "id", "", 0);
|
|
2511
|
+
rn(s) || (r[s] = o);
|
|
2497
2512
|
}
|
|
2498
|
-
else
|
|
2513
|
+
else xt(`${Ne(e)} kwid_new_dict: data type unknown`);
|
|
2499
2514
|
return r;
|
|
2500
2515
|
}, exports.list2options = function(e, t, n) {
|
|
2501
2516
|
t = t || "id", n = n || "value";
|
|
2502
2517
|
let r = [];
|
|
2503
2518
|
if (Qt(e)) for (let o = 0; o < e.length; o++) {
|
|
2504
2519
|
let s = e[o];
|
|
2505
|
-
if (
|
|
2520
|
+
if (Ht(s)) r.push({
|
|
2506
2521
|
id: e[o],
|
|
2507
2522
|
value: e[o]
|
|
2508
2523
|
});
|
|
2509
2524
|
else if (zt(s)) {
|
|
2510
2525
|
let e = {};
|
|
2511
|
-
if (
|
|
2512
|
-
if (!
|
|
2513
|
-
if (!(
|
|
2514
|
-
|
|
2526
|
+
if (un(s, t)) {
|
|
2527
|
+
if (!un(s, n)) {
|
|
2528
|
+
if (!(qt(s) > 0)) {
|
|
2529
|
+
xt("list2options(): object without field value: " + n);
|
|
2515
2530
|
continue;
|
|
2516
2531
|
}
|
|
2517
2532
|
n = Object.keys(s)[0];
|
|
2518
2533
|
}
|
|
2519
2534
|
e.id = s[t], e.value = s[n];
|
|
2520
2535
|
} else {
|
|
2521
|
-
if (!(
|
|
2522
|
-
|
|
2536
|
+
if (!(qt(s) > 0)) {
|
|
2537
|
+
xt("list2options(): object without field id: " + t);
|
|
2523
2538
|
continue;
|
|
2524
2539
|
}
|
|
2525
2540
|
t = Object.keys(s)[0], e.id = t, e.value = s[t];
|
|
2526
2541
|
}
|
|
2527
2542
|
r.push(e);
|
|
2528
|
-
} else
|
|
2543
|
+
} else xt("list2options(): case1 not implemented");
|
|
2529
2544
|
}
|
|
2530
2545
|
else if (zt(e)) for (let t of Object.keys(e)) r.push({
|
|
2531
2546
|
id: t,
|
|
2532
2547
|
value: t
|
|
2533
2548
|
});
|
|
2534
|
-
else
|
|
2549
|
+
else xt("list2options(): case2 not implemented");
|
|
2535
2550
|
return r;
|
|
2536
2551
|
}, exports.load_json_file = function(e, t, n) {
|
|
2537
2552
|
let r = new XMLHttpRequest();
|
|
@@ -2539,18 +2554,18 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
|
|
|
2539
2554
|
if (4 === r.readyState) if (200 === r.status || 0 === (e = r).status && e.responseText && e.responseURL.startsWith("file:")) try {
|
|
2540
2555
|
t(JSON.parse(r.responseText));
|
|
2541
2556
|
} catch (e) {
|
|
2542
|
-
n && (
|
|
2557
|
+
n && (xt(`JSON parse status ${r.status}, error: ${e.message}`), n(r.status));
|
|
2543
2558
|
}
|
|
2544
2559
|
else n && n(r.status);
|
|
2545
2560
|
var e;
|
|
2546
2561
|
}, r.send();
|
|
2547
|
-
}, exports.log_debug =
|
|
2548
|
-
let t =
|
|
2549
|
-
|
|
2550
|
-
}, 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) {
|
|
2551
2566
|
return new DOMParser().parseFromString(e, "image/svg+xml").firstChild;
|
|
2552
2567
|
}, exports.refresh_language = function(e, t) {
|
|
2553
|
-
|
|
2568
|
+
tn(t) ? (e || (e = document), e.querySelectorAll("[data-i18n]").forEach(function(e) {
|
|
2554
2569
|
let n = e.getAttribute("data-i18n");
|
|
2555
2570
|
for (let r of e.childNodes) if (r.nodeType === Node.TEXT_NODE) {
|
|
2556
2571
|
n || (n = r.nodeValue), r.nodeValue = t(n);
|
|
@@ -2562,20 +2577,23 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
|
|
|
2562
2577
|
}), e.querySelectorAll("[data-i18n-aria-label]").forEach(function(e) {
|
|
2563
2578
|
let n = e.getAttribute("data-i18n-aria-label");
|
|
2564
2579
|
n && e.setAttribute("aria-label", t(n));
|
|
2565
|
-
})
|
|
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");
|
|
2566
2584
|
}, exports.register_c_ievent_cli = function() {
|
|
2567
2585
|
return function(e) {
|
|
2568
|
-
if (
|
|
2586
|
+
if (dr) return xt(`GClass ALREADY created: ${e}`), -1;
|
|
2569
2587
|
const t = [
|
|
2570
2588
|
["ST_DISCONNECTED", [
|
|
2571
2589
|
[
|
|
2572
2590
|
"EV_ON_OPEN",
|
|
2573
|
-
|
|
2591
|
+
Or,
|
|
2574
2592
|
"ST_WAIT_IDENTITY_CARD_ACK"
|
|
2575
2593
|
],
|
|
2576
2594
|
[
|
|
2577
2595
|
"EV_ON_CLOSE",
|
|
2578
|
-
|
|
2596
|
+
Nr,
|
|
2579
2597
|
null
|
|
2580
2598
|
],
|
|
2581
2599
|
[
|
|
@@ -2592,22 +2610,22 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
|
|
|
2592
2610
|
["ST_WAIT_IDENTITY_CARD_ACK", [
|
|
2593
2611
|
[
|
|
2594
2612
|
"EV_ON_MESSAGE",
|
|
2595
|
-
|
|
2613
|
+
xr,
|
|
2596
2614
|
null
|
|
2597
2615
|
],
|
|
2598
2616
|
[
|
|
2599
2617
|
"EV_IDENTITY_CARD_ACK",
|
|
2600
|
-
|
|
2618
|
+
Dr,
|
|
2601
2619
|
null
|
|
2602
2620
|
],
|
|
2603
2621
|
[
|
|
2604
2622
|
"EV_ON_CLOSE",
|
|
2605
|
-
|
|
2623
|
+
Nr,
|
|
2606
2624
|
"ST_DISCONNECTED"
|
|
2607
2625
|
],
|
|
2608
2626
|
[
|
|
2609
2627
|
"EV_TIMEOUT",
|
|
2610
|
-
|
|
2628
|
+
wr,
|
|
2611
2629
|
null
|
|
2612
2630
|
],
|
|
2613
2631
|
[
|
|
@@ -2619,22 +2637,22 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
|
|
|
2619
2637
|
["ST_SESSION", [
|
|
2620
2638
|
[
|
|
2621
2639
|
"EV_ON_MESSAGE",
|
|
2622
|
-
|
|
2640
|
+
xr,
|
|
2623
2641
|
null
|
|
2624
2642
|
],
|
|
2625
2643
|
[
|
|
2626
2644
|
"EV_MT_STATS",
|
|
2627
|
-
|
|
2645
|
+
Rr,
|
|
2628
2646
|
null
|
|
2629
2647
|
],
|
|
2630
2648
|
[
|
|
2631
2649
|
"EV_MT_COMMAND",
|
|
2632
|
-
|
|
2650
|
+
kr,
|
|
2633
2651
|
null
|
|
2634
2652
|
],
|
|
2635
2653
|
[
|
|
2636
2654
|
"EV_ON_CLOSE",
|
|
2637
|
-
|
|
2655
|
+
Nr,
|
|
2638
2656
|
"ST_DISCONNECTED"
|
|
2639
2657
|
],
|
|
2640
2658
|
[
|
|
@@ -2645,7 +2663,7 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
|
|
|
2645
2663
|
]],
|
|
2646
2664
|
[null, null]
|
|
2647
2665
|
];
|
|
2648
|
-
return (
|
|
2666
|
+
return (dr = V(e, [
|
|
2649
2667
|
["EV_ON_MESSAGE", D.EVF_OUTPUT_EVENT],
|
|
2650
2668
|
["EV_IDENTITY_CARD_ACK", D.EVF_PUBLIC_EVENT],
|
|
2651
2669
|
["EV_ON_ID_NAK", D.EVF_PUBLIC_EVENT | D.EVF_OUTPUT_EVENT],
|
|
@@ -2656,50 +2674,52 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
|
|
|
2656
2674
|
["EV_ON_OPEN_ERROR", D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS],
|
|
2657
2675
|
["EV_TIMEOUT", 0],
|
|
2658
2676
|
[null, 0]
|
|
2659
|
-
], t,
|
|
2677
|
+
], t, $r, 0, gr, pr, 0, 0, 0, O.gcflag_no_check_output_events)) ? 0 : -1;
|
|
2660
2678
|
}("C_IEVENT_CLI");
|
|
2661
2679
|
}, exports.register_c_timer = function() {
|
|
2662
2680
|
return function(e) {
|
|
2663
|
-
if (
|
|
2681
|
+
if (tr) return xt(`GClass ALREADY created: ${e}`), -1;
|
|
2664
2682
|
const t = [["ST_IDLE", [[
|
|
2665
2683
|
"EV_TIMEOUT",
|
|
2666
|
-
|
|
2684
|
+
nr,
|
|
2667
2685
|
null
|
|
2668
2686
|
]]]];
|
|
2669
|
-
return (
|
|
2687
|
+
return (tr = V(e, [
|
|
2670
2688
|
["EV_TIMEOUT", D.EVF_OUTPUT_EVENT],
|
|
2671
2689
|
["EV_TIMEOUT_PERIODIC", D.EVF_OUTPUT_EVENT],
|
|
2672
2690
|
[0, 0]
|
|
2673
|
-
], t,
|
|
2691
|
+
], t, rr, 0, Zn, er, 0, 0, 0, O.gcflag_manual_start)) ? 0 : -1;
|
|
2674
2692
|
}("C_TIMER");
|
|
2675
2693
|
}, exports.register_c_yuno = function() {
|
|
2676
2694
|
return function(e) {
|
|
2677
|
-
if (
|
|
2695
|
+
if (ar) return xt(`GClass ALREADY created: ${e}`), -1;
|
|
2678
2696
|
const t = [["ST_IDLE", [[
|
|
2679
2697
|
"EV_TIMEOUT_PERIODIC",
|
|
2680
|
-
|
|
2698
|
+
ur,
|
|
2681
2699
|
null
|
|
2682
2700
|
]]]];
|
|
2683
|
-
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;
|
|
2684
2702
|
}("C_YUNO");
|
|
2685
2703
|
}, exports.safeSrc = function(e) {
|
|
2686
2704
|
if (!e) return "";
|
|
2687
2705
|
const t = String(e).trim();
|
|
2688
|
-
return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" :
|
|
2689
|
-
}, 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) {
|
|
2690
2708
|
let r = new XMLHttpRequest();
|
|
2691
2709
|
r.open("POST", e), r.setRequestHeader("Accept", "application/json"), r.setRequestHeader("Content-Type", "application/json"), r.onreadystatechange = function() {
|
|
2692
2710
|
4 === r.readyState && n(r.status, r.responseText);
|
|
2693
2711
|
}, r.send(t);
|
|
2712
|
+
}, exports.set_console_log_enabled = function(e) {
|
|
2713
|
+
jt = !!e;
|
|
2694
2714
|
}, exports.set_log_callback = function(e) {
|
|
2695
|
-
|
|
2696
|
-
}, 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) {
|
|
2697
2717
|
var r = (e + "").substring(0, n), o = (t + "").substring(0, n);
|
|
2698
2718
|
return r === o ? 0 : r > o ? 1 : -1;
|
|
2699
2719
|
}, exports.strs_in_list = function(e, t, n) {
|
|
2700
|
-
if (!e) return
|
|
2701
|
-
if (!t) return
|
|
2702
|
-
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;
|
|
2703
2723
|
return !1;
|
|
2704
2724
|
}, exports.strstr = function(e, t, n) {
|
|
2705
2725
|
var r;
|
|
@@ -2715,15 +2735,16 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
|
|
|
2715
2735
|
is_writable: !1,
|
|
2716
2736
|
is_hidden: !1,
|
|
2717
2737
|
default_value: void 0,
|
|
2718
|
-
placeholder: void 0
|
|
2738
|
+
placeholder: void 0,
|
|
2739
|
+
fkey: null
|
|
2719
2740
|
};
|
|
2720
|
-
if (
|
|
2741
|
+
if (Ht(t)) {
|
|
2721
2742
|
let e = t.split(".");
|
|
2722
2743
|
for (let t = 0; t < e.length; t++) {
|
|
2723
2744
|
let r = e[t];
|
|
2724
|
-
if (
|
|
2725
|
-
else if (
|
|
2726
|
-
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) {
|
|
2727
2748
|
case "writable":
|
|
2728
2749
|
n.is_writable = !0;
|
|
2729
2750
|
break;
|
|
@@ -2735,23 +2756,23 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
|
|
|
2735
2756
|
}
|
|
2736
2757
|
}
|
|
2737
2758
|
n.real_type || (n.real_type = "string");
|
|
2738
|
-
} 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);
|
|
2739
2760
|
return n.type || (n.type = n.real_type), n;
|
|
2740
2761
|
}, exports.timeTracker = function(e = "Time Tracker", t = !1) {
|
|
2741
2762
|
const n = e, r = performance.now();
|
|
2742
2763
|
let o = r;
|
|
2743
|
-
return t &&
|
|
2764
|
+
return t && Rt(`--\x3e ${n} - starting`), { mark: (e = "Intermediate", s = "") => {
|
|
2744
2765
|
const i = performance.now(), l = (i - o) / 1e3, _ = (i - r) / 1e3;
|
|
2745
|
-
return t &&
|
|
2766
|
+
return t && Rt(`--\x3e ${n} ${e} - partial: ${l} sec, total: ${_} sec, ${s}`), o = i, {
|
|
2746
2767
|
partial: l,
|
|
2747
2768
|
total: _
|
|
2748
2769
|
};
|
|
2749
2770
|
} };
|
|
2750
|
-
}, exports.trace_json =
|
|
2751
|
-
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)) {
|
|
2752
2773
|
if (-1 === t.indexOf("^")) {
|
|
2753
2774
|
let n, r = e.hook;
|
|
2754
|
-
if (1 !==
|
|
2775
|
+
if (1 !== Bt(r)) return xt("bad hook 1"), xt(e), xt(t), null;
|
|
2755
2776
|
for (let e of Object.keys(r)) {
|
|
2756
2777
|
n = e, r[e];
|
|
2757
2778
|
break;
|
|
@@ -2763,7 +2784,7 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
|
|
|
2763
2784
|
}
|
|
2764
2785
|
{
|
|
2765
2786
|
let n = t.split("^");
|
|
2766
|
-
return 2 !== n.length ? (
|
|
2787
|
+
return 2 !== n.length ? (xt("bad hook 2"), xt(e), xt(t), null) : {
|
|
2767
2788
|
topic_name: n[0],
|
|
2768
2789
|
id: n[1]
|
|
2769
2790
|
};
|
|
@@ -2772,16 +2793,16 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
|
|
|
2772
2793
|
return zt(t) ? {
|
|
2773
2794
|
topic_name: t.topic_name,
|
|
2774
2795
|
id: t.id
|
|
2775
|
-
} : (
|
|
2796
|
+
} : (xt("bad hook 3"), xt(e), xt(t), null);
|
|
2776
2797
|
}, exports.treedb_encoder_fkey = function(e, t) {
|
|
2777
|
-
let n =
|
|
2798
|
+
let n = qn(e, t);
|
|
2778
2799
|
return n ? n.topic_name + "^" + n.id + "^" + n.hook_name : null;
|
|
2779
|
-
}, exports.treedb_get_field_desc =
|
|
2780
|
-
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)) {
|
|
2781
2802
|
let t = e[0];
|
|
2782
|
-
return
|
|
2803
|
+
return un(t, "size") ? t.size : 1;
|
|
2783
2804
|
}
|
|
2784
|
-
return
|
|
2805
|
+
return qt(e);
|
|
2785
2806
|
}, exports.vsprintf = function(e, n) {
|
|
2786
2807
|
return t.apply(null, [e].concat(n || []));
|
|
2787
2808
|
};
|