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